Bug 11039 – Undefined instantiation from circular imports

Status
RESOLVED
Resolution
FIXED
Severity
regression
Priority
P2
Component
dmd
Product
D
Version
D2
Platform
All
OS
All
Creation time
2013-09-14T13:40:00Z
Last change time
2013-09-18T22:00:40Z
Keywords
link-failure, pull
Assigned to
nobody
Creator
bugzilla

Comments

Comment #0 by bugzilla — 2013-09-14T13:40:06Z
As reported by Orvid in https://github.com/D-Programming-Language/dmd/pull/2550 ------- foo2.d ---------- import b2; struct SomeStruct(T) { T field; T getInnerField() { return field; } } static globalField = SomeStruct!string("Hello!"); void main() { globalField.getInnerField(); anotherGlobalField.getInnerField(); } ------ b2.d -------- import foo2; static anotherGlobalField = SomeStruct!string("Hello Again!"); -------------------- dmd -c foo2 dmd -c b2 dmd foo2.obj b2.obj That should produce an undefined reference to SomeStruct!string.getInnerField().
Comment #1 by bugzilla — 2013-09-14T13:51:06Z
Comment #2 by github-bugzilla — 2013-09-18T22:00:13Z
Commits pushed to master at https://github.com/D-Programming-Language/dmd https://github.com/D-Programming-Language/dmd/commit/985a413c2702ebeda9352000e73cf3010198f38c fix Issue 11039 - Undefined instantiation from circular imports https://github.com/D-Programming-Language/dmd/commit/9ff2c36ab25a7f09c2b374c0e91baf97a453b405 Merge pull request #2556 from WalterBright/fix11039 fix Issue 11039 - Undefined instantiation from circular imports