Interface final methods are erased by the overloads of a subclass

2016-07-13 Thread pineapple via Digitalmars-d-learn
I was surprised when this didn't work. What's the rationale? Is there any better workaround than renaming methods? interface A{ void foo(); final void foo(int x){} } class B: A{ void foo(){} } void main(){ auto b = new B(); b.foo();

Re: Interface final methods are erased by the overloads of a subclass

2016-07-13 Thread Adam D. Ruppe via Digitalmars-d-learn
On Thursday, 14 July 2016 at 00:02:25 UTC, pineapple wrote: I was surprised when this didn't work. What's the rationale? Is there any better workaround than renaming methods? Looks like this: http://dlang.org/hijack.html Just add `alias foo = A.foo;` to B and it should work.