use Error;
/// Crate-wide result alias.
pub type Result<T> = Result;
/// Errors from the pure core. Two failure kinds live in their own types rather than
/// here: a command's `%error` reply is [`crate::CommandError`], and session teardown
/// is [`crate::Notification::Exit`] — drivers own their own `std::io` errors. So the
/// core's only fallible operation is layout parsing. `#[non_exhaustive]` keeps adding
/// a future variant non-breaking.