#[allow(clippy::enum_variant_names)]
#[derive(Debug)]
#[repr(i32)]
pub enum AppError {
IoError(std::io::Error) = 3,
DeserError(toml::de::Error) = 4,
SerError(toml::ser::Error) = 5,
ProfileError = 6,
GeneralError(String) = 1,
}
impl AppError {
pub fn code(&self) -> i32 {
unsafe { *(self as *const Self as *const i32) }
}
}
impl From<std::io::Error> for AppError {
fn from(err: std::io::Error) -> Self {
AppError::IoError(err)
}
}
impl From<toml::de::Error> for AppError {
fn from(err: toml::de::Error) -> Self {
AppError::DeserError(err)
}
}
impl From<toml::ser::Error> for AppError {
fn from(err: toml::ser::Error) -> Self {
AppError::SerError(err)
}
}