#[derive(Debug, Hash, PartialEq)]
pub enum ValidationError {
TooManySegments,
TooFewSegments,
LengthConstraintImpossible,
InvalidValue(usize),
}
impl std::fmt::Display for ValidationError {
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
match self {
Self::TooManySegments => write!(f, "Too many segments"),
Self::TooFewSegments => write!(f, "Too few segments. At least 2 required"),
Self::LengthConstraintImpossible => {
write!(
f,
"Max length constraint cannot be satisfied with requested segments"
)
}
Self::InvalidValue(v) => write!(f, "Invalid value: {}", v),
}
}
}