On Tuesday, 3 December 2013 at 04:33:07 UTC, Manu wrote:
On 3 December 2013 13:14, Andrei Alexandrescu
<[email protected]
wrote:
On 12/2/13 5:30 PM, Manu wrote:
On 3 December 2013 08:43, Andrei Alexandrescu
<[email protected]
<mailto:[email protected]>>
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.