pub trait FromPrimitive: Sized {
    fn from_i64(n: i64) -> Option<Self>;
    fn from_u64(n: u64) -> Option<Self>;

    fn from_isize(n: isize) -> Option<Self> { ... }
    fn from_i8(n: i8) -> Option<Self> { ... }
    fn from_i16(n: i16) -> Option<Self> { ... }
    fn from_i32(n: i32) -> Option<Self> { ... }
    fn from_usize(n: usize) -> Option<Self> { ... }
    fn from_u8(n: u8) -> Option<Self> { ... }
    fn from_u16(n: u16) -> Option<Self> { ... }
    fn from_u32(n: u32) -> Option<Self> { ... }
    fn from_f32(n: f32) -> Option<Self> { ... }
    fn from_f64(n: f64) -> Option<Self> { ... }
}
Expand description

A generic trait for converting a number to a value.

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.

Required Methods

Converts an i64 to return an optional value of this type. If the value cannot be represented by this type, then None is returned.

Converts an u64 to return an optional value of this type. If the value cannot be represented by this type, then None is returned.

Provided Methods

Converts an isize to return an optional value of this type. If the value cannot be represented by this type, then None is returned.

Converts an i8 to return an optional value of this type. If the value cannot be represented by this type, then None is returned.

Converts an i16 to return an optional value of this type. If the value cannot be represented by this type, then None is returned.

Converts an i32 to return an optional value of this type. If the value cannot be represented by this type, then None is returned.

Converts a usize to return an optional value of this type. If the value cannot be represented by this type, then None is returned.

Converts an u8 to return an optional value of this type. If the value cannot be represented by this type, then None is returned.

Converts an u16 to return an optional value of this type. If the value cannot be represented by this type, then None is returned.

Converts an u32 to return an optional value of this type. If the value cannot be represented by this type, then None is returned.

Converts a f32 to return an optional value of this type. If the value cannot be represented by this type, then None is returned.

Converts a f64 to return an optional value of this type. If the value cannot be represented by this type, then None is returned.

The default implementation tries to convert through from_i64(), and failing that through from_u64(). Types implementing this trait should override this method if they can represent a greater range.

Implementations on Foreign Types

Implementors