Skip to main content

BuiltIn

Trait BuiltIn 

Source
pub trait BuiltIn<R: Rt, E: UserEvent> {
    const NAME: &str;
    const TYP: LazyLock<FnType>;

    // Required method
    fn init<'a, 'b, 'c>(
        ctx: &'a mut ExecCtx<R, E>,
        typ: &'a FnType,
        scope: &'b Scope,
        from: &'c [Node<R, E>],
        top_id: ExprId,
    ) -> Result<Box<dyn Apply<R, E>>>;
}
Expand description

Trait implemented by graphix built-in functions implemented in rust. This trait isn’t meant to be implemented manually, use derive(BuiltIn) from the graphix-derive crate

Required Associated Constants§

Required Methods§

Source

fn init<'a, 'b, 'c>( ctx: &'a mut ExecCtx<R, E>, typ: &'a FnType, scope: &'b Scope, from: &'c [Node<R, E>], top_id: ExprId, ) -> Result<Box<dyn Apply<R, E>>>

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§