[Issue 18915] "Interface method not implemented" if interface reflects on implementing class

2022-12-17 Thread d-bugmail--- via Digitalmars-d-bugs
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

2020-03-20 Thread d-bugmail--- via Digitalmars-d-bugs
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

2018-05-31 Thread d-bugmail--- via Digitalmars-d-bugs
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

2018-05-30 Thread d-bugmail--- via Digitalmars-d-bugs
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)

--