Here's a correct version: import std.parallelism, std.range, std.stdio, core.atomic; void main() { shared ulong i = 0; foreach (f; parallel(iota(1, 1000000+1))) { i.atomicOp!"+="(f); } i.writeln; }
Thanks! Works fine. So "shared" and "atomic" is a must?