#[derive(Debug)]
#[non_exhaustive]
pub enum SwapVecError {
MissingPermissions,
OutOfDisk,
WrongChecksum,
Decompression,
SerializationFailed(bincode::ErrorKind),
Other(std::io::ErrorKind),
}
impl From<std::io::Error> for SwapVecError {
fn from(_value: std::io::Error) -> Self {
match _value.kind() {
std::io::ErrorKind::PermissionDenied => Self::MissingPermissions,
e => Self::Other(e),
}
}
}
impl From<Box<bincode::ErrorKind>> for SwapVecError {
fn from(value: Box<bincode::ErrorKind>) -> Self {
SwapVecError::SerializationFailed(*value)
}
}