Bug 7160 – Regression(2.057): ICE(dsymbol.c:1052) ICE using __traits(derivedMembers)
Status
RESOLVED
Resolution
FIXED
Severity
regression
Priority
P2
Component
dmd
Product
D
Version
D2
Platform
All
OS
All
Creation time
2011-12-23T16:12:00Z
Last change time
2012-01-26T05:59:45Z
Keywords
ice-on-valid-code, patch
Assigned to
nobody
Creator
robert
Comments
Comment #0 by robert — 2011-12-23T16:12:43Z
The following test case:
----
class HomeController {
static if (false) {
mixin(q{ int a; });
}
void foo() {
foreach (m; __traits(derivedMembers, HomeController)) {
}
}
}
----
Gives the error:
----
dmd: dsymbol.c:1052: static int ScopeDsymbol::foreach(Dsymbols*, int (*)(void*, size_t, Dsymbol*), void*, size_t*): Assertion `members' failed.
----
On ubuntu 32 and a similar error:
----
Assertion failed: (members), function foreach, file dsymbol.c, line 1052.
----
On OS X 32 and 64.
This worked as expected in dmd 2.056.