Should range foreach be iterating over an implicit copy?

Xinok xinok at live.com
Wed May 16 21:51:33 PDT 2012


On Wednesday, 16 May 2012 at 21:40:39 UTC, Andrei Alexandrescu 
wrote:
> On 5/16/12 4:37 PM, Nick Sabalausky wrote:
>> One counter-argument that was raised is that TDPL has an 
>> example on page 381
>> that indicates foreach iterates over an implicit copy. I don't 
>> have a copy
>> handy ATM, so I can't look at it myself, but I'd love to see 
>> Andrei weigh in
>> on this: I'm curious if this example in TDPL made that copy 
>> deliberately, or
>> if the full implications of that copy were just an oversight.
>
> It is deliberate and the intent is that millions of programmers 
> used to foreach from other languages don't scream "where is my 
> range???"
>
> Andrei

I think this is the correct behavior as well. Otherwise, we'd 
have to take extra care when writing generic code to ensure it 
doesn't consume the range but doesn't attempt to call .save on 
non-range types.


More information about the Digitalmars-d mailing list