[−][src]Struct sunrise_kernel::sync::mutex::MutexGuard
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]
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]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> ToString for T where
T: Display + ?Sized,
[src]
T: Display + ?Sized,
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,