#![forbid(unsafe_code)]
#![cfg_attr(not(feature = "std"), no_std)]
#![warn(missing_docs)]
#![cfg_attr(docsrs, feature(doc_cfg))]
extern crate alloc;
pub mod cause;
pub mod convert;
mod error;
mod inner;
mod kind;
#[doc = include_str!("../README.md")]
mod readme_tests {}
pub use cause::Cause;
pub use convert::{
ErrorContext, ErrorContextDisplay, ResultContext, ResultContextDisplay, UniResultContext,
UniResultContextModify,
};
pub use error::*;
pub use kind::*;
pub type UniResult<T, K> = Result<T, UniError<K>>;
pub type SimpleError = UniError<()>;
pub type SimpleResult<T> = Result<T, SimpleError>;
pub type DynError = UniError<dyn UniKind>;
pub type DynResult<T> = Result<T, DynError>;
pub type DynCodeError<C> = UniError<dyn UniKindCode<Code = C>>;
pub type DynCodeResult<T, C> = Result<T, DynCodeError<C>>;
pub type DynCodesError<C, C2> = UniError<dyn UniKindCodes<Code = C, Code2 = C2>>;
pub type DynCodesResult<T, C, C2> = Result<T, DynCodesError<C, C2>>;