On Tuesday, 13 November 2012 at 10:06:12 UTC, luka8088 wrote:
On 13.11.2012 10:20, Sönke Ludwig wrote:
Only std.concurrency (using spawn() and send()) enforces that
unshared data cannot be pass between
threads. The core.thread module is just a low-level module
that just represents the OS functionality.
In that case http://dlang.org/faq.html#shared_guarantees is
wrong, it is not a correct guarantee. Or at least that should
be noted there. If nothing else it is confusing...
You are right, it could probably be added to avoid confusion. But
then, non-@safe code is not guaranteed to maintain any type
system invariants at all if you don't pay attention to what its
requirements are, so memory sharing is not really special in that
regard…
David