pub enum LType {
Send(Role, BaseType, Box<LType>),
Recv(Role, BaseType, Box<LType>),
IChoice(Role, Vec<(String, LType)>),
EChoice(Role, Vec<(String, LType)>),
End,
Rec(String, Box<LType>),
Var(String),
}Expand description
A local session type (from one role’s perspective).
Variants§
Send(Role, BaseType, Box<LType>)
!q(T).L — send T to role q.
Recv(Role, BaseType, Box<LType>)
?p(T).L — receive T from role p.
IChoice(Role, Vec<(String, LType)>)
Internal choice: select one of the labeled continuations.
EChoice(Role, Vec<(String, LType)>)
External choice: offer labeled continuations to a role.
End
Session end.
Rec(String, Box<LType>)
Recursive local type.
Var(String)
Type variable.
Trait Implementations§
impl Eq for LType
impl StructuralPartialEq for LType
Auto Trait Implementations§
impl Freeze for LType
impl RefUnwindSafe for LType
impl Send for LType
impl Sync for LType
impl Unpin for LType
impl UnsafeUnpin for LType
impl UnwindSafe for LType
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