diff options
| author | Lukas Markeffsky <@> | 2023-01-19 21:45:38 +0100 |
|---|---|---|
| committer | Lukas Markeffsky <@> | 2023-01-20 20:16:37 +0100 |
| commit | 228ddf04fca01e8224ad4fb8a8e9db8483642249 (patch) | |
| tree | 0c103dc0343d7f3bdd74304173c855d9b54f0e97 | |
| parent | e415e2f1a289f97d3b8ac4f4d2b7eb2b050b86cc (diff) | |
| download | rust-228ddf04fca01e8224ad4fb8a8e9db8483642249.tar.gz rust-228ddf04fca01e8224ad4fb8a8e9db8483642249.zip | |
fix overlapping spans for `clippy::uninlined_format_args`
| -rw-r--r-- | src/tools/clippy/clippy_lints/src/format_args.rs | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/tools/clippy/clippy_lints/src/format_args.rs b/src/tools/clippy/clippy_lints/src/format_args.rs index 043112bbc95..bb7fa3087b7 100644 --- a/src/tools/clippy/clippy_lints/src/format_args.rs +++ b/src/tools/clippy/clippy_lints/src/format_args.rs @@ -311,6 +311,10 @@ fn check_uninlined_args( // in those cases, make the code suggestion hidden let multiline_fix = fixes.iter().any(|(span, _)| cx.sess().source_map().is_multiline(*span)); + // Suggest removing each argument only once, for example in `format!("{0} {0}", arg)`. + fixes.sort_unstable_by_key(|(span, _)| *span); + fixes.dedup_by_key(|(span, _)| *span); + span_lint_and_then( cx, UNINLINED_FORMAT_ARGS, |
