<div dir="ltr">On 9 April 2013 13:09, Rob T <span dir="ltr"><<a href="mailto:alanb@ucora.com" target="_blank">alanb@ucora.com</a>></span> wrote:<br><div class="gmail_extra"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
On Monday, 8 April 2013 at 08:21:06 UTC, Manu wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
The C++ state hasn't changed though. We still avoid virtual calls like the<br>
plague.<br>
One of my biggest design gripes with D, hands down, is that functions are<br>
virtual by default. I believe this is a critical mistake, and the biggest<br>
one in the language by far.<br>
</blockquote>
<br>
My understanding of this is that while all of your class functions will be virtual by default, the compiler will reduce them to non-virtual unless you actually override them, and to override by mistake is difficult because you have to specify the "override" keyword to avoid a compiler error.<br>
</blockquote><div><br></div><div style>Thus successfully eliminating non-open-source libraries from D...</div><div style>Making a dependency on WPO is a big mistake.</div><div><br></div><div><br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

I'd like to see that understanding confirmed as it was only implied in here:<br>
<a href="http://dlang.org/overview.html" target="_blank">http://dlang.org/overview.html</a><br>
<br>
For extra safety you have to specify "final" which would be a pain if that's what you want by default, but I'm not so sure it's really necessary if the compiler really does optimize virtual functions away.<br>

<br>
BTW, the red code/green code concept sounds like the most promising route towards a generalized solution. I'll try and find the time to watch it as well.<span class="HOEnZb"><font color="#888888"><br>
<br>
--rt<br>
</font></span></blockquote></div></div></div>