Easier to describe in code: --- class A { final void a(int) {} void a(string) {} } class B : A { override void a(int) {} } --- Yields: Error: function bug.B.a cannot override final function bug.A.a Error: function void bug.B.a(int) does not override any function, did you mean to override void bug.A.a(int)? I didn't mean to override a(int) because it is final, the compiler error message could make sure it is at least suggesting a relevant virtual function.
THIS ISSUE HAS BEEN MOVED TO GITHUB https://github.com/dlang/dmd/issues/19613 DO NOT COMMENT HERE ANYMORE, NOBODY WILL SEE IT, THIS ISSUE HAS BEEN MOVED TO GITHUB