summaryrefslogtreecommitdiff
path: root/src/elaborate.sml
diff options
context:
space:
mode:
Diffstat (limited to 'src/elaborate.sml')
-rw-r--r--src/elaborate.sml8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/elaborate.sml b/src/elaborate.sml
index f098b580..5799d6bb 100644
--- a/src/elaborate.sml
+++ b/src/elaborate.sml
@@ -4676,7 +4676,13 @@ fun elabFile basis basis_tm topStr topSgn top_tm env file =
(!delayedUnifs);*)
end
| TypeClass (env, c, r, loc) =>
- expError env (Unresolvable (loc, c)))
+ let
+ val c = normClassKey env c
+ in
+ case resolveClass env c of
+ SOME _ => raise Fail "Type class resolution succeeded unexpectedly"
+ | NONE => expError env (Unresolvable (loc, c))
+ end)
gs)
end
in