[CLJ-1132] For record type Rec, (instance? Rec (map->Rec {...})) need not return true, though (instance? Rec (Rec. ...)) does. Created: 18/Dec/12 Updated: 18/Dec/12 |
|
| Status: | Open |
| Project: | Clojure |
| Component/s: | None |
| Affects Version/s: | Release 1.4 |
| Fix Version/s: | None |
| Type: | Defect | Priority: | Minor |
| Reporter: | Christopher Genovese | Assignee: | Unassigned |
| Resolution: | Unresolved | Votes: | 0 |
| Labels: | constructor, defrecord | ||
| Environment: |
Apache Tomcat/6.0.24 JVM/1.6.0_26-b03 Linux 2.6.32-279.el6.x86_64 Clojure 1.4.0, Ring 1.1.6, Compojure 1.1.3, Lein-Ring Plugin 0.7.5 (for lein ring uberwar) |
||
| Attachments: |
|
| Description |
|
(defrecord Rec ...) (instance? Rec (Rec. ...)) ;=> true (.getClassLoader Rec) ;=> WebappClassLoader (delegate: false, repositories: /WEB-INF/classes/, parent: org.apache.catalina.loader.StandardClassLoader@790bc49d) The map->Rec delegates to the create method, which seems to be where the problem lies. The record namespace is AOT compiled, properly I think/hope, and the requisite classes I have attached a minimal web app that reproduces the problem and shows Again, I've only been able to reproduce the problem under Tomcat, |