"Walter Bright"  wrote in message news:lft8ok$2epl$1...@digitalmars.com...

Also,

     class C { final: ... }

achieves final-by-default and it breaks nothing.

No, it doesn't, because it is not usable if C introduces any virtual methods.

On the other hand,

class C { virtual: ... }

_does_ trivially bring back virtual-by-default.

The idea that over the course of (at least) a year, having to add this to some of your classes (that the compiler identifies) is large and unacceptable breakage is just nonsense.

Eg In dmd's OO-heavy code, ~13% of the classes introduce a virtual method. In those 44 classes, every single non-virtual method needs to be marked as final (~700 methods)

Reply via email to