use ::std::io;
use ::std::fmt::{Debug, Display, Formatter, self};
use crate::Wrapper;
#[derive(Wrapper, Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, From, Error)]
#[amplify_crate(crate)]
pub struct IoError(io::ErrorKind);
impl Display for IoError {
fn fmt(&self, f: &mut Formatter<'_>) -> fmt::Result {
let err = io::Error::from(*self.as_inner());
Display::fmt(&err, f)
}
}
impl Debug for IoError {
fn fmt(&self, f: &mut Formatter<'_>) -> fmt::Result {
let err = io::Error::from(*self.as_inner());
Debug::fmt(&err, f)
}
}
impl From<io::Error> for IoError {
fn from(err: io::Error) -> Self {
IoError::from_inner(err.kind())
}
}
impl From<IoError> for io::Error {
fn from(err: IoError) -> Self {
io::Error::from(err.into_inner())
}
}