Skip to main content

UpgradableReadGuard

Trait UpgradableReadGuard 

Source
pub trait UpgradableReadGuard: Deref {
    type UpgradeResult: DerefMut<Target = Self::Target>;
    type UpgradeToDowngradableResult: DowngradableWriteGuard<DowngradeToUpgradableResult = Self, Target = Self::Target>;

    // Required methods
    fn upgrade(self) -> Self::UpgradeResult;
    fn upgrade_to_downgradable(self) -> Self::UpgradeToDowngradableResult;
}
Expand description

Provides an interface for upgrading upgradable read guards.

§Example

See the GuardedTarget docs for implementation examples.

Required Associated Types§

Source

type UpgradeResult: DerefMut<Target = Self::Target>

Self::upgrade return type.

Source

type UpgradeToDowngradableResult: DowngradableWriteGuard<DowngradeToUpgradableResult = Self, Target = Self::Target>

Required Methods§

Source

fn upgrade(self) -> Self::UpgradeResult

Source

fn upgrade_to_downgradable(self) -> Self::UpgradeToDowngradableResult

Self::upgrade analogue, which return type can be downgraded.

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementations on Foreign Types§

Source§

impl<'a, T: ?Sized> UpgradableReadGuard for &'a mut T

Source§

impl<'a, T> UpgradableReadGuard for RwLockUpgradableReadGuard<'a, T>

Implementors§