1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
#[derive(PartialEq, Debug)] pub enum SanitizeError { Failed, IndexOutOfBounds, ValueOutOfRange, } pub trait Sanitize { fn sanitize(&self) -> Result<(), SanitizeError> { Ok(()) } } impl<T: Sanitize> Sanitize for Vec<T> { fn sanitize(&self) -> Result<(), SanitizeError> { for x in self.iter() { x.sanitize()?; } Ok(()) } }