diff options
Diffstat (limited to 'src/elaborate.sml')
-rw-r--r-- | src/elaborate.sml | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/src/elaborate.sml b/src/elaborate.sml index 81b3e8c4..af5c6c95 100644 --- a/src/elaborate.sml +++ b/src/elaborate.sml @@ -1945,13 +1945,12 @@ fun elabDecl ((d, loc), (env, denv, gs)) = (case (hnormCon (env, denv) dom, hnormCon (env, denv) ran) of (((L'.TRecord domR, _), []), ((L'.CApp (tf, ranR), _), [])) => - (case hnormCon (env, denv) ranR of - (ranR, []) => + (case (hnormCon (env, denv) tf, hnormCon (env, denv) ranR) of + ((tf, []), (ranR, [])) => (case (hnormCon (env, denv) domR, hnormCon (env, denv) ranR) of ((domR, []), (ranR, [])) => (L'.SgiVal (x, n, (L'.TFun ((L'.TRecord domR, loc), - (L'.CApp (tf, - (L'.TRecord ranR, loc)), loc)), + (L'.CApp (tf, ranR), loc)), loc)), loc) | _ => all) | _ => all) |