Skip to content

Commit 1876139

Browse files
author
dnolen
committed
CLJS-2275: cljs.spec.alpha/fdef resolves eagerly
1 parent 250a9fa commit 1876139

File tree

2 files changed

+8
-5
lines changed

2 files changed

+8
-5
lines changed

src/main/cljs/cljs/spec/alpha.cljc

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -56,9 +56,7 @@
5656
"Qualify symbol s by resolving it or using the current *ns*."
5757
[env s]
5858
(if (namespace s)
59-
(let [v (resolve env s)]
60-
(clojure.core/assert v (str "Unable to resolve: " s))
61-
(->sym v))
59+
(->sym (ana/resolve-var env s))
6260
(symbol (str ana/*cljs-ns*) (str s))))
6361

6462
(defmacro def

src/test/cljs/cljs/spec_test.cljs

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88

99
(ns cljs.spec-test
1010
(:require [cljs.spec.alpha :as s]
11+
[cljs.spec.test.alpha :as st]
1112
[cljs.test :as test :refer-macros [deftest is are run-tests]]
1213
[cljs.spec.gen.alpha :as gen]
1314
[clojure.test.check.generators]))
@@ -34,7 +35,7 @@
3435
:args (s/cat :a integer? :b (s/? integer?))
3536
:ret integer?)
3637

37-
;;(s/instrument #'adder)
38+
;;(st/instrument `adder)
3839

3940
(deftest test-multi-arity-instrument
4041
(is (= 1 (adder 1)))
@@ -48,7 +49,7 @@
4849

4950
(s/fdef testmm :args (s/cat :m map?) :ret string?)
5051

51-
;;(s/instrument #'testmm)
52+
;;(st/instrument `testmm)
5253

5354
(deftest test-multifn-instrument
5455
(is (= "good" (testmm {:type :good})))
@@ -292,6 +293,10 @@
292293
[{10 10 20 "x"}]
293294
[{10 10 20 "x"}]))
294295

296+
(s/fdef foo.bar/cljs-2275
297+
:args (s/cat :k keyword?)
298+
:ret string?)
299+
295300
(comment
296301

297302
(run-tests)

0 commit comments

Comments
 (0)