Skip to content

Commit fd5b19f

Browse files
committed
* :binding :shadow can be nil
* basic let tests
1 parent 2a8db4d commit fd5b19f

File tree

2 files changed

+5
-7
lines changed

2 files changed

+5
-7
lines changed

src/test/clojure/cljs/analyzer/spec_tests.clj

+2-6
Original file line numberDiff line numberDiff line change
@@ -23,15 +23,11 @@
2323

2424
(deftest test-let
2525
(is (s/valid? ::a/node (analyze ns-env '(let []))))
26-
;(is (s/valid? ::a/node (analyze ns-env '(let [x 1]))))
27-
;(is (s/valid? ::a/node (analyze ns-env '(let [x 1] x))))
28-
)
26+
(is (s/valid? ::a/node (analyze ns-env '(let [x 1]))))
27+
(is (s/valid? ::a/node (analyze ns-env '(let [x 1] x)))))
2928

3029
(comment
3130

3231
(test/run-tests)
3332

34-
;; next, problem - some fields are nil
35-
(s/explain ::a/node (analyze ns-env '(let [x 1])))
36-
3733
)

src/test/clojure/cljs/analyzer/specs.cljc

+3-1
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,9 @@
3131
#{:arg :catch :fn :let :letfn :loop :field})
3232
(s/def ::variadic? boolean?)
3333
(s/def ::init ::node)
34-
(s/def ::shadow ::node)
34+
(s/def ::shadow
35+
(s/or :nil nil?
36+
:node ::node))
3537

3638
(defmethod node :binding [_]
3739
(s/merge

0 commit comments

Comments
 (0)