indexbus_platform/
errors.rs

1//! Error and `Result` conventions for the `indexbus-platform` umbrella.
2//!
3//! This crate mostly re-exports platform crates; the canonical platform error types
4//! live in each leaf crate.
5
6/// Convenience alias for results that use the umbrella's error.
7///
8/// Prefer leaf-crate `Result` types when integrating a specific subsystem.
9pub type Result<T> = core::result::Result<T, Error>;
10
11/// Umbrella error type.
12///
13/// This is intentionally minimal; prefer leaf-crate error types when possible.
14#[derive(Debug)]
15pub enum Error {
16    /// A simple, human-readable error message.
17    Message(String),
18}
19
20impl core::fmt::Display for Error {
21    fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
22        match self {
23            Error::Message(message) => write!(f, "{message}"),
24        }
25    }
26}
27
28#[cfg(feature = "std")]
29impl std::error::Error for Error {}