For example, let us assume all data are synchronized properly. Is following code safe?
import core.atomic; class A { int value; } struct B { A node; } void main() { shared B data; A node = new A; atomicStore(data, shared B(cast(shared) node)); ... node = atomicLoad(data).node; }