The following program runs out of memory b/c foo is apparently allocated and created every time through the loop: import std.math, core.memory, std.stdio; immutable real[] foo = [0,1,2,3,4]; void main() { GC.disable; foreach(i; 0..1_000_000_000) { auto bar = poly(i, foo); } } Changing the immutable to an enum results in the program still running out of memory. Removing all references to immutability fixes the problem. Changing the array to a static array fixes the problem. Initializing the array inside main() fixes the problem.
Marking as dup of bug 4298. Although this report was filed first, 4298 is were all the discussion is, and it's a somewhat better bug report. *** This issue has been marked as a duplicate of issue 4298 ***