针对规范别名的生成器覆盖不被尊重。
(require '[clojure.spec :as s])
(require '[clojure.spec.gen :as gen])
(s/def ::original number?)
(s/def ::alias ::original)
(every? double? (gen/sample (s/gen ::alias {::alias gen/double})))
;; => false
为原始规范提供生成器覆盖按预期工作
(every? double? (gen/sample (s/gen ::alias {::original gen/double})))
;; => true