pub trait AsSamples: Iterator<Item = Result<Sample>> { // Required methods fn len(&self) -> usize; fn max_name_len(&self) -> usize; // Provided method fn is_empty(&self) -> bool { ... } }