[Issue 10806] Interface covariance for more than one interface at once also broken
d-bugmail at puremagic.com
d-bugmail at puremagic.com
Fri Mar 29 14:02:14 UTC 2019
https://issues.dlang.org/show_bug.cgi?id=10806
--- Comment #4 from FeepingCreature <default_357-line at yahoo.de> ---
This problem still exists on master.
To demonstrate why it's a problem:
import std.stdio;
interface A1 { A1 foo(); }
interface A2 { A2 foo(); void bar(); }
class C1 : A1, A2 {
override C1 foo() { return new C1; }
override void bar() { writefln("bar"); }
}
void main() {
A2 x = new C1;
A2 y = x.foo();
writefln("X: %s", x.classinfo);
writefln("Y: %s", y.classinfo);
y.bar();
}
Note that "A2 y" has an A1 vtable.
--
More information about the Digitalmars-d-bugs
mailing list