[Issue 18915] "Interface method not implemented" if interface reflects on implementing class
https://issues.dlang.org/show_bug.cgi?id=18915 Iain Buclaw changed: What|Removed |Added Priority|P1 |P3 --
[Issue 18915] "Interface method not implemented" if interface reflects on implementing class
https://issues.dlang.org/show_bug.cgi?id=18915 Basile-z changed: What|Removed |Added CC|b2.t...@gmx.com | --
[Issue 18915] "Interface method not implemented" if interface reflects on implementing class
https://issues.dlang.org/show_bug.cgi?id=18915 --- Comment #2 from Simen Kjaeraas --- I'd prefer it to work. This is essentially the use case: interface A { import std.traits; static foreach (e; __traits(derivedMembers, B)) { static foreach (fn; MemberFunctionsTuple!(B, e)) { mixin("@(__traits(getAttributes, fn)) ReturnType!fn "~e~"(Parameters!fn);"); } } } class B : A { void foo() { } } That is, we generate an interface based on a type, and derive that type from said interface. Since derivedMembers doesn't look at base classes and interfaces, this could possibly be made to work. Related forum discussion: https://forum.dlang.org/post/dgzojfdiwsssflbnk...@forum.dlang.org --
[Issue 18915] "Interface method not implemented" if interface reflects on implementing class
https://issues.dlang.org/show_bug.cgi?id=18915 Basile B. changed: What|Removed |Added CC||b2.t...@gmx.com Hardware|x86 |All OS|Windows |All --- Comment #1 from Basile B. --- Is this supposed to work or is this a wrong diagnostic (type B not yet finished when used in A) --