Fork me on GitHub

Indeed the answer was to upgrade


Hello everyone, I am seeing a very confusing side effect when I upgrade to the latest datomic version. When I upgrade to com.datomic/datomic-pro "0.9.6014" it breaks my cljs test compilation with this error:

clojure.lang.ExceptionInfo: failed compiling file:out/cljs/test.cljs {:file #object[.File 0x6759042b "out/cljs/test.cljs"], :clojure.error/phase :compilation}
Caused by: clojure.lang.ExceptionInfo: Reader tag must be a symbol {:type :reader-exception, :line 376, :column 13, :file "/asdf/out/cljs/test.cljs"}
Here is the offending line: For some reason it can't read the ##NaN. The tests are run via lein-cljsbuild/doo and karma-cljs-test I have verified just changing between 0.9.6014 and 5981 causes this issue. I also checked the new datomic-pro version doesn't bring in a new version of clojurescript or anything, the only transitive dependency it updates is com.datomic/client-api. I upgraded all dependencies that are possibly involved (clojurescript, karma, etc) and that didn't help.


Does anyone have any idea what could cause clojurescript to forget about NaN?


Older CLJSs don’t understand this; perhaps your dep tree got shook up in such a way that it ended up downgrading cljs?


hmm thanks. lein deps :tree shows I'm using org.clojure/clojurescript "1.10.597" but it's possibly I don't completely understand how lein doo and cljsbuild work and they're using an older version?


lein with-profile test deps :tree should force the test profile on and you can see if the tree is different


1.10.597 shouldn’t be giving this problem though


could also be cljs is on the classpath multiple times and it’s picking up older compiled classes and newer non-classes. try cleaning target and out?


Any version of 1.10 should be fine with ##NaN right? with-profile shows the same clojurescript deps, and looking at the classpath printed by lein I don't see any clojurescript jar that's not clojurescript-1.10.597.jar . Although it does fetch clojurescript-1.10.238 when I fetch deps in a new docker container. From figwheel it looks like


yeah any 10 should be fine iirc


hm, maybe it’s tools.reader


same story there where something is causing it to fetch tools.reader-1.0.0-beta3.jar but only 1.3.2 (the latest) appears on the classpath.


the confusing thing is that the only thing in the dep tree that changes is com.datomic/datomic-pro and com.datomic/client-api. A diff plain old diff is identical except those two lines.