pub trait CustomSearchPhase<S>: Debug + Sendwhere
S: PlanningSolution,{
// Required method
fn solve<D, ProgressCb>(
&mut self,
solver_scope: &mut SolverScope<'_, S, D, ProgressCb>,
)
where D: Director<S>,
ProgressCb: ProgressCallback<S>;
// Provided methods
fn on_solver_terminal<D, ProgressCb>(
&mut self,
_solver_scope: &mut SolverScope<'_, S, D, ProgressCb>,
)
where D: Director<S>,
ProgressCb: ProgressCallback<S> { ... }
fn phase_type_name(&self) -> &'static str { ... }
}Required Methods§
fn solve<D, ProgressCb>(
&mut self,
solver_scope: &mut SolverScope<'_, S, D, ProgressCb>,
)where
D: Director<S>,
ProgressCb: ProgressCallback<S>,
Provided Methods§
Sourcefn on_solver_terminal<D, ProgressCb>(
&mut self,
_solver_scope: &mut SolverScope<'_, S, D, ProgressCb>,
)where
D: Director<S>,
ProgressCb: ProgressCallback<S>,
fn on_solver_terminal<D, ProgressCb>(
&mut self,
_solver_scope: &mut SolverScope<'_, S, D, ProgressCb>,
)where
D: Director<S>,
ProgressCb: ProgressCallback<S>,
Runs once at the enclosing solver’s terminal boundary.
This mirrors Phase::on_solver_terminal for custom phases. The
configured runtime dispatches it after instantiating the registered
extension; implementations remain CustomSearchPhase rather than
directly implementing Phase.
fn phase_type_name(&self) -> &'static str
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".