1use thiserror::Error;
2
3pub type ResolverResult<T> = Result<T, ResolverError>;
4
5use crate::MiniStr;
6
7#[derive(Debug, Error)]
14pub enum ResolverError {
15 #[error("Undefined variable: {0}")]
16 UndefinedVariable(MiniStr),
17 #[error("Missing paramter: {0}")]
19 MissingParameter(MiniStr),
20 #[error("No default branch: {0}")]
22 NoDefaultBranch(MiniStr),
23 #[error("Parse error: {0}")]
25 ParseError(MiniStr),
26 #[cfg(feature = "std")]
28 #[error("I/O error: {0}")]
29 IoError(#[from] std::io::Error),
30 #[cfg(feature = "bincode")]
32 #[error("Bincode serialization error: {0}")]
33 EncodeBinError(#[from] bincode::error::EncodeError),
34 #[cfg(feature = "bincode")]
36 #[error("Bincode deserialization error: {0}")]
37 DecodeBinError(#[from] bincode::error::DecodeError),
38
39 #[cfg(feature = "toml")]
40 #[error("TOML deserialization error: {0}")]
41 DecodeTomlError(#[from] toml::de::Error),
42
43 #[cfg(feature = "toml")]
44 #[error("TOML serialization error: {0}")]
45 EncodeTomlError(#[from] toml::ser::Error), }