Le 24/02/2026 à 3:45 PM, 'Alexandre Courbot' via KUnit Development a écrit :
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 allowing unused variables on these methods for this
(arguably rare) case.

Fixes: a66d733da801 ("rust: support running Rust documentation tests as KUnit 
ones")
Signed-off-by: Alexandre Courbot <[email protected]>
---

Thanks. I think Alice's suggestion of adding a `let _ = args;` line, rather than disabling the unused_variables warning is probably the better way of handling this.

(That being said, those err() and info() functions probably need some reworking so that -- in the cases where it makes sense -- they call into the KUnit logging functions, not just printk.)

Cheers,
-- David

  rust/kernel/kunit.rs | 4 ++++
  1 file changed, 4 insertions(+)

diff --git a/rust/kernel/kunit.rs b/rust/kernel/kunit.rs
index f93f24a60bdd..5da342f5c84a 100644
--- a/rust/kernel/kunit.rs
+++ b/rust/kernel/kunit.rs
@@ -13,6 +13,8 @@
  ///
  /// Public but hidden since it should only be used from KUnit generated code.
  #[doc(hidden)]
+// `args` is unused if `CONFIG_PRINTK` is not set.
+#[allow(unused_variables)]
  pub fn err(args: fmt::Arguments<'_>) {
      // SAFETY: The format string is null-terminated and the `%pA` specifier 
matches the argument we
      // are passing.
@@ -29,6 +31,8 @@ pub fn err(args: fmt::Arguments<'_>) {
  ///
  /// Public but hidden since it should only be used from KUnit generated code.
  #[doc(hidden)]
+// `args` is unused if `CONFIG_PRINTK` is not set.
+#[allow(unused_variables)]
  pub fn info(args: fmt::Arguments<'_>) {
      // SAFETY: The format string is null-terminated and the `%pA` specifier 
matches the argument we
      // are passing.

---
base-commit: 6de23f81a5e08be8fbf5e8d7e9febc72a5b5f27f
change-id: 20260224-unused_var_err-996d7ffa27c5

Best regards,


Reply via email to