If this lock is not already held by the caller, the lock is acquired, then the internal counter is incremented by one.
final void lock_nothrow(Q)() nothrow @nogc @trusted
if (is(Q == Mutex) || is(Q == shared(Mutex)));
Mutex does not throw, but a class derived from Mutex can throw.
nothrow @nogc code.