mirror of
https://github.com/edwinb/Idris2-boot.git
synced 2024-11-23 03:05:00 +03:00
ff86f6f834
Instead of the previous unreliable hack, actually look for occurrences of the solved metavariable. Block if there are any, and fail if there are any under a constructor. I had expected this to hurt performance quite a bit, but it seems it doesn't. This was prompted by #304, which is now partly fixed, but there's still a refinement to unification needed to fix it fully (and at least it doesn't segfault due to the cycle now!)
9 lines
763 B
Plaintext
9 lines
763 B
Plaintext
Processing as TTImp
|
|
Written TTC
|
|
Yaffle> Main.foo : (%pi Rig0 Explicit Just m Main.Nat (%pi Rig0 Explicit Just a %type (%pi Rig0 Explicit Just {k:26} Main.Nat (%pi RigW Explicit Nothing a (%pi RigW Explicit Nothing ((Main.Vect {k:26}) a) (%pi RigW Explicit Nothing ((Main.Vect m) a) (%pi Rig0 Explicit Just n Main.Nat ((Main.Vect ((Main.plus {k:26}) m)) a))))))))
|
|
Yaffle> Bye for now!
|
|
Processing as TTC
|
|
Read TTC
|
|
Yaffle> Main.foo : (%pi Rig0 Explicit Just m Main.Nat (%pi Rig0 Explicit Just a %type (%pi Rig0 Explicit Just {k:26} Main.Nat (%pi RigW Explicit Nothing a (%pi RigW Explicit Nothing ((Main.Vect {k:26}) a) (%pi RigW Explicit Nothing ((Main.Vect m) a) (%pi Rig0 Explicit Just n Main.Nat ((Main.Vect ((Main.plus {k:26}) m)) a))))))))
|
|
Yaffle> Bye for now!
|