pub struct IRSessionStep {
pub node_type: &'static str,
pub source_line: u32,
pub source_column: u32,
pub op: String,
pub message_type: String,
pub branches: Vec<IRSessionBranch>,
pub binder: String,
pub resumable: bool,
}Expand description
One operation in a compiled session protocol (send / receive / loop / end / select / branch — v2.3.0 adds the choices).
Fields§
§node_type: &'static str§source_line: u32§source_column: u32§op: String§message_type: String§branches: Vec<IRSessionBranch>v2.3.0 — labelled branches (only for op == "select" | "branch";
v2.36.0 reuses them for op == "interrupt": body + handler arms).
binder: Stringv2.36.0 — op == "interrupt" only: the handler’s signal binder
(... as <sig> ...). Skip-if-empty ⇒ zero IR-SHA drift for every
non-interrupt step (the v2.33.0/v2.34.0 additive-only discipline).
resumable: boolv2.36.0 — op == "interrupt" only: the block declares a resumable
handler. Skip-if-false ⇒ byte-identical IR for every other op.
Trait Implementations§
Source§impl Clone for IRSessionStep
impl Clone for IRSessionStep
Source§fn clone(&self) -> IRSessionStep
fn clone(&self) -> IRSessionStep
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · 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 IRSessionStep
impl Debug for IRSessionStep
Source§impl Serialize for IRSessionStep
impl Serialize for IRSessionStep
Source§fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
Serialize this value into the given Serde serializer. Read more
Auto Trait Implementations§
impl Freeze for IRSessionStep
impl RefUnwindSafe for IRSessionStep
impl Send for IRSessionStep
impl Sync for IRSessionStep
impl Unpin for IRSessionStep
impl UnsafeUnpin for IRSessionStep
impl UnwindSafe for IRSessionStep
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