#[derive(PartialEq, Debug)] pub enum SanitizeError { Failed, IndexOutOfBounds, ValueOutOfRange, InvalidValue, } pub trait Sanitize { fn sanitize(&self) -> Result<(), SanitizeError> { Ok(()) } } impl Sanitize for Vec { fn sanitize(&self) -> Result<(), SanitizeError> { for x in self.iter() { x.sanitize()?; } Ok(()) } }