On Oct 10, 2013, at 10:36 AM, Joseph Rushton Wakeling <[email protected]> wrote:
> On 10/10/13 19:31, Jonathan M Davis wrote: >> I'm honestly surprised that Andrei is rejecting the idea of casting to/from >> shared or immutable being normal given how it's required by our current >> concurrency model. And changing that would be a _big_ change. > > I'm starting to incline towards the view that type qualifications of _any_ > kind become problematic once you start working with any types other than > built-in, and not just in the context of concurrency. See e.g.: > http://d.puremagic.com/issues/show_bug.cgi?id=11148 > http://d.puremagic.com/issues/show_bug.cgi?id=11188 I'm inclined to agree about shared. But I see this largely as more encouragement to keep data thread-local in D. If we can clean up move semantics via std.concurrency, I would be reasonably happy with data sharing in D. As for const / immutable, I guess I don't see this as such an issue because I've been dealing with it in C++ for so long. You either have to commit 100% to using const attributes or not use them at all. Anything in between is fraught with problems.
