Switch to using CustomError because a boxed StdError is not Send.
This commit is contained in:
45
src/error/error.rs
Normal file
45
src/error/error.rs
Normal file
@@ -0,0 +1,45 @@
|
||||
#[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<std::io::Error> 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<toml::ser::Error> for CustomError {
|
||||
fn from(value: toml::ser::Error) -> Self {
|
||||
CustomError::TomlSerialize(value)
|
||||
}
|
||||
}
|
||||
|
||||
impl From<toml::de::Error> for CustomError {
|
||||
fn from(value: toml::de::Error) -> Self {
|
||||
CustomError::TomlDeserialize(value)
|
||||
}
|
||||
}
|
||||
|
||||
impl From<walkdir::Error> for CustomError {
|
||||
fn from(value: walkdir::Error) -> Self {
|
||||
CustomError::WalkDir(value)
|
||||
}
|
||||
}
|
||||
|
||||
impl From<tokio::task::JoinError> for CustomError {
|
||||
fn from(value: tokio::task::JoinError) -> Self {
|
||||
CustomError::Tokio(value)
|
||||
}
|
||||
}
|
||||
3
src/error/mod.rs
Normal file
3
src/error/mod.rs
Normal file
@@ -0,0 +1,3 @@
|
||||
#[allow(clippy::module_inception)]
|
||||
mod error;
|
||||
pub(crate) use error::CustomError;
|
||||
Reference in New Issue
Block a user