capsula_core/
error.rs

1use std::{io, path::PathBuf};
2use thiserror::Error;
3
4/// Library-wide result alias
5pub type CoreResult<T> = Result<T, CoreError>;
6
7#[derive(Debug, Error)]
8pub enum CoreError {
9    #[error("I/O error at {path:?}: {source}")]
10    Io {
11        path: Option<PathBuf>,
12        #[source]
13        source: io::Error,
14    },
15}
16
17impl From<std::io::Error> for CoreError {
18    fn from(e: std::io::Error) -> Self {
19        CoreError::Io {
20            path: None,
21            source: e,
22        }
23    }
24}