diff options
| author | IoaNNUwU <ioannxd@gmail.com> | 2025-09-08 19:15:35 +0200 |
|---|---|---|
| committer | IoaNNUwU <ioannxd@gmail.com> | 2025-09-08 19:19:59 +0200 |
| commit | 43a6f56ca78295164dbf964695a43be7e35b1994 (patch) | |
| tree | 17dea96b5f4fd951d370e58c826caa3033eee443 /compiler/rustc_builtin_macros/src/format.rs | |
| parent | 1e733b389192b48110779bc1cd8edcaed7c43b0e (diff) | |
| download | rust-43a6f56ca78295164dbf964695a43be7e35b1994.tar.gz rust-43a6f56ca78295164dbf964695a43be7e35b1994.zip | |
Apply requested changes
Diffstat (limited to 'compiler/rustc_builtin_macros/src/format.rs')
| -rw-r--r-- | compiler/rustc_builtin_macros/src/format.rs | 44 |
1 files changed, 15 insertions, 29 deletions
diff --git a/compiler/rustc_builtin_macros/src/format.rs b/compiler/rustc_builtin_macros/src/format.rs index e5f73188dbd..a6c8e7d29cc 100644 --- a/compiler/rustc_builtin_macros/src/format.rs +++ b/compiler/rustc_builtin_macros/src/format.rs @@ -768,38 +768,24 @@ fn report_missing_placeholders( // Show example if user didn't use any format specifiers let show_example = used.iter().all(|used| !used); - if !show_example && unused.len() > 1 { - diag.note(format!("consider adding {} format specifiers", unused.len())); - } - - let original_fmt_str = if fmt_str.len() >= 1 { &fmt_str[..fmt_str.len() - 1] } else { "" }; - - if show_example && unused.len() == 1 { - diag.note("format specifiers use curly braces: `{}`"); + if !show_example { + if unused.len() > 1 { + diag.note(format!("consider adding {} format specifiers", unused.len())); + } + } else { + let original_fmt_str = + if fmt_str.len() >= 1 { &fmt_str[..fmt_str.len() - 1] } else { "" }; - diag.span_suggestion_verbose( - fmt_span, - "consider adding format specifier", - format!("\"{}{{}}\"", original_fmt_str), - Applicability::MaybeIncorrect, - ); - } + let msg = if unused.len() == 1 { + "a format specifier".to_string() + } else { + format!("{} format specifiers", unused.len()) + }; - if show_example && unused.len() > 1 { - diag.note("format specifiers use curly braces: `{}`"); + let sugg = format!("\"{}{}\"", original_fmt_str, "{}".repeat(unused.len())); + let msg = format!("format specifiers use curly braces, consider adding {msg}"); - let mut suggest_fixed_fmt = format!("\"{}", original_fmt_str); - for _ in &unused { - suggest_fixed_fmt.push_str("{}"); - } - suggest_fixed_fmt.push('"'); - - diag.span_suggestion_verbose( - fmt_span, - format!("consider adding {} format specifiers", unused.len()), - suggest_fixed_fmt, - Applicability::MaybeIncorrect, - ); + diag.span_suggestion_verbose(fmt_span, msg, sugg, Applicability::MaybeIncorrect); } } |
