aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEduardo Julian2016-10-21 01:42:47 -0400
committerEduardo Julian2016-10-21 01:42:47 -0400
commit5c178d01bce64bdae234c05823f7cb617925e621 (patch)
treec4da24458ece06fbe298f1ca83992dfe48f065eb
parentf9f2b9bab9651c75eb5c884276e8d8c6449ef16d (diff)
- Added an extra rule to the type-checker to avoid some stack-overflow errors.
-rw-r--r--src/lux/type.clj4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/lux/type.clj b/src/lux/type.clj
index 774d6b4d8..ad76fbadc 100644
--- a/src/lux/type.clj
+++ b/src/lux/type.clj
@@ -629,6 +629,7 @@
(&/$NamedT ?name ?type)
(apply-type ?type param)
+ ;; TODO: This one must go...
(&/$ExT id)
(return (&/$AppT type-fn param))
@@ -767,6 +768,9 @@
(|do [expected* (apply-type F A)]
(check* class-loader (fp-put fp-pair true fixpoints) invariant?? expected* actual))))
+ [_ (&/$AppT (&/$ExT aid) A)]
+ (check-error "" expected actual)
+
[_ (&/$AppT F A)]
(|do [actual* (apply-type F A)]
(check* class-loader fixpoints invariant?? expected actual*))