Skip to main content

TryIntoBounded

Trait TryIntoBounded 

Source
pub trait TryIntoBounded<T: Integer, const N: u32> {
    // Required method
    fn try_into_bounded(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_bounded();
assert_eq!(v.as_deref().copied(), Some(128));

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

Required Methods§

Source

fn try_into_bounded(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.

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

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.