https://github.com/D-Programming-GDC/GDC/pull/148 Well, I did a quick test and unions aren't returned in registers. Which makes it safe to issue memset in StructLiteralExp, but only for them.