On Friday, 9 February 2018 at 15:05:05 UTC, Jonathan M Davis
The reality of the matter is that shared is _supposed_ to
result in a bunch of compilation errors when you try to do
stuff to it. You're supposed to either use atomics to mutate a
shared object or protect it with a mutex and temporarily cast
away shared so that you can actually do stuff with it. You're
really not supposed to do much with a shared object while it's
shared, and a lot of folks don't understand that.
- Jonathan M Davis
Time to write an article/tutorial about this! Did I miss it?