use core::fmt::{self, Debug};
pub struct Error {
pub code: Code,
pub line: Option<usize>,
pub column: Option<usize>,
pub ptr: Option<usize>,
}
#[derive(Debug, Eq, PartialEq)]
#[non_exhaustive]
pub enum Code {
HashMapDuplicateKey,
SetDuplicateKey,
InvalidChar,
InvalidEscape,
InvalidKeyword,
InvalidNumber,
InvalidRadix(Option<u8>),
UnexpectedEOF,
UnmatchedDelimiter(char),
NoFloatFeature,
}
impl Debug for Error {
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
write!(
f,
"EdnError {{ code: {:?}, line: {:?}, column: {:?}, ptr: {:?} }}",
self.code, self.line, self.column, self.ptr
)
}
}