pub trait CastFromAs {
// Required methods
fn from_i8(n: i8) -> Self;
fn from_i16(n: i16) -> Self;
fn from_i32(n: i32) -> Self;
fn from_i64(n: i64) -> Self;
fn from_isize(n: isize) -> Self;
fn from_i128(n: i128) -> Self;
fn from_u8(n: u8) -> Self;
fn from_u16(n: u16) -> Self;
fn from_u32(n: u32) -> Self;
fn from_u64(n: u64) -> Self;
fn from_usize(n: usize) -> Self;
fn from_u128(n: u128) -> Self;
}cast_from_as only.Expand description
The CastFromAs trait for simple convert from value between integer types with possible overflow.
- No generic data type used in the trait definition.
- Easy implementation when used as a super trait.
§Usage
Basic use of the trait.
use num_convert::CastFromAs;
assert_eq!(<i8 as CastFromAs>::from_u8(127_u8), 127_i8);
assert_eq!(<i8>::from_u8(255_u8), -1_i8);§Examples
assert_eq!(<i16>::from_i8(-128_i8), -128_i16);
assert_eq!(<i8>::from_u16(256_u16), 0_i8);Required Methods§
Sourcefn from_i8(n: i8) -> Self
fn from_i8(n: i8) -> Self
Converts the value from i8 to Self. Overflow possible during conversion.
Sourcefn from_i16(n: i16) -> Self
fn from_i16(n: i16) -> Self
Converts the value from i16 to Self. Overflow possible during conversion.
Sourcefn from_i32(n: i32) -> Self
fn from_i32(n: i32) -> Self
Converts the value from i32 to Self. Overflow possible during conversion.
Sourcefn from_i64(n: i64) -> Self
fn from_i64(n: i64) -> Self
Converts the value from i64 to Self. Overflow possible during conversion.
Sourcefn from_isize(n: isize) -> Self
fn from_isize(n: isize) -> Self
Converts the value from isize to Self. Overflow possible during conversion.
Sourcefn from_i128(n: i128) -> Self
fn from_i128(n: i128) -> Self
Converts the value from i128 to Self. Overflow possible during conversion.
Sourcefn from_u8(n: u8) -> Self
fn from_u8(n: u8) -> Self
Converts the value from u8 to Self. Overflow possible during conversion.
Sourcefn from_u16(n: u16) -> Self
fn from_u16(n: u16) -> Self
Converts the value from u16 to Self. Overflow possible during conversion.
Sourcefn from_u32(n: u32) -> Self
fn from_u32(n: u32) -> Self
Converts the value from u32 to Self. Overflow possible during conversion.
Sourcefn from_u64(n: u64) -> Self
fn from_u64(n: u64) -> Self
Converts the value from u64 to Self. Overflow possible during conversion.
Sourcefn from_usize(n: usize) -> Self
fn from_usize(n: usize) -> Self
Converts the value from usize to Self. Overflow possible during conversion.
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 CastFromAs for i8
impl CastFromAs for i8
Source§fn from_isize(n: isize) -> Self
fn from_isize(n: isize) -> Self
Converts isize to i8 possible overflow.
Source§fn from_usize(n: usize) -> Self
fn from_usize(n: usize) -> Self
Converts usize to i8 possible overflow.
Source§impl CastFromAs for i16
impl CastFromAs for i16
Source§fn from_isize(n: isize) -> Self
fn from_isize(n: isize) -> Self
Converts isize to i16 possible overflow.
Source§fn from_usize(n: usize) -> Self
fn from_usize(n: usize) -> Self
Converts usize to i16 possible overflow.
Source§impl CastFromAs for i32
impl CastFromAs for i32
Source§fn from_isize(n: isize) -> Self
fn from_isize(n: isize) -> Self
Converts isize to i32 possible overflow.
Source§fn from_usize(n: usize) -> Self
fn from_usize(n: usize) -> Self
Converts usize to i32 possible overflow.
Source§impl CastFromAs for i64
impl CastFromAs for i64
Source§fn from_isize(n: isize) -> Self
fn from_isize(n: isize) -> Self
Converts isize to i64 losslessly.
Source§fn from_usize(n: usize) -> Self
fn from_usize(n: usize) -> Self
Converts usize to i64 possible overflow.
Source§impl CastFromAs for i128
impl CastFromAs for i128
Source§fn from_usize(n: usize) -> Self
fn from_usize(n: usize) -> Self
Converts usize to i128 losslessly.
Source§fn from_isize(n: isize) -> Self
fn from_isize(n: isize) -> Self
Converts isize to i128 losslessly.
Source§impl CastFromAs for isize
impl CastFromAs for isize
Source§fn from_isize(n: isize) -> Self
fn from_isize(n: isize) -> Self
Converts isize to isize losslessly.
Source§fn from_usize(n: usize) -> Self
fn from_usize(n: usize) -> Self
Converts usize to isize possibe overflow.
Source§impl CastFromAs for u8
impl CastFromAs for u8
Source§fn from_isize(n: isize) -> Self
fn from_isize(n: isize) -> Self
Converts isize to u8 possible overflow.
Source§fn from_usize(n: usize) -> Self
fn from_usize(n: usize) -> Self
Converts usize to u8 possible overflow.
Source§impl CastFromAs for u16
impl CastFromAs for u16
Source§fn from_isize(n: isize) -> Self
fn from_isize(n: isize) -> Self
Converts isize to u16 possible overflow.
Source§fn from_usize(n: usize) -> Self
fn from_usize(n: usize) -> Self
Converts usize to u16 possible overflow.
Source§impl CastFromAs for u32
impl CastFromAs for u32
Source§fn from_isize(n: isize) -> Self
fn from_isize(n: isize) -> Self
Converts isize to u32 possible overflow.
Source§fn from_usize(n: usize) -> Self
fn from_usize(n: usize) -> Self
Converts usize to u32 possible overflow.
Source§impl CastFromAs for u64
impl CastFromAs for u64
Source§fn from_usize(n: usize) -> Self
fn from_usize(n: usize) -> Self
Converts usize to u64 losslessly.
Source§fn from_isize(n: isize) -> Self
fn from_isize(n: isize) -> Self
Converts isize to u64 possible overflow.
Source§impl CastFromAs for u128
impl CastFromAs for u128
Source§fn from_usize(n: usize) -> Self
fn from_usize(n: usize) -> Self
Converts usize to u128 losslessly.
Source§fn from_isize(n: isize) -> Self
fn from_isize(n: isize) -> Self
Converts isize to u128 possible overflow.
Source§impl CastFromAs for usize
impl CastFromAs for usize
Source§fn from_usize(n: usize) -> Self
fn from_usize(n: usize) -> Self
Converts usize to usize losslessly.
Source§fn from_isize(n: isize) -> Self
fn from_isize(n: isize) -> Self
Converts isize to usize possible overflow.