1use std::sync::Arc;
4
5use thiserror::Error as ThisError;
6
7pub type Result<T> = std::result::Result<T, Error>;
9
10#[derive(ThisError, Debug)]
12pub enum Error {
13 #[error("io error")]
15 Io(#[from] std::io::Error),
16 #[error("template error")]
18 Template(#[from] tera::Error),
19 #[error("error running Spectre")]
21 SpectreError,
22 #[error("error parsing Spectre output file")]
24 Parse,
25 #[error("error generating spectre results")]
27 Generator(#[from] Arc<Error>),
28 #[error("error generating spectre results")]
30 Caching(#[from] Arc<cache::error::Error>),
31}