Trait core::ops::Residual

source ·
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::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§


type TryType: Try<Output = O, Residual = Self>

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

The “return” type of this meta-function.



impl<B, C> Residual<C> for ControlFlow<B, Infallible>


type TryType = ControlFlow<B, C>


impl<T> Residual<T> for Option<Infallible>


type TryType = Option<T>


impl<T, E> Residual<T> for Result<Infallible, E>


type TryType = Result<T, E>