Affects Version/s: Release 1.4, Release 1.5
Fix Version/s: None
Environment:Linux, clojure jar or leiningen repl
I had the following problem which took me much longer than it should have. I accidentally had a record's field with the same name as one of the functions from a protocol. When I tried to call the function from within the record I got totally weird behavior and didn't find it, until I removed every piece of code when I found the name conflict.
I wish clojure would warn me in such a case. (Disregarding any naming conventions that could have saved me.)
Following a small example to reproduce the problem:
Warning: the protocol function "dog" from "HasPets" conflicts with the equally named record field of "Petshop"
Without dog as a record's field:
Thanks for your help.