There is a bit of restructuring in cljs.repl/ex-triage that fails the :cljs.core.specs.alpha/ns-keys spec:
cljs.repl/ex-triage
:cljs.core.specs.alpha/ns-keys
{::spec/keys [:problems :fn :cljs.spec.test.alpha/caller]} data
https://github.com/clojure/clojurescript/blob/6ccb629e365f46a9516e4defeced652cce9d4d35/src/main/cljs/cljs/repl.cljs#L121
Repro:
$ clj -Sdeps '{:deps {org.clojure/clojurescript {:git/url "https://github.com/clojure/clojurescript" :sha "6ccb629e365f46a9516e4defeced652cce9d4d35"}}}' -m cljs.main cljs.user=> cljs.user=> cljs.user=> (require '[cljs.core.specs.alpha :as spec]) nil cljs.user=> (let [{::spec/keys [:problems :fn :cljs.spec.test.alpha/caller]} nil]) Syntax error macroexpanding cljs.core/let at (<cljs repl>:1:1). :cljs.core.specs.alpha/keys - failed: simple-symbol? at: [:bindings :form :map-destructure :map-binding 0 :local-symbol] spec: :cljs.core.specs.alpha/local-name :cljs.core.specs.alpha/keys - failed: vector? at: [:bindings :form :map-destructure :map-binding 0 :seq-destructure] spec: :cljs.core.specs.alpha/seq-binding-form :cljs.core.specs.alpha/keys - failed: map? at: [:bindings :form :map-destructure :map-binding 0 :map-destructure] spec: :cljs.core.specs.alpha/map-bindings :cljs.core.specs.alpha/keys - failed: map? at: [:bindings :form :map-destructure :map-binding 0 :map-destructure] spec: :cljs.core.specs.alpha/map-special-binding :problems - failed: simple-symbol? at: [:bindings :form :map-destructure :qualified-keys-or-syms 1] spec: :cljs.core.specs.alpha/ns-keys :fn - failed: simple-symbol? at: [:bindings :form :map-destructure :qualified-keys-or-syms 1] spec: :cljs.core.specs.alpha/ns-keys :cljs.spec.test.alpha/caller - failed: simple-symbol? at: [:bindings :form :map-destructure :qualified-keys-or-syms 1] spec: :cljs.core.specs.alpha/ns-keys :cljs.core.specs.alpha/keys - failed: #{:as :or :syms :keys :strs} at: [:bindings :form :map-destructure :special-binding 0] spec: :cljs.core.specs.alpha/map-bindings #:cljs.core.specs.alpha{:keys [:problems :fn :cljs.spec.test.alpha/caller]} - failed: simple-symbol? at: [:bindings :form :local-symbol] spec: :cljs.core.specs.alpha/local-name #:cljs.core.specs.alpha{:keys [:problems :fn :cljs.spec.test.alpha/caller]} - failed: vector? at: [:bindings :form :seq-destructure] spec: :cljs.core.specs.alpha/seq-binding-form
There is a bit of restructuring in
cljs.repl/ex-triagethat fails the:cljs.core.specs.alpha/ns-keysspec:{::spec/keys [:problems :fn :cljs.spec.test.alpha/caller]} datahttps://github.com/clojure/clojurescript/blob/6ccb629e365f46a9516e4defeced652cce9d4d35/src/main/cljs/cljs/repl.cljs#L121
Repro:
$ clj -Sdeps '{:deps {org.clojure/clojurescript {:git/url "https://github.com/clojure/clojurescript" :sha "6ccb629e365f46a9516e4defeced652cce9d4d35"}}}' -m cljs.main cljs.user=> cljs.user=> cljs.user=> (require '[cljs.core.specs.alpha :as spec]) nil cljs.user=> (let [{::spec/keys [:problems :fn :cljs.spec.test.alpha/caller]} nil]) Syntax error macroexpanding cljs.core/let at (<cljs repl>:1:1). :cljs.core.specs.alpha/keys - failed: simple-symbol? at: [:bindings :form :map-destructure :map-binding 0 :local-symbol] spec: :cljs.core.specs.alpha/local-name :cljs.core.specs.alpha/keys - failed: vector? at: [:bindings :form :map-destructure :map-binding 0 :seq-destructure] spec: :cljs.core.specs.alpha/seq-binding-form :cljs.core.specs.alpha/keys - failed: map? at: [:bindings :form :map-destructure :map-binding 0 :map-destructure] spec: :cljs.core.specs.alpha/map-bindings :cljs.core.specs.alpha/keys - failed: map? at: [:bindings :form :map-destructure :map-binding 0 :map-destructure] spec: :cljs.core.specs.alpha/map-special-binding :problems - failed: simple-symbol? at: [:bindings :form :map-destructure :qualified-keys-or-syms 1] spec: :cljs.core.specs.alpha/ns-keys :fn - failed: simple-symbol? at: [:bindings :form :map-destructure :qualified-keys-or-syms 1] spec: :cljs.core.specs.alpha/ns-keys :cljs.spec.test.alpha/caller - failed: simple-symbol? at: [:bindings :form :map-destructure :qualified-keys-or-syms 1] spec: :cljs.core.specs.alpha/ns-keys :cljs.core.specs.alpha/keys - failed: #{:as :or :syms :keys :strs} at: [:bindings :form :map-destructure :special-binding 0] spec: :cljs.core.specs.alpha/map-bindings #:cljs.core.specs.alpha{:keys [:problems :fn :cljs.spec.test.alpha/caller]} - failed: simple-symbol? at: [:bindings :form :local-symbol] spec: :cljs.core.specs.alpha/local-name #:cljs.core.specs.alpha{:keys [:problems :fn :cljs.spec.test.alpha/caller]} - failed: vector? at: [:bindings :form :seq-destructure] spec: :cljs.core.specs.alpha/seq-binding-form