aboutsummaryrefslogtreecommitdiff
path: root/src/lux/analyser.clj
diff options
context:
space:
mode:
Diffstat (limited to 'src/lux/analyser.clj')
-rw-r--r--src/lux/analyser.clj10
1 files changed, 6 insertions, 4 deletions
diff --git a/src/lux/analyser.clj b/src/lux/analyser.clj
index 80c8ef2ec..42d92b859 100644
--- a/src/lux/analyser.clj
+++ b/src/lux/analyser.clj
@@ -668,12 +668,14 @@
(|case [?var ?output-type]
[(&/$VarT ?e-id) (&/$VarT ?a-id)]
(if (= ?e-id ?a-id)
- (|do [?output-type* (&type/deref ?e-id)]
- (return (&&/|meta ?output-type* ?output-cursor ?output-term)))
- (return (&&/|meta ?output-type ?output-cursor ?output-term)))
+ (|do [=output-type (&type/clean ?var ?output-type)]
+ (return (&&/|meta =output-type ?output-cursor ?output-term)))
+ (|do [=output-type (&type/clean ?var ?var)]
+ (return (&&/|meta =output-type ?output-cursor ?output-term))))
[_ _]
- (return (&&/|meta ?output-type ?output-cursor ?output-term)))
+ (|do [=output-type (&type/clean ?var ?output-type)]
+ (return (&&/|meta =output-type ?output-cursor ?output-term))))
))))
(defn ^:private analyse-ast [eval! compile-module compile-token exo-type token]