On Thursday, 6 June 2013 at 15:40:26 UTC, Joseph Rushton Wakeling
wrote:
I see a potential problem with allowing 'final' on its own to
mean 'final and
non-overriding', which is that if you _mean_ to override a
function in the base
class, but put simply 'final' and not 'override', it will still
be accepted by
the compiler -- and it may not be obvious that the override is
not taking place.
So, I think 'new' could have a place here after all.
My understanding is that final on it's own would be an error if
the same named function was virtual in the base class, otherwise
you would have to specify "final override". If that understanding
is not correct, then I agree that would be a source of hidden
errors.
--rt