use std::{error::Error, fmt::Display};
#[derive(Debug, Clone)]
#[non_exhaustive]
pub enum TripError {
FuseBurntExplicitly,
FuseBurntAfterUsage,
}
impl Display for TripError {
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
use TripError::*;
match self {
FuseBurntExplicitly => {
write!(
f,
"fuse burnt by explicit call to OnceFuse::burn_it(&mut self)"
)
}
FuseBurntAfterUsage => {
write!(f, "fuse burnt after usage (one-time) use")
}
}
}
}
impl Error for TripError {}