use thiserror::Error; pub type Result = core::result::Result; #[derive(Error, Debug)] pub enum Error { #[error("error occurred during parse stage: {0}")] ParseError(String), #[error("error occurred during downgrade stage: {0}")] DowngradeError(String), #[error("error occurred during evaluation stage: {0}")] EvalError(String), #[error("error occurred during JIT compile stage: {0}")] CompileError(#[from] inkwell::builder::BuilderError), #[error("unknown error")] Unknown, }