1use syn::Error as SynError;
2use thiserror::Error;
3
4#[derive(Error, Debug)]
5pub enum Error {
6 #[error(transparent)]
7 Syn(#[from] SynError),
8 #[error("Token initialization error: {0}")]
9 TokenInitFailed(String),
10 #[error("Conversion error: {0}")]
11 ConversionFailed(String),
12 #[error("Parser error: {0}")]
13 ParsingFailed(String),
14 #[error(transparent)]
15 IO(#[from] std::io::Error),
16 #[error(transparent)]
17 SerdeJson(#[from] serde_json::Error),
18 #[error("Invalid option type path: {0}")]
19 InvalidOptionTypePath(String),
20 #[error("Invalid result type path: {0}")]
21 InvalidResultTypePath(String),
22 #[error("Invalid non-zero type path: {0}")]
23 InvalidNonZeroTypePath(String),
24}
25
26pub type CainomeResult<T, E = Error> = Result<T, E>;