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

Namespace rswhite4 at googlemail.com
Tue Dec 3 01:16:38 PST 2013


On Tuesday, 3 December 2013 at 04:33:07 UTC, Manu wrote:
> On 3 December 2013 13:14, Andrei Alexandrescu 
> <SeeWebsiteForEmail at erdani.org
>> wrote:
>
>> On 12/2/13 5:30 PM, Manu wrote:
>>
>>> On 3 December 2013 08:43, Andrei Alexandrescu
>>> <SeeWebsiteForEmail at erdani.org 
>>> <mailto:SeeWebsiteForEmail at erdani.org>>
>>>
>>> wrote:
>>>
>>>     On 12/2/13 4:19 AM, Manu wrote:
>>>
>>>         The problem is that virtual is irrevocable. It can't 
>>> be removed
>>>         without
>>>         breaking the API
>>>
>>>
>>>     Here we go again. No, that's not the problem. A similar 
>>> issue goes
>>>     about final.
>>>
>>>
>>> You can safely add virtual to a function where it wasn't 
>>> previously
>>> present without breaking code.
>>>
>>
>> If not breaking code is something of value to you, you should 
>> appreciate
>> that final-by-default would break a bunch of code.
>
>
> Only once upon changing the default, and with the opportunity 
> for a
> controlled deprecation path which clearly communicates with 
> users.
> Otherwise this remains an ongoing issue forever.

Sorry but again we stray from the topic (Seems to happen in this 
forum almost always).
The first step is to introduce a virtual keyword to avoid the 
"grouping" of your methods in final blocks. If the next step 
comes and change from virtual by default to final by default is 
another matter and should be discussed somewhere else after 
virtual was introduced.


More information about the Digitalmars-d mailing list