On Tuesday, 12 July 2016 at 14:38:27 UTC, ag0aep6g wrote:
I'm not sure what you're saying here. Should unsafe reading and writing of shared types simply be allowed and have the common syntax (as it is now), and the programmer should make sure that things are set up correctly?

That's a reasonable stance, but it's not the one that D takes towards shared when `shared int x; ++x` is deprecated.

shared only differentiates between shared and unshared data. Teaching people to write legit concurrent code is a different task. Increment of a shared variable doesn't have a compelling use case so whatever happens to it is not important, just storing shared data is more common.

Supporting non-atomic load in atomicLoad would be weird, wouldn't it? It would be opposite of what it says on the label.

The name can be different, e.g. fast load, which better reflects its purpose.

Would the point be that it calls the shared postblit (unlike casting shared away and then copying)? As mentioned above, I'd hope that a function that does that can be written.

Postblit is a problem with casting. Performance is a problem with atomicLoad.

Reply via email to