reify allows use of qualified name as method parameter
Description
Environment
Activity

importAugust 24, 2010 at 2:03 PM
Comment made by: importer
technomancy said: Interesting. So it's not appropriate to require auto-gensym here? Why are the rules different for reify methods vs proxy methods?
> (defmacro lookup []
`(proxy [clojure.lang.ILookup] []
(valAt [key] key)))
> (lookup)
Can't use qualified name as parameter: clojure.core/key
[Thrown class java.lang.Exception]

importAugust 24, 2010 at 2:03 PM
Comment made by: importer
richhickey said: I'm not sure the bug is what you say it is, or the resolution should be what you suggest. The true problem is the resolution of key when qualified. Another possibility is to ignore the qualifier there.

importAugust 24, 2010 at 2:03 PM
Comment made by: importer
technomancy said: [[file:d2xUJIxTyr36fseJe5cbLA]]: A test to expose the unwanted behaviour

importAugust 24, 2010 at 2:03 PM
Comment made by: importer
Converted from http://www.assembla.com/spaces/clojure/tickets/348
Attachments:
0001-Add-a-test-for-348-reify-shouldn-t-accept-qualified-.patch - https://www.assembla.com/spaces/clojure/documents/d2xUJIxTyr36fseJe5cbLA/download/d2xUJIxTyr36fseJe5cbLA
This should complain about using a fully-qualified name as a parameter:
(defmacro lookup []
`(reify clojure.lang.ILookup
(valAt [_ key])))
Instead it simply ignores that parameter in the method body in favour of clojure.core/key.