pub trait Solver {
// Required method
fn solve(&self, game_state: &GameState) -> Option<Move>;
// Provided method
fn solve_game(&self, minsweeper: &mut dyn Minsweeper) -> GameResult { ... }
}pub trait Solver {
// Required method
fn solve(&self, game_state: &GameState) -> Option<Move>;
// Provided method
fn solve_game(&self, minsweeper: &mut dyn Minsweeper) -> GameResult { ... }
}