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.
I should note this is blocking a linux port of ddmd.
Duplicate of 3602?
You are correct Don, it is a duplicate, sorry for the noise. *** This issue has been marked as a duplicate of issue 3602 ***