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§
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.