On Wed, Aug 23, 2023 at 5:31 PM Thiago Macieira via Std-Proposals <std-proposals@lists.isocpp.org> wrote:

How about instead we add a constructor to std::mutex to allow it to be born locked?

Well, because the issue here isn't really about making a mutex that's locked. That's just a very convenient concrete example of the general problem. If we gave std::mutex a constructor that allowed it to be born locked, then we'd have to invent a new concrete example to demonstrate the general problem. (Like maybe "making a vector with a given capacity.")

–Arthur