Skip to main content

HasDual

Trait HasDual 

Source
pub trait HasDual: Sealed {
    type Dual;
}
Expand description

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

Required Associated Types§

Dyn Compatibility§

This trait is dyn compatible.

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

Implementors§

Source§

impl HasDual for Eps

Source§

impl HasDual for Var<Z>

Source§

impl<A, P: HasDual> HasDual for Recv<A, P>

Source§

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

Source§

impl<A, P: HasDual> HasDual for Send<A, P>

Source§

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

Source§

impl<N> HasDual for Var<S<N>>

Source§

type Dual = Var<S<N>>

Source§

impl<P: HasDual, Q: HasDual> HasDual for Choose<P, Q>

Source§

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

Source§

impl<P: HasDual, Q: HasDual> HasDual for Offer<P, Q>

Source§

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

Source§

impl<P: HasDual> HasDual for Rec<P>

Source§

type Dual = Rec<<P as HasDual>::Dual>