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