We're updating the issue view to help you get more done. 

Register dumped specs fails

Description

When specs that are dumped into analysis cache files are registered, this fails (with a swallowed ClassCastException clojure.lang.PersistentVector cannot be cast to java.util.Map$Entry).

You can see evidence of this if you run script/noderepljs revised to set :verbose true: There is a spec, :cljs.spec.alpha/kvs->map, for which the code attempts to register, throws, with the file subsequently being re-analyzed anyway because the cache couldn't be loaded. The evidence is this being emitted by :verbose true:

1 2 Reading analysis cache for file:/Users/mfikes/Projects/clojurescript/src/main/cljs/cljs/spec/alpha.cljs Analyzing file:/Users/mfikes/Projects/clojurescript/src/main/cljs/cljs/spec/alpha.cljs

At its core, it involves code like (merge {5 6} '([1 2] [3 4])), which fails in Clojure.

Environment

None

Status

Assignee

David Nolen

Reporter

Mike Fikes

Labels

Approval

Accepted

Patch

Code

Affects versions

1.9.908

Priority

Major