use solverforge_core::domain::PlanningSolution;
use solverforge_scoring::Director;
use crate::scope::ProgressCallback;
use crate::scope::SolverScope;
use super::Phase;
impl<S, D, BestCb, Prev, P> Phase<S, D, BestCb> for (Prev, P)
where
S: PlanningSolution,
D: Director<S>,
BestCb: ProgressCallback<S>,
Prev: Phase<S, D, BestCb>,
P: Phase<S, D, BestCb>,
{
fn solve(&mut self, solver_scope: &mut SolverScope<'_, S, D, BestCb>) {
self.0.solve(solver_scope);
self.1.solve(solver_scope);
}
fn phase_type_name(&self) -> &'static str {
"PhaseTuple"
}
}