use std::fmt;
#[derive(Debug, Clone, PartialEq, Eq)]
pub enum Error {
UnknownVariable(String),
ParserError,
UnsupportedExpression,
RecursiveDefinition(String),
}
impl fmt::Display for Error {
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
match self {
Self::UnknownVariable(var_name) => write!(f, "unknown variable {}", var_name),
Self::ParserError => write!(f, "parser error"),
Self::UnsupportedExpression => write!(f, "unsupported expression"),
Self::RecursiveDefinition(macro_name) => write!(f, "recursive macro definition {}", macro_name),
}
}
}