Idris2/tests/idris2/coverage003/expected
Edwin Brady 97ee3d4cd3 Check LHS arguments are polymorphic enough
We already did this, but missed a few cases due to the way arguments are
elaborated. So now, when checking an LHS, we don't allow LHS argument
types to be inferred from the pattern, but rather they must be inferred
from elsewhere. To do this, we keep track of the constraints which would
be solved when inferring the type, and make sure they don't solve any
new metavariables. Fixes #1510, and also now gets the error location
right as a bonus!
2021-06-13 13:31:40 +01:00

17 lines
386 B
Plaintext

1/1: Building Cover (Cover.idr)
Error: While processing left hand side of badBar. Can't match on 0 as it must have a polymorphic type.
Cover:16:8--16:9
12 | cty Nat (S _) = S Z
13 | cty _ x = S (S Z)
14 |
15 | badBar : a -> Nat
16 | badBar Z = Z
^
Main> Main.foo: foo (0, S _)
foo (S _, _)
Main> Main.bar: bar _
Main> Main.cty: All cases covered
Main> Bye for now!