https://issues.dlang.org/show_bug.cgi?id=19598 --- Comment #7 from Simen Kjaeraas <simen.kjaras at gmail.com> --- It seems this can be fixed by teaching assignToLvalue about StructLiteralExps: else if (auto sle = e1.isStructLiteralExp()) { oldval = sle; } There may be issues with this fix though. --