pub trait RwLockFor<L> {
type Data;
type ReadGuard<'l>: Deref<Target = Self::Data>
where Self: 'l;
type WriteGuard<'l>: DerefMut<Target = Self::Data>
where Self: 'l;
// Required methods
fn read_lock(&self) -> Self::ReadGuard<'_>;
fn write_lock(&self) -> Self::WriteGuard<'_>;
}Expand description
Describes how to acquire reader and writer locks to the implementing type.
An implementation of RwLockFor<L> for some Self means that Self can
be used to unlock some state that is under the lock indicated by L.
Required Associated Types§
Sourcetype ReadGuard<'l>: Deref<Target = Self::Data>
where
Self: 'l
type ReadGuard<'l>: Deref<Target = Self::Data> where Self: 'l
A guard providing read access to the data.
Sourcetype WriteGuard<'l>: DerefMut<Target = Self::Data>
where
Self: 'l
type WriteGuard<'l>: DerefMut<Target = Self::Data> where Self: 'l
A guard providing write access to the data.
Required Methods§
Sourcefn read_lock(&self) -> Self::ReadGuard<'_>
fn read_lock(&self) -> Self::ReadGuard<'_>
Acquires a read lock on the data in Self indicated by L.
Sourcefn write_lock(&self) -> Self::WriteGuard<'_>
fn write_lock(&self) -> Self::WriteGuard<'_>
Acquires a write lock on the data in Self indicated by L.
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.