pub trait FrameClock {
// Required methods
fn now_ms(&mut self) -> f64;
fn sleep_ms(&mut self, ms: f64);
fn turn(&mut self, report: TurnReport);
// Provided method
fn frozen_ms(&mut self) -> f64 { ... }
}pub trait FrameClock {
// Required methods
fn now_ms(&mut self) -> f64;
fn sleep_ms(&mut self, ms: f64);
fn turn(&mut self, report: TurnReport);
// Provided method
fn frozen_ms(&mut self) -> f64 { ... }
}