Skip to main content

EvalCached

Trait EvalCached 

Source
pub trait EvalCached<R: Rt, E: UserEvent>:
    Debug
    + Default
    + Send
    + Sync
    + 'static {
    const NAME: &str;
    const NEEDS_CALLSITE: bool;

    // Required method
    fn eval(
        &mut self,
        ctx: &mut ExecCtx<R, E>,
        from: &CachedVals,
    ) -> Option<Value>;

    // Provided methods
    fn init(
        _ctx: &mut ExecCtx<R, E>,
        _typ: &FnType,
        _resolved: Option<&FnType>,
        _scope: &Scope,
        _from: &[Node<R, E>],
        _top_id: ExprId,
    ) -> Self { ... }
    fn typecheck(
        &mut self,
        _ctx: &mut ExecCtx<R, E>,
        _from: &mut [Node<R, E>],
        _phase: TypecheckPhase<'_>,
    ) -> Result<()> { ... }
}

Required Associated Constants§

Required Methods§

Source

fn eval(&mut self, ctx: &mut ExecCtx<R, E>, from: &CachedVals) -> Option<Value>

Provided Methods§

Source

fn init( _ctx: &mut ExecCtx<R, E>, _typ: &FnType, _resolved: Option<&FnType>, _scope: &Scope, _from: &[Node<R, E>], _top_id: ExprId, ) -> Self

Source

fn typecheck( &mut self, _ctx: &mut ExecCtx<R, E>, _from: &mut [Node<R, E>], _phase: TypecheckPhase<'_>, ) -> Result<()>

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§