pub trait SourceEval {
// Required methods
fn eval_class(&self) -> EvalClass;
fn evaluate(
&self,
ctx: Option<&EvalContext<'_>>,
) -> Result<EvaluatedSource, EvalError>;
}Expand description
Required Methods§
Sourcefn eval_class(&self) -> EvalClass
fn eval_class(&self) -> EvalClass
Classify this source for the IR planner per spec
§10.7.0. See EvalClass.
Sourcefn evaluate(
&self,
ctx: Option<&EvalContext<'_>>,
) -> Result<EvaluatedSource, EvalError>
fn evaluate( &self, ctx: Option<&EvalContext<'_>>, ) -> Result<EvaluatedSource, EvalError>
Materialize this source.
Literal / IntRange (Static) and ContinuousInterval /
Distribution (Distribution) accept ctx = None.
Generator / WorkloadParamList (ContextRequired) require
Some(ctx) and return EvalError::NeedsContext
otherwise.
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".