Trait creusot_contracts::std::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)
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§

source

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

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

The “return” type of this meta-function.

Implementors§

source§

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

§

type TryType = ControlFlow<B, C>

source§

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

§

type TryType = Option<T>

source§

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

§

type TryType = Result<T, E>