wasmer_types::lib::std::sync

Struct MappedRwLockReadGuard

source
pub struct MappedRwLockReadGuard<'a, T>
where T: 'a + ?Sized,
{ /* private fields */ }
๐Ÿ”ฌThis is a nightly-only experimental API. (mapped_lock_guards)
Available on crate feature std only.
Expand description

RAII structure used to release the shared read access of a lock when dropped, which can point to a subfield of the protected data.

This structure is created by the map and try_map methods on RwLockReadGuard.

Implementationsยง

sourceยง

impl<'a, T> MappedRwLockReadGuard<'a, T>
where T: ?Sized,

source

pub fn map<U, F>( orig: MappedRwLockReadGuard<'a, T>, f: F, ) -> MappedRwLockReadGuard<'a, U>
where F: FnOnce(&T) -> &U, U: ?Sized,

๐Ÿ”ฌThis is a nightly-only experimental API. (mapped_lock_guards)

Makes a MappedRwLockReadGuard for a component of the borrowed data, e.g. an enum variant.

The RwLock is already locked for reading, so this cannot fail.

This is an associated function that needs to be used as MappedRwLockReadGuard::map(...). A method would interfere with methods of the same name on the contents of the MappedRwLockReadGuard used through Deref.

ยงPanics

If the closure panics, the guard will be dropped (unlocked) and the RwLock will not be poisoned.

source

pub fn try_map<U, F>( orig: MappedRwLockReadGuard<'a, T>, f: F, ) -> Result<MappedRwLockReadGuard<'a, U>, MappedRwLockReadGuard<'a, T>>
where F: FnOnce(&T) -> Option<&U>, U: ?Sized,

๐Ÿ”ฌThis is a nightly-only experimental API. (mapped_lock_guards)

Makes a MappedRwLockReadGuard for a component of the borrowed data. The original guard is returned as an Err(...) if the closure returns None.

The RwLock is already locked for reading, so this cannot fail.

This is an associated function that needs to be used as MappedRwLockReadGuard::try_map(...). A method would interfere with methods of the same name on the contents of the MappedRwLockReadGuard used through Deref.

ยงPanics

If the closure panics, the guard will be dropped (unlocked) and the RwLock will not be poisoned.

Trait Implementationsยง

sourceยง

impl<T> Debug for MappedRwLockReadGuard<'_, T>
where T: Debug + ?Sized,

sourceยง

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
sourceยง

impl<T> Deref for MappedRwLockReadGuard<'_, T>
where T: ?Sized,

sourceยง

type Target = T

The resulting type after dereferencing.
sourceยง

fn deref(&self) -> &T

Dereferences the value.
sourceยง

impl<T> Display for MappedRwLockReadGuard<'_, T>
where T: Display + ?Sized,

sourceยง

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
sourceยง

impl<T> Drop for MappedRwLockReadGuard<'_, T>
where T: ?Sized,

sourceยง

fn drop(&mut self)

Executes the destructor for this type. Read more
sourceยง

impl<T> !Send for MappedRwLockReadGuard<'_, T>
where T: ?Sized,

sourceยง

impl<T> Sync for MappedRwLockReadGuard<'_, T>
where T: Sync + ?Sized,

Auto Trait Implementationsยง

ยง

impl<'a, T> Freeze for MappedRwLockReadGuard<'a, T>
where T: ?Sized,

ยง

impl<'a, T> RefUnwindSafe for MappedRwLockReadGuard<'a, T>
where T: RefUnwindSafe + ?Sized,

ยง

impl<'a, T> Unpin for MappedRwLockReadGuard<'a, T>
where T: ?Sized,

ยง

impl<'a, T> UnwindSafe for MappedRwLockReadGuard<'a, T>
where T: RefUnwindSafe + ?Sized,

Blanket Implementationsยง

sourceยง

impl<T> Any for T
where T: 'static + ?Sized,

sourceยง

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
sourceยง

impl<T> ArchivePointee for T

sourceยง

type ArchivedMetadata = ()

The archived version of the pointer metadata for this type.
sourceยง

fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata

Converts some archived metadata to the pointer metadata for itself.
sourceยง

impl<T> Borrow<T> for T
where T: ?Sized,

sourceยง

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
sourceยง

impl<T> BorrowMut<T> for T
where T: ?Sized,

sourceยง

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
sourceยง

impl<T> From<T> for T

sourceยง

fn from(t: T) -> T

Returns the argument unchanged.

sourceยง

impl<T, U> Into<U> for T
where U: From<T>,

sourceยง

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

sourceยง

impl<T> LayoutRaw for T

sourceยง

fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>

Returns the layout of the type.
sourceยง

impl<T> Pointee for T

sourceยง

type Metadata = ()

The metadata type for pointers and references to this type.
sourceยง

impl<T> Same for T

sourceยง

type Output = T

Should always be Self
sourceยง

impl<T> ToString for T
where T: Display + ?Sized,

sourceยง

default fn to_string(&self) -> String

Converts the given value to a String. Read more
sourceยง

impl<T, U> TryFrom<U> for T
where U: Into<T>,

sourceยง

type Error = Infallible

The type returned in the event of a conversion error.
sourceยง

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
sourceยง

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

sourceยง

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
sourceยง

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.