From: Gary Guo Date: Mon, 20 Apr 2026 16:16:36 +0000 (+0100) Subject: rust: doc: disable doc inlining for all prelude items X-Git-Url: http://git.ipfire.org/gitweb/?a=commitdiff_plain;h=6c77b5f4d72487cfd1db4b84f3792761cbce72ea;p=thirdparty%2Fkernel%2Flinux.git rust: doc: disable doc inlining for all prelude items Somehow the rustdoc heuristics determined that a large chunk of the items found in prelude should have documentation inlined. This bloats the generated documentation size. Also, for crates that optimize documentation with `cfg(doc)`, as the documentation inlining makes use of the metadata compiled by just rustc, it will not pick up the `cfg(doc)` attributes from the inlined documentation. pin-init for example optimizes tuple/fn rendering using the nightly fake_variadic feature [1], but this is missing from the inlined version [2]. Thus, mark all prelude items as `#[doc(no_inline)]`. Link: https://rust.docs.kernel.org/next/pin_init/trait.Zeroable.html#impl-Zeroable-for-(J,) [1] Link: https://rust.docs.kernel.org/next/kernel/prelude/trait.Zeroable.html#impl-Zeroable-for-(J,) [2] Signed-off-by: Gary Guo Reviewed-by: Alice Ryhl Link: https://patch.msgid.link/20260420161636.1790502-1-gary@kernel.org [ Reworded for typo. - Miguel ] Signed-off-by: Miguel Ojeda --- diff --git a/rust/kernel/prelude.rs b/rust/kernel/prelude.rs index 44edf72a4a24e..bcd4e7f90bc72 100644 --- a/rust/kernel/prelude.rs +++ b/rust/kernel/prelude.rs @@ -22,6 +22,7 @@ pub use core::{ pin::Pin, // }; +#[doc(no_inline)] pub use ::ffi::{ c_char, c_int, @@ -47,6 +48,7 @@ pub use macros::{ vtable, // }; +#[doc(no_inline)] pub use pin_init::{ init, pin_data, @@ -58,6 +60,7 @@ pub use pin_init::{ Zeroable, // }; +#[doc(no_inline)] pub use super::{ alloc::{ flags::*,