Enum dialectic_compiler::target::Target [−][src]
The target language of the macro: the type level language of session types in Dialectic.
This is a one-to-one mapping to the literal syntax you would write without using the Session!
macro. The only constructors which don’t correspond directly to constructs with Session
implementations are Target::Then
, which translates to a type-level function invocation to
concatenate two session types, and Target::Type
, which translates to an embedding of some
arbitrary session type by name (i.e. defined elsewhere as a synonym).
Variants
Session type: Done
.
Session type: Recv<T, P>
.
Session type: Send<T, P>
.
Session type: Choose<(P, ...)>
.
Session type: Offer<(P, ...)>
.
Session type: Loop<...>
.
Continue(usize)
Session type: Continue<N>
.
Session type: Split<P, Q, R>
.
Fields of Split
Session type: Call<P, Q>
.
Session type: <P as Then<Q>>::Combined
.
Type(Type)
Some arbitrary session type referenced by name.
Trait Implementations
Auto Trait Implementations
impl !RefUnwindSafe for Target
impl !Send for Target
impl !Sync for Target
impl Unpin for Target
impl !UnwindSafe for Target
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
pub fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
pub fn to_owned(&self) -> T
[src]
pub fn clone_into(&self, target: &mut T)
[src]
impl<T> ToString for T where
T: Display + ?Sized,
[src]
T: Display + ?Sized,
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,