aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--stdlib/source/lux/tool/compiler/phase/analysis/case.lux9
1 files changed, 7 insertions, 2 deletions
diff --git a/stdlib/source/lux/tool/compiler/phase/analysis/case.lux b/stdlib/source/lux/tool/compiler/phase/analysis/case.lux
index dff106eb7..4846b8f54 100644
--- a/stdlib/source/lux/tool/compiler/phase/analysis/case.lux
+++ b/stdlib/source/lux/tool/compiler/phase/analysis/case.lux
@@ -222,8 +222,13 @@
(do ///.monad
[record (//structure.normalize record)
[members recordT] (//structure.order record)
- _ (//type.with-env
- (check.check inputT recordT))]
+ _ (.case inputT
+ (#.Var _id)
+ (//type.with-env
+ (check.check inputT recordT))
+
+ _
+ (wrap []))]
(analyse-pattern (#.Some (list.size members)) inputT [cursor (#.Tuple members)] next))
[cursor (#.Tag tag)]