summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTom Smeding <t.j.smeding@uu.nl>2025-04-21 21:58:32 +0200
committerTom Smeding <t.j.smeding@uu.nl>2025-04-21 21:58:32 +0200
commit9be58cead6402e61a9f642e1410567e789d037ca (patch)
tree470e1825915571b2b7a6a913d0d0e21652869f06
parentafd2214b2039390e440d9ab82dfa97077b76d827 (diff)
idana: Unify in either fallback case
-rw-r--r--src/Analysis/Identity.hs6
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)