Trait LockEqualOrBefore

Source
pub trait LockEqualOrBefore<X> { }
Expand description

Marker trait that indicates that Self is X or an ancestor of X.

Functions and trait impls that want to apply lock ordering bounds should prefer LockBefore. However, there are some situations where using template to apply lock ordering bounds is impossible, so a fixed level must be used instead. In that case, LockEqualOrBefore can be used as a workaround to avoid restricting other methods to just the fixed level. See the tests for the example. Note: Any type representing a lock level must explicitly implement LockEqualOrBefore<X> for X (or use a lock_ordering macro) for this to work.

Implementors§

Source§

impl LockEqualOrBefore<BeforeFsNodeAppend> for BeforeFsNodeAppend

Source§

impl LockEqualOrBefore<BpfMapStateLevel> for BpfMapStateLevel

Source§

impl LockEqualOrBefore<DeviceRegistryState> for DeviceRegistryState

Source§

impl LockEqualOrBefore<EbpfStateLock> for EbpfStateLock

Source§

impl LockEqualOrBefore<FastrpcInnerState> for FastrpcInnerState

Source§

impl LockEqualOrBefore<FileOpsCore> for FileOpsCore

Source§

impl LockEqualOrBefore<FsNodeAppend> for FsNodeAppend

Source§

impl LockEqualOrBefore<KernelIpTables> for KernelIpTables

Source§

impl LockEqualOrBefore<KernelSwapFiles> for KernelSwapFiles

Source§

impl LockEqualOrBefore<MemoryPressureMonitor> for MemoryPressureMonitor

Source§

impl LockEqualOrBefore<MemoryPressureMonitorClientState> for MemoryPressureMonitorClientState

Source§

impl LockEqualOrBefore<MemoryXattrStorageLevel> for MemoryXattrStorageLevel

Source§

impl LockEqualOrBefore<MmDumpable> for MmDumpable

Source§

impl LockEqualOrBefore<ProcessGroupState> for ProcessGroupState

Source§

impl LockEqualOrBefore<ResourceAccessorLevel> for ResourceAccessorLevel

Source§

impl LockEqualOrBefore<TaskRelease> for TaskRelease

Source§

impl LockEqualOrBefore<TerminalLock> for TerminalLock

Source§

impl LockEqualOrBefore<ThreadGroupLimits> for ThreadGroupLimits

Source§

impl LockEqualOrBefore<UninterruptibleLock> for UninterruptibleLock

Source§

impl LockEqualOrBefore<Unlocked> for Unlocked

Source§

impl LockEqualOrBefore<UserFaultInner> for UserFaultInner

Source§

impl<B, A> LockEqualOrBefore<B> for A
where A: LockBefore<B>,