pub struct EffectDefinition {
pub name: String,
pub operations: Vec<EffectOperation>,
pub loc: Loc,
pub leading_trivia: Vec<Trivia>,
pub trailing_trivia: Vec<Trivia>,
}Expand description
effect SSE { Emit(token: Token) -> Unit Done() -> Never } — a top-level
declaration, a peer of tool / persona / anchor per the design plan section 3.1.
The declaration is what makes the operation catalog CLOSED. the design decision resolves
a bare perform Emit(x) against exactly this set: one declarer ⇒ resolved,
two ⇒ a compile error naming both, zero ⇒ a compile error. Without the
declaration there is no catalog and effect_name would have to be guessed.
Fields§
§name: String§operations: Vec<EffectOperation>§loc: Loc§leading_trivia: Vec<Trivia>v1.5.2 — leading comment trivia attached to this declaration.
trailing_trivia: Vec<Trivia>v1.5.2 — trailing comment trivia.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for EffectDefinition
impl RefUnwindSafe for EffectDefinition
impl Send for EffectDefinition
impl Sync for EffectDefinition
impl Unpin for EffectDefinition
impl UnsafeUnpin for EffectDefinition
impl UnwindSafe for EffectDefinition
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