[Issue 19546] New: cannot implicitly override base class method [...] add override attribute
    d-bugmail at puremagic.com 
    d-bugmail at puremagic.com
       
    Thu Jan  3 21:53:13 UTC 2019
    
    
  
https://issues.dlang.org/show_bug.cgi?id=19546
          Issue ID: 19546
           Summary: cannot implicitly override base class method [...] add
                    override attribute
           Product: D
           Version: D2
          Hardware: x86_64
                OS: Linux
            Status: NEW
          Severity: enhancement
          Priority: P1
         Component: dlang.org
          Assignee: nobody at puremagic.com
          Reporter: kdevel at vogtner.de
According to https://dlang.org/spec/interface.html #10 this program should
compile:
```ifa.d
interface D
{
    int foo();
}
class A : D
{
    int foo() { return 1; }
}
class B : A
{
    int foo() { return 2; }
}
void main ()
{
   import std.stdio;
   B b = new B();
   writeln (b.foo());  // returns 2
   D d = cast(D) b;    // ok since B inherits A's D implementation
   writeln (d.foo());  // returns 2;
}
```
$ dmd ifa
ifa.d(13): Error: cannot implicitly override base class method ifa.A.foo with
ifa.B.foo; add override attribute
$ dmd --version
DMD64 D Compiler v2.082.0
Copyright (C) 1999-2018 by The D Language Foundation, All Rights Reserved
written by Walter Bright
--
    
    
More information about the Digitalmars-d-bugs
mailing list