Function ferrite_session::internal::public::prelude::case[][src]

pub fn case<N, C, D, B, Row, SessionSum, InjectSessionSum>(
    _: N,
    cont1: impl FnOnce(InjectSessionSum) -> SessionSum + Send + 'static
) -> PartialSession<C, B> where
    B: Protocol,
    C: Context,
    D: Context,
    Row: RowCon,
    Row: ElimSum,
    Row: SplitRow,
    Row: SumFunctor,
    Row: IntersectSum,
    Row: SumFunctorInject,
    Row: SumApp<InternalSessionF<N, C, B, Row, D>, Applied = SessionSum>,
    Row: FlattenSumApp<InjectSessionF<N, C, B, Row, D>, FlattenApplied = InjectSessionSum>,
    N: ContextLens<C, InternalChoice<Row>, Empty, Deleted = D>,
    SessionSum: Send + 'static,
    InjectSessionSum: Send + 'static,