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
...