It seems that protocol fns don't participate in s/fdef specfications. It
would be nice they were. Sample:
(ns sample
(:require [clojure.spec :as s]))
(s/instrument-all)
;; Spec a fn
(s/fdef f
:args (s/cat :i integer?)
:ret integer?)
(defn f [i] i)
(f "1") ; will fail
;; Spec a fn of a protocol
(defprotocol P
(g [p i]))
(s/fdef g
:args (s/cat :p (partial satisfies? P)
:i integer?)
:ret integer?)
(defrecord R []
P
(g [_ i] i))
(g (->R) "2") ; will pass
--
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to [email protected]
Note that posts from new members are moderated - please be patient with your
first post.
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
---
You received this message because you are subscribed to the Google Groups
"Clojure" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/d/optout.