Skip to main content

CastApprox

Trait CastApprox 

Source
pub trait CastApprox<T> {
    // Required methods
    fn try_cast_approx(self) -> Result<T>;
    fn cast_approx(self) -> T;
}
Expand description

Like Into, but for ConvApprox

On success, the result must be approximately the same as the input value: the difference must be smaller than the precision of the target type. For example, one may have 1.9f32.cast_approx() = 1.

Precise rounding mode should usually be truncation (round towards zero), but this is not required. Use CastFloat where a specific rounding mode is required.

This trait is automatically implemented for every implementation of ConvApprox.

Required Methods§

Source

fn try_cast_approx(self) -> Result<T>

Try approximate conversion from Self to T

Use this method to explicitly handle errors.

Source

fn cast_approx(self) -> T

Cast approximately from Self to T

Use this method only where success is expected: implementations are permitted to panic or silently return a different (safe, defined) value on error.

In debug builds, implementations must panic.

Implementations by this library will panic in debug builds or if the always_assert feature flag is used, otherwise conversions have the same behaviour as the as keyword.

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§

Source§

impl<S, T: ConvApprox<S>> CastApprox<T> for S