Skip to main content

spec_drift/
error.rs

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}