diff options
Diffstat (limited to 'src/lux/analyser/host.clj')
-rw-r--r-- | src/lux/analyser/host.clj | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/src/lux/analyser/host.clj b/src/lux/analyser/host.clj index a467e7822..25dd1d241 100644 --- a/src/lux/analyser/host.clj +++ b/src/lux/analyser/host.clj @@ -355,8 +355,11 @@ (&/$Cons ^TypeVariable gtv gtype-vars*) (&type/with-var (fn [$var] - (|let [gtype-env* (&/Cons$ (&/T [(.getName gtv) $var]) gtype-env)] - (analyse-jvm-new-helper analyse gtype gtype-env* gtype-vars* gtype-args args)))) + (|do [:let [gtype-env* (&/Cons$ (&/T [(.getName gtv) $var]) gtype-env)] + [=gret =args] (analyse-jvm-new-helper analyse gtype gtype-env* gtype-vars* gtype-args args) + ==gret (&type/clean $var =gret) + ==args (&/map% (partial &&/clean-analysis $var) =args)] + (return (&/T [==gret ==args]))))) )) (defn analyse-jvm-new [analyse exo-type class classes args] |