http://dev.clojure.org/jira/browse/CLJ-1941 has some discussion about
places where instrumenting won't work.

On 06/05/2016 09:57 AM, Claudius Nicolae wrote:
> 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 clojure@googlegroups.com
> Note that posts from new members are moderated - please be patient with
> your first post.
> To unsubscribe from this group, send email to
> clojure+unsubscr...@googlegroups.com
> 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 clojure+unsubscr...@googlegroups.com
> <mailto:clojure+unsubscr...@googlegroups.com>.
> For more options, visit https://groups.google.com/d/optout.


-- 
And what is good, Phaedrus,
And what is not good—
Need we ask anyone to tell us these things?

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
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 clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to