pub trait Evaluator {
type Id;
type Module;
type Error;
// Required methods
fn is_empty(&self) -> bool;
fn next(&mut self) -> Option<Self::Id>;
fn eval(
&mut self,
id: Self::Id,
imports: Imports<Self::Id>,
module: Self::Module,
) -> Result<(), Self::Error>;
fn finish(self) -> Option<Self::Module>;
}Expand description
Required Associated Types§
Required Methods§
Sourcefn next(&mut self) -> Option<Self::Id>
fn next(&mut self) -> Option<Self::Id>
Get the next module in evaluation order.
Evaluation order is implementation-specific. An implementation might
choose to evaluate modules in DFS, BFS or some other unspecified order.
Returns None when there are no modules left to evaluate.
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".