www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.bugs - [Issue 14300] New: [2.067-rc1] DList casting to base type is broken

https://issues.dlang.org/show_bug.cgi?id=14300

          Issue ID: 14300
           Summary: [2.067-rc1] DList casting to base type is broken
           Product: D
           Version: D2
          Hardware: All
                OS: Linux
            Status: NEW
          Severity: regression
          Priority: P1
         Component: DMD
          Assignee: nobody puremagic.com
          Reporter: NCrashed gmail.com

Worked on 2.066, but new release candidate fails.

Code:
```
import std.container.dlist;

interface ITest {}

class Test : ITest {}   

void main()
{
        DList!ITest().insertBack(new Test());
}
```

Output:
```
/usr/include/dmd/phobos/std/container/dlist.d(642): Error: template
std.container.dlist.DList!(ITest).DList.createNode cannot deduce function from
argument types !()(Test, BaseNode*, BaseNode*), candidates are:
/usr/include/dmd/phobos/std/container/dlist.d(166):       
std.container.dlist.DList!(ITest).DList.createNode()(ref T arg, BaseNode* prev
= null, BaseNode* next = null)
/usr/include/dmd/phobos/std/container/dlist.d(414): Error: template instance
std.container.dlist.DList!(ITest).DList.insertBeforeNode!(Test) error
instantiating
source/app.d(9):        instantiated from here: insertBack!(Test)
```

--
Mar 17 2015