digitalmars.D.bugs - [Issue 4557] New: accepts-invalid Overriding static functions inherited from interfaces
- d-bugmail puremagic.com (32/32) Aug 01 2010 http://d.puremagic.com/issues/show_bug.cgi?id=4557
- d-bugmail puremagic.com (14/14) Jun 15 2011 http://d.puremagic.com/issues/show_bug.cgi?id=4557
http://d.puremagic.com/issues/show_bug.cgi?id=4557 Summary: accepts-invalid Overriding static functions inherited from interfaces Product: D Version: D2 Platform: Other OS/Version: Windows Status: NEW Severity: normal Priority: P2 Component: DMD AssignedTo: nobody puremagic.com ReportedBy: andrej.mitrovich gmail.com 14:18:25 PDT --- From the page http://www.digitalmars.com/d/2.0/interface.html, the 4th example: interface D { void bar(); static void foo() { } final void abc() { } } class C : D { void bar() { } // ok void foo() { } // error, cannot override static D.foo() void abc() { } // error, cannot override final D.abc() } The abc() definition will error out, but the foo() one will not. This is contrary to what it states in the docs: "Classes that inherit from an interface may not override final or static interface member functions." -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Aug 01 2010
http://d.puremagic.com/issues/show_bug.cgi?id=4557 yebblies <yebblies gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED CC| |yebblies gmail.com Resolution| |INVALID There is no error, as foo is _not_ overriding anything. If you add the override keyword it makes this very clear: Error: function testx.C.foo does not override any function -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Jun 15 2011