summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar Adam Chlipala <adam@chlipala.net>2011-09-03 08:57:13 -0400
committerGravatar Adam Chlipala <adam@chlipala.net>2011-09-03 08:57:13 -0400
commitad19583df3d07b968a9fb983813e45dc55fe2cc6 (patch)
tree5eebf2ce73817726e5e44cba7567d7ff63daadb6
parentda1a34ae7065196dd8c459fac33983bbe5a66377 (diff)
Better detection of type class witnesses in local bindings
-rw-r--r--src/elaborate.sml3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/elaborate.sml b/src/elaborate.sml
index f221f59e..b096813a 100644
--- a/src/elaborate.sml
+++ b/src/elaborate.sml
@@ -2184,6 +2184,9 @@ and elabEdecl denv (dAll as (d, loc), (env, gs)) =
val () = checkCon env e' et pt
+ val env' = E.patBinds env p'
+ (* Redo to get proper detection of type class witnesses *)
+
val pt = normClassConstraint env pt
in
case exhaustive (env, et, [p'], loc) of