conv::errors

Trait Saturate

Source
pub trait Saturate {
    type Output;

    // Required method
    fn saturate(self) -> Self::Output;
}
Expand description

Saturates a Result.

Required Associated Types§

Source

type Output

The result of saturating.

Required Methods§

Source

fn saturate(self) -> Self::Output

Replaces an overflow error with a saturated value.

Unlike unwrap_or_saturate, this method can be used in cases where the Result error type can encode failures other than overflow and underflow. For example, you cannot saturate a float-to-integer conversion using unwrap_or_saturate as the error might be NotANumber, which doesn’t have a meaningful saturation “direction”.

The output of this method will be a Result where the error type does not contain overflow conditions. What conditions remain must still be dealt with in some fashion.

Implementations on Foreign Types§

Source§

impl<T> Saturate for Result<T, RangeErrorKind>
where T: Saturated,

Source§

impl<T, U> Saturate for Result<T, FloatError<U>>
where T: Saturated,

Source§

impl<T, U> Saturate for Result<T, RangeError<U>>
where T: Saturated,

Implementors§