pub struct HandleBlock {
pub effect_names: Vec<String>,
pub clauses: Vec<HandlerClause>,
pub body: Vec<FlowStep>,
pub loc: Loc,
}Expand description
handle SSE { Emit(token) -> { … } } in { … } — the delimited handler
scope (D3: an effect is interceptable only inside body).
Fields§
§effect_names: Vec<String>handle E1, E2 { … } — the effects this frame intercepts. More than one
is legal; IRHandlerFrame.effect_names in the cycle-23 IR is a Vec for
the same reason.
clauses: Vec<HandlerClause>§body: Vec<FlowStep>The in { … } block. Ordinary flow steps — this is what the design decision buys.
loc: LocTrait Implementations§
Auto Trait Implementations§
impl Freeze for HandleBlock
impl RefUnwindSafe for HandleBlock
impl Send for HandleBlock
impl Sync for HandleBlock
impl Unpin for HandleBlock
impl UnsafeUnpin for HandleBlock
impl UnwindSafe for HandleBlock
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