From 0fcb4fca19bc566afda5a7bbda5d6759905497c2 Mon Sep 17 00:00:00 2001 From: Perry Fraser Date: Tue, 18 Jul 2017 22:06:24 -0400 Subject: [PATCH 1/2] Change the error message for multiple unused print params --- src/libsyntax_ext/format.rs | 8 ++++++-- src/test/ui/macros/format-foreign.stderr | 21 +++++---------------- 2 files changed, 11 insertions(+), 18 deletions(-) diff --git a/src/libsyntax_ext/format.rs b/src/libsyntax_ext/format.rs index 144d1930df90b..7351377e77110 100644 --- a/src/libsyntax_ext/format.rs +++ b/src/libsyntax_ext/format.rs @@ -798,9 +798,13 @@ pub fn expand_preparsed_format_args(ecx: &mut ExtCtxt, } else { let mut diag = cx.ecx.struct_span_err(cx.fmtsp, "multiple unused formatting arguments"); - for (sp, msg) in errs { - diag.span_note(sp, msg); + + // Ignoring message, as it gets repetitive + // Then use MultiSpan to not clutter up errors + for (sp, _) in errs { + diag.span_label(sp, "unused"); } + diag } }; diff --git a/src/test/ui/macros/format-foreign.stderr b/src/test/ui/macros/format-foreign.stderr index 0283052a89f53..00469b5f7998c 100644 --- a/src/test/ui/macros/format-foreign.stderr +++ b/src/test/ui/macros/format-foreign.stderr @@ -2,23 +2,12 @@ error: multiple unused formatting arguments --> $DIR/format-foreign.rs:12:5 | 12 | println!("%.*3$s %s!/n", "Hello,", "World", 4); - | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + | ^^^^^^^^^^^^^^^^^^^^^^^^^--------^^-------^^-^^ + | | | | + | | | unused + | | unused + | unused | -note: argument never used - --> $DIR/format-foreign.rs:12:30 - | -12 | println!("%.*3$s %s!/n", "Hello,", "World", 4); - | ^^^^^^^^ -note: argument never used - --> $DIR/format-foreign.rs:12:40 - | -12 | println!("%.*3$s %s!/n", "Hello,", "World", 4); - | ^^^^^^^ -note: argument never used - --> $DIR/format-foreign.rs:12:49 - | -12 | println!("%.*3$s %s!/n", "Hello,", "World", 4); - | ^ = help: `%.*3$s` should be written as `{:.2$}` = help: `%s` should be written as `{}` = note: printf formatting not supported; see the documentation for `std::fmt` From 5c10db3f948cefa9bd665bfc422d46a47839deab Mon Sep 17 00:00:00 2001 From: Perry Fraser Date: Fri, 21 Jul 2017 18:11:44 -0400 Subject: [PATCH 2/2] More tests --- src/test/ui/macros/format-unused-lables.rs | 27 ++++++++++ .../ui/macros/format-unused-lables.stderr | 53 +++++++++++++++++++ 2 files changed, 80 insertions(+) create mode 100644 src/test/ui/macros/format-unused-lables.rs create mode 100644 src/test/ui/macros/format-unused-lables.stderr diff --git a/src/test/ui/macros/format-unused-lables.rs b/src/test/ui/macros/format-unused-lables.rs new file mode 100644 index 0000000000000..f1e349ea9f431 --- /dev/null +++ b/src/test/ui/macros/format-unused-lables.rs @@ -0,0 +1,27 @@ +// Copyright 2017 The Rust Project Developers. See the COPYRIGHT +// file at the top-level directory of this distribution and at +// http://rust-lang.org/COPYRIGHT. +// +// Licensed under the Apache License, Version 2.0 or the MIT license +// , at your +// option. This file may not be copied, modified, or distributed +// except according to those terms. + +fn main() { + println!("Test", 123, 456, 789); + + println!("Test2", + 123, + 456, + 789 + ); + + println!("Some stuff", UNUSED="args"); + + println!("Some more $STUFF", + "woo!", + STUFF= + "things" + , UNUSED="args"); +} diff --git a/src/test/ui/macros/format-unused-lables.stderr b/src/test/ui/macros/format-unused-lables.stderr new file mode 100644 index 0000000000000..bd6d38ccb0a44 --- /dev/null +++ b/src/test/ui/macros/format-unused-lables.stderr @@ -0,0 +1,53 @@ +error: multiple unused formatting arguments + --> $DIR/format-unused-lables.rs:12:5 + | +12 | println!("Test", 123, 456, 789); + | ^^^^^^^^^^^^^^^^^---^^---^^---^^ + | | | | + | | | unused + | | unused + | unused + | + = note: this error originates in a macro outside of the current crate + +error: multiple unused formatting arguments + --> $DIR/format-unused-lables.rs:14:5 + | +14 | / println!("Test2", +15 | | 123, + | | --- unused +16 | | 456, + | | --- unused +17 | | 789 + | | --- unused +18 | | ); + | |______^ + | + = note: this error originates in a macro outside of the current crate + +error: named argument never used + --> $DIR/format-unused-lables.rs:20:35 + | +20 | println!("Some stuff", UNUSED="args"); + | ^^^^^^ + +error: multiple unused formatting arguments + --> $DIR/format-unused-lables.rs:22:5 + | +22 | / println!("Some more $STUFF", +23 | | "woo!", + | | ------ unused +24 | | STUFF= +25 | | "things" + | | -------- unused +26 | | , UNUSED="args"); + | |_______________________------_^ + | | + | unused + | + = help: `$STUFF` should be written as `{STUFF}` + = note: shell formatting not supported; see the documentation for `std::fmt` + = note: this error originates in a macro outside of the current crate + +error: aborting due to 4 previous errors +