Skip to main content

MutexGuard

Struct MutexGuard 

Source
pub struct MutexGuard<'a, T: ?Sized + 'a> { /* private fields */ }
Expand description

Exclusive access to a mutex’s value, which unlocks the mutex on drop.

Like std’s guard, it cannot be sent to another thread. Sharing it between threads needs the value to be Send as well as Sync, one bound more than std’s guard needs.

Trait Implementations§

Source§

impl<T: ?Sized + Debug> Debug for MutexGuard<'_, T>

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value, as std’s guard does.

Source§

impl<T: ?Sized> Deref for MutexGuard<'_, T>

Source§

type Target = T

The value the mutex protects.

Source§

fn deref(&self) -> &T

Borrows the value.

Source§

impl<T: ?Sized> DerefMut for MutexGuard<'_, T>

Source§

fn deref_mut(&mut self) -> &mut T

Borrows the value mutably.

Source§

impl<T: ?Sized + Display> Display for MutexGuard<'_, T>

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value, as std’s guard does.

Auto Trait Implementations§

§

impl<'a, T> !Send for MutexGuard<'a, T>

§

impl<'a, T> Freeze for MutexGuard<'a, T>
where MutexGuard<'a, T>: Freeze, &'a Mutex<T>: Freeze, T: ?Sized,

§

impl<'a, T> RefUnwindSafe for MutexGuard<'a, T>
where MutexGuard<'a, T>: RefUnwindSafe, &'a Mutex<T>: RefUnwindSafe, T: ?Sized,

§

impl<'a, T> Sync for MutexGuard<'a, T>
where MutexGuard<'a, T>: Sync, &'a Mutex<T>: Sync, T: ?Sized,

§

impl<'a, T> Unpin for MutexGuard<'a, T>
where MutexGuard<'a, T>: Unpin, &'a Mutex<T>: Unpin, T: ?Sized,

§

impl<'a, T> UnsafeUnpin for MutexGuard<'a, T>
where MutexGuard<'a, T>: UnsafeUnpin, &'a Mutex<T>: UnsafeUnpin, T: ?Sized,

§

impl<'a, T> UnwindSafe for MutexGuard<'a, T>
where MutexGuard<'a, T>: UnwindSafe, &'a Mutex<T>: UnwindSafe, T: ?Sized,

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<P, T> Receiver for P
where P: Deref<Target = T> + ?Sized, T: ?Sized,

Source§

type Target = T

🔬This is a nightly-only experimental API. (arbitrary_self_types)
The target type on which the method may be called.
Source§

impl<T> ToString for T
where T: Display + ?Sized,

Source§

fn to_string(&self) -> String

Converts the given value to a String. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = !

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, !>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

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

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.