On 4 June 2013 12:26, Andrei Alexandrescu <SeeWebsiteForEmail@erdani.org> wrote:
On 6/3/13 8:19 PM, Manu wrote:
But this is a practical solution.

It's not a solution because there's no problem. We're talking about a default, not about the ability or lack thereof to do something. So the "solution" does not _solve_ anything.

Virtual is a significant performance problem, and x86 is BY FAR the most tolerant architecture wrt virtual.
The fact that virtual is a one way trip, and it can not safely be revoked later and therefore a very dangerous choice as the default is a maintenance problem.
The fact that I'm yet to witness a single programmer ever declare their final methods at the time of authoring is a problem.
The fact that many useful libraries might become inaccessible to what I'm sure is not an insignificant niche of potential D users is a problem.
And I argue the subjective opinion, that code can't possibly be correct if the author never considered how the API may be used outside his design premise, and can never test it.