pub trait HasMinMax { // Required methods fn min(&self) -> Agg; fn max(&self) -> Agg; // Provided method fn intersects(&self, a: Range<usize>) -> bool { ... } }