Struct OwnedRwLockReadGuard
pub struct OwnedRwLockReadGuard<T: ?Sized, U: ?Sized = T> { /* private fields */ }
Owned RAII structure used to release the shared read access of a lock when dropped.
This structure is created by the read_owned method on
RwLock.
Implementations
impl<T: ?Sized, U: ?Sized> OwnedRwLockReadGuard<T, U>
fn map<F, V: ?Sized>(this: Self, f: F) -> OwnedRwLockReadGuard<T, V> where F: FnOnce(&U) -> &V,Makes a new
OwnedRwLockReadGuardfor a component of the locked data. This operation cannot fail as theOwnedRwLockReadGuardpassed in already locked the data.This is an associated function that needs to be used as
OwnedRwLockReadGuard::map(...). A method would interfere with methods of the same name on the contents of the locked data.Examples
use Arc; use ; ; # # asyncfn try_map<F, V: ?Sized>(this: Self, f: F) -> Result<OwnedRwLockReadGuard<T, V>, Self> where F: FnOnce(&U) -> Option<&V>,Attempts to make a new
OwnedRwLockReadGuardfor a component of the locked data. The original guard is returned if the closure returnsNone.This operation cannot fail as the
OwnedRwLockReadGuardpassed in already locked the data.This is an associated function that needs to be used as
OwnedRwLockReadGuard::try_map(..). A method would interfere with methods of the same name on the contents of the locked data.Examples
use Arc; use ; ; # # asyncfn rwlock(this: &Self) -> &Arc<RwLock<T>>Returns a reference to the original
Arc<RwLock>.Examples
use Arc; use ; ; # # async
Trait Implementations
impl<T, U> Send for OwnedRwLockReadGuard<T, U>
where
T: ?Sized + Send + Sync,
U: ?Sized + Sync,
impl<T, U> Sync for OwnedRwLockReadGuard<T, U>
where
T: ?Sized + Send + Sync,
U: ?Sized + Send + Sync,
impl<T: ?Sized, U> Debug for OwnedRwLockReadGuard<T, U>
where
U: Debug + ?Sized,
fn fmt(&self, f: &mut Formatter<'_>) -> Result
impl<T: ?Sized, U> Display for OwnedRwLockReadGuard<T, U>
where
U: Display + ?Sized,
fn fmt(&self, f: &mut Formatter<'_>) -> Result
impl<T: ?Sized, U: ?Sized> Deref for OwnedRwLockReadGuard<T, U>
type Target = U;fn deref(&self) -> &U
impl<T: ?Sized, U: ?Sized> Drop for OwnedRwLockReadGuard<T, U>
fn drop(&mut self)
Auto Trait Implementations
impl<T, U = T> !RefUnwindSafe for OwnedRwLockReadGuard<T, U>
impl<T, U = T> !UnwindSafe for OwnedRwLockReadGuard<T, U>
impl<T, U> Freeze for OwnedRwLockReadGuard<T, U>
where
Arc<RwLock<T>>: Freeze,
*const U: Freeze,
PhantomData<T>: Freeze,
T: ?Sized,
U: ?Sized,
impl<T, U> Unpin for OwnedRwLockReadGuard<T, U>
where
Arc<RwLock<T>>: Unpin,
*const U: Unpin,
PhantomData<T>: Unpin,
T: ?Sized,
U: ?Sized,
impl<T, U> UnsafeUnpin for OwnedRwLockReadGuard<T, U>
where
Arc<RwLock<T>>: UnsafeUnpin,
*const U: UnsafeUnpin,
PhantomData<T>: UnsafeUnpin,
T: ?Sized,
U: ?Sized,
Blanket Implementations
impl<P, T> Receiver for OwnedRwLockReadGuard<T, U>
where
P: Deref<Target = T> + ?Sized,
T: ?Sized,
type Target = T;
impl<T> Any for OwnedRwLockReadGuard<T, U>
where
T: 'static + ?Sized,
fn type_id(&self) -> TypeId
impl<T> Borrow<T> for OwnedRwLockReadGuard<T, U>
where
T: ?Sized,
fn borrow(&self) -> &T
impl<T> BorrowMut<T> for OwnedRwLockReadGuard<T, U>
where
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
impl<T> From<T> for OwnedRwLockReadGuard<T, U>
fn from(t: T) -> TReturns the argument unchanged.
impl<T> ToString for OwnedRwLockReadGuard<T, U>
where
T: Display + ?Sized,
fn to_string(&self) -> String
impl<T, U> Into<U> for OwnedRwLockReadGuard<T, U>
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 OwnedRwLockReadGuard<T, U>
where
U: Into<T>,
type Error = never;fn try_from(value: U) -> Result<T, never>
impl<T, U> TryInto<U> for OwnedRwLockReadGuard<T, U>
where
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error;fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>