On Friday, 31 May 2013 at 19:17:05 UTC, Sean Cavanaugh wrote:
On 5/31/2013 4:42 AM, Manu wrote:

People already have to type 'override' in every derived class, and they're happy to do that. Requiring to type 'virtual' in the base is hardly an inconvenience by contrast. Actually, it's quite orthogonal. D tends to prefer being explicit. Why bend the rules in this case, especially considering the counterpart (override) is expected to be explicit? Surely both being explicit is what people would expect?


Maybe the solution is to make everyone equally unhappy:

all (non constructor) class methods must be either final, override, or virtual, if you leave one of these off, you get an error :)

A method can be override AND final.

Reply via email to