1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
//! This crate provides two things:
//!
//! [`tres_result::Trace`], a trait that enables an error value to be traced as
//! it propagates through different parts of the source code.
//!
//! [`tres_result::Result`], a drop-in substitute for [`Result`] that allows
//! tracking the propagation of [`Trace`]-able errors using the `?` operator.
//!
//! [`tres_result::Trace`]: crate::Trace
//! [`tres_result::Result`]: crate::Result
//! [`Result`]: core::result::Result
#![feature(try_trait_v2)]
// Needed in order to implement certain unstable apis on [`Result`].
#![feature(never_type, trusted_len)]
#![warn(unsafe_op_in_unsafe_fn)]
// TODO:
// * Add crate features to correspond to the core Result features.
mod result;
mod trace;
pub use result::Result;
pub use trace::Trace;