On Tue Feb 24, 2026 at 10:56 PM JST, David Gow wrote: > 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.
Sounds good - let's keep the current version then.

