#[non_exhaustive]pub enum Error {
Width(WidthError),
Value(ValueError),
StaleExpr,
ForeignExpr,
SymbolWidthConflict {
key: SymbolKey,
have: Width,
want: Width,
},
ArenaFull {
limit: u32,
},
UnboundSymbol {
key: SymbolKey,
},
EnvWidth {
key: SymbolKey,
expected: Width,
got: Width,
},
Syntax(SyntaxError),
DuplicateSubstitution,
Unsupported(String),
Contract(String),
}Expand description
Errors from building, inspecting, evaluating or parsing expressions.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Width(WidthError)
A width rule was violated (operand mismatch, bad cast, …).
Value(ValueError)
A value does not fit.
StaleExpr
A handle from this context, but from before the last Context::clear.
ForeignExpr
A handle from a different context.
SymbolWidthConflict
A symbol key was requested at a width different from the one it already has.
Fields
ArenaFull
The arena reached its configured node limit.
UnboundSymbol
Evaluation reached a symbol the environment does not bind.
EnvWidth
The environment bound a symbol to a value of the wrong width.
Fields
Syntax(SyntaxError)
A syntax or typing error in expression text.
DuplicateSubstitution
substitute was given the same expression to replace twice.
Unsupported(String)
The operation does not support this input (the reason).
Contract(String)
An internal contract was violated: a library defect, or an unsound rule linked without a proof (the description).
Trait Implementations§
impl Eq for Error
Source§impl Error for Error
impl Error for Error
Source§fn source(&self) -> Option<&(dyn Error + 'static)>
fn source(&self) -> Option<&(dyn Error + 'static)>
1.0.0 · Source§fn description(&self) -> &str
fn description(&self) -> &str
use the Display impl or to_string()