Trait concurrency_traits::UpgradeRwLock [−][src]
pub trait UpgradeRwLock<'a>: RwLock<'a> where
Self::ReadGuard: UpgradeReadGuard<'a, Item = Self::Item, WriteGuard = Self::WriteGuard>, { }
An rwlock that has read guards that can be upgraded
Implementations on Foreign Types
impl<'__a, 'a, T: ?Sized> UpgradeRwLock<'__a> for &'a T where
T: UpgradeRwLock<'__a>,
<T as TryRwLock<'__a>>::ReadGuard: UpgradeReadGuard<'__a, Item = T::Item, WriteGuard = T::WriteGuard>,
[src]
impl<'__a, 'a, T: ?Sized> UpgradeRwLock<'__a> for &'a T where
T: UpgradeRwLock<'__a>,
<T as TryRwLock<'__a>>::ReadGuard: UpgradeReadGuard<'__a, Item = T::Item, WriteGuard = T::WriteGuard>,
[src]impl<'__a, 'a, T: ?Sized> UpgradeRwLock<'__a> for &'a mut T where
T: UpgradeRwLock<'__a>,
<T as TryRwLock<'__a>>::ReadGuard: UpgradeReadGuard<'__a, Item = T::Item, WriteGuard = T::WriteGuard>,
[src]
impl<'__a, 'a, T: ?Sized> UpgradeRwLock<'__a> for &'a mut T where
T: UpgradeRwLock<'__a>,
<T as TryRwLock<'__a>>::ReadGuard: UpgradeReadGuard<'__a, Item = T::Item, WriteGuard = T::WriteGuard>,
[src]impl<'__a, T: ?Sized> UpgradeRwLock<'__a> for ManuallyDrop<T> where
T: UpgradeRwLock<'__a>,
<T as TryRwLock<'__a>>::ReadGuard: UpgradeReadGuard<'__a, Item = T::Item, WriteGuard = T::WriteGuard>,
[src]
impl<'__a, T: ?Sized> UpgradeRwLock<'__a> for ManuallyDrop<T> where
T: UpgradeRwLock<'__a>,
<T as TryRwLock<'__a>>::ReadGuard: UpgradeReadGuard<'__a, Item = T::Item, WriteGuard = T::WriteGuard>,
[src]impl<'__a, T> UpgradeRwLock<'__a> for AssertUnwindSafe<T> where
T: UpgradeRwLock<'__a>,
<T as TryRwLock<'__a>>::ReadGuard: UpgradeReadGuard<'__a, Item = T::Item, WriteGuard = T::WriteGuard>,
[src]
impl<'__a, T> UpgradeRwLock<'__a> for AssertUnwindSafe<T> where
T: UpgradeRwLock<'__a>,
<T as TryRwLock<'__a>>::ReadGuard: UpgradeReadGuard<'__a, Item = T::Item, WriteGuard = T::WriteGuard>,
[src]impl<'__a, T: ?Sized> UpgradeRwLock<'__a> for Rc<T> where
T: UpgradeRwLock<'__a>,
<T as TryRwLock<'__a>>::ReadGuard: UpgradeReadGuard<'__a, Item = T::Item, WriteGuard = T::WriteGuard>,
[src]
impl<'__a, T: ?Sized> UpgradeRwLock<'__a> for Rc<T> where
T: UpgradeRwLock<'__a>,
<T as TryRwLock<'__a>>::ReadGuard: UpgradeReadGuard<'__a, Item = T::Item, WriteGuard = T::WriteGuard>,
[src]impl<'__a, T: ?Sized> UpgradeRwLock<'__a> for Arc<T> where
T: UpgradeRwLock<'__a>,
<T as TryRwLock<'__a>>::ReadGuard: UpgradeReadGuard<'__a, Item = T::Item, WriteGuard = T::WriteGuard>,
[src]
impl<'__a, T: ?Sized> UpgradeRwLock<'__a> for Arc<T> where
T: UpgradeRwLock<'__a>,
<T as TryRwLock<'__a>>::ReadGuard: UpgradeReadGuard<'__a, Item = T::Item, WriteGuard = T::WriteGuard>,
[src]impl<'__a, T: ?Sized> UpgradeRwLock<'__a> for Box<T> where
T: UpgradeRwLock<'__a>,
<T as TryRwLock<'__a>>::ReadGuard: UpgradeReadGuard<'__a, Item = T::Item, WriteGuard = T::WriteGuard>,
[src]
impl<'__a, T: ?Sized> UpgradeRwLock<'__a> for Box<T> where
T: UpgradeRwLock<'__a>,
<T as TryRwLock<'__a>>::ReadGuard: UpgradeReadGuard<'__a, Item = T::Item, WriteGuard = T::WriteGuard>,
[src]impl<'__a, 'a, T> UpgradeRwLock<'__a> for Cow<'a, T> where
T: UpgradeRwLock<'__a> + Clone,
<T as TryRwLock<'__a>>::ReadGuard: UpgradeReadGuard<'__a, Item = T::Item, WriteGuard = T::WriteGuard>,
[src]
impl<'__a, 'a, T> UpgradeRwLock<'__a> for Cow<'a, T> where
T: UpgradeRwLock<'__a> + Clone,
<T as TryRwLock<'__a>>::ReadGuard: UpgradeReadGuard<'__a, Item = T::Item, WriteGuard = T::WriteGuard>,
[src]impl<'a, T> UpgradeRwLock<'a> for Pin<T> where
T: Deref,
T::Target: UpgradeRwLock<'a>,
<T::Target as TryRwLock<'a>>::ReadGuard: UpgradeReadGuard<'a, Item = <T::Target as TryRwLock<'a>>::Item, WriteGuard = <T::Target as TryRwLock<'a>>::WriteGuard>,
[src]
impl<'a, T> UpgradeRwLock<'a> for Pin<T> where
T: Deref,
T::Target: UpgradeRwLock<'a>,
<T::Target as TryRwLock<'a>>::ReadGuard: UpgradeReadGuard<'a, Item = <T::Target as TryRwLock<'a>>::Item, WriteGuard = <T::Target as TryRwLock<'a>>::WriteGuard>,
[src]