Struct ReentrantLockGuard

Source
pub struct ReentrantLockGuard<'a, T: ?Sized + 'a> { /* private fields */ }
πŸ”¬This is a nightly-only experimental API. (reentrant_lock #121440)
Expand description

An RAII implementation of a β€œscoped lock” of a re-entrant lock. 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 implementation.

This structure is created by the lock method on ReentrantLock.

Β§Mutability

Unlike MutexGuard, ReentrantLockGuard does not implement DerefMut, because implementation of the trait would violate Rust’s reference aliasing rules. Use interior mutability (usually RefCell) in order to mutate the guarded data.

Trait ImplementationsΒ§

SourceΒ§

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

SourceΒ§

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

Formats the value using the given formatter. Read more
SourceΒ§

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

SourceΒ§

type Target = T

The resulting type after dereferencing.
SourceΒ§

fn deref(&self) -> &T

Dereferences the value.
SourceΒ§

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

SourceΒ§

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

Formats the value using the given formatter. Read more
SourceΒ§

impl<T: ?Sized> Drop for ReentrantLockGuard<'_, T>

SourceΒ§

fn drop(&mut self)

Executes the destructor for this type. Read more
SourceΒ§

impl<T: ?Sized> !Send for ReentrantLockGuard<'_, T>

SourceΒ§

impl<T: ?Sized + Sync> Sync for ReentrantLockGuard<'_, T>

Auto Trait ImplementationsΒ§

Β§

impl<'a, T> Freeze for ReentrantLockGuard<'a, T>
where T: ?Sized,

Β§

impl<'a, T> RefUnwindSafe for ReentrantLockGuard<'a, T>
where T: RefUnwindSafe + ?Sized,

Β§

impl<'a, T> Unpin for ReentrantLockGuard<'a, T>
where T: ?Sized,

Β§

impl<'a, T> UnwindSafe for ReentrantLockGuard<'a, T>
where T: RefUnwindSafe + ?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 #44874)
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 = Infallible

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

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

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.