[phobos] Why does std.concurrency public import a bunch of synchronization primitive modules from druntime?

Sean Kelly sean at invisibleduck.org
Thu Apr 26 11:51:53 PDT 2012

On Apr 25, 2012, at 5:47 PM, Alex Rønne Petersen wrote:

> Hi,
> I just noticed that std.concurrency public imports more or less all of
> the synchronization modules from druntime. This caused a whole bunch
> of name conflicts in my code. Is this really needed? The average code
> written with std.concurrency is not going to need *any* of these
> primitives - I mean, that's the entire idea. In my case, I'm doing
> very low-level hackery/abuse inside a garbage collector
> implementation, so that doesn't really count as normal usage.
> I know it would be a breaking change, but could we please get rid of
> those public imports? I honestly doubt anyone's relying on these, and
> they're frankly a pain in the ass.
> (Also, the core.thread import is private, but these are public - wat?)

I think it's like this because TDPL stated it works this way.  I'd have to re-read the chapter to be sure though.

More information about the phobos mailing list