2024 Clojure状况调查!中分享您的看法。

欢迎!请参阅关于页面了解更多关于如何使用本网站的信息。

+1
Spec

仅仅报告在使用SHA "b29ae46"版的Spec 2时遇到的一个错误。

(s/def ::special-name   
  (s/and string? #(clojure.string/starts-with? % "Special")))
(s/def ::schema-1    (s/schema [::special-name]))
(s/valid? ::schema-1 {::special-name "Special Person"})
;;=> true

(s/def ::name        ::special-name)
(s/def ::schema-2    (s/schema [::name]))
(s/valid? ::schema-2 {::name "Special Person"})
Execution error (IllegalArgumentException) at clojure.alpha.spec.protocols/eval5664$fn$G (protocols.clj:11).
No implementation of method: :conform* of protocol: #'clojure.alpha.spec.protocols/Spec found for class: clojure.lang.Keyword
...