#![allow(unused)]
#[derive(Debug, thiserror::Error, miette::Diagnostic)]
pub enum CljxError {
#[error("read error: {message}")]
#[diagnostic(code(cljrs::read))]
ReadError {
message: String,
#[label("here")]
span: Option<miette::SourceSpan>,
#[source_code]
src: miette::NamedSource<String>,
},
#[error("eval error: {message}")]
#[diagnostic(code(cljrs::eval))]
EvalError {
message: String,
#[label("here")]
span: Option<miette::SourceSpan>,
#[source_code]
src: miette::NamedSource<String>,
},
#[error("I/O error: {0}")]
Io(#[from] std::io::Error),
#[error("Serialization error: {message}")]
SerializationError { message: String },
}
pub type CljxResult<T> = Result<T, CljxError>;