clojure.core/proxy does not work when reloading namespaces

Description

clojure.core/proxy does not work when one reloads namespace containing defprotocol.

E.g. one can't reload the following file without triggering an error:

Saving the above as foo/baz.clj, I get the following error:

I'm using the current git master (commit 5cfe5111ccb5afec4f9c73), but clojure 1.7 has the same problem.

The problem is that proxy-name only uses the interface names as a key. These names do not change when reloading the namespace, but the interfaces themself are new.

I'm going to attach a short patch which fixes that issue for me.

Environment

tested on 64 bit linux, oracle jdk 1.8

Activity

Show:
Ralf Schmitt
December 6, 2015, 5:45 PM

I'm not sure how this interacts with AOT compilation.

Assignee

Unassigned

Reporter

Ralf Schmitt

Labels

Approval

Triaged

Patch

Code

Affects versions

Priority

Major
Configure