digitalmars.D.bugs - [Issue 17373] New: traits getOverloads + multiple interface
- via Digitalmars-d-bugs (25/25) May 05 2017 https://issues.dlang.org/show_bug.cgi?id=17373
https://issues.dlang.org/show_bug.cgi?id=17373 Issue ID: 17373 Summary: traits getOverloads + multiple interface inheritance only see one of the interfaces' overloads Product: D Version: D2 Hardware: All OS: All Status: NEW Severity: normal Priority: P1 Component: dmd Assignee: nobody puremagic.com Reporter: mathias.lang sociomantic.com Tested with 2.074 / master as of today: ``` interface Foo { void visit (int); } interface Bar { void visit (double); } interface FooBar : Foo, Bar {} pragma(msg, __traits(getOverloads, FooBar, "visit").length); ``` Outputs `1LU`, which is incorrect as both will be part of the overload set. This breaks reflection code which tries to auto-instantiate interfaces (like Blackhole / whitehole). --
May 05 2017