ArcExt

Trait ArcExt 

Source
pub trait ArcExt<T>: Unpin
where T: Unpin + ?Sized,
{ // Required methods fn project<'a, 'b, U, F>(self, deref_fn: F) -> ArcProject<'a, 'b, T, U> where T: 'a, U: 'b, F: Fn(&'a Pin<Arc<T>>) -> &'b U, 'a: 'b; fn project_option<'a, 'b, U, F>( self, deref_fn: F, ) -> ArcProjectOption<'a, 'b, T, U> where T: 'a, U: 'b, F: Fn(&'a Pin<Arc<T>>) -> Option<&'b U>, 'a: 'b; }

Required Methods§

Source

fn project<'a, 'b, U, F>(self, deref_fn: F) -> ArcProject<'a, 'b, T, U>
where T: 'a, U: 'b, F: Fn(&'a Pin<Arc<T>>) -> &'b U, 'a: 'b,

Source

fn project_option<'a, 'b, U, F>( self, deref_fn: F, ) -> ArcProjectOption<'a, 'b, T, U>
where T: 'a, U: 'b, F: Fn(&'a Pin<Arc<T>>) -> Option<&'b U>, 'a: 'b,

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.

Implementations on Foreign Types§

Source§

impl<T: ?Sized + Unpin> ArcExt<T> for Arc<T>

Source§

fn project<'a, 'b, U, F>(self, deref_fn: F) -> ArcProject<'a, 'b, T, U>
where T: 'a, U: 'b, F: Fn(&'a Pin<Arc<T>>) -> &'b U, 'a: 'b,

Source§

fn project_option<'a, 'b, U, F>( self, deref_fn: F, ) -> ArcProjectOption<'a, 'b, T, U>
where T: 'a, U: 'b, F: Fn(&'a Pin<Arc<T>>) -> Option<&'b U>, 'a: 'b,

Implementors§