[−][src]Trait num_traits::AsPrimitive
A generic interface for casting between machine scalars with the
as operator, which admits narrowing and precision loss.
Implementers of this trait AsPrimitive should behave like a primitive
numeric type (e.g. a newtype around another primitive), and the
intended conversion must never fail.
Examples
let three: i32 = (3.14159265f32).as_(); assert_eq!(three, 3);
Safety
Currently, some uses of the as operator are not entirely safe.
In particular, it is undefined behavior if:
- A truncated floating point value cannot fit in the target integer type (#10184);
ⓘThis example is not tested
let x: u8 = (1.04E+17).as_(); // UB
- Or a floating point value does not fit in another floating point type (#15536).
ⓘThis example is not tested
let x: f32 = (1e300f64).as_(); // UB
Required Methods
fn as_(self) -> T
Convert a value to another, using the as operator.
Implementations on Foreign Types
impl AsPrimitive<i128> for i8[src]
impl AsPrimitive<i128> for i8impl AsPrimitive<i64> for isize[src]
impl AsPrimitive<i64> for isizeimpl AsPrimitive<isize> for i64[src]
impl AsPrimitive<isize> for i64impl AsPrimitive<i32> for bool[src]
impl AsPrimitive<i32> for boolimpl AsPrimitive<u32> for i64[src]
impl AsPrimitive<u32> for i64impl AsPrimitive<usize> for i32[src]
impl AsPrimitive<usize> for i32impl AsPrimitive<f64> for i32[src]
impl AsPrimitive<f64> for i32impl AsPrimitive<i128> for u128[src]
impl AsPrimitive<i128> for u128impl AsPrimitive<i128> for u16[src]
impl AsPrimitive<i128> for u16impl AsPrimitive<f32> for i32[src]
impl AsPrimitive<f32> for i32impl AsPrimitive<i32> for u16[src]
impl AsPrimitive<i32> for u16impl AsPrimitive<u16> for bool[src]
impl AsPrimitive<u16> for boolimpl AsPrimitive<u16> for i128[src]
impl AsPrimitive<u16> for i128impl AsPrimitive<usize> for f32[src]
impl AsPrimitive<usize> for f32impl AsPrimitive<i128> for f32[src]
impl AsPrimitive<i128> for f32impl AsPrimitive<i16> for char[src]
impl AsPrimitive<i16> for charimpl AsPrimitive<usize> for u16[src]
impl AsPrimitive<usize> for u16impl AsPrimitive<i64> for f64[src]
impl AsPrimitive<i64> for f64impl AsPrimitive<usize> for u64[src]
impl AsPrimitive<usize> for u64impl AsPrimitive<f64> for u8[src]
impl AsPrimitive<f64> for u8impl AsPrimitive<i8> for isize[src]
impl AsPrimitive<i8> for isizeimpl AsPrimitive<u16> for f64[src]
impl AsPrimitive<u16> for f64impl AsPrimitive<u64> for f32[src]
impl AsPrimitive<u64> for f32impl AsPrimitive<usize> for i64[src]
impl AsPrimitive<usize> for i64impl AsPrimitive<i128> for i64[src]
impl AsPrimitive<i128> for i64impl AsPrimitive<f64> for f32[src]
impl AsPrimitive<f64> for f32impl AsPrimitive<i32> for i64[src]
impl AsPrimitive<i32> for i64impl AsPrimitive<usize> for char[src]
impl AsPrimitive<usize> for charimpl AsPrimitive<i32> for usize[src]
impl AsPrimitive<i32> for usizeimpl AsPrimitive<f32> for u16[src]
impl AsPrimitive<f32> for u16impl AsPrimitive<isize> for isize[src]
impl AsPrimitive<isize> for isizeimpl AsPrimitive<i8> for f64[src]
impl AsPrimitive<i8> for f64impl AsPrimitive<u64> for u8[src]
impl AsPrimitive<u64> for u8impl AsPrimitive<f64> for u32[src]
impl AsPrimitive<f64> for u32impl AsPrimitive<i32> for f64[src]
impl AsPrimitive<i32> for f64impl AsPrimitive<i8> for u64[src]
impl AsPrimitive<i8> for u64impl AsPrimitive<u64> for i8[src]
impl AsPrimitive<u64> for i8impl AsPrimitive<char> for u8[src]
impl AsPrimitive<char> for u8impl AsPrimitive<i8> for i8[src]
impl AsPrimitive<i8> for i8impl AsPrimitive<i16> for bool[src]
impl AsPrimitive<i16> for boolimpl AsPrimitive<u128> for i128[src]
impl AsPrimitive<u128> for i128impl AsPrimitive<u64> for usize[src]
impl AsPrimitive<u64> for usizeimpl AsPrimitive<u128> for u64[src]
impl AsPrimitive<u128> for u64impl AsPrimitive<f32> for i8[src]
impl AsPrimitive<f32> for i8impl AsPrimitive<i16> for u64[src]
impl AsPrimitive<i16> for u64impl AsPrimitive<isize> for u128[src]
impl AsPrimitive<isize> for u128impl AsPrimitive<i128> for u64[src]
impl AsPrimitive<i128> for u64impl AsPrimitive<i128> for char[src]
impl AsPrimitive<i128> for charimpl AsPrimitive<u8> for i8[src]
impl AsPrimitive<u8> for i8impl AsPrimitive<usize> for u128[src]
impl AsPrimitive<usize> for u128impl AsPrimitive<i128> for usize[src]
impl AsPrimitive<i128> for usizeimpl AsPrimitive<f32> for i128[src]
impl AsPrimitive<f32> for i128impl AsPrimitive<f32> for u128[src]
impl AsPrimitive<f32> for u128impl AsPrimitive<f64> for isize[src]
impl AsPrimitive<f64> for isizeimpl AsPrimitive<f32> for u32[src]
impl AsPrimitive<f32> for u32impl AsPrimitive<u32> for i16[src]
impl AsPrimitive<u32> for i16impl AsPrimitive<f64> for f64[src]
impl AsPrimitive<f64> for f64impl AsPrimitive<u64> for char[src]
impl AsPrimitive<u64> for charimpl AsPrimitive<isize> for u16[src]
impl AsPrimitive<isize> for u16impl AsPrimitive<i16> for i16[src]
impl AsPrimitive<i16> for i16impl AsPrimitive<i32> for char[src]
impl AsPrimitive<i32> for charimpl AsPrimitive<i16> for u8[src]
impl AsPrimitive<i16> for u8impl AsPrimitive<u32> for char[src]
impl AsPrimitive<u32> for charimpl AsPrimitive<i64> for bool[src]
impl AsPrimitive<i64> for boolimpl AsPrimitive<u64> for isize[src]
impl AsPrimitive<u64> for isizeimpl AsPrimitive<i8> for bool[src]
impl AsPrimitive<i8> for boolimpl AsPrimitive<u64> for u32[src]
impl AsPrimitive<u64> for u32impl AsPrimitive<u64> for i128[src]
impl AsPrimitive<u64> for i128impl AsPrimitive<usize> for i16[src]
impl AsPrimitive<usize> for i16impl AsPrimitive<u16> for isize[src]
impl AsPrimitive<u16> for isizeimpl AsPrimitive<i8> for u32[src]
impl AsPrimitive<i8> for u32impl AsPrimitive<u128> for i16[src]
impl AsPrimitive<u128> for i16impl AsPrimitive<usize> for bool[src]
impl AsPrimitive<usize> for boolimpl AsPrimitive<isize> for i32[src]
impl AsPrimitive<isize> for i32impl AsPrimitive<i8> for u16[src]
impl AsPrimitive<i8> for u16impl AsPrimitive<i16> for f64[src]
impl AsPrimitive<i16> for f64impl AsPrimitive<u64> for f64[src]
impl AsPrimitive<u64> for f64impl AsPrimitive<u128> for u16[src]
impl AsPrimitive<u128> for u16impl AsPrimitive<i16> for isize[src]
impl AsPrimitive<i16> for isizeimpl AsPrimitive<u16> for char[src]
impl AsPrimitive<u16> for charimpl AsPrimitive<u32> for u128[src]
impl AsPrimitive<u32> for u128impl AsPrimitive<i128> for u32[src]
impl AsPrimitive<i128> for u32impl AsPrimitive<i16> for usize[src]
impl AsPrimitive<i16> for usizeimpl AsPrimitive<u16> for i16[src]
impl AsPrimitive<u16> for i16impl AsPrimitive<i64> for i8[src]
impl AsPrimitive<i64> for i8impl AsPrimitive<i16> for u128[src]
impl AsPrimitive<i16> for u128impl AsPrimitive<u128> for f64[src]
impl AsPrimitive<u128> for f64impl AsPrimitive<f64> for u128[src]
impl AsPrimitive<f64> for u128impl AsPrimitive<i16> for i8[src]
impl AsPrimitive<i16> for i8impl AsPrimitive<u16> for usize[src]
impl AsPrimitive<u16> for usizeimpl AsPrimitive<u16> for u64[src]
impl AsPrimitive<u16> for u64impl AsPrimitive<u8> for i64[src]
impl AsPrimitive<u8> for i64impl AsPrimitive<u128> for u128[src]
impl AsPrimitive<u128> for u128impl AsPrimitive<u32> for i32[src]
impl AsPrimitive<u32> for i32impl AsPrimitive<i64> for i32[src]
impl AsPrimitive<i64> for i32impl AsPrimitive<u128> for bool[src]
impl AsPrimitive<u128> for boolimpl AsPrimitive<i64> for f32[src]
impl AsPrimitive<i64> for f32impl AsPrimitive<usize> for i128[src]
impl AsPrimitive<usize> for i128impl AsPrimitive<usize> for usize[src]
impl AsPrimitive<usize> for usizeimpl AsPrimitive<i8> for i32[src]
impl AsPrimitive<i8> for i32impl AsPrimitive<i16> for u16[src]
impl AsPrimitive<i16> for u16impl AsPrimitive<i32> for u32[src]
impl AsPrimitive<i32> for u32impl AsPrimitive<usize> for u8[src]
impl AsPrimitive<usize> for u8impl AsPrimitive<f64> for i8[src]
impl AsPrimitive<f64> for i8impl AsPrimitive<f32> for u64[src]
impl AsPrimitive<f32> for u64impl AsPrimitive<i32> for i16[src]
impl AsPrimitive<i32> for i16impl AsPrimitive<u128> for usize[src]
impl AsPrimitive<u128> for usizeimpl AsPrimitive<u8> for i128[src]
impl AsPrimitive<u8> for i128impl AsPrimitive<u32> for u32[src]
impl AsPrimitive<u32> for u32impl AsPrimitive<i32> for i128[src]
impl AsPrimitive<i32> for i128impl AsPrimitive<i64> for u32[src]
impl AsPrimitive<i64> for u32impl AsPrimitive<u32> for i8[src]
impl AsPrimitive<u32> for i8impl AsPrimitive<u128> for i64[src]
impl AsPrimitive<u128> for i64impl AsPrimitive<usize> for u32[src]
impl AsPrimitive<usize> for u32impl AsPrimitive<i32> for isize[src]
impl AsPrimitive<i32> for isizeimpl AsPrimitive<i32> for i32[src]
impl AsPrimitive<i32> for i32impl AsPrimitive<u32> for usize[src]
impl AsPrimitive<u32> for usizeimpl AsPrimitive<u32> for u8[src]
impl AsPrimitive<u32> for u8impl AsPrimitive<isize> for i8[src]
impl AsPrimitive<isize> for i8impl AsPrimitive<isize> for i16[src]
impl AsPrimitive<isize> for i16impl AsPrimitive<f64> for i64[src]
impl AsPrimitive<f64> for i64impl AsPrimitive<isize> for bool[src]
impl AsPrimitive<isize> for boolimpl AsPrimitive<u128> for i8[src]
impl AsPrimitive<u128> for i8impl AsPrimitive<u8> for u128[src]
impl AsPrimitive<u8> for u128impl AsPrimitive<i128> for isize[src]
impl AsPrimitive<i128> for isizeimpl AsPrimitive<usize> for f64[src]
impl AsPrimitive<usize> for f64impl AsPrimitive<u16> for i64[src]
impl AsPrimitive<u16> for i64impl AsPrimitive<i64> for i16[src]
impl AsPrimitive<i64> for i16impl AsPrimitive<i64> for i128[src]
impl AsPrimitive<i64> for i128impl AsPrimitive<u8> for f64[src]
impl AsPrimitive<u8> for f64impl AsPrimitive<i16> for u32[src]
impl AsPrimitive<i16> for u32impl AsPrimitive<isize> for f32[src]
impl AsPrimitive<isize> for f32impl AsPrimitive<u32> for f32[src]
impl AsPrimitive<u32> for f32impl AsPrimitive<u8> for u64[src]
impl AsPrimitive<u8> for u64impl AsPrimitive<isize> for i128[src]
impl AsPrimitive<isize> for i128impl AsPrimitive<i64> for u16[src]
impl AsPrimitive<i64> for u16impl AsPrimitive<u16> for u128[src]
impl AsPrimitive<u16> for u128impl AsPrimitive<u128> for i32[src]
impl AsPrimitive<u128> for i32impl AsPrimitive<i64> for u128[src]
impl AsPrimitive<i64> for u128impl AsPrimitive<i32> for u64[src]
impl AsPrimitive<i32> for u64impl AsPrimitive<u8> for i16[src]
impl AsPrimitive<u8> for i16impl AsPrimitive<u8> for u32[src]
impl AsPrimitive<u8> for u32impl AsPrimitive<i128> for i16[src]
impl AsPrimitive<i128> for i16impl AsPrimitive<f64> for i128[src]
impl AsPrimitive<f64> for i128impl AsPrimitive<f32> for isize[src]
impl AsPrimitive<f32> for isizeimpl AsPrimitive<u8> for u16[src]
impl AsPrimitive<u8> for u16impl AsPrimitive<u8> for u8[src]
impl AsPrimitive<u8> for u8impl AsPrimitive<i32> for u128[src]
impl AsPrimitive<i32> for u128impl AsPrimitive<i8> for u8[src]
impl AsPrimitive<i8> for u8impl AsPrimitive<i64> for u8[src]
impl AsPrimitive<i64> for u8impl AsPrimitive<u8> for f32[src]
impl AsPrimitive<u8> for f32impl AsPrimitive<i8> for i128[src]
impl AsPrimitive<i8> for i128impl AsPrimitive<i8> for f32[src]
impl AsPrimitive<i8> for f32impl AsPrimitive<f64> for u64[src]
impl AsPrimitive<f64> for u64impl AsPrimitive<u32> for u64[src]
impl AsPrimitive<u32> for u64impl AsPrimitive<i8> for char[src]
impl AsPrimitive<i8> for charimpl AsPrimitive<i16> for i32[src]
impl AsPrimitive<i16> for i32impl AsPrimitive<isize> for u8[src]
impl AsPrimitive<isize> for u8impl AsPrimitive<usize> for isize[src]
impl AsPrimitive<usize> for isizeimpl AsPrimitive<u8> for usize[src]
impl AsPrimitive<u8> for usizeimpl AsPrimitive<u16> for u16[src]
impl AsPrimitive<u16> for u16impl AsPrimitive<i16> for i128[src]
impl AsPrimitive<i16> for i128impl AsPrimitive<u64> for u16[src]
impl AsPrimitive<u64> for u16impl AsPrimitive<u16> for f32[src]
impl AsPrimitive<u16> for f32impl AsPrimitive<u32> for isize[src]
impl AsPrimitive<u32> for isizeimpl AsPrimitive<i128> for u8[src]
impl AsPrimitive<i128> for u8impl AsPrimitive<isize> for u64[src]
impl AsPrimitive<isize> for u64impl AsPrimitive<i128> for bool[src]
impl AsPrimitive<i128> for boolimpl AsPrimitive<i8> for usize[src]
impl AsPrimitive<i8> for usizeimpl AsPrimitive<i128> for f64[src]
impl AsPrimitive<i128> for f64impl AsPrimitive<u64> for bool[src]
impl AsPrimitive<u64> for boolimpl AsPrimitive<isize> for usize[src]
impl AsPrimitive<isize> for usizeimpl AsPrimitive<u16> for i32[src]
impl AsPrimitive<u16> for i32impl AsPrimitive<i8> for i64[src]
impl AsPrimitive<i8> for i64impl AsPrimitive<u32> for u16[src]
impl AsPrimitive<u32> for u16impl AsPrimitive<i64> for usize[src]
impl AsPrimitive<i64> for usizeimpl AsPrimitive<i16> for f32[src]
impl AsPrimitive<i16> for f32impl AsPrimitive<u8> for isize[src]
impl AsPrimitive<u8> for isizeimpl AsPrimitive<isize> for u32[src]
impl AsPrimitive<isize> for u32impl AsPrimitive<u128> for u32[src]
impl AsPrimitive<u128> for u32impl AsPrimitive<isize> for f64[src]
impl AsPrimitive<isize> for f64impl AsPrimitive<u64> for i64[src]
impl AsPrimitive<u64> for i64impl AsPrimitive<f32> for u8[src]
impl AsPrimitive<f32> for u8impl AsPrimitive<usize> for i8[src]
impl AsPrimitive<usize> for i8impl AsPrimitive<i8> for u128[src]
impl AsPrimitive<i8> for u128impl AsPrimitive<f32> for i64[src]
impl AsPrimitive<f32> for i64impl AsPrimitive<u16> for u32[src]
impl AsPrimitive<u16> for u32impl AsPrimitive<u8> for char[src]
impl AsPrimitive<u8> for charimpl AsPrimitive<u64> for u128[src]
impl AsPrimitive<u64> for u128impl AsPrimitive<u32> for bool[src]
impl AsPrimitive<u32> for boolimpl AsPrimitive<f32> for f64[src]
impl AsPrimitive<f32> for f64impl AsPrimitive<f64> for u16[src]
impl AsPrimitive<f64> for u16impl AsPrimitive<u128> for char[src]
impl AsPrimitive<u128> for charimpl AsPrimitive<i64> for i64[src]
impl AsPrimitive<i64> for i64impl AsPrimitive<f64> for usize[src]
impl AsPrimitive<f64> for usizeimpl AsPrimitive<i64> for u64[src]
impl AsPrimitive<i64> for u64impl AsPrimitive<u32> for i128[src]
impl AsPrimitive<u32> for i128impl AsPrimitive<i8> for i16[src]
impl AsPrimitive<i8> for i16impl AsPrimitive<u16> for i8[src]
impl AsPrimitive<u16> for i8impl AsPrimitive<u64> for u64[src]
impl AsPrimitive<u64> for u64impl AsPrimitive<i128> for i32[src]
impl AsPrimitive<i128> for i32impl AsPrimitive<i16> for i64[src]
impl AsPrimitive<i16> for i64impl AsPrimitive<u16> for u8[src]
impl AsPrimitive<u16> for u8impl AsPrimitive<u128> for isize[src]
impl AsPrimitive<u128> for isizeimpl AsPrimitive<u64> for i32[src]
impl AsPrimitive<u64> for i32impl AsPrimitive<i32> for i8[src]
impl AsPrimitive<i32> for i8impl AsPrimitive<f64> for i16[src]
impl AsPrimitive<f64> for i16impl AsPrimitive<i128> for i128[src]
impl AsPrimitive<i128> for i128impl AsPrimitive<isize> for char[src]
impl AsPrimitive<isize> for charimpl AsPrimitive<f32> for i16[src]
impl AsPrimitive<f32> for i16impl AsPrimitive<u32> for f64[src]
impl AsPrimitive<u32> for f64impl AsPrimitive<char> for char[src]
impl AsPrimitive<char> for charimpl AsPrimitive<u128> for f32[src]
impl AsPrimitive<u128> for f32impl AsPrimitive<u128> for u8[src]
impl AsPrimitive<u128> for u8impl AsPrimitive<i64> for char[src]
impl AsPrimitive<i64> for charimpl AsPrimitive<u64> for i16[src]
impl AsPrimitive<u64> for i16impl AsPrimitive<u8> for i32[src]
impl AsPrimitive<u8> for i32impl AsPrimitive<f32> for usize[src]
impl AsPrimitive<f32> for usizeimpl AsPrimitive<u8> for bool[src]
impl AsPrimitive<u8> for boolimpl AsPrimitive<f32> for f32[src]
impl AsPrimitive<f32> for f32impl AsPrimitive<i32> for u8[src]
impl AsPrimitive<i32> for u8impl AsPrimitive<i32> for f32[src]
impl AsPrimitive<i32> for f32