Trait ferrite_session::internal::public::session::Cut [−][src]
pub trait Cut<C>: SplitContext<C> where
C: Context, { fn cut<A, B>(
cont1: PartialSession<Self::Left, A>,
cont2: impl FnOnce(<Self::Right as Context>::Length) -> PartialSession<<Self::Right as AppendContext<(A, ())>>::Appended, B>
) -> PartialSession<C, B>
where
A: Protocol,
B: Protocol,
Self::Right: AppendContext<(A, ())>; }
Required methods
fn cut<A, B>(
cont1: PartialSession<Self::Left, A>,
cont2: impl FnOnce(<Self::Right as Context>::Length) -> PartialSession<<Self::Right as AppendContext<(A, ())>>::Appended, B>
) -> PartialSession<C, B> where
A: Protocol,
B: Protocol,
Self::Right: AppendContext<(A, ())>,
[src]
cont1: PartialSession<Self::Left, A>,
cont2: impl FnOnce(<Self::Right as Context>::Length) -> PartialSession<<Self::Right as AppendContext<(A, ())>>::Appended, B>
) -> PartialSession<C, B> where
A: Protocol,
B: Protocol,
Self::Right: AppendContext<(A, ())>,
Implementors
impl<X, C> Cut<C> for X where
C: Context,
X: SplitContext<C>,
[src]
impl<X, C> Cut<C> for X where
C: Context,
X: SplitContext<C>,
[src]fn cut<A, B>(
cont1: PartialSession<Self::Left, A>,
cont2: impl FnOnce(<Self::Right as Context>::Length) -> PartialSession<<Self::Right as AppendContext<(A, ())>>::Appended, B>
) -> PartialSession<C, B> where
A: Protocol,
B: Protocol,
Self::Right: AppendContext<(A, ())>,
[src]
cont1: PartialSession<Self::Left, A>,
cont2: impl FnOnce(<Self::Right as Context>::Length) -> PartialSession<<Self::Right as AppendContext<(A, ())>>::Appended, B>
) -> PartialSession<C, B> where
A: Protocol,
B: Protocol,
Self::Right: AppendContext<(A, ())>,