https://gcc.gnu.org/bugzilla/show_bug.cgi?id=104835
Iain Buclaw <ibuclaw at gdcproject dot org> changed: What |Removed |Added ---------------------------------------------------------------------------- See Also| |https://github.com/dlang/dm | |d/pull/13805 --- Comment #4 from Iain Buclaw <ibuclaw at gdcproject dot org> --- Raised pull request in upstream dmd. Why the new version works but the old doesn't is anyone's guess though. It's the difference between: --- T tmp = T(args); __builtin_memcpy(p, (void*)&tmp, sizeof(T)); --- and --- new(p) T(args); --- As far as I can tell, both should end up with the same outcome.