[Issue 2050] interfaces should allow final methods with body
d-bugmail at puremagic.com
d-bugmail at puremagic.com
Sat Apr 4 07:53:05 PDT 2009
http://d.puremagic.com/issues/show_bug.cgi?id=2050
------- Comment #9 from sandford at jhu.edu 2009-04-04 09:53 -------
(In reply to comment #0)
This seems to break composability:
interface I1 { final int foo() {return 1;} }
interface I2 { final int foo() {return 2;} }
class A: I1, I2 {}
Whose foo does A choose? And how is it resolved? (given you can't drop one of
the interfaces). And consider
class B: I1, I2 { final int foo() {return 3;} }
B b = new B();
I1 i1 = b;
I2 i2 = b;
assert( i1.foo == 1 );
assert( i2.foo == 2 );
assert( b.foo == 3 );
--
More information about the Digitalmars-d-bugs
mailing list