diff options
author | Adam Chlipala <adam@chlipala.net> | 2011-12-18 11:29:13 -0500 |
---|---|---|
committer | Adam Chlipala <adam@chlipala.net> | 2011-12-18 11:29:13 -0500 |
commit | 4eb93836d04d18f43d8c4360f290a7977d96c468 (patch) | |
tree | ef38476a5b0199272d5dc20a65a306b4c7b2a112 /src/explify.sml | |
parent | 37cf82d0761088c469205b90e35569674707202f (diff) |
Add a new scoping check for unification variables, to fix a type inference bug
Diffstat (limited to 'src/explify.sml')
-rw-r--r-- | src/explify.sml | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/src/explify.sml b/src/explify.sml index 5081d33b..3c922a44 100644 --- a/src/explify.sml +++ b/src/explify.sml @@ -42,9 +42,9 @@ fun explifyKind (k, loc) = | L.KTuple ks => (L'.KTuple (map explifyKind ks), loc) | L.KError => raise Fail ("explifyKind: KError at " ^ EM.spanToString loc) - | L.KUnif (_, _, ref (SOME k)) => explifyKind k + | L.KUnif (_, _, ref (L.KKnown k)) => explifyKind k | L.KUnif _ => raise Fail ("explifyKind: KUnif at " ^ EM.spanToString loc) - | L.KTupleUnif (loc, _, ref (SOME k)) => explifyKind k + | L.KTupleUnif (loc, _, ref (L.KKnown k)) => explifyKind k | L.KTupleUnif _ => raise Fail ("explifyKind: KTupleUnif at " ^ EM.spanToString loc) | L.KRel n => (L'.KRel n, loc) @@ -76,7 +76,7 @@ fun explifyCon (c, loc) = | L.CProj (c, n) => (L'.CProj (explifyCon c, n), loc) | L.CError => raise Fail ("explifyCon: CError at " ^ EM.spanToString loc) - | L.CUnif (nl, _, _, _, ref (SOME c)) => explifyCon (ElabEnv.mliftConInCon nl c) + | L.CUnif (nl, _, _, _, ref (L.Known c)) => explifyCon (ElabEnv.mliftConInCon nl c) | L.CUnif _ => raise Fail ("explifyCon: CUnif at " ^ EM.spanToString loc) | L.CKAbs (x, c) => (L'.CKAbs (x, explifyCon c), loc) |