在测试中,我注意到当我在 prepl
中评估代码时,我的某些警告测试只通过一次然后失败。每个会话只会发布一次警告
$ clojure -X clojure.core.server/start-server :name prepl :port 7777 :accept clojure.core.server/io-prepl :server-daemon false &
$ nc localhost 7777
(defn identity [x] x)
{:tag :ret, :val "#'user/identity", :ns "user", :ms 1, :form "(defn identity [x] x)"}
(binding [*out* *err*] (flush))
{:tag :err, :val "WARNING: identity already refers to: #'clojure.core/identity in namespace: user, being replaced by: #'user/identity\n"}
{:tag :ret, :val "nil", :ns "user", :ms 1, :form "(binding [*out* *err*] (flush))"}
(defn identity [x] x)
{:tag :ret, :val "#'user/identity", :ns "user", :ms 1, :form "(defn identity [x] x)"}
(binding [*out* *err*] (flush))
{:tag :ret, :val "nil", :ns "user", :ms 1, :form "(binding [*out* *err*] (flush))"}
这是预期行为吗?