Function ferrite_session::internal::public::session::offer_choice[][src]

pub fn offer_choice<C, Row1, Row2, SessionSum, InjectSessionSum>(
    cont1: impl FnOnce(InjectSessionSum) -> SessionSum + Send + 'static
) -> PartialSession<C, ExternalChoice<Row1>> where
    C: Context,
    Row1: Send + 'static,
    Row1: ToRow<Row = Row2>,
    Row2: RowCon,
    Row2: ElimSum,
    Row2: SplitRow,
    Row2: SumFunctor,
    Row2: SumFunctorInject,
    Row2: SumApp<SessionF<C>, Applied = SessionSum>,
    Row2: FlattenSumApp<InjectSessionF<Row1, C>, FlattenApplied = InjectSessionSum>,
    SessionSum: Send + 'static,
    InjectSessionSum: Send + 'static,