[][src]Trait session_types::HasDual

pub trait HasDual: Sealed {
    type Dual;
}

The HasDual trait defines the dual relationship between protocols.

Any valid protocol has a corresponding dual.

This trait is sealed and cannot be implemented outside of session-types

Associated Types

type Dual

Loading content...

Implementors

impl HasDual for Eps[src]

type Dual = Eps

impl HasDual for Var<Z>[src]

type Dual = Var<Z>

impl<A, P: HasDual> HasDual for Recv<A, P>[src]

type Dual = Send<A, P::Dual>

impl<A, P: HasDual> HasDual for Send<A, P>[src]

type Dual = Recv<A, P::Dual>

impl<N> HasDual for Var<S<N>>[src]

type Dual = Var<S<N>>

impl<P: HasDual> HasDual for Rec<P>[src]

type Dual = Rec<P::Dual>

impl<P: HasDual, Q: HasDual> HasDual for Choose<P, Q>[src]

type Dual = Offer<P::Dual, Q::Dual>

impl<P: HasDual, Q: HasDual> HasDual for Offer<P, Q>[src]

type Dual = Choose<P::Dual, Q::Dual>

Loading content...