aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/lux/type.clj14
1 files changed, 4 insertions, 10 deletions
diff --git a/src/lux/type.clj b/src/lux/type.clj
index 70a2f69fa..295d7bfdb 100644
--- a/src/lux/type.clj
+++ b/src/lux/type.clj
@@ -756,21 +756,15 @@
[(&/$ExQ e!env e!def) _]
(with-var
(fn [$arg]
- (|do [:let [expected* (beta-reduce (->> e!env
- (&/$Cons $arg)
- (&/$Cons expected))
- e!def)]
+ (|do [expected* (apply-type expected $arg)
=output (check* class-loader fixpoints invariant?? expected* actual)
_ (clean $arg actual)]
(return =output))))
[_ (&/$ExQ a!env a!def)]
- (|do [$arg existential]
- (|let [actual* (beta-reduce (->> a!env
- (&/$Cons $arg)
- (&/$Cons expected))
- a!def)]
- (check* class-loader fixpoints invariant?? expected actual*)))
+ (|do [$arg existential
+ actual* (apply-type actual $arg)]
+ (check* class-loader fixpoints invariant?? expected actual*))
[(&/$HostT e!data) (&/$HostT a!data)]
(&&host/check-host-types (partial check* class-loader fixpoints true)