[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <aOoySkWjPcJLVDrG@google.com>
Date: Sat, 11 Oct 2025 10:33:10 +0000
From: Alice Ryhl <aliceryhl@...gle.com>
To: Alexandre Courbot <acourbot@...dia.com>
Cc: Danilo Krummrich <dakr@...nel.org>, Joel Fernandes <joelagnelf@...dia.com>,
Yury Norov <yury.norov@...il.com>, Jesung Yang <y.j3ms.n@...il.com>,
Miguel Ojeda <ojeda@...nel.org>, Alex Gaynor <alex.gaynor@...il.com>,
Boqun Feng <boqun.feng@...il.com>, Gary Guo <gary@...yguo.net>,
"Björn Roy Baron" <bjorn3_gh@...tonmail.com>, Benno Lossin <lossin@...nel.org>,
Andreas Hindborg <a.hindborg@...nel.org>, Trevor Gross <tmgross@...ch.edu>, nouveau@...ts.freedesktop.org,
linux-kernel@...r.kernel.org, rust-for-linux@...r.kernel.org
Subject: Re: [PATCH RFC v2 2/3] rust: kernel: add bounded integer types
On Thu, Oct 09, 2025 at 09:37:09PM +0900, Alexandre Courbot wrote:
> Add the BoundedInt type, which restricts the number of bits allowed to
> be used in a given integer value. This is useful to carry guarantees
> when setting bitfields.
>
> Alongside this type, many `From` and `TryFrom` implementations are
> provided to reduce friction when using with regular integer types. Proxy
> implementations of common integer traits are also provided.
>
> Signed-off-by: Alexandre Courbot <acourbot@...dia.com>
> + pub const fn enlarge<const NEW_NUM_BITS: u32>(self) -> BoundedInt<T, NEW_NUM_BITS>
> + where
> + T: Boundable<NEW_NUM_BITS>,
> + T: Copy,
> + {
> + build_assert!(NEW_NUM_BITS >= NUM_BITS);
This assertion can be evaluated in const context.
const {
assert!(NEW_NUM_BITS >= NUM_BITS);
}
Alice
Powered by blists - more mailing lists