TryIntoBounded

Trait TryIntoBounded 

Source
pub trait TryIntoBounded<T: Integer, const N: u32> {
    // Required method
    fn try_into_bitint(self) -> Option<Bounded<T, N>>;
}
Expand description

Trait similar to TryInto but for Bounded, to avoid conflicting implementations.

§Examples

use kernel::num::{Bounded, TryIntoBounded};

// Succeeds because `128` fits into 8 bits.
let v: Option<Bounded<u16, 8>> = 128u32.try_into_bitint();
assert_eq!(v.as_deref().copied(), Some(128));

// Fails because `128` doesn't fits into 6 bits.
let v: Option<Bounded<u16, 6>> = 128u32.try_into_bitint();
assert_eq!(v, None);

Required Methods§

Source

fn try_into_bitint(self) -> Option<Bounded<T, N>>

Attempts to convert self into a Bounded using N bits.

Returns None if self does not fit into the target type.

Implementors§

Source§

impl<T, U, const N: u32> TryIntoBounded<T, N> for U
where T: Integer, U: TryInto<T>,

Any integer value can be attempted to be converted into a Bounded of any size.