aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/elaborate.sml
diff options
context:
space:
mode:
authorGravatar Adam Chlipala <adam@chlipala.net>2018-05-20 19:28:17 -0400
committerGravatar Adam Chlipala <adam@chlipala.net>2018-05-20 19:28:17 -0400
commit3e8fc5122fed2baee3a4d27d51575f6dd5174ea8 (patch)
tree64a5e2411cc1a2d2d3b31ca62c5ca605daa5dd74 /src/elaborate.sml
parent077666b77bf21054e1e1f67ba61dfbaf57525378 (diff)
Proper error message when the body of a 'val' declaration fails to check against the type annotation
Diffstat (limited to 'src/elaborate.sml')
-rw-r--r--src/elaborate.sml3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/elaborate.sml b/src/elaborate.sml
index 4a04d4bf..51d00bd8 100644
--- a/src/elaborate.sml
+++ b/src/elaborate.sml
@@ -4046,7 +4046,8 @@ and elabDecl (dAll as (d, loc), (env, denv, gs)) =
| L.PAnnot (p', _) => singleVar p'
| _ => NONE
in
- unifyCons env loc et pt;
+ (unifyCons env loc et pt
+ handle CUnify (c1, c2, env', err) => expError env (Unify (e', c1, c2, env', err)));
(case exhaustive (env, et, [p'], loc) of
NONE => ()