I would be helpful to me at this point to have a jira regarding this problem which I will presume for the time being is the same in both Andy and Sean's case.
On Monday, January 12, 2015 at 11:30:57 AM UTC-6, Andy Fingerhut wrote: > > Nicola, Sean: > > I am _not_ testing with Sean's code, so can't comment whether my results > will correspond with his. > > I have found that between Clojure 1.7.0-alpha4 and 1.7.0-alpha5, and the > latest Eastwood version 0.2.1 released, I get an exception trying to lint > the namespace clojure.reflect in Clojure itself with 1.7.0-alpha5, but not > with 1.7.0-alpha4, and the exception message is similar in that it has to > do with "No implementation of method: ..." for a protocol. > > I went through several of the individual commits between alpha4 and > alpha5, and found it was the commit for CLJ-979 that introduced the change > in behavior. I can even take the CLJ-979 patch and patch it into Clojure > 1.7.0-alpha4, and I get the same exception. Details of the exception and > stack trace I get below. > > Andy > > I created a project directory to run the command below in. It simply has > a dependency on my custom-built version of Clojure. > > % lein do clean, eastwood '{:namespaces [clojure.reflect]}' > > == Eastwood 0.2.1 Clojure 1.7.0-alpha4c979only JVM 1.7.0_45 > > == Linting clojure.reflect == > > Exception thrown during phase :analyze+eval of linting namespace > clojure.reflect > > IllegalArgumentException No implementation of method: :do-reflect of > protocol: #'clojure.reflect/Reflector found for class: > clojure.reflect.JavaReflector > > clojure.core/-cache-protocol-fn (core_deftype.clj:555) > > clojure.reflect/eval6486/fn--6487/G--6470--6490 > (form-init6080826551765301071.clj:1) > > clojure.core/partial/fn--4490 (core.clj:2489) > > clojure.reflect/type-reflect (reflect.clj:100) > > clojure.core/apply (core.clj:632) > > eastwood.copieddeps.dep2.clojure.tools.analyzer.jvm.utils/type-reflect > (utils.clj:24) > > eastwood.copieddeps.dep2.clojure.tools.analyzer.jvm.utils/members*--1293 > (utils.clj:271) > > clojure.core/apply (core.clj:626) > > eastwood.copieddeps.dep3.clojure.core.memoize/through*/fn--1072 > (memoize.clj:66) > > eastwood.copieddeps.dep4.clojure.core.cache/through/fn--872 (cache.clj:55) > > eastwood.copieddeps.dep3.clojure.core.memoize/through*/fn--1068/fn--1069 > (memoize.clj:65) > > eastwood.copieddeps.dep3.clojure.core.memoize/d-lay/reify--1063 > (memoize.clj:54) > > clojure.core/deref (core.clj:2202) > > eastwood.copieddeps.dep3.clojure.core.memoize/build-memoizer/fn--1123 > (memoize.clj:152) > > clojure.lang.AFunction$1.doInvoke (AFunction.java:29) > > eastwood.copieddeps.dep2.clojure.tools.analyzer.jvm.utils/members > (utils.clj:280) > > eastwood.copieddeps.dep2.clojure.tools.analyzer.jvm.utils/instance-members > (utils.clj:289) > > eastwood.copieddeps.dep2.clojure.tools.analyzer.jvm.utils/instance-methods > (utils.clj:299) > > eastwood.copieddeps.dep2.clojure.tools.analyzer.passes.jvm.validate/validate-call > > (validate.clj:91) > > eastwood.copieddeps.dep2.clojure.tools.analyzer.passes.jvm.validate/eval2056/fn--2058 > > (validate.clj:148) > > clojure.lang.MultiFn.invoke (MultiFn.java:229) > > eastwood.copieddeps.dep2.clojure.tools.analyzer.passes.jvm.validate/validate > (validate.clj:264) > > clojure.lang.Var.invoke (Var.java:379) > > eastwood.copieddeps.dep1.clojure.tools.analyzer.passes/compile-passes/fn--574/fn--579 > > (passes.clj:171) > > eastwood.copieddeps.dep1.clojure.tools.analyzer.passes/compile-passes/fn--574/fn--581 > > (passes.clj:173) > > eastwood.copieddeps.dep1.clojure.tools.analyzer.passes/compile-passes/fn--574/fn--581 > > (passes.clj:173) > > eastwood.copieddeps.dep1.clojure.tools.analyzer.passes/compile-passes/fn--574/fn--581 > > (passes.clj:173) > > clojure.core/partial/fn--4492 (core.clj:2496) > > eastwood.copieddeps.dep1.clojure.tools.analyzer.ast/walk/walk--191 > (ast.clj:102) > > eastwood.copieddeps.dep1.clojure.tools.analyzer.ast/walk/walk--191/walk--192 > (ast.clj:96) > > eastwood.copieddeps.dep1.clojure.tools.analyzer.ast/-update-children/fn--182 > (ast.clj:51) > > clojure.lang.ArrayChunk.reduce (ArrayChunk.java:63) > > clojure.core.protocols/fn--6433 (protocols.clj:103) > > clojure.core.protocols/fn--6395/G--6390--6404 (protocols.clj:19) > > clojure.core.protocols/seq-reduce (protocols.clj:31) > > clojure.core.protocols/fn--6414 (protocols.clj:65) > > clojure.core.protocols/fn--6369/G--6364--6382 (protocols.clj:13) > > clojure.core/reduce (core.clj:6461) > > eastwood.copieddeps.dep1.clojure.tools.analyzer.ast/-update-children > (ast.clj:56) > > eastwood.copieddeps.dep1.clojure.tools.analyzer.ast/update-children-reduced > (ast.clj:64) > > eastwood.copieddeps.dep1.clojure.tools.analyzer.ast/walk/walk--191 > (ast.clj:99) > > eastwood.copieddeps.dep1.clojure.tools.analyzer.ast/walk/walk--191/walk--192 > (ast.clj:96) > > eastwood.copieddeps.dep1.clojure.tools.analyzer.ast/-update-children/fn--182 > (ast.clj:51) > > clojure.lang.ArrayChunk.reduce (ArrayChunk.java:63) > > clojure.core.protocols/fn--6433 (protocols.clj:103) > > clojure.core.protocols/fn--6395/G--6390--6404 (protocols.clj:19) > > clojure.core.protocols/seq-reduce (protocols.clj:31) > > clojure.core.protocols/fn--6414 (protocols.clj:65) > > clojure.core.protocols/fn--6369/G--6364--6382 (protocols.clj:13) > > clojure.core/reduce (core.clj:6461) > > eastwood.copieddeps.dep1.clojure.tools.analyzer.ast/-update-children > (ast.clj:56) > > eastwood.copieddeps.dep1.clojure.tools.analyzer.ast/update-children-reduced > (ast.clj:64) > > eastwood.copieddeps.dep1.clojure.tools.analyzer.ast/walk/walk--191 > (ast.clj:99) > > eastwood.copieddeps.dep1.clojure.tools.analyzer.ast/walk/walk--191/walk--192 > (ast.clj:96) > > eastwood.copieddeps.dep1.clojure.tools.analyzer.utils/mapv' (utils.clj:208) > > eastwood.copieddeps.dep1.clojure.tools.analyzer.ast/-update-children/fn--182 > (ast.clj:51) > > clojure.lang.ArrayChunk.reduce (ArrayChunk.java:58) > > clojure.core.protocols/fn--6433 (protocols.clj:103) > > clojure.core.protocols/fn--6395/G--6390--6404 (protocols.clj:19) > > clojure.core.protocols/seq-reduce (protocols.clj:31) > > clojure.core.protocols/fn--6414 (protocols.clj:65) > > clojure.core.protocols/fn--6369/G--6364--6382 (protocols.clj:13) > > clojure.core/reduce (core.clj:6461) > > eastwood.copieddeps.dep1.clojure.tools.analyzer.ast/-update-children > (ast.clj:56) > > eastwood.copieddeps.dep1.clojure.tools.analyzer.ast/update-children-reduced > (ast.clj:64) > > eastwood.copieddeps.dep1.clojure.tools.analyzer.ast/walk/walk--191 > (ast.clj:99) > > eastwood.copieddeps.dep1.clojure.tools.analyzer.ast/walk/walk--191/walk--192 > (ast.clj:96) > > eastwood.copieddeps.dep1.clojure.tools.analyzer.ast/-update-children/fn--182 > (ast.clj:51) > > clojure.lang.ArrayChunk.reduce (ArrayChunk.java:58) > > clojure.core.protocols/fn--6433 (protocols.clj:103) > > clojure.core.protocols/fn--6395/G--6390--6404 (protocols.clj:19) > > clojure.core.protocols/seq-reduce (protocols.clj:31) > > clojure.core.protocols/fn--6414 (protocols.clj:65) > > clojure.core.protocols/fn--6369/G--6364--6382 (protocols.clj:13) > > clojure.core/reduce (core.clj:6461) > > eastwood.copieddeps.dep1.clojure.tools.analyzer.ast/-update-children > (ast.clj:56) > > eastwood.copieddeps.dep1.clojure.tools.analyzer.ast/update-children-reduced > (ast.clj:64) > > eastwood.copieddeps.dep1.clojure.tools.analyzer.ast/walk/walk--191 > (ast.clj:99) > > eastwood.copieddeps.dep1.clojure.tools.analyzer.ast/walk/walk--191/walk--192 > (ast.clj:96) > > eastwood.copieddeps.dep1.clojure.tools.analyzer.utils/mapv' (utils.clj:208) > > eastwood.copieddeps.dep1.clojure.tools.analyzer.ast/-update-children/fn--182 > (ast.clj:51) > > clojure.lang.ArrayChunk.reduce (ArrayChunk.java:58) > > clojure.core.protocols/fn--6433 (protocols.clj:103) > > clojure.core.protocols/fn--6395/G--6390--6404 (protocols.clj:19) > > clojure.core.protocols/seq-reduce (protocols.clj:31) > > clojure.core.protocols/fn--6414 (protocols.clj:65) > > clojure.core.protocols/fn--6369/G--6364--6382 (protocols.clj:13) > > clojure.core/reduce (core.clj:6461) > > eastwood.copieddeps.dep1.clojure.tools.analyzer.ast/-update-children > (ast.clj:56) > > eastwood.copieddeps.dep1.clojure.tools.analyzer.ast/update-children-reduced > (ast.clj:64) > > eastwood.copieddeps.dep1.clojure.tools.analyzer.ast/walk/walk--191 > (ast.clj:99) > > eastwood.copieddeps.dep1.clojure.tools.analyzer.ast/walk/walk--191/walk--192 > (ast.clj:96) > > eastwood.copieddeps.dep1.clojure.tools.analyzer.ast/-update-children/fn--182 > (ast.clj:51) > > clojure.lang.ArrayChunk.reduce (ArrayChunk.java:63) > > clojure.core.protocols/fn--6433 (protocols.clj:103) > > clojure.core.protocols/fn--6395/G--6390--6404 (protocols.clj:19) > > clojure.core.protocols/seq-reduce (protocols.clj:31) > > clojure.core.protocols/fn--6414 (protocols.clj:65) > > clojure.core.protocols/fn--6369/G--6364--6382 (protocols.clj:13) > > clojure.core/reduce (core.clj:6461) > > eastwood.copieddeps.dep1.clojure.tools.analyzer.ast/-update-children > (ast.clj:56) > > eastwood.copieddeps.dep1.clojure.tools.analyzer.ast/update-children-reduced > (ast.clj:64) > > eastwood.copieddeps.dep1.clojure.tools.analyzer.ast/walk/walk--191 > (ast.clj:99) > > eastwood.copieddeps.dep1.clojure.tools.analyzer.ast/walk/walk--191/walk--192 > (ast.clj:96) > > eastwood.copieddeps.dep1.clojure.tools.analyzer.ast/-update-children/fn--182 > (ast.clj:51) > > clojure.lang.ArrayChunk.reduce (ArrayChunk.java:63) > > clojure.core.protocols/fn--6433 (protocols.clj:103) > > clojure.core.protocols/fn--6395/G--6390--6404 (protocols.clj:19) > > clojure.core.protocols/seq-reduce (protocols.clj:31) > > clojure.core.protocols/fn--6414 (protocols.clj:65) > > clojure.core.protocols/fn--6369/G--6364--6382 (protocols.clj:13) > > clojure.core/reduce (core.clj:6461) > > eastwood.copieddeps.dep1.clojure.tools.analyzer.ast/-update-children > (ast.clj:56) > > eastwood.copieddeps.dep1.clojure.tools.analyzer.ast/update-children-reduced > (ast.clj:64) > > eastwood.copieddeps.dep1.clojure.tools.analyzer.ast/walk/walk--191 > (ast.clj:99) > > eastwood.copieddeps.dep1.clojure.tools.analyzer.ast/walk/walk--191/walk--192 > (ast.clj:96) > > eastwood.copieddeps.dep1.clojure.tools.analyzer.utils/mapv' (utils.clj:208) > > eastwood.copieddeps.dep1.clojure.tools.analyzer.ast/-update-children/fn--182 > (ast.clj:51) > > clojure.lang.ArrayChunk.reduce (ArrayChunk.java:58) > > clojure.core.protocols/fn--6433 (protocols.clj:103) > > clojure.core.protocols/fn--6395/G--6390--6404 (protocols.clj:19) > > clojure.core.protocols/seq-reduce (protocols.clj:31) > > clojure.core.protocols/fn--6414 (protocols.clj:65) > > clojure.core.protocols/fn--6369/G--6364--6382 (protocols.clj:13) > > clojure.core/reduce (core.clj:6461) > > eastwood.copieddeps.dep1.clojure.tools.analyzer.ast/-update-children > (ast.clj:56) > > eastwood.copieddeps.dep1.clojure.tools.analyzer.ast/update-children-reduced > (ast.clj:64) > > eastwood.copieddeps.dep1.clojure.tools.analyzer.ast/walk/walk--191 > (ast.clj:99) > > eastwood.copieddeps.dep1.clojure.tools.analyzer.ast/walk/walk--191/walk--192 > (ast.clj:96) > > eastwood.copieddeps.dep1.clojure.tools.analyzer.utils/mapv' (utils.clj:208) > > eastwood.copieddeps.dep1.clojure.tools.analyzer.ast/-update-children/fn--182 > (ast.clj:51) > > clojure.lang.ArrayChunk.reduce (ArrayChunk.java:63) > > clojure.core.protocols/fn--6433 (protocols.clj:103) > > clojure.core.protocols/fn--6395/G--6390--6404 (protocols.clj:19) > > clojure.core.protocols/seq-reduce (protocols.clj:31) > > clojure.core.protocols/fn--6414 (protocols.clj:65) > > clojure.core.protocols/fn--6369/G--6364--6382 (protocols.clj:13) > > clojure.core/reduce (core.clj:6461) > > eastwood.copieddeps.dep1.clojure.tools.analyzer.ast/-update-children > (ast.clj:56) > > eastwood.copieddeps.dep1.clojure.tools.analyzer.ast/update-children-reduced > (ast.clj:64) > > eastwood.copieddeps.dep1.clojure.tools.analyzer.ast/walk/walk--191 > (ast.clj:99) > > eastwood.copieddeps.dep1.clojure.tools.analyzer.ast/walk/walk--191/walk--192 > (ast.clj:96) > > eastwood.copieddeps.dep1.clojure.tools.analyzer.utils/mapv' (utils.clj:208) > > eastwood.copieddeps.dep1.clojure.tools.analyzer.ast/-update-children/fn--182 > (ast.clj:51) > > clojure.lang.ArrayChunk.reduce (ArrayChunk.java:63) > > clojure.core.protocols/fn--6433 (protocols.clj:103) > > clojure.core.protocols/fn--6395/G--6390--6404 (protocols.clj:19) > > clojure.core.protocols/seq-reduce (protocols.clj:31) > > clojure.core.protocols/fn--6414 (protocols.clj:65) > > clojure.core.protocols/fn--6369/G--6364--6382 (protocols.clj:13) > > clojure.core/reduce (core.clj:6461) > > eastwood.copieddeps.dep1.clojure.tools.analyzer.ast/-update-children > (ast.clj:56) > > eastwood.copieddeps.dep1.clojure.tools.analyzer.ast/update-children-reduced > (ast.clj:64) > > eastwood.copieddeps.dep1.clojure.tools.analyzer.ast/walk/walk--191 > (ast.clj:99) > > eastwood.copieddeps.dep1.clojure.tools.analyzer.ast/walk/walk--191/walk--192 > (ast.clj:96) > > eastwood.copieddeps.dep1.clojure.tools.analyzer.utils/mapv' (utils.clj:208) > > eastwood.copieddeps.dep1.clojure.tools.analyzer.ast/-update-children/fn--182 > (ast.clj:51) > ... -- 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.