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}