auto ref - again

deadalnix deadalnix at gmail.com
Sun Jan 27 06:30:26 PST 2013


On Sunday, 27 January 2013 at 14:09:17 UTC, Andrei Alexandrescu 
wrote:
> On 1/27/13 8:05 AM, deadalnix wrote:
>> It seems here that captures provide you a new copy every time. 
>> why not
>> after all ? What is the problem here ?
>
> The property, which is intended to behave as a field as much as 
> possible, in this case continues to look like a field but 
> doesn't act like one. That means that switching transparently 
> between a field and a property (the holy grail of good 
> properties) will silently break code.
>

OK, I understand. Do you suggest that calling function on rvalue 
should be prevented ?

>> BTW, unless you create a temporary storage, you can't call any 
>> method on
>> a struct. This is why in the first place struct literal MUST 
>> have a
>> storage (so it make sense to bind them to ref).
>
> I don't have your definition of "storage".
>

Some piece of memory to store the struct in. Depending on the ABI 
that is not guaranteed that an rvalue has a storage.


More information about the Digitalmars-d mailing list