[][src]Struct sunrise_kernel::sync::mutex::MutexGuard

#[must_use = "if unused the Mutex will immediately unlock"]pub struct MutexGuard<'a, T: 'a> {
    __lock: &'a Mutex<T>,
    __phantom: PhantomData<*mut ()>,
}

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 structure is created by the lock and try_lock methods on Mutex.

Fields

__lock: &'a Mutex<T>

Reference to the Mutex we'll unlock when dropped.

__phantom: PhantomData<*mut ()>

Raw pointer just to make MutexGuard !Send.

Implementations

impl<'mutex, T> MutexGuard<'mutex, T>[src]

unsafe fn new(lock: &'mutex Mutex<T>) -> MutexGuard<'mutex, T>[src]

Create an MutexGuard.

Safety

Must only be called once we are ensured we are holing the lock, as it will unlock it when dropped

Trait Implementations

impl<'_, T: Debug> Debug for MutexGuard<'_, T>[src]

impl<'_, T> Deref for MutexGuard<'_, T>[src]

type Target = T

The resulting type after dereferencing.

impl<'_, T> DerefMut for MutexGuard<'_, T>[src]

impl<'_, T: Display> Display for MutexGuard<'_, T>[src]

impl<'_, T> Drop for MutexGuard<'_, T>[src]

impl<'_, T: Sync> Sync for MutexGuard<'_, T>[src]

Auto Trait Implementations

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

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> ToString for T where
    T: Display + ?Sized
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.