let (sp, msg) = errs.into_iter().next().unwrap();
cx.ecx.struct_span_err(sp, msg)
} else {
- cx.ecx.struct_span_err(errs.iter().map(|&(sp, _)| sp).collect::<Vec<Span>>(),
- "multiple unused formatting arguments")
+ let mut diag = cx.ecx.struct_span_err(
+ errs.iter().map(|&(sp, _)| sp).collect::<Vec<Span>>(),
+ "multiple unused formatting arguments"
+ );
+ diag.span_label(cx.fmtsp, "multiple unused arguments in this statement");
+ diag
}
};
--> $DIR/format-foreign.rs:12:30
|
12 | println!("%.*3$s %s!/n", "Hello,", "World", 4); //~ ERROR multiple unused formatting arguments
- | ^^^^^^^^ ^^^^^^^ ^
+ | -------------------------^^^^^^^^--^^^^^^^--^-- multiple unused arguments in this statement
|
= 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`
+ = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info)
error: argument never used
--> $DIR/format-foreign.rs:13:29
--> $DIR/format-unused-lables.rs:12:22
|
12 | println!("Test", 123, 456, 789);
- | ^^^ ^^^ ^^^
+ | -----------------^^^--^^^--^^^-- multiple unused arguments in this statement
+ |
+ = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info)
error: multiple unused formatting arguments
--> $DIR/format-unused-lables.rs:16:9
|
-16 | 123, //~ ERROR multiple unused formatting arguments
- | ^^^
-17 | 456,
- | ^^^
-18 | 789
- | ^^^
+15 | / println!("Test2",
+16 | | 123, //~ ERROR multiple unused formatting arguments
+ | | ^^^
+17 | | 456,
+ | | ^^^
+18 | | 789
+ | | ^^^
+19 | | );
+ | |______- multiple unused arguments in this statement
+ |
+ = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info)
error: named argument never used
--> $DIR/format-unused-lables.rs:21:35
error: multiple unused formatting arguments
--> $DIR/format-unused-lables.rs:24:9
|
-24 | "woo!", //~ ERROR multiple unused formatting arguments
- | ^^^^^^
-25 | STUFF=
-26 | "things"
- | ^^^^^^^^
-27 | , UNUSED="args");
- | ^^^^^^
+23 | / println!("Some more $STUFF",
+24 | | "woo!", //~ ERROR multiple unused formatting arguments
+ | | ^^^^^^
+25 | | STUFF=
+26 | | "things"
+ | | ^^^^^^^^
+27 | | , UNUSED="args");
+ | |_______________________^^^^^^_- multiple unused arguments in this statement
|
= 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 (in Nightly builds, run with -Z external-macro-backtrace for more info)
error: aborting due to 4 previous errors