Bug 6198 – [GSoC] ICE(e2ir.c) With circular import

Status
RESOLVED
Resolution
FIXED
Severity
major
Priority
P2
Component
dmd
Product
D
Version
D2
Platform
Other
OS
All
Creation time
2011-06-23T08:20:00Z
Last change time
2015-06-09T05:10:44Z
Keywords
ice-on-valid-code
Assigned to
nobody
Creator
robert

Comments

Comment #0 by robert — 2011-06-23T08:20:40Z
Reduced test case from the GSoC mailing list: arraystorage.d: ---- import vector; struct ArrayViewStorage( T ) { ArrayStorage!T array_; } struct ArrayStorage( T ) { alias ArrayViewStorage!T View; this( BaseVector!View vec ) { } } ---- vector.d: ---- import arraystorage; struct BaseVector( Storage ) { Storage storage() { return stor; } Storage stor; } template Vector( T ) { alias BaseVector!( ArrayStorage!T ) Vector; } void main() { auto a = Vector!int(); } ---- Compile with: dmd arraystorage.d vector.d Note that reversing the order of files fixes the issue.
Comment #1 by bugzilla — 2011-06-23T20:40:52Z