diff options
| author | Esteban Küber <esteban@kuber.com.ar> | 2018-01-15 21:38:12 -0800 |
|---|---|---|
| committer | Esteban Küber <esteban@kuber.com.ar> | 2018-01-15 21:38:12 -0800 |
| commit | a4660dfea230638dea504c24ca67b49a1d67e1a6 (patch) | |
| tree | f443c3f7fae90e65daade7c2d2fce0dfcfcf261d /src/libsyntax_ext | |
| parent | bb345a0be3ba3fa1970fe02789791c5c72788d8f (diff) | |
| download | rust-a4660dfea230638dea504c24ca67b49a1d67e1a6.tar.gz rust-a4660dfea230638dea504c24ca67b49a1d67e1a6.zip | |
Point at unused arguments for format string
Avoid overlapping spans by only pointing at the arguments that are not being used in the argument string. Enable libsyntax to have diagnostics with multiple primary spans by accepting `Into<MultiSpan>` instead of `Span`.
Diffstat (limited to 'src/libsyntax_ext')
| -rw-r--r-- | src/libsyntax_ext/format.rs | 12 |
1 files changed, 2 insertions, 10 deletions
diff --git a/src/libsyntax_ext/format.rs b/src/libsyntax_ext/format.rs index ad5bd39a453..29280d203c7 100644 --- a/src/libsyntax_ext/format.rs +++ b/src/libsyntax_ext/format.rs @@ -814,16 +814,8 @@ pub fn expand_preparsed_format_args(ecx: &mut ExtCtxt, let (sp, msg) = errs.into_iter().next().unwrap(); cx.ecx.struct_span_err(sp, msg) } else { - let mut diag = cx.ecx.struct_span_err(cx.fmtsp, - "multiple unused formatting arguments"); - - // Ignoring message, as it gets repetitive - // Then use MultiSpan to not clutter up errors - for (sp, _) in errs { - diag.span_label(sp, "unused"); - } - - diag + cx.ecx.struct_span_err(errs.iter().map(|&(sp, _)| sp).collect::<Vec<Span>>(), + "multiple unused formatting arguments") } }; |
