Re: [PATCH 1/2] kbuild: rust: allow `clippy::uninlined_format_args`
From: Gary Guo
Date: Tue Mar 31 2026 - 17:09:42 EST
On Tue Mar 31, 2026 at 9:58 PM BST, Miguel Ojeda wrote:
> Clippy in Rust 1.88.0 (only) reports [1]:
>
> warning: variables can be used directly in the `format!` string
> --> rust/macros/module.rs:112:23
> |
> 112 | let content = format!("{param}:{content}", param = param, content = content);
> | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> |
> = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#uninlined_format_args
> = note: `-W clippy::uninlined-format-args` implied by `-W clippy::all`
> = help: to override `-W clippy::all` add `#[allow(clippy::uninlined_format_args)]`
> help: change this to
> |
> 112 - let content = format!("{param}:{content}", param = param, content = content);
> 112 + let content = format!("{param}:{content}");
>
> warning: variables can be used directly in the `format!` string
> --> rust/macros/module.rs:198:14
> |
> 198 | t => panic!("Unsupported parameter type {}", t),
> | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> |
> = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#uninlined_format_args
> = note: `-W clippy::uninlined-format-args` implied by `-W clippy::all`
> = help: to override `-W clippy::all` add `#[allow(clippy::uninlined_format_args)]`
> help: change this to
> |
> 198 - t => panic!("Unsupported parameter type {}", t),
> 198 + t => panic!("Unsupported parameter type {t}"),
> |
>
> The reason it only triggers in that version is that the lint was moved
> from `pedantic` to `style` in Rust 1.88.0 and then back to `pedantic`
> in Rust 1.89.0 [2][3].
>
> In the first case, the suggestion is fair and a pure simplification, thus
> we will clean it up separately.
>
> To keep the behavior the same across all versions, and since the lint
> does not work for all macros (e.g. custom ones like `pr_info!`), disable
> it globally.
Does it produce a false positive, or it's a false negative? If it's the latter,
I think we don't need to disable the lint.
Best,
Gary
>
> Cc: stable@xxxxxxxxxxxxxxx # Needed in 6.12.y and later (Rust is pinned in older LTSs).
> Link: https://lore.kernel.org/rust-for-linux/CANiq72=drAtf3y_DZ-2o4jb6Az9J3Yj4QYwWnbRui4sm4AJD3Q@xxxxxxxxxxxxxx/ [1]
> Link: https://github.com/rust-lang/rust-clippy/pull/15287 [2]
> Link: https://github.com/rust-lang/rust-clippy/issues/15151 [3]
> Signed-off-by: Miguel Ojeda <ojeda@xxxxxxxxxx>
> ---
> Makefile | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/Makefile b/Makefile
> index 1a219bf1c771..a63684c36d60 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -494,6 +494,7 @@ export rust_common_flags := --edition=2021 \
> -Wclippy::ptr_cast_constness \
> -Wclippy::ref_as_ptr \
> -Wclippy::undocumented_unsafe_blocks \
> + -Aclippy::uninlined_format_args \
> -Wclippy::unnecessary_safety_comment \
> -Wclippy::unnecessary_safety_doc \
> -Wrustdoc::missing_crate_level_docs \