Test case:
a.d:
----
import b;
class Sub : Super
{
int fail()
{
return Super.fail();
}
}
----
b.d:
----
class Super
{
int fail()
out (result) {}
body
{
assert(0);
}
}
----
Compile with dmd -c a.d. If you compile with dmd a.d b.d the ICE does not occur. DMD outputs:
b.d(5): Error: function __ensure forward declaration
linkage = 0
dmd: tocsym.c:407: virtual Symbol* FuncDeclaration::toSymbol(): Assertion `0' failed.
Comment #1 by robert — 2010-04-02T20:48:57Z
I should note this is blocking a linux port of ddmd.
Comment #2 by clugdbug — 2010-04-02T22:37:23Z
Duplicate of 3602?
Comment #3 by robert — 2010-04-03T05:18:21Z
You are correct Don, it is a duplicate, sorry for the noise.
*** This issue has been marked as a duplicate of issue 3602 ***