1use std::fmt;
2
3#[derive(Debug, Clone, PartialEq, Eq)]
5pub enum Error {
6 UnknownVariable(String),
8 ParserError,
10 UnsupportedExpression,
12 RecursiveDefinition(String),
14}
15
16impl fmt::Display for Error {
17 fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
18 match self {
19 Self::UnknownVariable(var_name) => write!(f, "unknown variable {}", var_name),
20 Self::ParserError => write!(f, "parser error"),
21 Self::UnsupportedExpression => write!(f, "unsupported expression"),
22 Self::RecursiveDefinition(macro_name) => write!(f, "recursive macro definition {}", macro_name),
23 }
24 }
25}