On 3/10/14, 7:07 PM, Steven Schveighoffer wrote:
On Mon, 10 Mar 2014 19:59:07 -0400, Walter Bright
<newshou...@digitalmars.com> wrote:
On 3/10/2014 6:47 AM, Dicebot wrote:
(array literals that allocate, I will never forgive that).
It was done that way simply to get it up and running quickly. Having
them not allocate is an optimization, it doesn't change the nature.
I think you forget about this:
foo(int v, int w)
{
auto x = [v, w];
}
Which cannot pre-allocate.
It actually can, seeing as x is a dead assignment :o).
That said, I would not mind if this code broke and you had to use
array(v, w) instead, for the sake of avoiding unnecessary allocations.
Fixing that:
int[] foo(int v, int w) { return [v, w]; }
This one would allocate. But analyses of varying complexity may
eliminate a variety of allocation patterns.
Andrei