D-Programming-Language/dmd — pull request #3500 by 9rnsr (2014-04-26 11:04:12+00:00)
Title: Issue 12650 - Invalid codegen on taking lvalue of instance field initializing

https://issues.dlang.org/show_bug.cgi?id=12650

By `AssignExp::toLvalue`, one `ConstructExp` of field initializing `this.s = v` will be rewritten to *two* `ConstructExp`s:

```d
ref __assignop = this.s;
ref __assignop = v;
```

Then the second TOKconstruct is unintendedly handled as reference initializing.

To fix the bug, `AssignExp::toLvalue` should directly return `this` and rely on glue layer translation.