D array expansion and non-deterministic re-allocation

grauzone none at example.net
Thu Nov 19 08:11:25 PST 2009


Denis Koroskin wrote:
> Same here. FWIW, I strongly believe demise of T[new] was a step in a 
> wrong direction, and I feel highly frustrated about it. It was one of 
> the most anticipated features that was asked for *years*! And it's gone 
> when it was so close to be implemented...
> 
> The only more or less reasonable answer why T[new] "sucked" was:
> 
> On Mon, 19 Oct 2009 01:55:28 +0400, Andrei Alexandrescu 
> <SeeWebsiteForEmail at erdani.org> wrote:
>> Returning a distinct type from .dup and ~ makes slices not closed over 
>> these operations, a source of complication, confusion, and bloating.
> 
> I see no problem returning T[] when a slice is dup'ed or concatenated. 
> That's what always happened anyway.

I think Walter and Andrei just felt like many people do when they have 
to adapt to a new environment or some other big change: the new thing 
"sucks", you feel bad, you thought "the past was better", you want go go 
back. Also, you don't see the advantages, you only get riled up by the 
disadvantage (because _every_ change has disadvantages; that's only 
natural).

So they just threw it away.

Also, I don't quite understand why they find the new semantics caused by 
the append-caching simpler. Even Bartosz got worried about the 
undeterministic behavior of this.



More information about the Digitalmars-d mailing list