pub trait Context: Sized {
type BuiltinFunction: Clone + Debug + Finalize + Trace;
type Expr: Clone + Debug + Finalize + Trace;
type ObjectVtable: Clone + Debug + Finalize + Trace;
type UserFunction: Clone + Debug + Finalize + Trace;
type ValueMeta: Clone + Debug + Default + Finalize + Trace;
// Required method
fn from_expr(expr: Gc<Expr<Self>>) -> Gc<Self::Expr>;
}
Expand description
A trait for the things a Value
is parameterized
over.
Yeah, it’s vague. Basically, think of it as a collection of associated
types that is used to define Value
.
Required Associated Types§
Sourcetype BuiltinFunction: Clone + Debug + Finalize + Trace
type BuiltinFunction: Clone + Debug + Finalize + Trace
The type of a function implemented by the runtime.
Required Methods§
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.