On Monday, 26 September 2016 at 18:49:58 UTC, ag0aep6g wrote:
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.
Thanks for the info. I'll have to update my compiler to master,
or go back to 2.071.