Re: [PATCH v8 03/10] rust: num: add `into_bool` method to `Bounded`
From: Yury Norov
Date: Tue Mar 10 2026 - 20:29:56 EST
On Tue, Mar 10, 2026 at 12:14:00AM +0900, Alexandre Courbot wrote:
> Single-bit numbers are typically treated as booleans. There is an
> `Into<bool>` implementation for those, but invoking it from contexts
> that lack type expectations is not always convenient.
>
> Add an `into_bool` method as a simpler shortcut.
>
> Reviewed-by: Alice Ryhl <aliceryhl@xxxxxxxxxx>
> Reviewed-by: Gary Guo <gary@xxxxxxxxxxx>
> Reviewed-by: Daniel Almeida <daniel.almeida@xxxxxxxxxxxxx>
> Tested-by: Dirk Behme <dirk.behme@xxxxxxxxxxxx>
> Acked-by: Miguel Ojeda <ojeda@xxxxxxxxxx>
> Signed-off-by: Alexandre Courbot <acourbot@xxxxxxxxxx>
Reviewed-by: Yury Norov <yury.norov@xxxxxxxxx>
> ---
> rust/kernel/num/bounded.rs | 21 +++++++++++++++++++++
> 1 file changed, 21 insertions(+)
>
> diff --git a/rust/kernel/num/bounded.rs b/rust/kernel/num/bounded.rs
> index 2f5f13ecd3d6..d28d118abd8e 100644
> --- a/rust/kernel/num/bounded.rs
> +++ b/rust/kernel/num/bounded.rs
> @@ -1101,3 +1101,24 @@ fn from(value: bool) -> Self {
> unsafe { Self::__new(T::from(value)) }
> }
> }
> +
> +impl<T> Bounded<T, 1>
> +where
> + T: Integer + Zeroable,
> +{
> + /// Converts this [`Bounded`] into a [`bool`].
> + ///
> + /// This is a shorter way of writing `bool::from(self)`.
> + ///
> + /// # Examples
> + ///
> + /// ```
> + /// use kernel::num::Bounded;
> + ///
> + /// assert_eq!(Bounded::<u8, 1>::new::<0>().into_bool(), false);
> + /// assert_eq!(Bounded::<u8, 1>::new::<1>().into_bool(), true);
> + /// ```
> + pub fn into_bool(self) -> bool {
> + self.into()
> + }
> +}
>
> --
> 2.53.0