On Wednesday, 17 October 2018 at 21:29:07 UTC, Stefan Koch wrote:

in any case it would certainly mess up
the state of everyone involved; which is exactly what happens win multi-threaded situations.

^ that is very true. And that is why:

- one must not keep shared and local data close together (e.g. within same cache line)
- one must not implicitly convert local data to shared data

Now, I perfectly understand what Manu wants: for `shared` to stop being a stupid keyword that nobody uses, and start bringing in value to the language. At the moment, the compiler happily allows you to write and read `shared` unhindered, which isn't useful at all. It also allows you to have weird things like shared destructors and postblits (which got extended to whole shared copy ctors in a DIP!). Latter is especially painful when attempting to define the whole type `shared`.

Reply via email to