<< Back to previous view

[CLJ-371] dynamic defrecord definitions trumped by AOT versions in classpath Created: 02/Jun/10  Updated: 26/Jul/13  Resolved: 02/Dec/11

Status: Closed
Project: Clojure
Component/s: None
Affects Version/s: Backlog
Fix Version/s: Backlog

Type: Defect Priority: Minor
Reporter: Assembla Importer Assignee: Unassigned
Resolution: Declined Votes: 0
Labels: None

Approval: Vetted


Symptom: Define a defrecord at the repl and you still see the old (AOT'd) defrecord.

In the attached project:
lein compile
lein repl

and enter the commands in the comment in src/defrecordissue/core.clj

Design Discussion here: http://dev.clojure.org/display/design/Dynamic+defrecord+definitions+trumped+by+AOT+versions+in+classpath

Comment by Assembla Importer [ 24/Aug/10 11:29 AM ]

Converted from http://www.assembla.com/spaces/clojure/tickets/371
defrecordissue.tar.gz - https://www.assembla.com/spaces/clojure/documents/aggm70BPir356HeJe5cbLr/download/aggm70BPir356HeJe5cbLr

Comment by Assembla Importer [ 24/Aug/10 11:29 AM ]

stu said: Rich: I understand the classloader situation that causes this. If you tell me what you think should happen instead I will make a patch.

Comment by Assembla Importer [ 24/Aug/10 11:29 AM ]

stu said: Updating tickets (#389, #371)

Comment by Assembla Importer [ 24/Aug/10 11:29 AM ]

cemerick said: AFAICT, this also affects protocol definitions, where the associated interface classfile is available on the classpath.

Comment by Christopher Redinger [ 15/Apr/11 12:57 PM ]

You said you'd make a patch if Rich said it needed on. Your move.

Comment by Stuart Halloway [ 15/Apr/11 6:25 PM ]

This behavior is to be expected, given Java's class loaders. If you want static classes, compile them onto your classpath. If you want reloadable classes, load them at runtime (preferable) from source.

The real place to fix this problem is in build tools and IDEs. When you are developing interactively, these tools should default to non-compilation of Clojure files. The Clojure/core team will fix this in a future version of the Clojure maven build tools.

Comment by Christopher Redinger [ 22/Apr/11 11:47 AM ]

Re-opening - we closed this thinking it would be handled via tooling. It seems we should fix this though.

Comment by Stuart Halloway [ 15/Nov/11 7:16 PM ]

I don't know of any appropriate action to take, other than to change tools.

Comment by Stuart Halloway [ 02/Dec/11 1:39 PM ]

no, really, declined

Generated at Tue Jan 23 14:05:01 CST 2018 using JIRA 4.4#649-r158309.