use std::error::Error as StdError;
use std::fmt;
#[derive(Debug)]
pub struct ErrorDiagnostic {
inner: serde_json::Error,
}
pub type Result<T> = std::result::Result<T, ErrorDiagnostic>;
impl ErrorDiagnostic {
pub(crate) fn new(inner: serde_json::Error) -> Self {
ErrorDiagnostic { inner }
}
}
impl fmt::Display for ErrorDiagnostic {
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
write!(f, "{}", self.inner)
}
}
impl StdError for ErrorDiagnostic {
fn source(&self) -> Option<&(dyn StdError + 'static)> {
self.inner.source()
}
}