diff options
author | Tom Smeding <t.j.smeding@uu.nl> | 2025-04-21 21:58:32 +0200 |
---|---|---|
committer | Tom Smeding <t.j.smeding@uu.nl> | 2025-04-21 21:58:32 +0200 |
commit | 9be58cead6402e61a9f642e1410567e789d037ca (patch) | |
tree | 470e1825915571b2b7a6a913d0d0e21652869f06 /src | |
parent | afd2214b2039390e440d9ab82dfa97077b76d827 (diff) |
idana: Unify in either fallback case
Diffstat (limited to 'src')
-rw-r--r-- | src/Analysis/Identity.hs | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/src/Analysis/Identity.hs b/src/Analysis/Identity.hs index 186ab71..f34bfbc 100644 --- a/src/Analysis/Identity.hs +++ b/src/Analysis/Identity.hs @@ -116,9 +116,9 @@ idana env expr = case expr of (v3, e3') <- idana (v1' `SCons` env) e3 pure (v3, ECase v3 e1' e2' e3') VIEither' v1'l v1'r -> do - (_, e2') <- idana (v1'l `SCons` env) e2 - (_, e3') <- idana (v1'r `SCons` env) e3 - res <- genIds (typeOf expr) + (v2, e2') <- idana (v1'l `SCons` env) e2 + (v3, e3') <- idana (v1'r `SCons` env) e3 + res <- unify v2 v3 pure (res, ECase res e1' e2' e3') ENothing _ t -> pure (VIMaybe Nothing, ENothing (VIMaybe Nothing) t) |