Struct safina::MutexGuard
source · [−]pub struct MutexGuard<'a, T> { /* private fields */ }
Expand description
An RAII
scoped lock of a Mutex
.
It automatically unlocks the mutex when dropped (falls out of scope).
You can access the data in the mutex through this guard’s
Deref
and
DerefMut
implementations.
The struct is not
Send
so you cannot await while holding it.
If a task panics while holding the struct, the underlying mutex becomes
“poisoned”
and subsequent calls to lock
will panic.
Trait Implementations
sourceimpl<'a, T> Deref for MutexGuard<'a, T>
impl<'a, T> Deref for MutexGuard<'a, T>
sourceimpl<'a, T> DerefMut for MutexGuard<'a, T>
impl<'a, T> DerefMut for MutexGuard<'a, T>
sourcepub fn deref_mut(&mut self) -> &mut <MutexGuard<'a, T> as Deref>::Target
pub fn deref_mut(&mut self) -> &mut <MutexGuard<'a, T> as Deref>::Target
Mutably dereferences the value.
Auto Trait Implementations
impl<'a, T> RefUnwindSafe for MutexGuard<'a, T>
impl<'a, T> !Send for MutexGuard<'a, T>
impl<'a, T> Sync for MutexGuard<'a, T> where
T: Send + Sync,
impl<'a, T> Unpin for MutexGuard<'a, T>
impl<'a, T> UnwindSafe for MutexGuard<'a, T>
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcepub fn borrow_mut(&mut self) -> &mut T
pub fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more