Trait concurrency_traits::AsyncUpgradeRwLock[][src]

pub trait AsyncUpgradeRwLock<'a>: AsyncRwLock<'a> where
    Self::AsyncReadGuard: AsyncUpgradeReadGuard<'a, Item = Self::Item, AsyncWriteGuard = Self::AsyncWriteGuard>, 
{ }

An async rwlock that has read guards that can be upgraded asynchronously

Implementations on Foreign Types

impl<'__a, 'a, T: ?Sized> AsyncUpgradeRwLock<'__a> for &'a T where
    T: AsyncUpgradeRwLock<'__a>,
    <T as AsyncRwLock<'__a>>::AsyncReadGuard: AsyncUpgradeReadGuard<'__a, Item = T::Item, AsyncWriteGuard = T::AsyncWriteGuard>, 
[src]

impl<'__a, 'a, T: ?Sized> AsyncUpgradeRwLock<'__a> for &'a mut T where
    T: AsyncUpgradeRwLock<'__a>,
    <T as AsyncRwLock<'__a>>::AsyncReadGuard: AsyncUpgradeReadGuard<'__a, Item = T::Item, AsyncWriteGuard = T::AsyncWriteGuard>, 
[src]

impl<'__a, T: ?Sized> AsyncUpgradeRwLock<'__a> for ManuallyDrop<T> where
    T: AsyncUpgradeRwLock<'__a>,
    <T as AsyncRwLock<'__a>>::AsyncReadGuard: AsyncUpgradeReadGuard<'__a, Item = T::Item, AsyncWriteGuard = T::AsyncWriteGuard>, 
[src]

impl<'__a, T> AsyncUpgradeRwLock<'__a> for AssertUnwindSafe<T> where
    T: AsyncUpgradeRwLock<'__a>,
    <T as AsyncRwLock<'__a>>::AsyncReadGuard: AsyncUpgradeReadGuard<'__a, Item = T::Item, AsyncWriteGuard = T::AsyncWriteGuard>, 
[src]

impl<'__a, T: ?Sized> AsyncUpgradeRwLock<'__a> for Rc<T> where
    T: AsyncUpgradeRwLock<'__a>,
    <T as AsyncRwLock<'__a>>::AsyncReadGuard: AsyncUpgradeReadGuard<'__a, Item = T::Item, AsyncWriteGuard = T::AsyncWriteGuard>, 
[src]

impl<'__a, T: ?Sized> AsyncUpgradeRwLock<'__a> for Arc<T> where
    T: AsyncUpgradeRwLock<'__a>,
    <T as AsyncRwLock<'__a>>::AsyncReadGuard: AsyncUpgradeReadGuard<'__a, Item = T::Item, AsyncWriteGuard = T::AsyncWriteGuard>, 
[src]

impl<'__a, T: ?Sized> AsyncUpgradeRwLock<'__a> for Box<T> where
    T: AsyncUpgradeRwLock<'__a>,
    <T as AsyncRwLock<'__a>>::AsyncReadGuard: AsyncUpgradeReadGuard<'__a, Item = T::Item, AsyncWriteGuard = T::AsyncWriteGuard>, 
[src]

impl<'__a, 'a, T> AsyncUpgradeRwLock<'__a> for Cow<'a, T> where
    T: AsyncUpgradeRwLock<'__a> + Clone,
    <T as AsyncRwLock<'__a>>::AsyncReadGuard: AsyncUpgradeReadGuard<'__a, Item = T::Item, AsyncWriteGuard = T::AsyncWriteGuard>, 
[src]

impl<'a, T> AsyncUpgradeRwLock<'a> for Pin<T> where
    T: Deref,
    T::Target: AsyncUpgradeRwLock<'a>,
    <T::Target as AsyncRwLock<'a>>::AsyncReadGuard: AsyncUpgradeReadGuard<'a, Item = <T::Target as TryRwLock<'a>>::Item, AsyncWriteGuard = <T::Target as AsyncRwLock<'a>>::AsyncWriteGuard>, 
[src]

Loading content...

Implementors

Loading content...