digitalmars.D.bugs - [Issue 13353] New: [ICE] assertion with is() and templated interface
- via Digitalmars-d-bugs (35/35) Aug 22 2014 https://issues.dlang.org/show_bug.cgi?id=13353
https://issues.dlang.org/show_bug.cgi?id=13353 Issue ID: 13353 Summary: [ICE] assertion with is() and templated interface Product: D Version: D2 Hardware: All OS: All Status: NEW Severity: normal Priority: P1 Component: DMD Assignee: nobody puremagic.com Reporter: alexey.prokhin yandex.ru cat > bug.d << CODE interface Base(T) { static assert(is(T : Base!T)); } interface Derived : Base!Derived { void func(); } class Concrete : Derived { void func() { } } CODE dmd -c bug.d ---- dmd: func.c:2708: virtual bool FuncDeclaration::overloadInsert(Dsymbol*): Assertion `s != this' failed. ---- The cause of the issue seems to be Derived vtable being populated twice in InterfaceDeclaration::semantic(). --
Aug 22 2014