On Tuesday, 18 June 2013 at 09:28:04 UTC, Jonathan M Davis wrote:
Assignment operators definitely should return lvalues normally. I don't know why deadalnix would think otherwise. It's pretty much the norm in C++, and I see no reason for it to be different in D. No, it doesn't work for all types,but in the general case, it should.
At least int assignment isn't lvalue. I find this quite surprising:
void edit(ref int) { }
void main()
{
int n;
//edit(n = 4); // Error
edit(n += 4);
}
