Re: [PATCH v3 1/3] rust: num: add cv! macro to create values from constant expressions
From: Gary Guo
Date: Thu Sep 17 2026 - 04:54:15 EST
On Tue Sep 15, 2026 at 8:39 AM BST, Alexandre Courbot wrote:
> On Wed Sep 2, 2026 at 6:16 PM JST, Eliot Courtney wrote:
>> Currently, using NonZero/Bounded constants is quite verbose. It's
>> unfortunate because it disincentivizes using it in interface boundaries.
>> Introduce a macro to make it nicer to use. The macro `cv!` (for constant
>> value) takes a const integer expression and widens it to i128 (at build
>> time only) before passing it as a const generic value to a new trait
>> `FromConst`. The value is then converted and appears in the
>> associated constant `FromConst::VALUE`. The trait is implemented by
>> NonZero, Bounded, and Alignment and lets values of each be constructed
>> from constants without a verbose turbofish syntax.
>> For example, `const { NonZero::new(1).unwrap() }` can be written as
>> `cv!(1)`.
>>
>> Suggested-by: Gary Guo <gary@xxxxxxxxxxx>
>> Signed-off-by: Eliot Courtney <ecourtney@xxxxxxxxxx>
>
> I don't think we have any user but nova-core at the moment, and it
> benefits from this in several series (patch 3 here, but also ID pool and
> later r000). Miguel, is this ok if we take it (i.e. the next revision)
> through drm-rust-next?
How about a topic tag shared between Rust and drm-rust-next? We could also
remove the old num casts API as part of topic tag and fix all existing users as
part of merge.
Best,
Gary