pub struct MutexGuard<'a, T> {
data: *mut T,
lock: *const AtomicUsize,
phantom: PhantomData<&'a Mutex<T>>,
}
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.
This struct must not implement Send
.
Fields§
§data: *mut T
§lock: *const AtomicUsize
§phantom: PhantomData<&'a Mutex<T>>
Implementations§
Source§impl<'a, T> MutexGuard<'a, T>
impl<'a, T> MutexGuard<'a, T>
pub fn map<O, F>(this: Self, f: F) -> MappedMutex<'a, O>
Trait Implementations§
Source§impl<T> Deref for MutexGuard<'_, T>
impl<T> Deref for MutexGuard<'_, T>
Source§impl<T> DerefMut for MutexGuard<'_, T>
impl<T> DerefMut for MutexGuard<'_, T>
Source§impl<T> Drop for MutexGuard<'_, T>
impl<T> Drop for MutexGuard<'_, T>
impl<T: Sync> Sync for MutexGuard<'_, T>
Auto Trait Implementations§
impl<'a, T> Freeze for MutexGuard<'a, T>
impl<'a, T> !RefUnwindSafe for MutexGuard<'a, T>
impl<'a, T> !Send for MutexGuard<'a, T>
impl<'a, T> Unpin for MutexGuard<'a, T>
impl<'a, T> !UnwindSafe for MutexGuard<'a, T>
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