From client perspective, properties look like member variables.
With (auto) ref, a generic function can catch a member variable and read it and update it:

void swap(T)(ref T a, ref T b) {...}

The client can use swap with member variables.
But he can't use this swap with class properties - they're special.

Since the properties "look like" member variables, I think it is a valid use-case for us to want to be able to write generic code that can handle properties passed as arguments in the same way as member variables passed as arguments.

Can you write version of swap, which works also with properties and/or combination of properties and references?

Reply via email to