pub trait Residual<O> {
type TryType: Try
where
<Self::TryType as Try>::Output == O,
<Self::TryType as Try>::Residual == Self;
}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>.