From: Peter Dimov (pdimov_at_[hidden])
Date: 2007-08-22 18:29:47


Howard Hinnant wrote:

> And all of the sudden the above code is no longer legal. If the code
> is legal with one constructor, what is it that makes the code a logic
> error **100% of the time**, instead of a fixable exceptional
> circumstance when using the second constructor?

By using the constructor that takes a mutex argument, I have specifically
and intentionally said that it is a logic error for this condition to be
used with another mutex. That's the whole and only purpose of the
constructor, to express this intent of mine.