[Issue 18915] "Interface method not implemented" if interface reflects on implementing class
d-bugmail at puremagic.com
d-bugmail at puremagic.com
Thu May 31 06:31:19 UTC 2018
https://issues.dlang.org/show_bug.cgi?id=18915
--- Comment #2 from Simen Kjaeraas <simen.kjaras at gmail.com> ---
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/dgzojfdiwsssflbnkwtk@forum.dlang.org
--
More information about the Digitalmars-d-bugs
mailing list