I was programming a function involving a core.async go block, when I stumbled on a strange compilation error :
I experimented a little to try and strip down the problem, and found it was very generic. Say I have any protocol MyProtocol :
The following code will not compile, failing with the exception I showed you above :
However, the following 2 will compile without any problem :
It seems to me the '<! inside protocol method invocation form' is a situation which the go macro fails to handle.
happened on both [org.clojure/clojure "1.7.0-alpha1"] and [org.clojure/clojure "1.6.0"]
java version "1.8.0_05"
Java(TM) SE Runtime Environment (build 1.8.0_05-b13)
Java HotSpot(TM) 64-Bit Server VM (build 25.5-b02, mixed mode)
NR in latest core.async 0.2.374.