On 09/26/2016 08:07 PM, Jonathan Marler wrote:
My dmd compiler gets an Access Violation when compiling this code:
public template TemplateWrapper(T)
{
alias ToAlias = T;
Should probably be `alias TemplateWrapper = T;`.
}
public class Bar : Foo
{
TemplateWrapper!(Bar) something;
}
public class Foo
{
static class StaticClass : Bar { }
}
With the change above, dmd 2.071.2 crashes with an assertion failure:
toobj.c:352: virtual void toObjFile(Dsymbol*,
bool)::ToObjFile::visit(ClassDeclaration*): Assertion `cd->structsize >=
8 || (cd->cpp && cd->structsize >= 4)' failed.
Current master dmd (04e6a6e) doesn't crash. Maybe the bug has already
been fixed.
Reminds me of this issue:
https://issues.dlang.org/show_bug.cgi?id=16273
Similar setup, but opposite results: crashes with master and works with
2.071.