logo
pub trait Residual<O> {
    type TryType: Try
    where
        <Self::TryType as Try>::Output == O,
        <Self::TryType as Try>::Residual == Self
; }
🔬 This is a nightly-only experimental API. (try_trait_v2_residual)
Available on crate feature mtls only.
Expand description

Allows retrieving the canonical type implementing Try that has this type as its residual and allows it to hold an O as its output.

If you think of the Try trait as splitting a type into its Try::Output and Try::Residual components, this allows putting them back together.

For example, Result<T, E>: Try<Output = T, Residual = Result<Infallible, E>>, and in the other direction, <Result<Infallible, E> as Residual<T>>::TryType = Result<T, E>.

Required Associated Types

🔬 This is a nightly-only experimental API. (try_trait_v2_residual)

The “return” type of this meta-function.

Implementors