On Sunday, July 13, 2025 5:00:12 AM Mountain Daylight Time Bienlein via Digitalmars-d-learn wrote: > On Sunday, 13 July 2025 at 00:35:42 UTC, Jonathan M Davis wrote: > > > Whereas I think that using private makes perfect sense when you > > want something to be an implementation detail. Exposing it > > means that you have to deal with someone using it, you have to > > design its API for public use, and you can't change it without > > breaking code. > > Yes, that is also true. Nevertheless, some blocking queue > designed for general use would be a useful addition to the > standard library. > > Maybe the developer that wrote the MailBox class could do that.
Perhaps. I won't argue one way or another on that one. The main purpose of std.concurrency was to provide a means of message passing, and that didn't require exposing the MessageBox. And exposing the MessageBox would then require that it be designed for general use rather than just what std.concurrency needed it for. It's arguably the case that that's what should have happened, but that doesn't seem to have been one of the goals when it was written. > If I did it I would only look like some plagiarist. Phobos uses the Boost license. You can copy it and use it as much as you like. You just have to retain the copyright notice on the source code (and potentially add your name to it if you've made changes to it). The Boost license was specifically picked so that there wouldn't be restrictions on copying and altering the code. So, the only way that you might get in trouble is if you copy the code but don't copy the copyright notice. If there is any part of Phobos which you want to copy into your code and change in any way, you are absolutely free to do so so long as that code retains the copyright notice. https://www.boost.org/LICENSE_1_0.txt - Jonathan M Davis