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

From: Alice Ryhl
Date: Wed Oct 25 2023 - 09:30:14 EST


On Mon, Oct 23, 2023 at 9:01 AM Benno Lossin <benno.lossin@xxxxxxxxx> wrote:
>
> 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?

I think it's fine to just import it.

Alice