Undefined fdef is still present in result of (stest/checkable-syms)

Description

When looking into the code of CLJS-2844, I noticed that there isn't special handling of nil here:
https://github.com/clojure/clojurescript/blob/master/src/main/cljs/cljs/spec/alpha.cljc#L71
This has the result that after undefining a spec, it's still present in the result of (stest/checkable-syms).

Example:

1 2 3 4 5 6 7 (require '[clojure.spec.alpha :as s]) (require '[clojure.spec.test.alpha :as stest]) (defn foo [x] x) (s/fdef foo :args (s/cat :x number?) :ret number?) (stest/checkable-syms) ;;=> #{cljs.user/foo} (s/def foo nil) (stest/checkable-syms) ;;=> #{cljs.user/foo}

Patch CLJS-3049.patch fixes this and provides a test for it.

Environment

None

Status

Assignee

David Nolen

Reporter

Michiel Borkent

Labels

Approval

Accepted

Patch

Code and Test

Priority

Major
Configure