If you had money to place for a bounty, what would you choose?

Kapps opantm2+spam at gmail.com
Tue Dec 3 23:24:50 PST 2013


On Wednesday, 4 December 2013 at 07:00:58 UTC, Manu wrote:
> You mean you'd like virtual-by-default as you say (as is now), 
> or you'd
> like final-by-default at the cost of the transition?

Sorry, I meant to say I'd like final by default, but I can 
understand people being hesitant with the breakage required.

> There is a proposed transition process across a few releases 
> which should
> make the transition relatively painless, at least, it wouldn't 
> be error
> prone, since warnings/deprecation messages would assist the 
> process.
> 1. 'virtual' keyword is introduced, 'override'-ing unattributed 
> methods is
> a warning.
> 2. it becomes deprecated, but you can still compile with -d.
> 3. it becomes an error, but surely you've already taken the 
> opportunity to
> update your software, right?

This transition also works well. It does mean that the 
performance benefits would not occur until step 3, but while 
giving time to transition it also immediately provides the safety 
benefits. Ideally it would even catch bugs in peoples code as 
they make the required changes to add virtual where needed. The 
only issue is that it pretty much guarantees that most libraries 
that make use of classes and are no longer maintained will fail 
to compile, but honestly, I don't know think many projects will 
compile anyways when using a compiler / Phobos version that's 
more than a year newer than when the library was last modified.


More information about the Digitalmars-d mailing list