2024 Clojure状态调查中分享您的想法!

欢迎!有关如何操作的更多信息,请参阅关于页面。

0
Spec
依赖于every-impl(如every、coll-of等)的规范在传递记录时可能会崩溃。例如

{code:title=REPL会话|borderStyle=solid}
> (require ['clojure.spec.alpha :as 's])

> (s/def ::coll-any (s/coll-of any?))
> (defrecord Pair [first second])

> (s/valid? ::coll-any 3)
false

> (s/valid? ::coll-any {:a 1 :b 2})
true

> (s/valid? ::coll-any (Pair. 1 2))
执行错误(UnsupportedOperationException)在user.Pair/empty (REPL:1).
无法创建空的:user.Pair

1 答案

0
参考:https://clojure.atlassian.net/browse/CLJ-2481(由alex+import报告)
...