ldc-developers/ldc — Issue #24: Atomic Increment Broken, Breaks std.parallelism
Author: dsimcha
Created: 2011-11-14 14:38:40+00:00
State: open

import core.atomic;

void main() {
ulong u;
atomicOp!"+="(u, 1);
}

/home/dsimcha/apps/include/d/core/atomic.di(165): Error: cannot implicitly convert expression (here) of type shared(ulong)* to ulong*
/home/dsimcha/apps/include/d/core/atomic.di(112): Error: template instance core.atomic.cas!(ulong,ulong,ulong) error instantiating
instantiatied in test2.d(5): atomicOp!("+=",ulong,int)
test2.d(5): Error: template instance core.atomic.atomicOp!("+=",ulong,int) error instantiating

This breaks std.parallelism.