On Sun Nov 2, 2025 at 12:33 PM JST, John Hubbard wrote:
> On 11/1/25 7:41 PM, Alexandre Courbot wrote:
>> On Sun Nov 2, 2025 at 9:34 AM JST, John Hubbard wrote:
>>> On 10/29/25 7:05 AM, Alexandre Courbot wrote:
> ...
>
>> We can always add doccomments in the macro, as in the patch below. These
>> will be displayed by LSP when one highlights or tries to use one of
>> these constants.
>>
>> If you think that's adequate, I will send a patch.
>>
>> --- a/drivers/gpu/nova-core/bitfield.rs
>> +++ b/drivers/gpu/nova-core/bitfield.rs
>> @@ -249,7 +249,10 @@ impl $name {
>> { $process:expr } $prim_type:tt $to_type:ty => $res_type:ty
>> $(, $comment:literal)?;
>> ) => {
>> ::kernel::macros::paste!(
>> + /// Inclusive range of the bits covered by this field.
>> const [<$field:upper _RANGE>]: ::core::ops::RangeInclusive<u8> =
>> $lo..=$hi;
>
> Will that let people know that they'll see something like
> IMPLEMENTATION_RANGE() for a corresponding .implementation field?
>
> I'm hoping we can somehow create clear and plain documentation for
> the various functions that the macro generates.
I did try to generate better documentation for these using the `#doc`
directive, actually posted the patch by mistake so I might as well link
to it:
https://lore.kernel.org/rust-for-linux/[email protected]/
Unfortunately, the final documentation does not appear with
rust-analyzer/LSP, which drastically limits its usefulness. :/