Struct maitake::sync::mutex::MutexGuard
pub struct MutexGuard<'a, T, L = DefaultMutex>where
L: ScopedRawMutex,
T: ?Sized,{ /* private fields */ }
Expand description
An RAII implementation of a “scoped lock” of a Mutex
. When this
structure is dropped (falls out of scope), the lock will be unlocked.
The data protected by the mutex can be accessed through this guard via its
Deref
and DerefMut
implementations.
This guard can be held across any .await
point, as it implements
Send
.
This structure is created by the lock
and try_lock
methods on
Mutex
.
Trait Implementations§
§impl<T, L> Debug for MutexGuard<'_, T, L>
impl<T, L> Debug for MutexGuard<'_, T, L>
§impl<T, L> Deref for MutexGuard<'_, T, L>where
L: ScopedRawMutex,
T: ?Sized,
impl<T, L> Deref for MutexGuard<'_, T, L>where
L: ScopedRawMutex,
T: ?Sized,
§impl<T, L> DerefMut for MutexGuard<'_, T, L>where
L: ScopedRawMutex,
T: ?Sized,
impl<T, L> DerefMut for MutexGuard<'_, T, L>where
L: ScopedRawMutex,
T: ?Sized,
§fn deref_mut(&mut self) -> &mut <MutexGuard<'_, T, L> as Deref>::Target
fn deref_mut(&mut self) -> &mut <MutexGuard<'_, T, L> as Deref>::Target
Mutably dereferences the value.
impl<T, L> Send for MutexGuard<'_, T, L>
impl<T, L> Sync for MutexGuard<'_, T, L>
Auto Trait Implementations§
impl<'a, T, L = DefaultMutex> !RefUnwindSafe for MutexGuard<'a, T, L>
impl<'a, T: ?Sized, L> Unpin for MutexGuard<'a, T, L>
impl<'a, T, L = DefaultMutex> !UnwindSafe for MutexGuard<'a, T, L>
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more