www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.bugs - [Issue 13353] New: [ICE] assertion with is() and templated interface


          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() {  }
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 

Aug 22 2014