On Monday, 11 July 2016 at 05:26:42 UTC, ag0aep6g wrote:
Simply disallow reading and writing shared then, forcing
something more explicit like atomicLoad/atomicStore?
That would be better than the current state, but it would make
shared even more unwieldy.
Atomic loads are only needed for volatile variables, not for all
kinds of shared data. Also currently atomicLoad doesn't provide
functionality equivalent to raw load.
Generating atomic operations would break less code, and feels
like the obvious thing to me.
Multithreaded code can't be generated.