``` import std.stdio; struct S { int x; } S s; void main() { foreach (i, ref m; s.tupleof) { writefln("%s %s, %s", &s.tupleof[i], &m, m); } switch (0) { foreach (i, ref m; s.tupleof) { case i: writefln("%s %s, %s", &s.tupleof[i], &m, m); } default: } } ``` Output: ``` 7FAEC3D00260 7FAEC3D00260, 0 7FAEC3D00260 10DBF58F7, 15760771 ``` Sometimes it crashes on segmentation fault since it doesn't really copy `m` where it thinks it is. Same happens when `s` is `__gshared S s;`. Reproduces both on `dmd v2.071.0 on OSX` and `ldc2 1.1.0git-3139c87 on linux`.
*** This issue has been marked as a duplicate of issue 16521 ***