microcad_lang/value/
value_error.rs1use miette::Diagnostic;
7use crate::value::{error::QuantityError, *};
8use thiserror::Error;
9
10#[derive(Debug, Error, Diagnostic)]
12pub enum ValueError {
13 #[error("Invalid operator: {0}")]
15 InvalidOperator(String),
16
17 #[error("Quantity error: {0}")]
19 QuantityError(#[from] QuantityError),
20
21 #[error("Cannot convert named tuple to color: {0}")]
23 CannotConvertToColor(String),
24
25 #[error("Cannot add unit to a value that has already a unit: {0}")]
27 CannotAddUnitToValueWithUnit(String),
28
29 #[error("Cannot convert value {0} to {1}")]
31 CannotConvert(String, String),
32
33 #[error("Cannot convert value into boolean: {0}")]
35 CannotConvertToBool(String),
36
37 #[error("Cannot concat two vec with different types {0} and {1}")]
39 CannotCombineVecOfDifferentType(Type, Type),
40
41 #[error("Tuple type mismatch: lhs={lhs}, rhs={rhs}")]
43 TupleTypeMismatch {
44 lhs: Type,
46 rhs: Type,
48 },
49
50 #[error("Duplicate parameter: {0}")]
52 DuplicateParameter(Identifier),
53
54 #[error("Identifier not found: {0}")]
56 IdNotFound(Identifier),
57
58 #[error("Common type expected")]
60 CommonTypeExpected,
61}