LINUX.ORG.RU

История изменений

Исправление mersinvald, (текущая версия) :

Можно сделать структуру с MutexGuard, но ее лайфтайм должен быть зависим от того Mutex, который заимствуется при вызове lock.

Сейчас такой зависимости нет, и то что существует Arc не важно совершенно, потому что с точки зрения компилятора никакой связи между этим Arc и блокируемым мутексом не существует.

Поле _data таким образом не нужно, поскольку существование памяти будет гарантировано заимстсованием MutexGuard.

Исходная версия mersinvald, :

Можно сделать структуру с MutexGuard, но ее лайфтайм должен быть зависим от того Mutex, который заимствуется при вызове lock.

Сейчас такой зависимости нет, и то что существует Arc не важно совершенно, потому что с точки зрения компилятора никакой связи между этим Arc и блокируемым мутексом не существует.