num::cast

Trait NumCast

Source
pub trait NumCast: Sized + ToPrimitive {
    // Required method
    fn from<T>(n: T) -> Option<Self>
       where T: ToPrimitive;
}
Expand description

An interface for casting between machine scalars.

Required Methods§

Source

fn from<T>(n: T) -> Option<Self>
where T: ToPrimitive,

Creates a number from another value that can be converted into a primitive via the ToPrimitive trait. If the source value cannot be represented by the target type, then None is returned.

A value can be represented by the target type when it lies within the range of scalars supported by the target type. For example, a negative integer cannot be represented by an unsigned integer type, and an i64 with a very high magnitude might not be convertible to an i32. On the other hand, conversions with possible precision loss or truncation are admitted, like an f32 with a decimal part to an integer type, or even a large f64 saturating to f32 infinity.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementations on Foreign Types§

Source§

impl NumCast for f32

Source§

fn from<N>(n: N) -> Option<f32>
where N: ToPrimitive,

Source§

impl NumCast for f64

Source§

fn from<N>(n: N) -> Option<f64>
where N: ToPrimitive,

Source§

impl NumCast for i8

Source§

fn from<N>(n: N) -> Option<i8>
where N: ToPrimitive,

Source§

impl NumCast for i16

Source§

fn from<N>(n: N) -> Option<i16>
where N: ToPrimitive,

Source§

impl NumCast for i32

Source§

fn from<N>(n: N) -> Option<i32>
where N: ToPrimitive,

Source§

impl NumCast for i64

Source§

fn from<N>(n: N) -> Option<i64>
where N: ToPrimitive,

Source§

impl NumCast for i128

Source§

fn from<N>(n: N) -> Option<i128>
where N: ToPrimitive,

Source§

impl NumCast for isize

Source§

fn from<N>(n: N) -> Option<isize>
where N: ToPrimitive,

Source§

impl NumCast for u8

Source§

fn from<N>(n: N) -> Option<u8>
where N: ToPrimitive,

Source§

impl NumCast for u16

Source§

fn from<N>(n: N) -> Option<u16>
where N: ToPrimitive,

Source§

impl NumCast for u32

Source§

fn from<N>(n: N) -> Option<u32>
where N: ToPrimitive,

Source§

impl NumCast for u64

Source§

fn from<N>(n: N) -> Option<u64>
where N: ToPrimitive,

Source§

impl NumCast for u128

Source§

fn from<N>(n: N) -> Option<u128>
where N: ToPrimitive,

Source§

impl NumCast for usize

Source§

fn from<N>(n: N) -> Option<usize>
where N: ToPrimitive,

Source§

impl<T> NumCast for Wrapping<T>
where T: NumCast,

Source§

fn from<U>(n: U) -> Option<Wrapping<T>>
where U: ToPrimitive,

Implementors§

Source§

impl<T> NumCast for Complex<T>
where T: NumCast + Num,