On Thursday, 31 January 2013 at 09:39:06 UTC, Timon Gehr wrote:
auto v = t.myProp; // ?

I think it might be fine to allow copy-constructing 'properties', passing them to functions by value or by reference, and such. So, you could do:

void func(ref T.PropType v);

PropType v = t.myProp;
func(v);

But default-construction of 'properties' can be allowed only nested inside the enclosing object (to ensure that the enclosing object exists, and can be passed implicitly as that 'outer' variable to PropType's methods).

Although, I don't see much real value in allowing the kind of code above. So, it might be just as well to just disallow copying of 'properties' except when it happens as a part of copying the enclosing object.

Reply via email to