This code type check in Clojure:
But fails under ClojureScript with:
Type Error (typed-playground.clojurescript:26:3) Polymorphic function cljs.core/first could not be applied to arguments:
Polymorphic Variables:
xDomains:
(clojure.core.typed/HSequential [x clojure.core.typed/Any *])
(cljs.core.typed/Option (cljs.core.typed/EmptySeqable x))
(cljs.core.typed/NonEmptySeqable x)
(cljs.core.typed/Option (cljs.core.typed/Seqable x))Arguments:
(cljs.core/ASeq a)Ranges:
x :object {ath [(Nth 0)], :id 0}
nil
x
(cljs.core.typed/Option x)with expected type:
(cljs.core.typed/Option a)in: (cljs.core/first (cljs.core/filter pred coll))
in: (cljs.core/first (cljs.core/filter pred coll))
[[org.clojure/clojure "1.6.0"]
[org.clojure/core.typed "0.2.67"]
[org.clojure/clojurescript "0.0-2322"]]
CLJS checker is deadish.