#[derive(Debug)] pub(crate) enum CustomError { Static(&'static str), IO(std::io::Error), TomlSerialize(toml::ser::Error), TomlDeserialize(toml::de::Error), WalkDir(walkdir::Error), Tokio(tokio::task::JoinError), } impl From for CustomError { fn from(value: std::io::Error) -> Self { CustomError::IO(value) } } impl From<&'static str> for CustomError { fn from(value: &'static str) -> Self { CustomError::Static(value) } } impl From for CustomError { fn from(value: toml::ser::Error) -> Self { CustomError::TomlSerialize(value) } } impl From for CustomError { fn from(value: toml::de::Error) -> Self { CustomError::TomlDeserialize(value) } } impl From for CustomError { fn from(value: walkdir::Error) -> Self { CustomError::WalkDir(value) } } impl From for CustomError { fn from(value: tokio::task::JoinError) -> Self { CustomError::Tokio(value) } }