Residual in std::ops - Rust (original) (raw)

pub trait Residual<O> {
    type TryType: Try<Output = O, Residual = Self>;
}

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

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::Outputand 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>.

Source

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

The “return” type of this meta-function.