aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/elab_ops.sml
diff options
context:
space:
mode:
authorGravatar Adam Chlipala <adam@chlipala.net>2011-12-18 11:29:13 -0500
committerGravatar Adam Chlipala <adam@chlipala.net>2011-12-18 11:29:13 -0500
commit4eb93836d04d18f43d8c4360f290a7977d96c468 (patch)
treeef38476a5b0199272d5dc20a65a306b4c7b2a112 /src/elab_ops.sml
parent37cf82d0761088c469205b90e35569674707202f (diff)
Add a new scoping check for unification variables, to fix a type inference bug
Diffstat (limited to 'src/elab_ops.sml')
-rw-r--r--src/elab_ops.sml4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/elab_ops.sml b/src/elab_ops.sml
index 0af2f4e7..dc9f69a4 100644
--- a/src/elab_ops.sml
+++ b/src/elab_ops.sml
@@ -156,7 +156,7 @@ fun reset () = (identity := 0;
fun hnormCon env (cAll as (c, loc)) =
case c of
- CUnif (nl, _, _, _, ref (SOME c)) => (#1 (hnormCon env (E.mliftConInCon nl c)), loc)
+ CUnif (nl, _, _, _, ref (Known c)) => (#1 (hnormCon env (E.mliftConInCon nl c)), loc)
| CNamed xn =>
(case E.lookupCNamed env xn of
@@ -277,7 +277,7 @@ fun hnormCon env (cAll as (c, loc)) =
let
fun cunif () =
let
- val r = ref NONE
+ val r = ref (Unknown (fn _ => true))
in
(r, (CUnif (0, loc, (KType, loc), "_", r), loc))
end