-
Notifications
You must be signed in to change notification settings - Fork 1
Open
Labels
UXUser experience.User experience.
Description
Example
$ cat test.ipso
test : Array a -> Bool
test items =
case array.find (\_ -> false) of
None () -> false
Some _ -> true
$ ipso --check test.ipso
test.ipso:4:5: error: expected kind "Type", got kind "Row"
|
4 | None () -> false
| ^
The mistake is that I forgot to pass the array argument to array.find, so I'm trying to pattern match on a function Array a -> (| Some : a, None : () |).
If the scrutinee determines the type of the pattern, then the type error should be:
test.ipso:4:5: error: expected type "Array a -> (| Some : a, None : () |)", got type "(| None : (), r |)"
|
4 | None () -> false
| ^
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
UXUser experience.User experience.