This issue was discussed here in the forum: https://forum.dlang.org/thread/[email protected]
I will repeat my description from there:
Assume the following:
interface IFace {
void foo();
void bar();
}
abstract class A : IFace {
override void foo() {}
}
class B : A {
override void bar() {}
}
This fails to compile with the following message:
--->>>
function bar does not override any function, did you mean to override 'IFace.bar()'?
<<<---
So `override` works for A::foo(), but doesn't work for B::bar(). This is inconsistent and confusing. I would expect that `override` works for both cases. Please fix. Thank you.
Comment #1 by robert.schadek — 2024-12-13T18:55:16Z