One of the first bugs I've filed (now 1.5+ years old): void main() { float[] arr = [1.0, 2.5, 4.0]; foreach (ref double elem; arr) { elem /= 2; } writeln(arr); // still [1, 2.5, 4] } Issue 4510