Mercurial > urweb
diff src/elaborate.sml @ 1742:fca4a6d05ac1
More diagnostic information about some type class resolution failures
author | Adam Chlipala <adam@chlipala.net> |
---|---|
date | Fri, 04 May 2012 10:33:04 -0400 |
parents | 1a35e75b6967 |
children | 6fcce0592178 |
line wrap: on
line diff
--- a/src/elaborate.sml Fri May 04 10:07:27 2012 -0400 +++ b/src/elaborate.sml Fri May 04 10:33:04 2012 -0400 @@ -4676,7 +4676,13 @@ (!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