Skip to main content

ActionCompute

Trait ActionCompute 

Source
pub trait ActionCompute: __Sealed + ArkheAction {
    // Required method
    fn compute<'i>(
        &self,
        ctx: &mut ActionContext<'i>,
    ) -> Result<(), ActionError>;
}
Expand description

Compute-phase trait. Each ArkheAction implementor provides the body of this method manually — business logic per Action is unique, so compute is intentionally not derive-generated.

Implementations must be deterministic and side-effect-free outside of ctx (L0 A11 pure-compute succession).

Required Methods§

Source

fn compute<'i>(&self, ctx: &mut ActionContext<'i>) -> Result<(), ActionError>

Run the compute body. Emit events via ctx.emit_event, derive new ids via ctx.next_id, and return Err(ActionError::...) to reject.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§