aboutsummaryrefslogtreecommitdiff
path: root/src/lux/analyser/case.clj
diff options
context:
space:
mode:
Diffstat (limited to 'src/lux/analyser/case.clj')
-rw-r--r--src/lux/analyser/case.clj5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/lux/analyser/case.clj b/src/lux/analyser/case.clj
index 7e5fd924b..d975d8989 100644
--- a/src/lux/analyser/case.clj
+++ b/src/lux/analyser/case.clj
@@ -69,6 +69,11 @@
(|do [=type (&type/apply-type type $var)]
(adjust-type* (&/Cons$ (&/T _aenv 1 $var) (&/|map update-up-frame up)) =type))))
+ (&/$ExQ _aenv _abody)
+ (|do [$var &type/existential
+ =type (&type/apply-type type $var)]
+ (adjust-type* up =type))
+
(&/$TupleT ?members)
(|do [(&/$TupleT ?members*) (&/fold% (fn [_abody ena]
(|let [[_aenv _aidx (&/$VarT _avar)] ena]