Skip to main content

Widen

Trait Widen 

Source
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§

Source

fn widen<T>(self) -> T
where 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.

Implementors§

Source§

impl<T: Integer> Widen for T