Closed impworks closed 11 years ago
fun x:int -> true
:white_check_mark: Не отображается расположение ошибки.
fun x:int (x y) -> a
:white_check_mark: Следует отображать сообщение о некорректном формате аргументов.
1 2
:white_check_mark: Следует переписать сообщение на более человекопонятное.
if 1 then omg
:white_check_mark: Вообще не ругается, несмотря на неизвестную переменную.
while 1 do 1
:white_check_mark: Сообщение неадекватное, местоположения вообще нет.
while if true then true else false do 1
:white_check_mark: NullReferenceException
.
Enumerable::Range 1 10
|> Test
:white_check_mark: Следует писать сообщение о необходимом отступе.
Enumerable::Range 1 10
|> Test 1
Следует выделять только название метода.
let x = 1
let x = 2
x + b
:white_check_mark: Нет сообщения о location.
fmt "test" (ref 1)
:white_check_mark: Переписать сообщение.
let x = 1
fmt "test" ref x
Сообщение "съехало" на 1 символ назад.
let a = new [1; 2; 3]
a[1][1] = 2
:white_check_mark: Не показывается положение ошибки.
let a = new [1; 2; 3]
(a[1] + 1) = 2
:white_check_mark: Некорретное сообщение.
1.GetHashCode = 1
:white_check_mark: Некорректное сообщение.
new [
1]
:white_check_mark: Некорректное сообщение.
let fx1 = x:int ->
let fx2 = x:int ->
x + 1
fx2 1
:white_check_mark: Не показывается местоположение ошибки.
for x in 1 do test
:white_check_mark: NullReferenceException
.
fun inc (x:ref int) -> x = x + 1
var data = new { "a" => 1 }
inc ref data["a"]
:white_check_mark: Должна быть ошибка получения адреса, а показывается NullReferenceException
.
(1 + 2) && (3 + 4)
:white_check_mark: Не выделяются крайние скобки. Выдается RuntimeBinderException
со своим сообщением.
int::TryParse "1"
:white_check_mark: В сообщении говорится о "методе-расширении". В контексте статических типов не следует его упоминать.
В данном тикете буду собирать различные примеры кода, в которых выдается неполное или неадекватное сообщение об ошибке.