Interface final methods are erased by the overloads of a subclass

pineapple via Digitalmars-d-learn digitalmars-d-learn at puremagic.com
Wed Jul 13 17:02:25 PDT 2016


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)
     }


More information about the Digitalmars-d-learn mailing list