https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78010
--- Comment #3 from Arnaud Desitter <arnaud02 at users dot sourceforge.net> --- Interesting reference. Note that "virtual + final" can be useful even if the core guidelines discourage its use. struct A { virtual void f() final; }; struct B : A { // "void f()" cannot be defined };