Skip to main content

AppendContext

Trait AppendContext 

Source
pub trait AppendContext<R>: Context
where R: Context,
{ type Appended: Context; // Required methods fn append_context( channels1: <Self as Context>::Endpoints, channels2: <R as Context>::Endpoints, ) -> <Self::Appended as Context>::Endpoints; fn split_context( channels: <Self::Appended as Context>::Endpoints, ) -> (<Self as Context>::Endpoints, <R as Context>::Endpoints); }

Required Associated Types§

Required Methods§

Source

fn append_context( channels1: <Self as Context>::Endpoints, channels2: <R as Context>::Endpoints, ) -> <Self::Appended as Context>::Endpoints

Source

fn split_context( channels: <Self::Appended as Context>::Endpoints, ) -> (<Self as Context>::Endpoints, <R as Context>::Endpoints)

Dyn Compatibility§

This trait is not dyn compatible.

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

Implementations on Foreign Types§

Source§

impl<P, R, S> AppendContext<S> for (P, R)
where P: Slot, R: Context + AppendContext<S>, S: Context,

Source§

type Appended = (P, <R as AppendContext<S>>::Appended)

Source§

fn append_context( (p, r): (P::Endpoint, R::Endpoints), s: <S as Context>::Endpoints, ) -> (<P as Slot>::Endpoint, <R::Appended as Context>::Endpoints)

Source§

fn split_context( (p, r): (P::Endpoint, <R::Appended as Context>::Endpoints), ) -> (<(P, R) as Context>::Endpoints, <S as Context>::Endpoints)

Source§

impl<R: Context> AppendContext<R> for ()

Implementors§