use thiserror::Error;
use crate::core::errors::ConversionError;
use crate::core::errors::EncodeError;
use crate::core::errors::MiscError;
use crate::core::errors::ParserError;
use crate::cache::CacheBuilderError;
use crate::cache::CacheError;
use crate::cache::EntryIterError;
use crate::cache::TagIterError;
use crate::probe::ProbeBuilderError;
use crate::probe::ProbeError;
use crate::probe::TopologyError;
#[allow(dead_code)]
pub type Result<T> = std::result::Result<T, RsBlkidError>;
#[derive(Clone, Debug, Error, Hash, Eq, PartialEq, Ord, PartialOrd)]
#[non_exhaustive]
pub enum RsBlkidError {
#[error(transparent)]
Cache(#[from] CacheError),
#[error(transparent)]
CacheBuilder(#[from] CacheBuilderError),
#[error(transparent)]
Conversion(#[from] ConversionError),
#[error(transparent)]
Encode(#[from] EncodeError),
#[error(transparent)]
EntryIter(#[from] EntryIterError),
#[error(transparent)]
Misc(#[from] MiscError),
#[error(transparent)]
Parser(#[from] ParserError),
#[error(transparent)]
Probe(#[from] ProbeError),
#[error(transparent)]
ProbeBuilder(#[from] ProbeBuilderError),
#[error(transparent)]
TagIter(#[from] TagIterError),
#[error(transparent)]
Topology(#[from] TopologyError),
}