pub trait Widen: Integer {
// Required method
fn widen<T>(self) -> T
where Self: WidenTarget<T>;
}Expand description
Widen to an integer of the same size or larger, preserving its value.
assert_eq!(0_u8.widen::<u16>(), 0_u16);
assert_eq!(0_u16.widen::<u32>(), 0_u32);
assert_eq!(0_u32.widen::<u64>(), 0_u64);
assert_eq!(0_u64.widen::<u128>(), 0_u128);assert_eq!((-1_i8).widen::<i16>(), -1_i16);
assert_eq!((-1_i16).widen::<i32>(), -1_i32);
assert_eq!((-1_i32).widen::<i64>(), -1_i64);
assert_eq!((-1_i64).widen::<i128>(), -1_i128);Required Methods§
Sourcefn widen<T>(self) -> Twhere
Self: WidenTarget<T>,
fn widen<T>(self) -> Twhere
Self: WidenTarget<T>,
Widen an integer to an integer of the same size or larger, preserving its value.
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.