use super::CoreError;
#[cfg(not(feature = "std"))]
extern crate alloc;
#[cfg(not(feature = "std"))]
use alloc::format;
impl From<crate::parser::ParseError> for CoreError {
fn from(err: crate::parser::ParseError) -> Self {
Self::Parse(err)
}
}
#[cfg(feature = "std")]
impl From<std::io::Error> for CoreError {
fn from(err: std::io::Error) -> Self {
Self::Io(format!("{err}"))
}
}
impl From<::core::str::Utf8Error> for CoreError {
fn from(err: ::core::str::Utf8Error) -> Self {
Self::Utf8Error {
position: 0, message: format!("{err}"),
}
}
}
impl From<::core::num::ParseIntError> for CoreError {
fn from(err: ::core::num::ParseIntError) -> Self {
Self::InvalidNumeric(format!("Integer parse error: {err}"))
}
}
impl From<::core::num::ParseFloatError> for CoreError {
fn from(err: ::core::num::ParseFloatError) -> Self {
Self::InvalidNumeric(format!("Float parse error: {err}"))
}
}