1use std::collections::HashMap;
2use super::var::VarId;
3
4#[derive(Debug, PartialEq, Clone, Copy)]
5#[cfg_attr(feature = "serde-support", derive(serde::Serialize))]
6pub enum InvalidValue {
7 WrongType,
8 BadFormat,
9 Empty,
10 WrongValue,
11}
12
13impl std::error::Error for InvalidValue {}
14
15impl std::fmt::Display for InvalidValue {
16 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
17 write!(f, "{:?}", self)
18 }
19}
20
21
22#[derive(Debug, PartialEq, Clone)]
23#[cfg_attr(feature = "serde-support", derive(serde::Serialize))]
24pub struct InvalidVars(pub HashMap<VarId, InvalidValue>);
25impl InvalidVars {
26 pub fn new(invalid: HashMap<VarId, InvalidValue>) -> Self {
27 Self(invalid)
28 }
29}