2024-04-11 22:55:22

by Nell Shamrell-Harrington

[permalink] [raw]
Subject: [PATCH] rust: remove unneeded `kernel::prelude` imports from doctests

Rust doctests implicitly include `kernel::prelude::*`.

Removes explicit `kernel::prelude` imports from doctests.

Suggested-by: Miguel Ojeda <[email protected]>
Link: https://github.com/Rust-for-Linux/linux/issues/1064
Signed-off-by: Nell Shamrell-Harrington <[email protected]>
---
rust/kernel/init.rs | 6 +++---
rust/kernel/net/phy.rs | 1 -
rust/kernel/workqueue.rs | 3 ---
3 files changed, 3 insertions(+), 7 deletions(-)

diff --git a/rust/kernel/init.rs b/rust/kernel/init.rs
index 424257284d16..8f0380697c09 100644
--- a/rust/kernel/init.rs
+++ b/rust/kernel/init.rs
@@ -87,7 +87,7 @@
//!
//! ```rust
//! # #![allow(clippy::disallowed_names)]
-//! # use kernel::{sync::Mutex, prelude::*, new_mutex, init::PinInit, try_pin_init};
+//! # use kernel::{sync::Mutex, new_mutex, init::PinInit, try_pin_init};
//! #[pin_data]
//! struct DriverData {
//! #[pin]
@@ -121,7 +121,7 @@
//!
//! ```rust
//! # #![allow(unreachable_pub, clippy::disallowed_names)]
-//! use kernel::{prelude::*, init, types::Opaque};
+//! use kernel::{init, types::Opaque};
//! use core::{ptr::addr_of_mut, marker::PhantomPinned, pin::Pin};
//! # mod bindings {
//! # #![allow(non_camel_case_types)]
@@ -412,7 +412,7 @@ macro_rules! stack_try_pin_init {
///
/// ```rust
/// # #![allow(clippy::disallowed_names)]
-/// # use kernel::{init, pin_init, prelude::*, init::*};
+/// # use kernel::{init, pin_init, init::*};
/// # use core::pin::Pin;
/// # #[pin_data]
/// # struct Foo {
diff --git a/rust/kernel/net/phy.rs b/rust/kernel/net/phy.rs
index 96e09c6e8530..d10a415c376f 100644
--- a/rust/kernel/net/phy.rs
+++ b/rust/kernel/net/phy.rs
@@ -766,7 +766,6 @@ const fn as_int(&self) -> u32 {
/// # mod module_phy_driver_sample {
/// use kernel::c_str;
/// use kernel::net::phy::{self, DeviceId};
-/// use kernel::prelude::*;
///
/// kernel::module_phy_driver! {
/// drivers: [PhySample],
diff --git a/rust/kernel/workqueue.rs b/rust/kernel/workqueue.rs
index c22504d5c8ad..7884f0007b38 100644
--- a/rust/kernel/workqueue.rs
+++ b/rust/kernel/workqueue.rs
@@ -33,7 +33,6 @@
//! we do not need to specify ids for the fields.
//!
//! ```
-//! use kernel::prelude::*;
//! use kernel::sync::Arc;
//! use kernel::workqueue::{self, impl_has_work, new_work, Work, WorkItem};
//!
@@ -75,7 +74,6 @@
//! The following example shows how multiple `work_struct` fields can be used:
//!
//! ```
-//! use kernel::prelude::*;
//! use kernel::sync::Arc;
//! use kernel::workqueue::{self, impl_has_work, new_work, Work, WorkItem};
//!
@@ -411,7 +409,6 @@ pub unsafe fn raw_get(ptr: *const Self) -> *mut bindings::work_struct {
/// like this:
///
/// ```no_run
-/// use kernel::prelude::*;
/// use kernel::workqueue::{impl_has_work, Work};
///
/// struct MyWorkItem {
--
2.34.1



2024-04-12 09:05:30

by Benno Lossin

[permalink] [raw]
Subject: Re: [PATCH] rust: remove unneeded `kernel::prelude` imports from doctests

On 12.04.24 00:53, Nell Shamrell-Harrington wrote:
> Rust doctests implicitly include `kernel::prelude::*`.
>
> Removes explicit `kernel::prelude` imports from doctests.
>
> Suggested-by: Miguel Ojeda <[email protected]>
> Link: https://github.com/Rust-for-Linux/linux/issues/1064
> Signed-off-by: Nell Shamrell-Harrington <[email protected]>
> ---
> rust/kernel/init.rs | 6 +++---
> rust/kernel/net/phy.rs | 1 -
> rust/kernel/workqueue.rs | 3 ---
> 3 files changed, 3 insertions(+), 7 deletions(-)

Reviewed-by: Benno Lossin <[email protected]>

--
Cheers,
Benno


2024-05-05 22:35:59

by Miguel Ojeda

[permalink] [raw]
Subject: Re: [PATCH] rust: remove unneeded `kernel::prelude` imports from doctests

On Fri, Apr 12, 2024 at 12:53 AM Nell Shamrell-Harrington
<[email protected]> wrote:
>
> Rust doctests implicitly include `kernel::prelude::*`.
>
> Removes explicit `kernel::prelude` imports from doctests.
>
> Suggested-by: Miguel Ojeda <[email protected]>
> Link: https://github.com/Rust-for-Linux/linux/issues/1064
> Signed-off-by: Nell Shamrell-Harrington <[email protected]>

[ Add it back for `module_phy_driver`'s example since it is within a
`mod`, and thus it cannot be removed. - Miguel ]

Nell: please double-check the above is correct (I guess you didn't
enable net/phy and thus didn't notice since it didn't get compiled?).

Applied to `rust-next` -- thanks everyone!

Cheers,
Miguel