pub trait Optimizer<T: NodeType> {
// Required methods
fn optimize(&mut self, root_rel: ArcPlanNode<T>) -> Result<ArcPlanNode<T>>;
fn get_property<P: PropertyBuilder<T>>(
&self,
root_rel: PlanNodeOrGroup<T>,
idx: usize,
) -> P::Prop;
}
Required Methods§
fn optimize(&mut self, root_rel: ArcPlanNode<T>) -> Result<ArcPlanNode<T>>
fn get_property<P: PropertyBuilder<T>>( &self, root_rel: PlanNodeOrGroup<T>, idx: usize, ) -> P::Prop
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.