Struct RwLockReadGuard
#[must_use = "if unused the RwLock will immediately unlock"]
pub struct RwLockReadGuard<'a, T: ?Sized> { /* private fields */ }
RAII structure used to release the shared read access of a lock when dropped.
Implementations
impl<'a, T: ?Sized> RwLockReadGuard<'a, T>
fn map<F, U: ?Sized>(this: Self, f: F) -> RwLockReadGuard<'a, U> where F: FnOnce(&T) -> &U,Makes a new
RwLockReadGuardfor a component of the locked data.This operation cannot fail as the
RwLockReadGuardpassed in already locked the data.This is an associated function that needs to be used as
RwLockReadGuard::map(...). A method would interfere with methods of the same name on the contents of the locked data.This is an asynchronous version of
RwLockReadGuard::mapfrom theparking_lotcrate.Examples
use ; ; # # asyncfn try_map<F, U: ?Sized>(this: Self, f: F) -> Result<RwLockReadGuard<'a, U>, Self> where F: FnOnce(&T) -> Option<&U>,Attempts to make a new
RwLockReadGuardfor a component of the locked data. The original guard is returned if the closure returnsNone.This operation cannot fail as the
RwLockReadGuardpassed in already locked the data.This is an associated function that needs to be used as
RwLockReadGuard::try_map(..). A method would interfere with methods of the same name on the contents of the locked data.This is an asynchronous version of
RwLockReadGuard::try_mapfrom theparking_lotcrate.Examples
use ; ; # # async
Trait Implementations
impl<'a, T> Debug for RwLockReadGuard<'a, T>
where
T: Debug + ?Sized,
fn fmt(&self, f: &mut Formatter<'_>) -> Result
impl<'a, T> Display for RwLockReadGuard<'a, T>
where
T: Display + ?Sized,
fn fmt(&self, f: &mut Formatter<'_>) -> Result
impl<'a, T: ?Sized> Drop for RwLockReadGuard<'a, T>
fn drop(&mut self)
impl<T> Send for RwLockReadGuard<'_, T>
where
T: ?Sized + Sync,
impl<T> Sync for RwLockReadGuard<'_, T>
where
T: ?Sized + Send + Sync,
impl<T: ?Sized> Deref for RwLockReadGuard<'_, T>
type Target = T;fn deref(&self) -> &T
Auto Trait Implementations
impl<'a, T> !RefUnwindSafe for RwLockReadGuard<'a, T>
impl<'a, T> !UnwindSafe for RwLockReadGuard<'a, T>
impl<'a, T> Freeze for RwLockReadGuard<'a, T>
where
*const T: Freeze,
PhantomData<&'a T>: Freeze,
T: ?Sized,
impl<'a, T> Unpin for RwLockReadGuard<'a, T>
where
*const T: Unpin,
PhantomData<&'a T>: Unpin,
T: ?Sized,
impl<'a, T> UnsafeUnpin for RwLockReadGuard<'a, T>
where
*const T: UnsafeUnpin,
PhantomData<&'a T>: UnsafeUnpin,
T: ?Sized,
Blanket Implementations
impl<P, T> Receiver for RwLockReadGuard<'a, T>
where
P: Deref<Target = T> + ?Sized,
T: ?Sized,
type Target = T;
impl<T> Any for RwLockReadGuard<'a, T>
where
T: 'static + ?Sized,
fn type_id(&self) -> TypeId
impl<T> Borrow<T> for RwLockReadGuard<'a, T>
where
T: ?Sized,
fn borrow(&self) -> &T
impl<T> BorrowMut<T> for RwLockReadGuard<'a, T>
where
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
impl<T> From<T> for RwLockReadGuard<'a, T>
fn from(t: T) -> TReturns the argument unchanged.
impl<T> ToString for RwLockReadGuard<'a, T>
where
T: Display + ?Sized,
fn to_string(&self) -> String
impl<T, U> Into<U> for RwLockReadGuard<'a, T>
where
U: From<T>,
fn into(self) -> UCalls
U::from(self).That is, this conversion is whatever the implementation of
[From]<T> for Uchooses to do.
impl<T, U> TryFrom<U> for RwLockReadGuard<'a, T>
where
U: Into<T>,
type Error = never;fn try_from(value: U) -> Result<T, never>
impl<T, U> TryInto<U> for RwLockReadGuard<'a, T>
where
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error;fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>