F # Неполный шаблон соответствует этому выражению при использовании «когда». Почему?
У меня есть эта простая функция F #:
let compareNum x =
let y = 10
match x with
| _ when x = y -> 0
| _ when x > y -> 1
| _ when x < y -> -1
Тем не менее, F # компилятор выдает мне предупреждение «Неполные сопоставления с образцом в этом выражении». В этом случае все случаи должны охватывать каждый шаблон.
Я также вижу подобный пример в разделе «Сопоставление с образцом» в 1-м издании книги Криса Смита по программированию на F #. Так что-то может быть изменено в более поздней версии F #?