Re: [PATCH v2] rust: macros: improve `#[vtable]` documentation

From: Benno Lossin
Date: Mon Oct 23 2023 - 03:01:45 EST


On 21.10.23 14:45, Alice Ryhl wrote:
> On 10/19/23 19:15, Benno Lossin wrote:
>> Traits marked with `#[vtable]` need to provide default implementations
>> for optional functions. The C side represents these with `NULL` in the
>> vtable, so the default functions are never actually called. We do not
>> want to replicate the default behavior from C in Rust, because that is
>> not maintainable. Therefore we should use `build_error` in those default
>> implementations. The error message for that is provided at
>> `kernel::error::VTABLE_DEFAULT_ERROR`.
>>
>> Signed-off-by: Benno Lossin <benno.lossin@xxxxxxxxx>
>
> Reviewed-by: Alice Ryhl <aliceryhl@xxxxxxxxxx>
>
> There is a minor nit below, and in reviews sent by others, but overall
> this looks fine to me.
>
>> /// # Examples
>> ///
>> /// ```ignore
>> +/// # use kernel::error::VTABLE_DEFAULT_ERROR;
>> /// use kernel::prelude::*;
> I probably wouldn't hide the import of VTABLE_DEFAULT_ERROR from this
> example.

What do you guys think of putting the const it in the prelude?

--
Cheers,
Benno