btrfsutil/error/
mod.rs

1//! Library errors
2
3#[cfg(feature = "enable-glue-errors")]
4use thiserror::Error;
5
6#[macro_use]
7pub(crate) mod glue;
8pub(crate) mod lib;
9
10pub use glue::GlueError;
11pub use lib::LibError;
12pub(crate) use lib::LibErrorCode;
13
14/// Generic library error type. May be either a [LibError] or a [GlueError].
15///
16/// [GlueError]: enum.LibError.html
17/// [GlueError]: enum.GlueError.html
18#[cfg(feature = "enable-glue-errors")]
19#[derive(Clone, Debug, Eq, Error, PartialEq)]
20pub enum BtrfsUtilError {
21    /// Glue error
22    #[error("{0}")]
23    Glue(GlueError),
24    /// Library error
25    #[error("{0}")]
26    Lib(LibError),
27}
28
29#[cfg(not(feature = "enable-glue-errors"))]
30/// Generic library error type. If [GlueError]s happen, they will panic.
31///
32/// [GlueError]: enum.GlueError.html
33pub type BtrfsUtilError = LibError;