JIRA filed: http://dev.clojure.org/jira/browse/CLJ-2094.
Steve: both ::game3 and ::game4 from your suggestions result in the same error. On Saturday, December 31, 2016 at 5:44:47 PM UTC+1, Alex Miller wrote: > > You can file a jira on this. > > On Saturday, December 31, 2016 at 10:16:00 AM UTC-6, miner wrote: >> >> >> On Dec 30, 2016, at 9:42 AM, John Schmidt <john.sc...@gmail.com >> <javascript:>> wrote: >> >> (s/def ::game1 #(satisfies? Game %)) >> (s/def ::game2 (partial satisfies? Game)) >> >> >> (s/explain ::game2 (spec-test.foo/->Foo)) >> val: #spec_test.foo.Foo{} fails spec: :spec-test.core/game2 predicate: >> (partial satisfies? Game) <---- WAAAAAT >> nil >> >> >> It looks like the spec macros aren’t resolving the Game reference in the >> game2 spec. You can use macroexpand-1 to see what was happening at the >> top-level. The internal macros get a little complicated so I can’t say if >> code expressions like this were intended to work. It doesn’t hurt to file >> a bug. >> >> I think the usual way to write this would be to define your own little >> predicate first and then use that var in the spec. >> >> (def my-game? (partial satisfies? Game)) >> >> (s/def ::game3 my-game?) >> >> If you want to work around the immediate issue, try using the fully >> qualified symbol for the protocol. (I prefer ::game3 FWIW.) >> >> (s/def ::game4 (partial satisfies? spec-test.core/Game)) >> >> >> >> >> >> >> -- 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.