<div class="gmail_quote">On 9 April 2012 11:24, Don <span dir="ltr"><<a href="mailto:nospam@nospam.com">nospam@nospam.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div class="im">On 08.04.2012 07:56, Andrei Alexandrescu wrote:<br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
For this to happen, we need to start an effort of migrating built-in<br>
arrays into runtime, essentially making them templates that the compiler<br>
lowers to. So I have two questions:<br>
</blockquote>
<br></div>
vote -= real.infinity.<br>
<br>
That would kill D.</blockquote><div><br></div><div>How do you figure?</div><div><br></div><div>After thinking on it a bit, I'm becoming a little worried about this move for 2 rarely considered reasons:</div><div>Using lowering to a template, debug(/unoptimised) performance will probably get a lot slower, which is really annoying. And debugging/stepping might become considerably more annoying too, if every time I press F11 (step in) over a function call that happens to receive an arg from an array, the debugger then steps into the array templates index operator... We'd be no better off than with STL, unless the language has clever ways of hiding this magic from the debugger too, and optimising/inlining the index even in debug builds...? But this is the built-in array, and not a library we can optionally not use.</div>
</div>