Walter Bright wrote:
> The issue is what if b is a property, returns a temporary object, and
> that temp's .c field is uselessly set to 3?
> 
> It's a classic problem with properties that are implemented as functions.
> 
> I don't see how C#'s special property syntax adds any value for dealing
> with this.
> 
> One thought I had was to simply disallow the '.' to appear after a
> function style property.

Maybe the compiler could rewrite the above as:

auto t = a.b;
t.c = 3;
a.b = t;

Unless it can prove it doesn't need to.  Same solution as to the op=
conundrum.

Reply via email to