import std.stdio;
extern(C++) class A
{
~this(){}
}
extern(C++) interface I
{
void f();
}
extern(C++) class B : A, I
{
void f()
{
writeln("B.f");
}
}
extern(C++) class C : B
{
override void f()
{
writeln("C.f");
super.f();
}
}
void main()
{
scope obj = new C;
obj.f();
}
The above program works on Linux, but prints C.f until stack overflow on Windows.
The above program works on Linux, but prints C.f until stack overflow on Windows.