1use std::path::PathBuf;
2
3#[derive(Debug, thiserror::Error)]
4pub enum SpecDriftError {
5 #[error("I/O error at {path}: {source}")]
6 Io {
7 path: PathBuf,
8 #[source]
9 source: std::io::Error,
10 },
11
12 #[error("failed to parse Rust source {path}: {source}")]
13 RustParse {
14 path: PathBuf,
15 #[source]
16 source: syn::Error,
17 },
18
19 #[error("project walk failed: {0}")]
20 Walk(#[from] ignore::Error),
21
22 #[error("invalid config at {path}: {message}")]
23 Config { path: PathBuf, message: String },
24
25 #[error("baseline error at {path}: {message}")]
26 Baseline { path: PathBuf, message: String },
27}