import std.stdio; interface One { final void foo() { writefln("One"); } } interface Two { final void foo() { writefln("Two"); } } class X : One, Two { } class Y : Two, One { } void main() { X x = new X(); x.foo(); // prints "One" Y y = new Y(); y.foo(); // prints "Two" } --- This might lead to bugs. I think this should be a compile-time error. I don't know how to solve this issue if you do want to implement both interfaces.
According to TDPL, the solution *should* be the following: --- void main() { X x = new X(); x.foo(); // prints "One" x.Two.foo(); // should print "Two" Y y = new Y(); y.foo(); // prints "Two" y.One.foo(); // should print "One" } --- But this gives the following errors: ifinal.d(28): Error: no property 'Two' for type 'ifinal.X' Error: no property 'foo' for type 'int' ifinal.d(28): Error: function expected before (), not __error of type int ifinal.d(31): Error: no property 'One' for type 'ifinal.Y' Error: no property 'foo' for type 'int' ifinal.d(31): Error: function expected before (), not __error of type int
Mass migration of bugs marked as x86-64 to just x86. The platform run on isn't what's relevant, it's if the app is a 32 or 64 bit app.
*** This issue has been marked as a duplicate of issue 4647 ***