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 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, '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: ?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> 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 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 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, 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, '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]
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]