pub struct SessionDefinition {
pub name: String,
pub roles: Vec<SessionRole>,
pub loc: Loc,
pub leading_trivia: Vec<Trivia>,
pub trailing_trivia: Vec<Trivia>,
}Expand description
session Name { role1: [step, …] role2: [step, …] }
A binary session type — exactly two roles whose protocols MUST be pairwise Honda-Vasconcelos dual. Duality is verified by the type checker; non-dual programs are rejected at compile time.
Fields§
§name: String§roles: Vec<SessionRole>§loc: Loc§leading_trivia: Vec<Trivia>Fase 14.b — leading comment trivia attached to this declaration (comments preceding the declaration’s first token, since the previous declaration or file start). Empty by default.
trailing_trivia: Vec<Trivia>Fase 14.b — trailing comment trivia (same line as the declaration’s last effective token). Empty by default.
Trait Implementations§
Source§impl Debug for SessionDefinition
impl Debug for SessionDefinition
Source§impl Default for SessionDefinition
impl Default for SessionDefinition
Source§fn default() -> SessionDefinition
fn default() -> SessionDefinition
Returns the “default value” for a type. Read more
Auto Trait Implementations§
impl Freeze for SessionDefinition
impl RefUnwindSafe for SessionDefinition
impl Send for SessionDefinition
impl Sync for SessionDefinition
impl Unpin for SessionDefinition
impl UnsafeUnpin for SessionDefinition
impl UnwindSafe for SessionDefinition
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreCreates a shared type from an unshared type.