Completed
Details
Assignee
UnassignedUnassignedReporter
Nicola MomettoNicola MomettoLabels
Patch
Code and TestPriority
MajorAffects versions
Fix versions
Details
Details
Assignee
Unassigned
UnassignedReporter
Nicola Mometto
Nicola MomettoLabels
Patch
Code and Test
Priority

Affects versions
Fix versions
Created October 24, 2012 at 3:13 PM
Updated August 7, 2015 at 3:13 PM
Resolved August 7, 2015 at 3:13 PM
Cause: Compiler's ConstantExpr parser returns an EmptyExpr for all empty persistent collections, even if they are of types other than the core collections (for example: records, sorted collections, custom collections). EmptyExpr reports its java class as one the classes - IPersistentList/IPersistentVector/IPersistentMap/IPersistentSet rather than the original type.
Proposed: If one of the Persistent* classes, then create EmptyExpr as before, otherwise retain the ConstantExpression of the original collection.
Since EmptyExpr is a compiler optimization that applies only to some concrete clojure collections, making EmptyExpr dispatch on concrete types rather than on generic interfaces makes the compiler behave as expected
Patch: 0001-CLJ-1093-v2.patch
Screened by: