Re: [PATCH v5 3/7] rust: num: add `as_bool` method to `Bounded<_, 1>`
From: Alexandre Courbot
Date: Thu Feb 12 2026 - 07:57:06 EST
On Sat Feb 7, 2026 at 3:28 AM JST, Daniel Almeida wrote:
>
>
>> On 29 Jan 2026, at 10:32, Alexandre Courbot <acourbot@xxxxxxxxxx> 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 `as_bool` method as a simpler shortcut.
>>
>> Reviewed-by: Alice Ryhl <aliceryhl@xxxxxxxxxx>
>> Reviewed-by: Gary Guo <gary@xxxxxxxxxxx>
>> Tested-by: Dirk Behme <dirk.behme@xxxxxxxxxxxx>
>> Acked-by: Miguel Ojeda <ojeda@xxxxxxxxxx>
>> Signed-off-by: Alexandre Courbot <acourbot@xxxxxxxxxx>
>> ---
>> 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 4b929762d5c2..b41ca6df1525 100644
>> --- a/rust/kernel/num/bounded.rs
>> +++ b/rust/kernel/num/bounded.rs
>> @@ -1098,3 +1098,24 @@ fn from(value: bool) -> Self {
>> Self::__new(T::from(value))
>> }
>> }
>> +
>> +impl<T> Bounded<T, 1>
>> +where
>> + T: Integer + Zeroable,
>> +{
>> + /// Returns the value of this [`Bounded`] as a [`bool`].
>> + ///
>> + /// This is a shorter way of writing `bool::from(self)`.
>> + ///
>> + /// # Examples
>> + ///
>> + /// ```
>> + /// use kernel::num::Bounded;
>> + ///
>> + /// assert_eq!(Bounded::<u8, 1>::new::<0>().as_bool(), false);
>> + /// assert_eq!(Bounded::<u8, 1>::new::<1>().as_bool(), true);
>> + /// ```
>> + pub fn as_bool(self) -> bool {
>> + self.into()
>> + }
>> +}
>>
>> --
>> 2.52.0
>>
>
> I wonder whether this should be into_bool() instead? as_foo() usually goes from &self to &Foo.
Yup, that's definitely what this method should be called. Thanks for
pointing it out.