July 14, 2016 Interface final methods are erased by the overloads of a subclass | ||||
---|---|---|---|---|
| ||||
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(); b.foo(10); // not callable using argument types (int) } |
July 14, 2016 Re: Interface final methods are erased by the overloads of a subclass | ||||
---|---|---|---|---|
| ||||
Posted in reply to pineapple | 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. |
Copyright © 1999-2021 by the D Language Foundation