<< Back to previous view

[CTYP-314] Current version of core.typed does not work with current Clojure 1.9.0-alpha11 Created: 21/Aug/16  Updated: 22/Aug/16

Status: Open
Project: core.typed
Component/s: Clojure Checker
Affects Version/s: 0.3.23
Fix Version/s: None

Type: Defect Priority: Blocker
Reporter: lvh Assignee: Ambrose Bonnaire-Sergeant
Resolution: Unresolved Votes: 0
Labels: bug, spec

WARNING: boolean? already refers to: #'clojure.core/boolean? in namespace: clojure.core.typed.contract-utils, being replaced by: #'clojure.core.typed.contract-utils/boolean?
Initializing core.typed ...
Exception in thread "main" java.lang.IllegalArgumentException: Call to clojure.core/fn did not conform to spec:
In: [0] val: clojure.core.unify/var-unify fails spec: :clojure.core.specs/arg-list at: [:args :bs :arity-1 :args] predicate: vector?
In: [0] val: clojure.core.unify/var-unify fails spec: :clojure.core.specs/args+body at: [:args :bs :arity-n] predicate: (cat :args :clojure.core.specs/arg-list :prepost (? map?) :body (* any?))
:clojure.spec/args  (clojure.core.unify/var-unify [G__5637 G__5638 G__5639 G__5640] (clojure.core/if-let [vb__5630__auto__ (G__5640 G__5638)] (clojure.core.unify/garner-unifiers G__5637 vb__5630__auto__ G__5639 G__5640) (clojure.core/if-let [vexpr__5631__auto__ (clojure.core/and (G__5637 G__5639) (G__5640 G__5639))] (clojure.core.unify/garner-unifiers G__5637 G__5638 vexpr__5631__auto__ G__5640) (if (clojure.core.unify/occurs? G__5637 G__5638 G__5639 G__5640) (throw (java.lang.IllegalStateException. (clojure.core/str "Cycle found in the path " G__5639))) (clojure.core.unify/bind-phase G__5640 G__5638 G__5639)))))
, compiling:(clojure/core/unify.clj:83:18)
       	at clojure.lang.Compiler.macroexpand1(Compiler.java:6795)
       	at clojure.lang.Compiler.analyzeSeq(Compiler.java:6878)
       	at clojure.lang.Compiler.analyze(Compiler.java:6674)
       	at clojure.lang.Compiler.analyzeSeq(Compiler.java:6880)
       	at clojure.lang.Compiler.analyze(Compiler.java:6674)
       	at clojure.lang.Compiler.access$300(Compiler.java:38)
       	at clojure.lang.Compiler$DefExpr$Parser.parse(Compiler.java:589)

This appears to be a consequence of following dependency tree:

[org.clojure/core.typed "0.3.23"]
   [org.clojure/core.contracts "0.0.4" :exclusions [[org.clojure/clojure]]]
     [org.clojure/core.unify "0.5.3"]

... that is: it's unify that's broken, being pulled in through core.contracts.

Comment by Alex Miller [ 22/Aug/16 1:40 PM ]

New versions of core.unify and core.contracts have been released that fix the issue.

Generated at Fri Aug 26 18:38:32 CDT 2016 using JIRA 4.4#649-r158309.