From 6c77b5f4d72487cfd1db4b84f3792761cbce72ea Mon Sep 17 00:00:00 2001 From: Gary Guo Date: Mon, 20 Apr 2026 17:16:36 +0100 Subject: [PATCH] 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 --- rust/kernel/prelude.rs | 3 +++ 1 file changed, 3 insertions(+) diff --git a/rust/kernel/prelude.rs b/rust/kernel/prelude.rs index 44edf72a4a24..bcd4e7f90bc7 100644 --- a/rust/kernel/prelude.rs +++ b/rust/kernel/prelude.rs @@ -22,6 +22,7 @@ pin::Pin, // }; +#[doc(no_inline)] pub use ::ffi::{ c_char, c_int, @@ -47,6 +48,7 @@ vtable, // }; +#[doc(no_inline)] pub use pin_init::{ init, pin_data, @@ -58,6 +60,7 @@ Zeroable, // }; +#[doc(no_inline)] pub use super::{ alloc::{ flags::*,