pub enum BinarySession {
Send(String, Box<BinarySession>),
Recv(String, Box<BinarySession>),
Select(Vec<(String, BinarySession)>),
Offer(Vec<(String, BinarySession)>),
Rec(String, Box<BinarySession>),
Var(String),
End,
}Expand description
A session type in the binary session type system.
Variants§
Send(String, Box<BinarySession>)
Send a value of type label and continue as next.
Recv(String, Box<BinarySession>)
Receive a value of type label and continue as next.
Select(Vec<(String, BinarySession)>)
Internal choice: select one of the offered branches.
Offer(Vec<(String, BinarySession)>)
External choice: offer a set of branches.
Rec(String, Box<BinarySession>)
Recursive session: μX.S where name is the recursion variable.
Var(String)
Session variable reference.
End
Completed session.
Trait Implementations§
Source§impl Clone for BinarySession
impl Clone for BinarySession
Source§fn clone(&self) -> BinarySession
fn clone(&self) -> BinarySession
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for BinarySession
impl Debug for BinarySession
Source§impl PartialEq for BinarySession
impl PartialEq for BinarySession
impl Eq for BinarySession
impl StructuralPartialEq for BinarySession
Auto Trait Implementations§
impl Freeze for BinarySession
impl RefUnwindSafe for BinarySession
impl Send for BinarySession
impl Sync for BinarySession
impl Unpin for BinarySession
impl UnsafeUnpin for BinarySession
impl UnwindSafe for BinarySession
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