Le 24/02/2026 à 9:07 PM, 'Alexandre Courbot' via KUnit Development a écrit :
On Tue Feb 24, 2026 at 8:51 PM JST, Andreas Hindborg wrote:
"Alexandre Courbot" <[email protected]> writes:

If `CONFIG_PRINTK` is not set, then the following warnings are issued
during build:

   warning: unused variable: `args`
     --> ../rust/kernel/kunit.rs:16:12
     |
   16 | pub fn err(args: fmt::Arguments<'_>) {
     |            ^^^^ help: if this is intentional, prefix it with an 
underscore: `_args`
     |
     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by 
default

   warning: unused variable: `args`
     --> ../rust/kernel/kunit.rs:32:13
     |
   32 | pub fn info(args: fmt::Arguments<'_>) {
     |             ^^^^ help: if this is intentional, prefix it with an 
underscore: `_args`

Fix this by adding a no-op assignment using `args` when `CONFIG_PRINTK`
is not set.

Fixes: a66d733da801 ("rust: support running Rust documentation tests as KUnit 
ones")
Signed-off-by: Alexandre Courbot <[email protected]>
---
Changes in v2:
- Use a no-op assignment instead of the wider `#[allow(unused_variables)]`.
- Link to v1: 
https://patch.msgid.link/[email protected]
---
  rust/kernel/kunit.rs | 8 ++++++++
  1 file changed, 8 insertions(+)

diff --git a/rust/kernel/kunit.rs b/rust/kernel/kunit.rs
index f93f24a60bdd..a1edf7491579 100644
--- a/rust/kernel/kunit.rs
+++ b/rust/kernel/kunit.rs
@@ -14,6 +14,10 @@
  /// Public but hidden since it should only be used from KUnit generated code.
  #[doc(hidden)]
  pub fn err(args: fmt::Arguments<'_>) {
+    // `args` is unused if `CONFIG_PRINTK` is not set - this avoids a 
build-time warning.
+    #[cfg(not(CONFIG_PRINTK))]
+    let _ = args;

I think (didn't test) that you can use a conditional attribute [1] instead:

  pub fn err(
      #[cfg_attr(not(CONFIG_PRINTK), expect(unused))]
      args: fmt::Arguments<'_>
  ) {

Yup, that works as well, and I think I like it better as it is more
localized. Alice, WDYT?


Personally, I have a slight preference for the current `let _ = args` option -- we'll still want to be able to format (at least some of) these messages to the KUnit test log, even if printk is disabled. So in the interest of avoiding churn in the function prototype, this version seems more future-proof.

But I'm not enormously worried either way.

Cheers,
-- David


Reply via email to