Strange work of Mutex::lock

Documentation:Mutex::lock in std::sync - Rust

it says that


This function might panic when called if the lock is already held by the current thread.

But in fact, it's not true:

the program runs indefinitely.

It's really incomprehensible behavior for me, maybe I don't understand something?

It says

It doesn't say it will panic.

Like, literally two lines earlier, it says that

The exact behavior on locking a mutex in the thread which already holds the lock is left unspecified.

So, it's explicitly not guaranteed to panic.


thank you