use std::fmt;
use super::json_lexical_error_reason::JsonLexicalErrorReason;
#[derive(Clone, Copy, Debug, Eq, PartialEq)]
pub(crate) struct JsonLexicalFailure {
pub(crate) offset: usize,
pub(crate) line: usize,
pub(crate) column: usize,
pub(crate) reason: JsonLexicalErrorReason,
}
impl fmt::Display for JsonLexicalFailure {
fn fmt(&self, formatter: &mut fmt::Formatter<'_>) -> fmt::Result {
write!(
formatter,
"{} at line {} column {} (byte offset {})",
self.reason, self.line, self.column, self.offset,
)
}
}
impl std::error::Error for JsonLexicalFailure {}