Messages in this thread | | | From | Alice Ryhl <> | Date | Wed, 25 Oct 2023 15:29:56 +0200 | Subject | Re: [PATCH v2] rust: macros: improve `#[vtable]` documentation |
| |
On Mon, Oct 23, 2023 at 9:01 AM Benno Lossin <benno.lossin@proton.me> 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@proton.me> > > > > Reviewed-by: Alice Ryhl <aliceryhl@google.com> > > > > 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
| |