mirror of
https://github.com/idris-lang/Idris2.git
synced 2024-12-19 09:12:34 +03:00
9865765d1d
* Move Context into its own file Just the core definition - this is so that we have access to it in Core.Core, for inclusion in error messages, to save normalisation of terms in errors until we actually show them. * Normalise errors on display, not when they arise This can save a lot of time in ambiguity resolution if the errors are complicated, because the errors might never be displayed if it's in an abandoned branch. This involves lifting 'Context' out of Core.Context, because we need to store it in Error, which is needed by Core, which in turn is needed in Core.Context. Also moved a couple of test caes from ttimp to idris2, so that the errors get rendered properly and won't need updating unnecessarily. In fact all of the ttimp tests - which were just part of the initial scaffolding - are probably now subsumed by the idris2 tests. * Add new coverage001 test files
30 lines
766 B
Plaintext
30 lines
766 B
Plaintext
1/1: Building Vect (Vect.idr)
|
|
Main> Main.append: append (_ :: _) _
|
|
Main> Main.lookup: All cases covered
|
|
Main> Main.zip: All cases covered
|
|
Main> Bye for now!
|
|
1/1: Building Vect2 (Vect2.idr)
|
|
Error: zip [] [] is not a valid impossible case.
|
|
|
|
Vect2:8:1--8:21
|
|
4 | Nil : Vect Z a
|
|
5 | (::) : a -> Vect k a -> Vect (S k) a
|
|
6 |
|
|
7 | zip : Vect n a -> Vect n b -> Vect n (a, b)
|
|
8 | zip [] [] impossible
|
|
^^^^^^^^^^^^^^^^^^^^
|
|
|
|
1/1: Building Vect3 (Vect3.idr)
|
|
Error: Impossible pattern gives an error:
|
|
When unifying Nat and Vect ?n ?b.
|
|
Mismatch between: Nat and Vect ?n ?b.
|
|
|
|
Vect3:9:8--9:9
|
|
5 | Nil : Vect Z a
|
|
6 | (::) : a -> Vect k a -> Vect (S k) a
|
|
7 |
|
|
8 | zip : Vect n a -> Vect n b -> Vect n (a, b)
|
|
9 | zip [] Z impossible
|
|
^
|
|
|