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: [email protected] # Needed in 6.12.y and later (Rust is pinned in 
> older LTSs).
> Link: 
> https://lore.kernel.org/rust-for-linux/CANiq72=dratf3y_dz-2o4jb6az9j3yj4qywwnbrui4sm4aj...@mail.gmail.com/
>  [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 <[email protected]>
> ---
>  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 \


Reply via email to