about summary refs log tree commit diff
path: root/src/test/ui/macros
diff options
context:
space:
mode:
authorVadim Petrochenkov <vadim.petrochenkov@gmail.com>2019-03-09 15:03:44 +0300
committerVadim Petrochenkov <vadim.petrochenkov@gmail.com>2019-03-11 23:10:26 +0300
commitfa72a81bea27f1fda4287475e4cc2f684c971e7f (patch)
treee691a2e38d57c5cd37932754ddf1d8a7048f1f54 /src/test/ui/macros
parent2060d49c39e41a286b0425cb2f7ba6022a2d4b96 (diff)
downloadrust-fa72a81bea27f1fda4287475e4cc2f684c971e7f.tar.gz
rust-fa72a81bea27f1fda4287475e4cc2f684c971e7f.zip
Update tests
Diffstat (limited to 'src/test/ui/macros')
-rw-r--r--src/test/ui/macros/ambiguity-legacy-vs-modern.stderr4
-rw-r--r--src/test/ui/macros/assert.stderr8
-rw-r--r--src/test/ui/macros/cfg.stderr6
-rw-r--r--src/test/ui/macros/format-foreign.stderr10
-rw-r--r--src/test/ui/macros/format-parse-errors.stderr16
-rw-r--r--src/test/ui/macros/format-unused-lables.stderr6
-rw-r--r--src/test/ui/macros/global-asm.stderr6
-rw-r--r--src/test/ui/macros/issue-54441.stderr2
-rw-r--r--src/test/ui/macros/macro-at-most-once-rep-2015-ques-rep.stderr4
-rw-r--r--src/test/ui/macros/macro-at-most-once-rep-2015-ques-sep.stderr4
-rw-r--r--src/test/ui/macros/macro-at-most-once-rep-2018.stderr24
-rw-r--r--src/test/ui/macros/macro-attribute.stderr2
-rw-r--r--src/test/ui/macros/macro-backtrace-invalid-internals.stderr20
-rw-r--r--src/test/ui/macros/macro-backtrace-nested.stderr4
-rw-r--r--src/test/ui/macros/macro-backtrace-println.stderr2
-rw-r--r--src/test/ui/macros/macro-comma-support.stderr4
-rw-r--r--src/test/ui/macros/macro-context.stderr8
-rw-r--r--src/test/ui/macros/macro-crate-nonterminal-non-root.stderr2
-rw-r--r--src/test/ui/macros/macro-error.stderr4
-rw-r--r--src/test/ui/macros/macro-follow.stderr170
-rw-r--r--src/test/ui/macros/macro-followed-by-seq-bad.stderr4
-rw-r--r--src/test/ui/macros/macro-input-future-proofing.stderr12
-rw-r--r--src/test/ui/macros/macro-match-nonterminal.stderr2
-rw-r--r--src/test/ui/macros/macro-missing-delimiters.stderr2
-rw-r--r--src/test/ui/macros/macro-missing-fragment.stderr2
-rw-r--r--src/test/ui/macros/macro-multiple-matcher-bindings.stderr8
-rw-r--r--src/test/ui/macros/macro-name-typo.stderr2
-rw-r--r--src/test/ui/macros/macro-outer-attributes.stderr2
-rw-r--r--src/test/ui/macros/macro-parameter-span.stderr2
-rw-r--r--src/test/ui/macros/macro-path-prelude-fail-1.stderr4
-rw-r--r--src/test/ui/macros/macro-path-prelude-fail-2.stderr2
-rw-r--r--src/test/ui/macros/macro-path-prelude-fail-3.stderr2
-rw-r--r--src/test/ui/macros/macro-path-prelude-fail-4.stderr2
-rw-r--r--src/test/ui/macros/macro-path-prelude-shadowing.stderr2
-rw-r--r--src/test/ui/macros/macro-reexport-removed.stderr6
-rw-r--r--src/test/ui/macros/macro-shadowing.stderr4
-rw-r--r--src/test/ui/macros/macro-stability.stderr2
-rw-r--r--src/test/ui/macros/macro-use-bad-args-1.stderr2
-rw-r--r--src/test/ui/macros/macro-use-bad-args-2.stderr2
-rw-r--r--src/test/ui/macros/macro-use-undef.stderr2
-rw-r--r--src/test/ui/macros/macro_path_as_generic_bound.stderr2
-rw-r--r--src/test/ui/macros/macro_undefined.stderr2
-rw-r--r--src/test/ui/macros/macros-nonfatal-errors.stderr30
-rw-r--r--src/test/ui/macros/meta-item-absolute-path.stderr2
-rw-r--r--src/test/ui/macros/must-use-in-macro-55516.stderr2
-rw-r--r--src/test/ui/macros/nonterminal-matching.stderr2
-rw-r--r--src/test/ui/macros/restricted-shadowing-legacy.stderr16
-rw-r--r--src/test/ui/macros/restricted-shadowing-modern.stderr12
-rw-r--r--src/test/ui/macros/trace_faulty_macros.stderr4
49 files changed, 222 insertions, 222 deletions
diff --git a/src/test/ui/macros/ambiguity-legacy-vs-modern.stderr b/src/test/ui/macros/ambiguity-legacy-vs-modern.stderr
index 2785594585d..d9a0a9f0054 100644
--- a/src/test/ui/macros/ambiguity-legacy-vs-modern.stderr
+++ b/src/test/ui/macros/ambiguity-legacy-vs-modern.stderr
@@ -1,7 +1,7 @@
 error[E0659]: `m` is ambiguous (`macro_rules` vs non-`macro_rules` from other module)
   --> $DIR/ambiguity-legacy-vs-modern.rs:31:9
    |
-LL |         m!() //~ ERROR `m` is ambiguous
+LL |         m!()
    |         ^ ambiguous name
    |
 note: `m` could refer to the macro defined here
@@ -18,7 +18,7 @@ LL |         macro m() { 0 }
 error[E0659]: `m` is ambiguous (`macro_rules` vs non-`macro_rules` from other module)
   --> $DIR/ambiguity-legacy-vs-modern.rs:43:5
    |
-LL |     m!() //~ ERROR `m` is ambiguous
+LL |     m!()
    |     ^ ambiguous name
    |
 note: `m` could refer to the macro defined here
diff --git a/src/test/ui/macros/assert.stderr b/src/test/ui/macros/assert.stderr
index 2cfcebabcb9..fa604506b94 100644
--- a/src/test/ui/macros/assert.stderr
+++ b/src/test/ui/macros/assert.stderr
@@ -1,19 +1,19 @@
 error: macro requires a boolean expression as an argument
   --> $DIR/assert.rs:2:5
    |
-LL |     assert!();  //~ ERROR requires a boolean expression
+LL |     assert!();
    |     ^^^^^^^^^^ boolean expression required
 
 error: expected expression, found keyword `struct`
   --> $DIR/assert.rs:3:13
    |
-LL |     assert!(struct); //~ ERROR expected expression
+LL |     assert!(struct);
    |             ^^^^^^ expected expression
 
 error: macro requires a boolean expression as an argument
   --> $DIR/assert.rs:4:5
    |
-LL |     debug_assert!(); //~ ERROR requires a boolean expression
+LL |     debug_assert!();
    |     ^^^^^^^^^^^^^^^^ boolean expression required
    |
    = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info)
@@ -21,7 +21,7 @@ LL |     debug_assert!(); //~ ERROR requires a boolean expression
 error: expected expression, found keyword `struct`
   --> $DIR/assert.rs:5:19
    |
-LL |     debug_assert!(struct); //~ ERROR expected expression
+LL |     debug_assert!(struct);
    |                   ^^^^^^ expected expression
 
 error: aborting due to 4 previous errors
diff --git a/src/test/ui/macros/cfg.stderr b/src/test/ui/macros/cfg.stderr
index a7aca88f3e5..0fdb62922a7 100644
--- a/src/test/ui/macros/cfg.stderr
+++ b/src/test/ui/macros/cfg.stderr
@@ -1,19 +1,19 @@
 error: macro requires a cfg-pattern as an argument
   --> $DIR/cfg.rs:2:5
    |
-LL |     cfg!(); //~ ERROR macro requires a cfg-pattern
+LL |     cfg!();
    |     ^^^^^^^ cfg-pattern required
 
 error: expected identifier, found `123`
   --> $DIR/cfg.rs:3:10
    |
-LL |     cfg!(123); //~ ERROR expected identifier
+LL |     cfg!(123);
    |          ^^^ expected identifier
 
 error[E0565]: literal in `cfg` predicate value must be a string
   --> $DIR/cfg.rs:4:16
    |
-LL |     cfg!(foo = 123); //~ ERROR literal in `cfg` predicate value must be a string
+LL |     cfg!(foo = 123);
    |                ^^^
 
 error: aborting due to 3 previous errors
diff --git a/src/test/ui/macros/format-foreign.stderr b/src/test/ui/macros/format-foreign.stderr
index 0b8bfcbdc17..87cadada3c7 100644
--- a/src/test/ui/macros/format-foreign.stderr
+++ b/src/test/ui/macros/format-foreign.stderr
@@ -1,7 +1,7 @@
 error: multiple unused formatting arguments
   --> $DIR/format-foreign.rs:2:30
    |
-LL |     println!("%.*3$s %s!/n", "Hello,", "World", 4); //~ ERROR multiple unused formatting arguments
+LL |     println!("%.*3$s %s!/n", "Hello,", "World", 4);
    |              --------------  ^^^^^^^^  ^^^^^^^  ^ argument never used
    |              |               |         |
    |              |               |         argument never used
@@ -11,13 +11,13 @@ LL |     println!("%.*3$s %s!/n", "Hello,", "World", 4); //~ ERROR multiple unus
    = note: printf formatting not supported; see the documentation for `std::fmt`
 help: format specifiers use curly braces
    |
-LL |     println!("{:.2$} {}!/n", "Hello,", "World", 4); //~ ERROR multiple unused formatting arguments
+LL |     println!("{:.2$} {}!/n", "Hello,", "World", 4);
    |               ^^^^^^ ^^
 
 error: argument never used
   --> $DIR/format-foreign.rs:3:29
    |
-LL |     println!("%1$*2$.*3$f", 123.456); //~ ERROR never used
+LL |     println!("%1$*2$.*3$f", 123.456);
    |               -----------   ^^^^^^^ argument never used
    |               |
    |               help: format specifiers use curly braces: `{0:1$.2$}`
@@ -47,7 +47,7 @@ LL |         {}!/n
 error: argument never used
   --> $DIR/format-foreign.rs:12:30
    |
-LL |     println!("{} %f", "one", 2.0); //~ ERROR never used
+LL |     println!("{} %f", "one", 2.0);
    |              -------         ^^^ argument never used
    |              |
    |              formatting specifier missing
@@ -55,7 +55,7 @@ LL |     println!("{} %f", "one", 2.0); //~ ERROR never used
 error: named argument never used
   --> $DIR/format-foreign.rs:14:39
    |
-LL |     println!("Hi there, $NAME.", NAME="Tim"); //~ ERROR never used
+LL |     println!("Hi there, $NAME.", NAME="Tim");
    |                         -----         ^^^^^ named argument never used
    |                         |
    |                         help: format specifiers use curly braces: `{NAME}`
diff --git a/src/test/ui/macros/format-parse-errors.stderr b/src/test/ui/macros/format-parse-errors.stderr
index a3d2786bce1..b634cf2d994 100644
--- a/src/test/ui/macros/format-parse-errors.stderr
+++ b/src/test/ui/macros/format-parse-errors.stderr
@@ -1,7 +1,7 @@
 error: requires at least a format string argument
   --> $DIR/format-parse-errors.rs:2:5
    |
-LL |     format!(); //~ ERROR requires at least a format string argument
+LL |     format!();
    |     ^^^^^^^^^^
    |
    = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info)
@@ -9,41 +9,41 @@ LL |     format!(); //~ ERROR requires at least a format string argument
 error: expected expression, found keyword `struct`
   --> $DIR/format-parse-errors.rs:3:13
    |
-LL |     format!(struct); //~ ERROR expected expression
+LL |     format!(struct);
    |             ^^^^^^ expected expression
 
 error: expected expression, found `<eof>`
   --> $DIR/format-parse-errors.rs:4:23
    |
-LL |     format!("s", name =); //~ ERROR expected expression
+LL |     format!("s", name =);
    |                       ^ expected expression
 
 error: expected `=`, found `<eof>`
   --> $DIR/format-parse-errors.rs:5:29
    |
-LL |     format!("s", foo = foo, bar); //~ ERROR expected `=`
+LL |     format!("s", foo = foo, bar);
    |                             ^^^ expected `=`
 
 error: expected expression, found keyword `struct`
   --> $DIR/format-parse-errors.rs:6:24
    |
-LL |     format!("s", foo = struct); //~ ERROR expected expression
+LL |     format!("s", foo = struct);
    |                        ^^^^^^ expected expression
 
 error: expected expression, found keyword `struct`
   --> $DIR/format-parse-errors.rs:7:18
    |
-LL |     format!("s", struct); //~ ERROR expected expression
+LL |     format!("s", struct);
    |                  ^^^^^^ expected expression
 
 error: format argument must be a string literal
   --> $DIR/format-parse-errors.rs:10:13
    |
-LL |     format!(123); //~ ERROR format argument must be a string literal
+LL |     format!(123);
    |             ^^^
 help: you might be missing a string literal to format with
    |
-LL |     format!("{}", 123); //~ ERROR format argument must be a string literal
+LL |     format!("{}", 123);
    |             ^^^^^
 
 error: aborting due to 7 previous errors
diff --git a/src/test/ui/macros/format-unused-lables.stderr b/src/test/ui/macros/format-unused-lables.stderr
index 0a5e379a4ad..7423c7b7c8b 100644
--- a/src/test/ui/macros/format-unused-lables.stderr
+++ b/src/test/ui/macros/format-unused-lables.stderr
@@ -13,7 +13,7 @@ error: multiple unused formatting arguments
    |
 LL |     println!("Test2",
    |              ------- multiple missing formatting specifiers
-LL |         123,  //~ ERROR multiple unused formatting arguments
+LL |         123,
    |         ^^^ argument never used
 LL |         456,
    |         ^^^ argument never used
@@ -23,7 +23,7 @@ LL |         789
 error: named argument never used
   --> $DIR/format-unused-lables.rs:11:35
    |
-LL |     println!("Some stuff", UNUSED="args"); //~ ERROR named argument never used
+LL |     println!("Some stuff", UNUSED="args");
    |              ------------         ^^^^^^ named argument never used
    |              |
    |              formatting specifier missing
@@ -36,7 +36,7 @@ LL |     println!("Some more $STUFF",
    |              |          |
    |              |          help: format specifiers use curly braces: `{STUFF}`
    |              multiple missing formatting specifiers
-LL |         "woo!",  //~ ERROR multiple unused formatting arguments
+LL |         "woo!",
    |         ^^^^^^ argument never used
 LL |             STUFF=
 LL |        "things"
diff --git a/src/test/ui/macros/global-asm.stderr b/src/test/ui/macros/global-asm.stderr
index 94664c96db3..c43bf83fe19 100644
--- a/src/test/ui/macros/global-asm.stderr
+++ b/src/test/ui/macros/global-asm.stderr
@@ -1,19 +1,19 @@
 error: macro requires a string literal as an argument
   --> $DIR/global-asm.rs:4:5
    |
-LL |     global_asm!();  //~ ERROR requires a string literal as an argument
+LL |     global_asm!();
    |     ^^^^^^^^^^^^^^ string literal required
 
 error: expected expression, found keyword `struct`
   --> $DIR/global-asm.rs:5:17
    |
-LL |     global_asm!(struct); //~ ERROR expected expression
+LL |     global_asm!(struct);
    |                 ^^^^^^ expected expression
 
 error: inline assembly must be a string literal
   --> $DIR/global-asm.rs:6:17
    |
-LL |     global_asm!(123); //~ ERROR inline assembly must be a string literal
+LL |     global_asm!(123);
    |                 ^^^
 
 error: aborting due to 3 previous errors
diff --git a/src/test/ui/macros/issue-54441.stderr b/src/test/ui/macros/issue-54441.stderr
index e27056b412a..b0fafdc3b63 100644
--- a/src/test/ui/macros/issue-54441.stderr
+++ b/src/test/ui/macros/issue-54441.stderr
@@ -1,7 +1,7 @@
 error: expected one of `crate`, `fn`, `pub`, `static`, or `type`, found `let`
   --> $DIR/issue-54441.rs:5:9
    |
-LL |         let //~ ERROR expected
+LL |         let
    |         ^^^ unexpected token
 ...
 LL |     m!();
diff --git a/src/test/ui/macros/macro-at-most-once-rep-2015-ques-rep.stderr b/src/test/ui/macros/macro-at-most-once-rep-2015-ques-rep.stderr
index cb0a9163b74..e78f2833078 100644
--- a/src/test/ui/macros/macro-at-most-once-rep-2015-ques-rep.stderr
+++ b/src/test/ui/macros/macro-at-most-once-rep-2015-ques-rep.stderr
@@ -1,7 +1,7 @@
 error: expected `*` or `+`
   --> $DIR/macro-at-most-once-rep-2015-ques-rep.rs:6:10
    |
-LL |     ($(a)?) => {} //~ERROR expected `*` or `+`
+LL |     ($(a)?) => {}
    |          ^
    |
    = note: `?` is not a macro repetition operator in the 2015 edition, but is accepted in the 2018 edition
@@ -9,7 +9,7 @@ LL |     ($(a)?) => {} //~ERROR expected `*` or `+`
 error: expected `*` or `+`
   --> $DIR/macro-at-most-once-rep-2015-ques-rep.rs:10:11
    |
-LL |     ($(a),?) => {} //~ERROR expected `*` or `+`
+LL |     ($(a),?) => {}
    |           ^
    |
    = note: `?` is not a macro repetition operator in the 2015 edition, but is accepted in the 2018 edition
diff --git a/src/test/ui/macros/macro-at-most-once-rep-2015-ques-sep.stderr b/src/test/ui/macros/macro-at-most-once-rep-2015-ques-sep.stderr
index b171cf8b34d..bf1861ae540 100644
--- a/src/test/ui/macros/macro-at-most-once-rep-2015-ques-sep.stderr
+++ b/src/test/ui/macros/macro-at-most-once-rep-2015-ques-sep.stderr
@@ -1,7 +1,7 @@
 warning: using `?` as a separator is deprecated and will be a hard error in an upcoming edition
   --> $DIR/macro-at-most-once-rep-2015-ques-sep.rs:10:10
    |
-LL |     ($(a)?*) => {} //~WARN using `?` as a separator
+LL |     ($(a)?*) => {}
    |          ^
    |
 note: lint level defined here
@@ -16,7 +16,7 @@ LL | #![warn(rust_2018_compatibility)]
 warning: using `?` as a separator is deprecated and will be a hard error in an upcoming edition
   --> $DIR/macro-at-most-once-rep-2015-ques-sep.rs:15:10
    |
-LL |     ($(a)?+) => {} //~WARN using `?` as a separator
+LL |     ($(a)?+) => {}
    |          ^
    |
    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2018 edition!
diff --git a/src/test/ui/macros/macro-at-most-once-rep-2018.stderr b/src/test/ui/macros/macro-at-most-once-rep-2018.stderr
index 657c7e54d97..f285c7cc7c2 100644
--- a/src/test/ui/macros/macro-at-most-once-rep-2018.stderr
+++ b/src/test/ui/macros/macro-at-most-once-rep-2018.stderr
@@ -1,7 +1,7 @@
 error: the `?` macro repetition operator does not take a separator
   --> $DIR/macro-at-most-once-rep-2018.rs:10:10
    |
-LL |     ($(a),?) => {}; //~ERROR the `?` macro repetition operator
+LL |     ($(a),?) => {};
    |          ^
 
 error: no rules expected the token `?`
@@ -10,7 +10,7 @@ error: no rules expected the token `?`
 LL | macro_rules! foo {
    | ---------------- when calling this macro
 ...
-LL |     foo!(a?); //~ ERROR no rules expected the token `?`
+LL |     foo!(a?);
    |           ^ no rules expected this token in macro call
 
 error: no rules expected the token `?`
@@ -19,7 +19,7 @@ error: no rules expected the token `?`
 LL | macro_rules! foo {
    | ---------------- when calling this macro
 ...
-LL |     foo!(a?a); //~ ERROR no rules expected the token `?`
+LL |     foo!(a?a);
    |           ^ no rules expected this token in macro call
 
 error: no rules expected the token `?`
@@ -28,7 +28,7 @@ error: no rules expected the token `?`
 LL | macro_rules! foo {
    | ---------------- when calling this macro
 ...
-LL |     foo!(a?a?a); //~ ERROR no rules expected the token `?`
+LL |     foo!(a?a?a);
    |           ^ no rules expected this token in macro call
 
 error: unexpected end of macro invocation
@@ -37,7 +37,7 @@ error: unexpected end of macro invocation
 LL | macro_rules! barplus {
    | -------------------- when calling this macro
 ...
-LL |     barplus!(); //~ERROR unexpected end of macro invocation
+LL |     barplus!();
    |     ^^^^^^^^^^^ missing tokens in macro arguments
 
 error: unexpected end of macro invocation
@@ -46,7 +46,7 @@ error: unexpected end of macro invocation
 LL | macro_rules! barplus {
    | -------------------- when calling this macro
 ...
-LL |     barplus!(a); //~ERROR unexpected end of macro invocation
+LL |     barplus!(a);
    |               ^ missing tokens in macro arguments
 
 error: no rules expected the token `?`
@@ -55,7 +55,7 @@ error: no rules expected the token `?`
 LL | macro_rules! barplus {
    | -------------------- when calling this macro
 ...
-LL |     barplus!(a?); //~ ERROR no rules expected the token `?`
+LL |     barplus!(a?);
    |               ^ no rules expected this token in macro call
 
 error: no rules expected the token `?`
@@ -64,7 +64,7 @@ error: no rules expected the token `?`
 LL | macro_rules! barplus {
    | -------------------- when calling this macro
 ...
-LL |     barplus!(a?a); //~ ERROR no rules expected the token `?`
+LL |     barplus!(a?a);
    |               ^ no rules expected this token in macro call
 
 error: unexpected end of macro invocation
@@ -73,7 +73,7 @@ error: unexpected end of macro invocation
 LL | macro_rules! barstar {
    | -------------------- when calling this macro
 ...
-LL |     barstar!(); //~ERROR unexpected end of macro invocation
+LL |     barstar!();
    |     ^^^^^^^^^^^ missing tokens in macro arguments
 
 error: unexpected end of macro invocation
@@ -82,7 +82,7 @@ error: unexpected end of macro invocation
 LL | macro_rules! barstar {
    | -------------------- when calling this macro
 ...
-LL |     barstar!(a); //~ERROR unexpected end of macro invocation
+LL |     barstar!(a);
    |               ^ missing tokens in macro arguments
 
 error: no rules expected the token `?`
@@ -91,7 +91,7 @@ error: no rules expected the token `?`
 LL | macro_rules! barstar {
    | -------------------- when calling this macro
 ...
-LL |     barstar!(a?); //~ ERROR no rules expected the token `?`
+LL |     barstar!(a?);
    |               ^ no rules expected this token in macro call
 
 error: no rules expected the token `?`
@@ -100,7 +100,7 @@ error: no rules expected the token `?`
 LL | macro_rules! barstar {
    | -------------------- when calling this macro
 ...
-LL |     barstar!(a?a); //~ ERROR no rules expected the token `?`
+LL |     barstar!(a?a);
    |               ^ no rules expected this token in macro call
 
 error: aborting due to 12 previous errors
diff --git a/src/test/ui/macros/macro-attribute.stderr b/src/test/ui/macros/macro-attribute.stderr
index 7314e483348..aa1cd94b0c6 100644
--- a/src/test/ui/macros/macro-attribute.stderr
+++ b/src/test/ui/macros/macro-attribute.stderr
@@ -1,7 +1,7 @@
 error: unexpected token: `$`
   --> $DIR/macro-attribute.rs:1:7
    |
-LL | #[doc = $not_there] //~ ERROR unexpected token: `$`
+LL | #[doc = $not_there]
    |       ^
 
 error: aborting due to previous error
diff --git a/src/test/ui/macros/macro-backtrace-invalid-internals.stderr b/src/test/ui/macros/macro-backtrace-invalid-internals.stderr
index 353ae1d0ea6..11a4b44eff1 100644
--- a/src/test/ui/macros/macro-backtrace-invalid-internals.stderr
+++ b/src/test/ui/macros/macro-backtrace-invalid-internals.stderr
@@ -1,7 +1,7 @@
 error[E0599]: no method named `fake` found for type `{integer}` in the current scope
   --> $DIR/macro-backtrace-invalid-internals.rs:5:13
    |
-LL |           1.fake() //~ ERROR no method
+LL |           1.fake()
    |             ^^^^
 ...
 LL |     fake_method_stmt!();
@@ -10,7 +10,7 @@ LL |     fake_method_stmt!();
 error[E0610]: `{integer}` is a primitive type and therefore doesn't have fields
   --> $DIR/macro-backtrace-invalid-internals.rs:11:13
    |
-LL |           1.fake //~ ERROR doesn't have fields
+LL |           1.fake
    |             ^^^^
 ...
 LL |     fake_field_stmt!();
@@ -19,7 +19,7 @@ LL |     fake_field_stmt!();
 error[E0610]: `{integer}` is a primitive type and therefore doesn't have fields
   --> $DIR/macro-backtrace-invalid-internals.rs:17:15
    |
-LL |           (1).0 //~ ERROR doesn't have fields
+LL |           (1).0
    |               ^
 ...
 LL |     fake_anon_field_stmt!();
@@ -28,20 +28,20 @@ LL |     fake_anon_field_stmt!();
 error[E0689]: can't call method `neg` on ambiguous numeric type `{float}`
   --> $DIR/macro-backtrace-invalid-internals.rs:41:15
    |
-LL |           2.0.neg() //~ ERROR can't call method `neg` on ambiguous numeric type `{float}`
+LL |           2.0.neg()
    |               ^^^
 ...
 LL |     real_method_stmt!();
    |     -------------------- in this macro invocation
 help: you must specify a concrete type for this numeric value, like `f32`
    |
-LL |           2.0_f32.neg() //~ ERROR can't call method `neg` on ambiguous numeric type `{float}`
+LL |           2.0_f32.neg()
    |           ^^^^^^^
 
 error[E0599]: no method named `fake` found for type `{integer}` in the current scope
   --> $DIR/macro-backtrace-invalid-internals.rs:23:13
    |
-LL |           1.fake() //~ ERROR no method
+LL |           1.fake()
    |             ^^^^
 ...
 LL |     let _ = fake_method_expr!();
@@ -50,7 +50,7 @@ LL |     let _ = fake_method_expr!();
 error[E0610]: `{integer}` is a primitive type and therefore doesn't have fields
   --> $DIR/macro-backtrace-invalid-internals.rs:29:13
    |
-LL |           1.fake //~ ERROR doesn't have fields
+LL |           1.fake
    |             ^^^^
 ...
 LL |     let _ = fake_field_expr!();
@@ -59,7 +59,7 @@ LL |     let _ = fake_field_expr!();
 error[E0610]: `{integer}` is a primitive type and therefore doesn't have fields
   --> $DIR/macro-backtrace-invalid-internals.rs:35:15
    |
-LL |           (1).0 //~ ERROR doesn't have fields
+LL |           (1).0
    |               ^
 ...
 LL |     let _ = fake_anon_field_expr!();
@@ -68,14 +68,14 @@ LL |     let _ = fake_anon_field_expr!();
 error[E0689]: can't call method `neg` on ambiguous numeric type `{float}`
   --> $DIR/macro-backtrace-invalid-internals.rs:47:15
    |
-LL |           2.0.neg() //~ ERROR can't call method `neg` on ambiguous numeric type `{float}`
+LL |           2.0.neg()
    |               ^^^
 ...
 LL |     let _ = real_method_expr!();
    |             ------------------- in this macro invocation
 help: you must specify a concrete type for this numeric value, like `f32`
    |
-LL |           2.0_f32.neg() //~ ERROR can't call method `neg` on ambiguous numeric type `{float}`
+LL |           2.0_f32.neg()
    |           ^^^^^^^
 
 error: aborting due to 8 previous errors
diff --git a/src/test/ui/macros/macro-backtrace-nested.stderr b/src/test/ui/macros/macro-backtrace-nested.stderr
index 61a11231efe..501f525a05f 100644
--- a/src/test/ui/macros/macro-backtrace-nested.stderr
+++ b/src/test/ui/macros/macro-backtrace-nested.stderr
@@ -1,7 +1,7 @@
 error[E0425]: cannot find value `fake` in this scope
   --> $DIR/macro-backtrace-nested.rs:5:12
    |
-LL |     () => (fake) //~ ERROR cannot find
+LL |     () => (fake)
    |            ^^^^ not found in this scope
 ...
 LL |     1 + call_nested_expr!();
@@ -10,7 +10,7 @@ LL |     1 + call_nested_expr!();
 error[E0425]: cannot find value `fake` in this scope
   --> $DIR/macro-backtrace-nested.rs:5:12
    |
-LL |     () => (fake) //~ ERROR cannot find
+LL |     () => (fake)
    |            ^^^^ not found in this scope
 ...
 LL |     call_nested_expr_sum!();
diff --git a/src/test/ui/macros/macro-backtrace-println.stderr b/src/test/ui/macros/macro-backtrace-println.stderr
index c24a88c4159..573184b63b1 100644
--- a/src/test/ui/macros/macro-backtrace-println.stderr
+++ b/src/test/ui/macros/macro-backtrace-println.stderr
@@ -1,7 +1,7 @@
 error: 1 positional argument in format string, but no arguments were given
   --> $DIR/macro-backtrace-println.rs:14:30
    |
-LL |     ($fmt:expr) => (myprint!(concat!($fmt, "/n"))); //~ ERROR no arguments were given
+LL |     ($fmt:expr) => (myprint!(concat!($fmt, "/n")));
    |                              ^^^^^^^^^^^^^^^^^^^
 ...
 LL |     myprintln!("{}");
diff --git a/src/test/ui/macros/macro-comma-support.stderr b/src/test/ui/macros/macro-comma-support.stderr
index a4bb8a9b32f..28d064f7f5b 100644
--- a/src/test/ui/macros/macro-comma-support.stderr
+++ b/src/test/ui/macros/macro-comma-support.stderr
@@ -1,13 +1,13 @@
 error: lel
   --> $DIR/macro-comma-support.rs:6:5
    |
-LL |     compile_error!("lel"); //~ ERROR lel
+LL |     compile_error!("lel");
    |     ^^^^^^^^^^^^^^^^^^^^^^
 
 error: lel
   --> $DIR/macro-comma-support.rs:7:5
    |
-LL |     compile_error!("lel",); //~ ERROR lel
+LL |     compile_error!("lel",);
    |     ^^^^^^^^^^^^^^^^^^^^^^^
 
 error: aborting due to 2 previous errors
diff --git a/src/test/ui/macros/macro-context.stderr b/src/test/ui/macros/macro-context.stderr
index 9a4a8e31985..2a0779190f5 100644
--- a/src/test/ui/macros/macro-context.stderr
+++ b/src/test/ui/macros/macro-context.stderr
@@ -1,7 +1,7 @@
 error: macro expansion ignores token `;` and any following
   --> $DIR/macro-context.rs:3:15
    |
-LL |     () => ( i ; typeof );   //~ ERROR expected expression, found reserved keyword `typeof`
+LL |     () => ( i ; typeof );
    |               ^
 ...
 LL |     let a: m!();
@@ -12,7 +12,7 @@ LL |     let a: m!();
 error: macro expansion ignores token `typeof` and any following
   --> $DIR/macro-context.rs:3:17
    |
-LL |     () => ( i ; typeof );   //~ ERROR expected expression, found reserved keyword `typeof`
+LL |     () => ( i ; typeof );
    |                 ^^^^^^
 ...
 LL |     let i = m!();
@@ -23,7 +23,7 @@ LL |     let i = m!();
 error: macro expansion ignores token `;` and any following
   --> $DIR/macro-context.rs:3:15
    |
-LL |     () => ( i ; typeof );   //~ ERROR expected expression, found reserved keyword `typeof`
+LL |     () => ( i ; typeof );
    |               ^
 ...
 LL |         m!() => {}
@@ -34,7 +34,7 @@ LL |         m!() => {}
 error: expected expression, found reserved keyword `typeof`
   --> $DIR/macro-context.rs:3:17
    |
-LL |     () => ( i ; typeof );   //~ ERROR expected expression, found reserved keyword `typeof`
+LL |     () => ( i ; typeof );
    |                 ^^^^^^ expected expression
 ...
 LL |     m!();
diff --git a/src/test/ui/macros/macro-crate-nonterminal-non-root.stderr b/src/test/ui/macros/macro-crate-nonterminal-non-root.stderr
index a1af9ba1758..1eca0186da9 100644
--- a/src/test/ui/macros/macro-crate-nonterminal-non-root.stderr
+++ b/src/test/ui/macros/macro-crate-nonterminal-non-root.stderr
@@ -1,7 +1,7 @@
 error[E0468]: an `extern crate` loading macros must be at the crate root
   --> $DIR/macro-crate-nonterminal-non-root.rs:5:5
    |
-LL |     extern crate macro_crate_nonterminal;  //~ ERROR must be at the crate root
+LL |     extern crate macro_crate_nonterminal;
    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 
 error: aborting due to previous error
diff --git a/src/test/ui/macros/macro-error.stderr b/src/test/ui/macros/macro-error.stderr
index f56b67e7cd0..b3aed8c2cef 100644
--- a/src/test/ui/macros/macro-error.stderr
+++ b/src/test/ui/macros/macro-error.stderr
@@ -1,13 +1,13 @@
 error: macro rhs must be delimited
   --> $DIR/macro-error.rs:2:18
    |
-LL |     ($a:expr) => a; //~ ERROR macro rhs must be delimited
+LL |     ($a:expr) => a;
    |                  ^
 
 error: non-type macro in type position: cfg
   --> $DIR/macro-error.rs:8:12
    |
-LL |     let _: cfg!(foo) = (); //~ ERROR non-type macro in type position
+LL |     let _: cfg!(foo) = ();
    |            ^^^
 
 error: aborting due to 2 previous errors
diff --git a/src/test/ui/macros/macro-follow.stderr b/src/test/ui/macros/macro-follow.stderr
index e3302eac4ac..d3f081bb4a2 100644
--- a/src/test/ui/macros/macro-follow.stderr
+++ b/src/test/ui/macros/macro-follow.stderr
@@ -1,7 +1,7 @@
 error: `$p:pat` is followed by `(`, which is not allowed for `pat` fragments
   --> $DIR/macro-follow.rs:8:14
    |
-LL |     ($p:pat ()) => {};       //~ERROR  `$p:pat` is followed by `(`
+LL |     ($p:pat ()) => {};
    |              ^ not allowed after `pat` fragments
    |
    = note: allowed there are: `=>`, `,`, `=`, `|`, `if` or `in`
@@ -9,7 +9,7 @@ LL |     ($p:pat ()) => {};       //~ERROR  `$p:pat` is followed by `(`
 error: `$p:pat` is followed by `[`, which is not allowed for `pat` fragments
   --> $DIR/macro-follow.rs:9:14
    |
-LL |     ($p:pat []) => {};       //~ERROR  `$p:pat` is followed by `[`
+LL |     ($p:pat []) => {};
    |              ^ not allowed after `pat` fragments
    |
    = note: allowed there are: `=>`, `,`, `=`, `|`, `if` or `in`
@@ -17,7 +17,7 @@ LL |     ($p:pat []) => {};       //~ERROR  `$p:pat` is followed by `[`
 error: `$p:pat` is followed by `{`, which is not allowed for `pat` fragments
   --> $DIR/macro-follow.rs:10:14
    |
-LL |     ($p:pat {}) => {};       //~ERROR  `$p:pat` is followed by `{`
+LL |     ($p:pat {}) => {};
    |              ^ not allowed after `pat` fragments
    |
    = note: allowed there are: `=>`, `,`, `=`, `|`, `if` or `in`
@@ -25,7 +25,7 @@ LL |     ($p:pat {}) => {};       //~ERROR  `$p:pat` is followed by `{`
 error: `$p:pat` is followed by `:`, which is not allowed for `pat` fragments
   --> $DIR/macro-follow.rs:11:13
    |
-LL |     ($p:pat :) => {};        //~ERROR `$p:pat` is followed by `:`
+LL |     ($p:pat :) => {};
    |             ^ not allowed after `pat` fragments
    |
    = note: allowed there are: `=>`, `,`, `=`, `|`, `if` or `in`
@@ -33,7 +33,7 @@ LL |     ($p:pat :) => {};        //~ERROR `$p:pat` is followed by `:`
 error: `$p:pat` is followed by `>`, which is not allowed for `pat` fragments
   --> $DIR/macro-follow.rs:12:13
    |
-LL |     ($p:pat >) => {};        //~ERROR `$p:pat` is followed by `>`
+LL |     ($p:pat >) => {};
    |             ^ not allowed after `pat` fragments
    |
    = note: allowed there are: `=>`, `,`, `=`, `|`, `if` or `in`
@@ -41,7 +41,7 @@ LL |     ($p:pat >) => {};        //~ERROR `$p:pat` is followed by `>`
 error: `$p:pat` is followed by `+`, which is not allowed for `pat` fragments
   --> $DIR/macro-follow.rs:13:13
    |
-LL |     ($p:pat +) => {};        //~ERROR `$p:pat` is followed by `+`
+LL |     ($p:pat +) => {};
    |             ^ not allowed after `pat` fragments
    |
    = note: allowed there are: `=>`, `,`, `=`, `|`, `if` or `in`
@@ -49,7 +49,7 @@ LL |     ($p:pat +) => {};        //~ERROR `$p:pat` is followed by `+`
 error: `$p:pat` is followed by `ident`, which is not allowed for `pat` fragments
   --> $DIR/macro-follow.rs:14:13
    |
-LL |     ($p:pat ident) => {};    //~ERROR `$p:pat` is followed by `ident`
+LL |     ($p:pat ident) => {};
    |             ^^^^^ not allowed after `pat` fragments
    |
    = note: allowed there are: `=>`, `,`, `=`, `|`, `if` or `in`
@@ -57,7 +57,7 @@ LL |     ($p:pat ident) => {};    //~ERROR `$p:pat` is followed by `ident`
 error: `$p:pat` is followed by `$q:pat`, which is not allowed for `pat` fragments
   --> $DIR/macro-follow.rs:15:13
    |
-LL |     ($p:pat $q:pat) => {};   //~ERROR `$p:pat` is followed by `$q:pat`
+LL |     ($p:pat $q:pat) => {};
    |             ^^^^^^ not allowed after `pat` fragments
    |
    = note: allowed there are: `=>`, `,`, `=`, `|`, `if` or `in`
@@ -65,7 +65,7 @@ LL |     ($p:pat $q:pat) => {};   //~ERROR `$p:pat` is followed by `$q:pat`
 error: `$p:pat` is followed by `$e:expr`, which is not allowed for `pat` fragments
   --> $DIR/macro-follow.rs:16:13
    |
-LL |     ($p:pat $e:expr) => {};  //~ERROR `$p:pat` is followed by `$e:expr`
+LL |     ($p:pat $e:expr) => {};
    |             ^^^^^^^ not allowed after `pat` fragments
    |
    = note: allowed there are: `=>`, `,`, `=`, `|`, `if` or `in`
@@ -73,7 +73,7 @@ LL |     ($p:pat $e:expr) => {};  //~ERROR `$p:pat` is followed by `$e:expr`
 error: `$p:pat` is followed by `$t:ty`, which is not allowed for `pat` fragments
   --> $DIR/macro-follow.rs:17:13
    |
-LL |     ($p:pat $t:ty) => {};    //~ERROR `$p:pat` is followed by `$t:ty`
+LL |     ($p:pat $t:ty) => {};
    |             ^^^^^ not allowed after `pat` fragments
    |
    = note: allowed there are: `=>`, `,`, `=`, `|`, `if` or `in`
@@ -81,7 +81,7 @@ LL |     ($p:pat $t:ty) => {};    //~ERROR `$p:pat` is followed by `$t:ty`
 error: `$p:pat` is followed by `$s:stmt`, which is not allowed for `pat` fragments
   --> $DIR/macro-follow.rs:18:13
    |
-LL |     ($p:pat $s:stmt) => {};  //~ERROR `$p:pat` is followed by `$s:stmt`
+LL |     ($p:pat $s:stmt) => {};
    |             ^^^^^^^ not allowed after `pat` fragments
    |
    = note: allowed there are: `=>`, `,`, `=`, `|`, `if` or `in`
@@ -89,7 +89,7 @@ LL |     ($p:pat $s:stmt) => {};  //~ERROR `$p:pat` is followed by `$s:stmt`
 error: `$p:pat` is followed by `$q:path`, which is not allowed for `pat` fragments
   --> $DIR/macro-follow.rs:19:13
    |
-LL |     ($p:pat $q:path) => {};  //~ERROR `$p:pat` is followed by `$q:path`
+LL |     ($p:pat $q:path) => {};
    |             ^^^^^^^ not allowed after `pat` fragments
    |
    = note: allowed there are: `=>`, `,`, `=`, `|`, `if` or `in`
@@ -97,7 +97,7 @@ LL |     ($p:pat $q:path) => {};  //~ERROR `$p:pat` is followed by `$q:path`
 error: `$p:pat` is followed by `$b:block`, which is not allowed for `pat` fragments
   --> $DIR/macro-follow.rs:20:13
    |
-LL |     ($p:pat $b:block) => {}; //~ERROR `$p:pat` is followed by `$b:block`
+LL |     ($p:pat $b:block) => {};
    |             ^^^^^^^^ not allowed after `pat` fragments
    |
    = note: allowed there are: `=>`, `,`, `=`, `|`, `if` or `in`
@@ -105,7 +105,7 @@ LL |     ($p:pat $b:block) => {}; //~ERROR `$p:pat` is followed by `$b:block`
 error: `$p:pat` is followed by `$i:ident`, which is not allowed for `pat` fragments
   --> $DIR/macro-follow.rs:21:13
    |
-LL |     ($p:pat $i:ident) => {}; //~ERROR `$p:pat` is followed by `$i:ident`
+LL |     ($p:pat $i:ident) => {};
    |             ^^^^^^^^ not allowed after `pat` fragments
    |
    = note: allowed there are: `=>`, `,`, `=`, `|`, `if` or `in`
@@ -113,7 +113,7 @@ LL |     ($p:pat $i:ident) => {}; //~ERROR `$p:pat` is followed by `$i:ident`
 error: `$p:pat` is followed by `$t:tt`, which is not allowed for `pat` fragments
   --> $DIR/macro-follow.rs:22:13
    |
-LL |     ($p:pat $t:tt) => {};    //~ERROR `$p:pat` is followed by `$t:tt`
+LL |     ($p:pat $t:tt) => {};
    |             ^^^^^ not allowed after `pat` fragments
    |
    = note: allowed there are: `=>`, `,`, `=`, `|`, `if` or `in`
@@ -121,7 +121,7 @@ LL |     ($p:pat $t:tt) => {};    //~ERROR `$p:pat` is followed by `$t:tt`
 error: `$p:pat` is followed by `$i:item`, which is not allowed for `pat` fragments
   --> $DIR/macro-follow.rs:23:13
    |
-LL |     ($p:pat $i:item) => {};  //~ERROR `$p:pat` is followed by `$i:item`
+LL |     ($p:pat $i:item) => {};
    |             ^^^^^^^ not allowed after `pat` fragments
    |
    = note: allowed there are: `=>`, `,`, `=`, `|`, `if` or `in`
@@ -129,7 +129,7 @@ LL |     ($p:pat $i:item) => {};  //~ERROR `$p:pat` is followed by `$i:item`
 error: `$p:pat` is followed by `$m:meta`, which is not allowed for `pat` fragments
   --> $DIR/macro-follow.rs:24:13
    |
-LL |     ($p:pat $m:meta) => {};  //~ERROR `$p:pat` is followed by `$m:meta`
+LL |     ($p:pat $m:meta) => {};
    |             ^^^^^^^ not allowed after `pat` fragments
    |
    = note: allowed there are: `=>`, `,`, `=`, `|`, `if` or `in`
@@ -137,7 +137,7 @@ LL |     ($p:pat $m:meta) => {};  //~ERROR `$p:pat` is followed by `$m:meta`
 error: `$e:expr` is followed by `(`, which is not allowed for `expr` fragments
   --> $DIR/macro-follow.rs:28:15
    |
-LL |     ($e:expr ()) => {};       //~ERROR  `$e:expr` is followed by `(`
+LL |     ($e:expr ()) => {};
    |               ^ not allowed after `expr` fragments
    |
    = note: allowed there are: `=>`, `,` or `;`
@@ -145,7 +145,7 @@ LL |     ($e:expr ()) => {};       //~ERROR  `$e:expr` is followed by `(`
 error: `$e:expr` is followed by `[`, which is not allowed for `expr` fragments
   --> $DIR/macro-follow.rs:29:15
    |
-LL |     ($e:expr []) => {};       //~ERROR  `$e:expr` is followed by `[`
+LL |     ($e:expr []) => {};
    |               ^ not allowed after `expr` fragments
    |
    = note: allowed there are: `=>`, `,` or `;`
@@ -153,7 +153,7 @@ LL |     ($e:expr []) => {};       //~ERROR  `$e:expr` is followed by `[`
 error: `$e:expr` is followed by `{`, which is not allowed for `expr` fragments
   --> $DIR/macro-follow.rs:30:15
    |
-LL |     ($e:expr {}) => {};       //~ERROR  `$e:expr` is followed by `{`
+LL |     ($e:expr {}) => {};
    |               ^ not allowed after `expr` fragments
    |
    = note: allowed there are: `=>`, `,` or `;`
@@ -161,7 +161,7 @@ LL |     ($e:expr {}) => {};       //~ERROR  `$e:expr` is followed by `{`
 error: `$e:expr` is followed by `=`, which is not allowed for `expr` fragments
   --> $DIR/macro-follow.rs:31:14
    |
-LL |     ($e:expr =) => {};        //~ERROR `$e:expr` is followed by `=`
+LL |     ($e:expr =) => {};
    |              ^ not allowed after `expr` fragments
    |
    = note: allowed there are: `=>`, `,` or `;`
@@ -169,7 +169,7 @@ LL |     ($e:expr =) => {};        //~ERROR `$e:expr` is followed by `=`
 error: `$e:expr` is followed by `|`, which is not allowed for `expr` fragments
   --> $DIR/macro-follow.rs:32:14
    |
-LL |     ($e:expr |) => {};        //~ERROR `$e:expr` is followed by `|`
+LL |     ($e:expr |) => {};
    |              ^ not allowed after `expr` fragments
    |
    = note: allowed there are: `=>`, `,` or `;`
@@ -177,7 +177,7 @@ LL |     ($e:expr |) => {};        //~ERROR `$e:expr` is followed by `|`
 error: `$e:expr` is followed by `:`, which is not allowed for `expr` fragments
   --> $DIR/macro-follow.rs:33:14
    |
-LL |     ($e:expr :) => {};        //~ERROR `$e:expr` is followed by `:`
+LL |     ($e:expr :) => {};
    |              ^ not allowed after `expr` fragments
    |
    = note: allowed there are: `=>`, `,` or `;`
@@ -185,7 +185,7 @@ LL |     ($e:expr :) => {};        //~ERROR `$e:expr` is followed by `:`
 error: `$e:expr` is followed by `>`, which is not allowed for `expr` fragments
   --> $DIR/macro-follow.rs:34:14
    |
-LL |     ($e:expr >) => {};        //~ERROR `$e:expr` is followed by `>`
+LL |     ($e:expr >) => {};
    |              ^ not allowed after `expr` fragments
    |
    = note: allowed there are: `=>`, `,` or `;`
@@ -193,7 +193,7 @@ LL |     ($e:expr >) => {};        //~ERROR `$e:expr` is followed by `>`
 error: `$e:expr` is followed by `+`, which is not allowed for `expr` fragments
   --> $DIR/macro-follow.rs:35:14
    |
-LL |     ($e:expr +) => {};        //~ERROR `$e:expr` is followed by `+`
+LL |     ($e:expr +) => {};
    |              ^ not allowed after `expr` fragments
    |
    = note: allowed there are: `=>`, `,` or `;`
@@ -201,7 +201,7 @@ LL |     ($e:expr +) => {};        //~ERROR `$e:expr` is followed by `+`
 error: `$e:expr` is followed by `ident`, which is not allowed for `expr` fragments
   --> $DIR/macro-follow.rs:36:14
    |
-LL |     ($e:expr ident) => {};    //~ERROR `$e:expr` is followed by `ident`
+LL |     ($e:expr ident) => {};
    |              ^^^^^ not allowed after `expr` fragments
    |
    = note: allowed there are: `=>`, `,` or `;`
@@ -209,7 +209,7 @@ LL |     ($e:expr ident) => {};    //~ERROR `$e:expr` is followed by `ident`
 error: `$e:expr` is followed by `if`, which is not allowed for `expr` fragments
   --> $DIR/macro-follow.rs:37:14
    |
-LL |     ($e:expr if) => {};       //~ERROR `$e:expr` is followed by `if`
+LL |     ($e:expr if) => {};
    |              ^^ not allowed after `expr` fragments
    |
    = note: allowed there are: `=>`, `,` or `;`
@@ -217,7 +217,7 @@ LL |     ($e:expr if) => {};       //~ERROR `$e:expr` is followed by `if`
 error: `$e:expr` is followed by `in`, which is not allowed for `expr` fragments
   --> $DIR/macro-follow.rs:38:14
    |
-LL |     ($e:expr in) => {};       //~ERROR `$e:expr` is followed by `in`
+LL |     ($e:expr in) => {};
    |              ^^ not allowed after `expr` fragments
    |
    = note: allowed there are: `=>`, `,` or `;`
@@ -225,7 +225,7 @@ LL |     ($e:expr in) => {};       //~ERROR `$e:expr` is followed by `in`
 error: `$e:expr` is followed by `$p:pat`, which is not allowed for `expr` fragments
   --> $DIR/macro-follow.rs:39:14
    |
-LL |     ($e:expr $p:pat) => {};   //~ERROR `$e:expr` is followed by `$p:pat`
+LL |     ($e:expr $p:pat) => {};
    |              ^^^^^^ not allowed after `expr` fragments
    |
    = note: allowed there are: `=>`, `,` or `;`
@@ -233,7 +233,7 @@ LL |     ($e:expr $p:pat) => {};   //~ERROR `$e:expr` is followed by `$p:pat`
 error: `$e:expr` is followed by `$f:expr`, which is not allowed for `expr` fragments
   --> $DIR/macro-follow.rs:40:14
    |
-LL |     ($e:expr $f:expr) => {};  //~ERROR `$e:expr` is followed by `$f:expr`
+LL |     ($e:expr $f:expr) => {};
    |              ^^^^^^^ not allowed after `expr` fragments
    |
    = note: allowed there are: `=>`, `,` or `;`
@@ -241,7 +241,7 @@ LL |     ($e:expr $f:expr) => {};  //~ERROR `$e:expr` is followed by `$f:expr`
 error: `$e:expr` is followed by `$t:ty`, which is not allowed for `expr` fragments
   --> $DIR/macro-follow.rs:41:14
    |
-LL |     ($e:expr $t:ty) => {};    //~ERROR `$e:expr` is followed by `$t:ty`
+LL |     ($e:expr $t:ty) => {};
    |              ^^^^^ not allowed after `expr` fragments
    |
    = note: allowed there are: `=>`, `,` or `;`
@@ -249,7 +249,7 @@ LL |     ($e:expr $t:ty) => {};    //~ERROR `$e:expr` is followed by `$t:ty`
 error: `$e:expr` is followed by `$s:stmt`, which is not allowed for `expr` fragments
   --> $DIR/macro-follow.rs:42:14
    |
-LL |     ($e:expr $s:stmt) => {};  //~ERROR `$e:expr` is followed by `$s:stmt`
+LL |     ($e:expr $s:stmt) => {};
    |              ^^^^^^^ not allowed after `expr` fragments
    |
    = note: allowed there are: `=>`, `,` or `;`
@@ -257,7 +257,7 @@ LL |     ($e:expr $s:stmt) => {};  //~ERROR `$e:expr` is followed by `$s:stmt`
 error: `$e:expr` is followed by `$p:path`, which is not allowed for `expr` fragments
   --> $DIR/macro-follow.rs:43:14
    |
-LL |     ($e:expr $p:path) => {};  //~ERROR `$e:expr` is followed by `$p:path`
+LL |     ($e:expr $p:path) => {};
    |              ^^^^^^^ not allowed after `expr` fragments
    |
    = note: allowed there are: `=>`, `,` or `;`
@@ -265,7 +265,7 @@ LL |     ($e:expr $p:path) => {};  //~ERROR `$e:expr` is followed by `$p:path`
 error: `$e:expr` is followed by `$b:block`, which is not allowed for `expr` fragments
   --> $DIR/macro-follow.rs:44:14
    |
-LL |     ($e:expr $b:block) => {}; //~ERROR `$e:expr` is followed by `$b:block`
+LL |     ($e:expr $b:block) => {};
    |              ^^^^^^^^ not allowed after `expr` fragments
    |
    = note: allowed there are: `=>`, `,` or `;`
@@ -273,7 +273,7 @@ LL |     ($e:expr $b:block) => {}; //~ERROR `$e:expr` is followed by `$b:block`
 error: `$e:expr` is followed by `$i:ident`, which is not allowed for `expr` fragments
   --> $DIR/macro-follow.rs:45:14
    |
-LL |     ($e:expr $i:ident) => {}; //~ERROR `$e:expr` is followed by `$i:ident`
+LL |     ($e:expr $i:ident) => {};
    |              ^^^^^^^^ not allowed after `expr` fragments
    |
    = note: allowed there are: `=>`, `,` or `;`
@@ -281,7 +281,7 @@ LL |     ($e:expr $i:ident) => {}; //~ERROR `$e:expr` is followed by `$i:ident`
 error: `$e:expr` is followed by `$t:tt`, which is not allowed for `expr` fragments
   --> $DIR/macro-follow.rs:46:14
    |
-LL |     ($e:expr $t:tt) => {};    //~ERROR `$e:expr` is followed by `$t:tt`
+LL |     ($e:expr $t:tt) => {};
    |              ^^^^^ not allowed after `expr` fragments
    |
    = note: allowed there are: `=>`, `,` or `;`
@@ -289,7 +289,7 @@ LL |     ($e:expr $t:tt) => {};    //~ERROR `$e:expr` is followed by `$t:tt`
 error: `$e:expr` is followed by `$i:item`, which is not allowed for `expr` fragments
   --> $DIR/macro-follow.rs:47:14
    |
-LL |     ($e:expr $i:item) => {};  //~ERROR `$e:expr` is followed by `$i:item`
+LL |     ($e:expr $i:item) => {};
    |              ^^^^^^^ not allowed after `expr` fragments
    |
    = note: allowed there are: `=>`, `,` or `;`
@@ -297,7 +297,7 @@ LL |     ($e:expr $i:item) => {};  //~ERROR `$e:expr` is followed by `$i:item`
 error: `$e:expr` is followed by `$m:meta`, which is not allowed for `expr` fragments
   --> $DIR/macro-follow.rs:48:14
    |
-LL |     ($e:expr $m:meta) => {};  //~ERROR `$e:expr` is followed by `$m:meta`
+LL |     ($e:expr $m:meta) => {};
    |              ^^^^^^^ not allowed after `expr` fragments
    |
    = note: allowed there are: `=>`, `,` or `;`
@@ -305,7 +305,7 @@ LL |     ($e:expr $m:meta) => {};  //~ERROR `$e:expr` is followed by `$m:meta`
 error: `$t:ty` is followed by `(`, which is not allowed for `ty` fragments
   --> $DIR/macro-follow.rs:53:13
    |
-LL |     ($t:ty ()) => {};       //~ERROR  `$t:ty` is followed by `(`
+LL |     ($t:ty ()) => {};
    |             ^ not allowed after `ty` fragments
    |
    = note: allowed there are: `{`, `[`, `=>`, `,`, `>`, `=`, `:`, `;`, `|`, `as` or `where`
@@ -313,7 +313,7 @@ LL |     ($t:ty ()) => {};       //~ERROR  `$t:ty` is followed by `(`
 error: `$t:ty` is followed by `+`, which is not allowed for `ty` fragments
   --> $DIR/macro-follow.rs:55:12
    |
-LL |     ($t:ty +) => {};        //~ERROR `$t:ty` is followed by `+`
+LL |     ($t:ty +) => {};
    |            ^ not allowed after `ty` fragments
    |
    = note: allowed there are: `{`, `[`, `=>`, `,`, `>`, `=`, `:`, `;`, `|`, `as` or `where`
@@ -321,7 +321,7 @@ LL |     ($t:ty +) => {};        //~ERROR `$t:ty` is followed by `+`
 error: `$t:ty` is followed by `ident`, which is not allowed for `ty` fragments
   --> $DIR/macro-follow.rs:56:12
    |
-LL |     ($t:ty ident) => {};    //~ERROR `$t:ty` is followed by `ident`
+LL |     ($t:ty ident) => {};
    |            ^^^^^ not allowed after `ty` fragments
    |
    = note: allowed there are: `{`, `[`, `=>`, `,`, `>`, `=`, `:`, `;`, `|`, `as` or `where`
@@ -329,7 +329,7 @@ LL |     ($t:ty ident) => {};    //~ERROR `$t:ty` is followed by `ident`
 error: `$t:ty` is followed by `if`, which is not allowed for `ty` fragments
   --> $DIR/macro-follow.rs:57:12
    |
-LL |     ($t:ty if) => {};       //~ERROR `$t:ty` is followed by `if`
+LL |     ($t:ty if) => {};
    |            ^^ not allowed after `ty` fragments
    |
    = note: allowed there are: `{`, `[`, `=>`, `,`, `>`, `=`, `:`, `;`, `|`, `as` or `where`
@@ -337,7 +337,7 @@ LL |     ($t:ty if) => {};       //~ERROR `$t:ty` is followed by `if`
 error: `$t:ty` is followed by `$p:pat`, which is not allowed for `ty` fragments
   --> $DIR/macro-follow.rs:58:12
    |
-LL |     ($t:ty $p:pat) => {};   //~ERROR `$t:ty` is followed by `$p:pat`
+LL |     ($t:ty $p:pat) => {};
    |            ^^^^^^ not allowed after `ty` fragments
    |
    = note: allowed there are: `{`, `[`, `=>`, `,`, `>`, `=`, `:`, `;`, `|`, `as` or `where`
@@ -345,7 +345,7 @@ LL |     ($t:ty $p:pat) => {};   //~ERROR `$t:ty` is followed by `$p:pat`
 error: `$t:ty` is followed by `$e:expr`, which is not allowed for `ty` fragments
   --> $DIR/macro-follow.rs:59:12
    |
-LL |     ($t:ty $e:expr) => {};  //~ERROR `$t:ty` is followed by `$e:expr`
+LL |     ($t:ty $e:expr) => {};
    |            ^^^^^^^ not allowed after `ty` fragments
    |
    = note: allowed there are: `{`, `[`, `=>`, `,`, `>`, `=`, `:`, `;`, `|`, `as` or `where`
@@ -353,7 +353,7 @@ LL |     ($t:ty $e:expr) => {};  //~ERROR `$t:ty` is followed by `$e:expr`
 error: `$t:ty` is followed by `$r:ty`, which is not allowed for `ty` fragments
   --> $DIR/macro-follow.rs:60:12
    |
-LL |     ($t:ty $r:ty) => {};    //~ERROR `$t:ty` is followed by `$r:ty`
+LL |     ($t:ty $r:ty) => {};
    |            ^^^^^ not allowed after `ty` fragments
    |
    = note: allowed there are: `{`, `[`, `=>`, `,`, `>`, `=`, `:`, `;`, `|`, `as` or `where`
@@ -361,7 +361,7 @@ LL |     ($t:ty $r:ty) => {};    //~ERROR `$t:ty` is followed by `$r:ty`
 error: `$t:ty` is followed by `$s:stmt`, which is not allowed for `ty` fragments
   --> $DIR/macro-follow.rs:61:12
    |
-LL |     ($t:ty $s:stmt) => {};  //~ERROR `$t:ty` is followed by `$s:stmt`
+LL |     ($t:ty $s:stmt) => {};
    |            ^^^^^^^ not allowed after `ty` fragments
    |
    = note: allowed there are: `{`, `[`, `=>`, `,`, `>`, `=`, `:`, `;`, `|`, `as` or `where`
@@ -369,7 +369,7 @@ LL |     ($t:ty $s:stmt) => {};  //~ERROR `$t:ty` is followed by `$s:stmt`
 error: `$t:ty` is followed by `$p:path`, which is not allowed for `ty` fragments
   --> $DIR/macro-follow.rs:62:12
    |
-LL |     ($t:ty $p:path) => {};  //~ERROR `$t:ty` is followed by `$p:path`
+LL |     ($t:ty $p:path) => {};
    |            ^^^^^^^ not allowed after `ty` fragments
    |
    = note: allowed there are: `{`, `[`, `=>`, `,`, `>`, `=`, `:`, `;`, `|`, `as` or `where`
@@ -377,7 +377,7 @@ LL |     ($t:ty $p:path) => {};  //~ERROR `$t:ty` is followed by `$p:path`
 error: `$t:ty` is followed by `$i:ident`, which is not allowed for `ty` fragments
   --> $DIR/macro-follow.rs:64:12
    |
-LL |     ($t:ty $i:ident) => {}; //~ERROR `$t:ty` is followed by `$i:ident`
+LL |     ($t:ty $i:ident) => {};
    |            ^^^^^^^^ not allowed after `ty` fragments
    |
    = note: allowed there are: `{`, `[`, `=>`, `,`, `>`, `=`, `:`, `;`, `|`, `as` or `where`
@@ -385,7 +385,7 @@ LL |     ($t:ty $i:ident) => {}; //~ERROR `$t:ty` is followed by `$i:ident`
 error: `$t:ty` is followed by `$r:tt`, which is not allowed for `ty` fragments
   --> $DIR/macro-follow.rs:65:12
    |
-LL |     ($t:ty $r:tt) => {};    //~ERROR `$t:ty` is followed by `$r:tt`
+LL |     ($t:ty $r:tt) => {};
    |            ^^^^^ not allowed after `ty` fragments
    |
    = note: allowed there are: `{`, `[`, `=>`, `,`, `>`, `=`, `:`, `;`, `|`, `as` or `where`
@@ -393,7 +393,7 @@ LL |     ($t:ty $r:tt) => {};    //~ERROR `$t:ty` is followed by `$r:tt`
 error: `$t:ty` is followed by `$i:item`, which is not allowed for `ty` fragments
   --> $DIR/macro-follow.rs:66:12
    |
-LL |     ($t:ty $i:item) => {};  //~ERROR `$t:ty` is followed by `$i:item`
+LL |     ($t:ty $i:item) => {};
    |            ^^^^^^^ not allowed after `ty` fragments
    |
    = note: allowed there are: `{`, `[`, `=>`, `,`, `>`, `=`, `:`, `;`, `|`, `as` or `where`
@@ -401,7 +401,7 @@ LL |     ($t:ty $i:item) => {};  //~ERROR `$t:ty` is followed by `$i:item`
 error: `$t:ty` is followed by `$m:meta`, which is not allowed for `ty` fragments
   --> $DIR/macro-follow.rs:67:12
    |
-LL |     ($t:ty $m:meta) => {};  //~ERROR `$t:ty` is followed by `$m:meta`
+LL |     ($t:ty $m:meta) => {};
    |            ^^^^^^^ not allowed after `ty` fragments
    |
    = note: allowed there are: `{`, `[`, `=>`, `,`, `>`, `=`, `:`, `;`, `|`, `as` or `where`
@@ -409,7 +409,7 @@ LL |     ($t:ty $m:meta) => {};  //~ERROR `$t:ty` is followed by `$m:meta`
 error: `$s:stmt` is followed by `(`, which is not allowed for `stmt` fragments
   --> $DIR/macro-follow.rs:71:15
    |
-LL |     ($s:stmt ()) => {};       //~ERROR  `$s:stmt` is followed by `(`
+LL |     ($s:stmt ()) => {};
    |               ^ not allowed after `stmt` fragments
    |
    = note: allowed there are: `=>`, `,` or `;`
@@ -417,7 +417,7 @@ LL |     ($s:stmt ()) => {};       //~ERROR  `$s:stmt` is followed by `(`
 error: `$s:stmt` is followed by `[`, which is not allowed for `stmt` fragments
   --> $DIR/macro-follow.rs:72:15
    |
-LL |     ($s:stmt []) => {};       //~ERROR  `$s:stmt` is followed by `[`
+LL |     ($s:stmt []) => {};
    |               ^ not allowed after `stmt` fragments
    |
    = note: allowed there are: `=>`, `,` or `;`
@@ -425,7 +425,7 @@ LL |     ($s:stmt []) => {};       //~ERROR  `$s:stmt` is followed by `[`
 error: `$s:stmt` is followed by `{`, which is not allowed for `stmt` fragments
   --> $DIR/macro-follow.rs:73:15
    |
-LL |     ($s:stmt {}) => {};       //~ERROR  `$s:stmt` is followed by `{`
+LL |     ($s:stmt {}) => {};
    |               ^ not allowed after `stmt` fragments
    |
    = note: allowed there are: `=>`, `,` or `;`
@@ -433,7 +433,7 @@ LL |     ($s:stmt {}) => {};       //~ERROR  `$s:stmt` is followed by `{`
 error: `$s:stmt` is followed by `=`, which is not allowed for `stmt` fragments
   --> $DIR/macro-follow.rs:74:14
    |
-LL |     ($s:stmt =) => {};        //~ERROR `$s:stmt` is followed by `=`
+LL |     ($s:stmt =) => {};
    |              ^ not allowed after `stmt` fragments
    |
    = note: allowed there are: `=>`, `,` or `;`
@@ -441,7 +441,7 @@ LL |     ($s:stmt =) => {};        //~ERROR `$s:stmt` is followed by `=`
 error: `$s:stmt` is followed by `|`, which is not allowed for `stmt` fragments
   --> $DIR/macro-follow.rs:75:14
    |
-LL |     ($s:stmt |) => {};        //~ERROR `$s:stmt` is followed by `|`
+LL |     ($s:stmt |) => {};
    |              ^ not allowed after `stmt` fragments
    |
    = note: allowed there are: `=>`, `,` or `;`
@@ -449,7 +449,7 @@ LL |     ($s:stmt |) => {};        //~ERROR `$s:stmt` is followed by `|`
 error: `$s:stmt` is followed by `:`, which is not allowed for `stmt` fragments
   --> $DIR/macro-follow.rs:76:14
    |
-LL |     ($s:stmt :) => {};        //~ERROR `$s:stmt` is followed by `:`
+LL |     ($s:stmt :) => {};
    |              ^ not allowed after `stmt` fragments
    |
    = note: allowed there are: `=>`, `,` or `;`
@@ -457,7 +457,7 @@ LL |     ($s:stmt :) => {};        //~ERROR `$s:stmt` is followed by `:`
 error: `$s:stmt` is followed by `>`, which is not allowed for `stmt` fragments
   --> $DIR/macro-follow.rs:77:14
    |
-LL |     ($s:stmt >) => {};        //~ERROR `$s:stmt` is followed by `>`
+LL |     ($s:stmt >) => {};
    |              ^ not allowed after `stmt` fragments
    |
    = note: allowed there are: `=>`, `,` or `;`
@@ -465,7 +465,7 @@ LL |     ($s:stmt >) => {};        //~ERROR `$s:stmt` is followed by `>`
 error: `$s:stmt` is followed by `+`, which is not allowed for `stmt` fragments
   --> $DIR/macro-follow.rs:78:14
    |
-LL |     ($s:stmt +) => {};        //~ERROR `$s:stmt` is followed by `+`
+LL |     ($s:stmt +) => {};
    |              ^ not allowed after `stmt` fragments
    |
    = note: allowed there are: `=>`, `,` or `;`
@@ -473,7 +473,7 @@ LL |     ($s:stmt +) => {};        //~ERROR `$s:stmt` is followed by `+`
 error: `$s:stmt` is followed by `ident`, which is not allowed for `stmt` fragments
   --> $DIR/macro-follow.rs:79:14
    |
-LL |     ($s:stmt ident) => {};    //~ERROR `$s:stmt` is followed by `ident`
+LL |     ($s:stmt ident) => {};
    |              ^^^^^ not allowed after `stmt` fragments
    |
    = note: allowed there are: `=>`, `,` or `;`
@@ -481,7 +481,7 @@ LL |     ($s:stmt ident) => {};    //~ERROR `$s:stmt` is followed by `ident`
 error: `$s:stmt` is followed by `if`, which is not allowed for `stmt` fragments
   --> $DIR/macro-follow.rs:80:14
    |
-LL |     ($s:stmt if) => {};       //~ERROR `$s:stmt` is followed by `if`
+LL |     ($s:stmt if) => {};
    |              ^^ not allowed after `stmt` fragments
    |
    = note: allowed there are: `=>`, `,` or `;`
@@ -489,7 +489,7 @@ LL |     ($s:stmt if) => {};       //~ERROR `$s:stmt` is followed by `if`
 error: `$s:stmt` is followed by `in`, which is not allowed for `stmt` fragments
   --> $DIR/macro-follow.rs:81:14
    |
-LL |     ($s:stmt in) => {};       //~ERROR `$s:stmt` is followed by `in`
+LL |     ($s:stmt in) => {};
    |              ^^ not allowed after `stmt` fragments
    |
    = note: allowed there are: `=>`, `,` or `;`
@@ -497,7 +497,7 @@ LL |     ($s:stmt in) => {};       //~ERROR `$s:stmt` is followed by `in`
 error: `$s:stmt` is followed by `$p:pat`, which is not allowed for `stmt` fragments
   --> $DIR/macro-follow.rs:82:14
    |
-LL |     ($s:stmt $p:pat) => {};   //~ERROR `$s:stmt` is followed by `$p:pat`
+LL |     ($s:stmt $p:pat) => {};
    |              ^^^^^^ not allowed after `stmt` fragments
    |
    = note: allowed there are: `=>`, `,` or `;`
@@ -505,7 +505,7 @@ LL |     ($s:stmt $p:pat) => {};   //~ERROR `$s:stmt` is followed by `$p:pat`
 error: `$s:stmt` is followed by `$e:expr`, which is not allowed for `stmt` fragments
   --> $DIR/macro-follow.rs:83:14
    |
-LL |     ($s:stmt $e:expr) => {};  //~ERROR `$s:stmt` is followed by `$e:expr`
+LL |     ($s:stmt $e:expr) => {};
    |              ^^^^^^^ not allowed after `stmt` fragments
    |
    = note: allowed there are: `=>`, `,` or `;`
@@ -513,7 +513,7 @@ LL |     ($s:stmt $e:expr) => {};  //~ERROR `$s:stmt` is followed by `$e:expr`
 error: `$s:stmt` is followed by `$t:ty`, which is not allowed for `stmt` fragments
   --> $DIR/macro-follow.rs:84:14
    |
-LL |     ($s:stmt $t:ty) => {};    //~ERROR `$s:stmt` is followed by `$t:ty`
+LL |     ($s:stmt $t:ty) => {};
    |              ^^^^^ not allowed after `stmt` fragments
    |
    = note: allowed there are: `=>`, `,` or `;`
@@ -521,7 +521,7 @@ LL |     ($s:stmt $t:ty) => {};    //~ERROR `$s:stmt` is followed by `$t:ty`
 error: `$s:stmt` is followed by `$t:stmt`, which is not allowed for `stmt` fragments
   --> $DIR/macro-follow.rs:85:14
    |
-LL |     ($s:stmt $t:stmt) => {};  //~ERROR `$s:stmt` is followed by `$t:stmt`
+LL |     ($s:stmt $t:stmt) => {};
    |              ^^^^^^^ not allowed after `stmt` fragments
    |
    = note: allowed there are: `=>`, `,` or `;`
@@ -529,7 +529,7 @@ LL |     ($s:stmt $t:stmt) => {};  //~ERROR `$s:stmt` is followed by `$t:stmt`
 error: `$s:stmt` is followed by `$p:path`, which is not allowed for `stmt` fragments
   --> $DIR/macro-follow.rs:86:14
    |
-LL |     ($s:stmt $p:path) => {};  //~ERROR `$s:stmt` is followed by `$p:path`
+LL |     ($s:stmt $p:path) => {};
    |              ^^^^^^^ not allowed after `stmt` fragments
    |
    = note: allowed there are: `=>`, `,` or `;`
@@ -537,7 +537,7 @@ LL |     ($s:stmt $p:path) => {};  //~ERROR `$s:stmt` is followed by `$p:path`
 error: `$s:stmt` is followed by `$b:block`, which is not allowed for `stmt` fragments
   --> $DIR/macro-follow.rs:87:14
    |
-LL |     ($s:stmt $b:block) => {}; //~ERROR `$s:stmt` is followed by `$b:block`
+LL |     ($s:stmt $b:block) => {};
    |              ^^^^^^^^ not allowed after `stmt` fragments
    |
    = note: allowed there are: `=>`, `,` or `;`
@@ -545,7 +545,7 @@ LL |     ($s:stmt $b:block) => {}; //~ERROR `$s:stmt` is followed by `$b:block`
 error: `$s:stmt` is followed by `$i:ident`, which is not allowed for `stmt` fragments
   --> $DIR/macro-follow.rs:88:14
    |
-LL |     ($s:stmt $i:ident) => {}; //~ERROR `$s:stmt` is followed by `$i:ident`
+LL |     ($s:stmt $i:ident) => {};
    |              ^^^^^^^^ not allowed after `stmt` fragments
    |
    = note: allowed there are: `=>`, `,` or `;`
@@ -553,7 +553,7 @@ LL |     ($s:stmt $i:ident) => {}; //~ERROR `$s:stmt` is followed by `$i:ident`
 error: `$s:stmt` is followed by `$t:tt`, which is not allowed for `stmt` fragments
   --> $DIR/macro-follow.rs:89:14
    |
-LL |     ($s:stmt $t:tt) => {};    //~ERROR `$s:stmt` is followed by `$t:tt`
+LL |     ($s:stmt $t:tt) => {};
    |              ^^^^^ not allowed after `stmt` fragments
    |
    = note: allowed there are: `=>`, `,` or `;`
@@ -561,7 +561,7 @@ LL |     ($s:stmt $t:tt) => {};    //~ERROR `$s:stmt` is followed by `$t:tt`
 error: `$s:stmt` is followed by `$i:item`, which is not allowed for `stmt` fragments
   --> $DIR/macro-follow.rs:90:14
    |
-LL |     ($s:stmt $i:item) => {};  //~ERROR `$s:stmt` is followed by `$i:item`
+LL |     ($s:stmt $i:item) => {};
    |              ^^^^^^^ not allowed after `stmt` fragments
    |
    = note: allowed there are: `=>`, `,` or `;`
@@ -569,7 +569,7 @@ LL |     ($s:stmt $i:item) => {};  //~ERROR `$s:stmt` is followed by `$i:item`
 error: `$s:stmt` is followed by `$m:meta`, which is not allowed for `stmt` fragments
   --> $DIR/macro-follow.rs:91:14
    |
-LL |     ($s:stmt $m:meta) => {};  //~ERROR `$s:stmt` is followed by `$m:meta`
+LL |     ($s:stmt $m:meta) => {};
    |              ^^^^^^^ not allowed after `stmt` fragments
    |
    = note: allowed there are: `=>`, `,` or `;`
@@ -577,7 +577,7 @@ LL |     ($s:stmt $m:meta) => {};  //~ERROR `$s:stmt` is followed by `$m:meta`
 error: `$p:path` is followed by `(`, which is not allowed for `path` fragments
   --> $DIR/macro-follow.rs:95:15
    |
-LL |     ($p:path ()) => {};       //~ERROR  `$p:path` is followed by `(`
+LL |     ($p:path ()) => {};
    |               ^ not allowed after `path` fragments
    |
    = note: allowed there are: `{`, `[`, `=>`, `,`, `>`, `=`, `:`, `;`, `|`, `as` or `where`
@@ -585,7 +585,7 @@ LL |     ($p:path ()) => {};       //~ERROR  `$p:path` is followed by `(`
 error: `$p:path` is followed by `+`, which is not allowed for `path` fragments
   --> $DIR/macro-follow.rs:97:14
    |
-LL |     ($p:path +) => {};        //~ERROR `$p:path` is followed by `+`
+LL |     ($p:path +) => {};
    |              ^ not allowed after `path` fragments
    |
    = note: allowed there are: `{`, `[`, `=>`, `,`, `>`, `=`, `:`, `;`, `|`, `as` or `where`
@@ -593,7 +593,7 @@ LL |     ($p:path +) => {};        //~ERROR `$p:path` is followed by `+`
 error: `$p:path` is followed by `ident`, which is not allowed for `path` fragments
   --> $DIR/macro-follow.rs:98:14
    |
-LL |     ($p:path ident) => {};    //~ERROR `$p:path` is followed by `ident`
+LL |     ($p:path ident) => {};
    |              ^^^^^ not allowed after `path` fragments
    |
    = note: allowed there are: `{`, `[`, `=>`, `,`, `>`, `=`, `:`, `;`, `|`, `as` or `where`
@@ -601,7 +601,7 @@ LL |     ($p:path ident) => {};    //~ERROR `$p:path` is followed by `ident`
 error: `$p:path` is followed by `if`, which is not allowed for `path` fragments
   --> $DIR/macro-follow.rs:99:14
    |
-LL |     ($p:path if) => {};       //~ERROR `$p:path` is followed by `if`
+LL |     ($p:path if) => {};
    |              ^^ not allowed after `path` fragments
    |
    = note: allowed there are: `{`, `[`, `=>`, `,`, `>`, `=`, `:`, `;`, `|`, `as` or `where`
@@ -609,7 +609,7 @@ LL |     ($p:path if) => {};       //~ERROR `$p:path` is followed by `if`
 error: `$p:path` is followed by `$q:pat`, which is not allowed for `path` fragments
   --> $DIR/macro-follow.rs:100:14
    |
-LL |     ($p:path $q:pat) => {};   //~ERROR `$p:path` is followed by `$q:pat`
+LL |     ($p:path $q:pat) => {};
    |              ^^^^^^ not allowed after `path` fragments
    |
    = note: allowed there are: `{`, `[`, `=>`, `,`, `>`, `=`, `:`, `;`, `|`, `as` or `where`
@@ -617,7 +617,7 @@ LL |     ($p:path $q:pat) => {};   //~ERROR `$p:path` is followed by `$q:pat`
 error: `$p:path` is followed by `$e:expr`, which is not allowed for `path` fragments
   --> $DIR/macro-follow.rs:101:14
    |
-LL |     ($p:path $e:expr) => {};  //~ERROR `$p:path` is followed by `$e:expr`
+LL |     ($p:path $e:expr) => {};
    |              ^^^^^^^ not allowed after `path` fragments
    |
    = note: allowed there are: `{`, `[`, `=>`, `,`, `>`, `=`, `:`, `;`, `|`, `as` or `where`
@@ -625,7 +625,7 @@ LL |     ($p:path $e:expr) => {};  //~ERROR `$p:path` is followed by `$e:expr`
 error: `$p:path` is followed by `$t:ty`, which is not allowed for `path` fragments
   --> $DIR/macro-follow.rs:102:14
    |
-LL |     ($p:path $t:ty) => {};    //~ERROR `$p:path` is followed by `$t:ty`
+LL |     ($p:path $t:ty) => {};
    |              ^^^^^ not allowed after `path` fragments
    |
    = note: allowed there are: `{`, `[`, `=>`, `,`, `>`, `=`, `:`, `;`, `|`, `as` or `where`
@@ -633,7 +633,7 @@ LL |     ($p:path $t:ty) => {};    //~ERROR `$p:path` is followed by `$t:ty`
 error: `$p:path` is followed by `$s:stmt`, which is not allowed for `path` fragments
   --> $DIR/macro-follow.rs:103:14
    |
-LL |     ($p:path $s:stmt) => {};  //~ERROR `$p:path` is followed by `$s:stmt`
+LL |     ($p:path $s:stmt) => {};
    |              ^^^^^^^ not allowed after `path` fragments
    |
    = note: allowed there are: `{`, `[`, `=>`, `,`, `>`, `=`, `:`, `;`, `|`, `as` or `where`
@@ -641,7 +641,7 @@ LL |     ($p:path $s:stmt) => {};  //~ERROR `$p:path` is followed by `$s:stmt`
 error: `$p:path` is followed by `$q:path`, which is not allowed for `path` fragments
   --> $DIR/macro-follow.rs:104:14
    |
-LL |     ($p:path $q:path) => {};  //~ERROR `$p:path` is followed by `$q:path`
+LL |     ($p:path $q:path) => {};
    |              ^^^^^^^ not allowed after `path` fragments
    |
    = note: allowed there are: `{`, `[`, `=>`, `,`, `>`, `=`, `:`, `;`, `|`, `as` or `where`
@@ -649,7 +649,7 @@ LL |     ($p:path $q:path) => {};  //~ERROR `$p:path` is followed by `$q:path`
 error: `$p:path` is followed by `$i:ident`, which is not allowed for `path` fragments
   --> $DIR/macro-follow.rs:106:14
    |
-LL |     ($p:path $i:ident) => {}; //~ERROR `$p:path` is followed by `$i:ident`
+LL |     ($p:path $i:ident) => {};
    |              ^^^^^^^^ not allowed after `path` fragments
    |
    = note: allowed there are: `{`, `[`, `=>`, `,`, `>`, `=`, `:`, `;`, `|`, `as` or `where`
@@ -657,7 +657,7 @@ LL |     ($p:path $i:ident) => {}; //~ERROR `$p:path` is followed by `$i:ident`
 error: `$p:path` is followed by `$t:tt`, which is not allowed for `path` fragments
   --> $DIR/macro-follow.rs:107:14
    |
-LL |     ($p:path $t:tt) => {};    //~ERROR `$p:path` is followed by `$t:tt`
+LL |     ($p:path $t:tt) => {};
    |              ^^^^^ not allowed after `path` fragments
    |
    = note: allowed there are: `{`, `[`, `=>`, `,`, `>`, `=`, `:`, `;`, `|`, `as` or `where`
@@ -665,7 +665,7 @@ LL |     ($p:path $t:tt) => {};    //~ERROR `$p:path` is followed by `$t:tt`
 error: `$p:path` is followed by `$i:item`, which is not allowed for `path` fragments
   --> $DIR/macro-follow.rs:108:14
    |
-LL |     ($p:path $i:item) => {};  //~ERROR `$p:path` is followed by `$i:item`
+LL |     ($p:path $i:item) => {};
    |              ^^^^^^^ not allowed after `path` fragments
    |
    = note: allowed there are: `{`, `[`, `=>`, `,`, `>`, `=`, `:`, `;`, `|`, `as` or `where`
@@ -673,7 +673,7 @@ LL |     ($p:path $i:item) => {};  //~ERROR `$p:path` is followed by `$i:item`
 error: `$p:path` is followed by `$m:meta`, which is not allowed for `path` fragments
   --> $DIR/macro-follow.rs:109:14
    |
-LL |     ($p:path $m:meta) => {};  //~ERROR `$p:path` is followed by `$m:meta`
+LL |     ($p:path $m:meta) => {};
    |              ^^^^^^^ not allowed after `path` fragments
    |
    = note: allowed there are: `{`, `[`, `=>`, `,`, `>`, `=`, `:`, `;`, `|`, `as` or `where`
diff --git a/src/test/ui/macros/macro-followed-by-seq-bad.stderr b/src/test/ui/macros/macro-followed-by-seq-bad.stderr
index 18403fd248d..7097979aedd 100644
--- a/src/test/ui/macros/macro-followed-by-seq-bad.stderr
+++ b/src/test/ui/macros/macro-followed-by-seq-bad.stderr
@@ -1,7 +1,7 @@
 error: `$a:expr` is followed by `$b:tt`, which is not allowed for `expr` fragments
   --> $DIR/macro-followed-by-seq-bad.rs:7:15
    |
-LL |   ( $a:expr $($b:tt)* ) => { }; //~ ERROR not allowed for `expr` fragments
+LL |   ( $a:expr $($b:tt)* ) => { };
    |               ^^^^^ not allowed after `expr` fragments
    |
    = note: allowed there are: `=>`, `,` or `;`
@@ -9,7 +9,7 @@ LL |   ( $a:expr $($b:tt)* ) => { }; //~ ERROR not allowed for `expr` fragments
 error: `$a:ty` is followed by `$b:tt`, which is not allowed for `ty` fragments
   --> $DIR/macro-followed-by-seq-bad.rs:8:13
    |
-LL |   ( $a:ty $($b:tt)* ) => { };   //~ ERROR not allowed for `ty` fragments
+LL |   ( $a:ty $($b:tt)* ) => { };
    |             ^^^^^ not allowed after `ty` fragments
    |
    = note: allowed there are: `{`, `[`, `=>`, `,`, `>`, `=`, `:`, `;`, `|`, `as` or `where`
diff --git a/src/test/ui/macros/macro-input-future-proofing.stderr b/src/test/ui/macros/macro-input-future-proofing.stderr
index fa39fc6a212..a35f6283afb 100644
--- a/src/test/ui/macros/macro-input-future-proofing.stderr
+++ b/src/test/ui/macros/macro-input-future-proofing.stderr
@@ -1,7 +1,7 @@
 error: `$ty:ty` is followed by `<`, which is not allowed for `ty` fragments
   --> $DIR/macro-input-future-proofing.rs:4:13
    |
-LL |     ($ty:ty <) => (); //~ ERROR `$ty:ty` is followed by `<`, which is not allowed for `ty`
+LL |     ($ty:ty <) => ();
    |             ^ not allowed after `ty` fragments
    |
    = note: allowed there are: `{`, `[`, `=>`, `,`, `>`, `=`, `:`, `;`, `|`, `as` or `where`
@@ -9,7 +9,7 @@ LL |     ($ty:ty <) => (); //~ ERROR `$ty:ty` is followed by `<`, which is not a
 error: `$ty:ty` is followed by `<`, which is not allowed for `ty` fragments
   --> $DIR/macro-input-future-proofing.rs:5:13
    |
-LL |     ($ty:ty < foo ,) => (); //~ ERROR `$ty:ty` is followed by `<`, which is not allowed for `ty`
+LL |     ($ty:ty < foo ,) => ();
    |             ^ not allowed after `ty` fragments
    |
    = note: allowed there are: `{`, `[`, `=>`, `,`, `>`, `=`, `:`, `;`, `|`, `as` or `where`
@@ -17,7 +17,7 @@ LL |     ($ty:ty < foo ,) => (); //~ ERROR `$ty:ty` is followed by `<`, which is
 error: `$pa:pat` is followed by `>`, which is not allowed for `pat` fragments
   --> $DIR/macro-input-future-proofing.rs:11:14
    |
-LL |     ($pa:pat >) => (); //~ ERROR `$pa:pat` is followed by `>`, which is not allowed for `pat`
+LL |     ($pa:pat >) => ();
    |              ^ not allowed after `pat` fragments
    |
    = note: allowed there are: `=>`, `,`, `=`, `|`, `if` or `in`
@@ -41,7 +41,7 @@ LL |     ($pa:pat $pb:pat $ty:ty ,) => ();
 error: `$ty:ty` is followed by `-`, which is not allowed for `ty` fragments
   --> $DIR/macro-input-future-proofing.rs:16:17
    |
-LL |     ($($ty:ty)* -) => (); //~ ERROR `$ty:ty` is followed by `-`
+LL |     ($($ty:ty)* -) => ();
    |                 ^ not allowed after `ty` fragments
    |
    = note: allowed there are: `{`, `[`, `=>`, `,`, `>`, `=`, `:`, `;`, `|`, `as` or `where`
@@ -49,7 +49,7 @@ LL |     ($($ty:ty)* -) => (); //~ ERROR `$ty:ty` is followed by `-`
 error: `$b:ty` is followed by `-`, which is not allowed for `ty` fragments
   --> $DIR/macro-input-future-proofing.rs:17:23
    |
-LL |     ($($a:ty, $b:ty)* -) => (); //~ ERROR `$b:ty` is followed by `-`
+LL |     ($($a:ty, $b:ty)* -) => ();
    |                       ^ not allowed after `ty` fragments
    |
    = note: allowed there are: `{`, `[`, `=>`, `,`, `>`, `=`, `:`, `;`, `|`, `as` or `where`
@@ -57,7 +57,7 @@ LL |     ($($a:ty, $b:ty)* -) => (); //~ ERROR `$b:ty` is followed by `-`
 error: `$ty:ty` is followed by `-`, which is not allowed for `ty` fragments
   --> $DIR/macro-input-future-proofing.rs:18:7
    |
-LL |     ($($ty:ty)-+) => (); //~ ERROR `$ty:ty` is followed by `-`, which is not allowed for `ty`
+LL |     ($($ty:ty)-+) => ();
    |       ^^^^^^^^ not allowed after `ty` fragments
    |
    = note: allowed there are: `{`, `[`, `=>`, `,`, `>`, `=`, `:`, `;`, `|`, `as` or `where`
diff --git a/src/test/ui/macros/macro-match-nonterminal.stderr b/src/test/ui/macros/macro-match-nonterminal.stderr
index 15eafbde0a2..1de8c5bd4b4 100644
--- a/src/test/ui/macros/macro-match-nonterminal.stderr
+++ b/src/test/ui/macros/macro-match-nonterminal.stderr
@@ -1,7 +1,7 @@
 error: missing fragment specifier
   --> $DIR/macro-match-nonterminal.rs:1:24
    |
-LL | macro_rules! test { ($a, $b) => (()); } //~ ERROR missing fragment
+LL | macro_rules! test { ($a, $b) => (()); }
    |                        ^
 
 error: aborting due to previous error
diff --git a/src/test/ui/macros/macro-missing-delimiters.stderr b/src/test/ui/macros/macro-missing-delimiters.stderr
index 63cf1826f77..e7c37c8ddbe 100644
--- a/src/test/ui/macros/macro-missing-delimiters.stderr
+++ b/src/test/ui/macros/macro-missing-delimiters.stderr
@@ -1,7 +1,7 @@
 error: invalid macro matcher; matchers must be contained in balanced delimiters
   --> $DIR/macro-missing-delimiters.rs:2:5
    |
-LL |     baz => () //~ ERROR invalid macro matcher;
+LL |     baz => ()
    |     ^^^
 
 error: aborting due to previous error
diff --git a/src/test/ui/macros/macro-missing-fragment.stderr b/src/test/ui/macros/macro-missing-fragment.stderr
index 8c4026760ca..b7871c0ec3a 100644
--- a/src/test/ui/macros/macro-missing-fragment.stderr
+++ b/src/test/ui/macros/macro-missing-fragment.stderr
@@ -1,7 +1,7 @@
 error: missing fragment specifier
   --> $DIR/macro-missing-fragment.rs:2:20
    |
-LL |     ( $( any_token $field_rust_type )* ) => {}; //~ ERROR missing fragment
+LL |     ( $( any_token $field_rust_type )* ) => {};
    |                    ^^^^^^^^^^^^^^^^
 
 error: aborting due to previous error
diff --git a/src/test/ui/macros/macro-multiple-matcher-bindings.stderr b/src/test/ui/macros/macro-multiple-matcher-bindings.stderr
index bc78b471a2d..41e9a3286ae 100644
--- a/src/test/ui/macros/macro-multiple-matcher-bindings.stderr
+++ b/src/test/ui/macros/macro-multiple-matcher-bindings.stderr
@@ -1,7 +1,7 @@
 warning: duplicate matcher binding
   --> $DIR/macro-multiple-matcher-bindings.rs:11:6
    |
-LL |     ($a:ident, $a:ident) => {}; //~WARNING duplicate matcher binding
+LL |     ($a:ident, $a:ident) => {};
    |      ^^^^^^^^  ^^^^^^^^
    |
    = note: #[warn(duplicate_matcher_binding_name)] on by default
@@ -11,7 +11,7 @@ LL |     ($a:ident, $a:ident) => {}; //~WARNING duplicate matcher binding
 warning: duplicate matcher binding
   --> $DIR/macro-multiple-matcher-bindings.rs:12:6
    |
-LL |     ($a:ident, $a:path) => {};  //~WARNING duplicate matcher binding
+LL |     ($a:ident, $a:path) => {};
    |      ^^^^^^^^  ^^^^^^^
    |
    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
@@ -20,7 +20,7 @@ LL |     ($a:ident, $a:path) => {};  //~WARNING duplicate matcher binding
 warning: duplicate matcher binding
   --> $DIR/macro-multiple-matcher-bindings.rs:21:6
    |
-LL |     ($a:ident, $($a:ident),*) => {}; //~WARNING duplicate matcher binding
+LL |     ($a:ident, $($a:ident),*) => {};
    |      ^^^^^^^^    ^^^^^^^^
    |
    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
@@ -29,7 +29,7 @@ LL |     ($a:ident, $($a:ident),*) => {}; //~WARNING duplicate matcher binding
 warning: duplicate matcher binding
   --> $DIR/macro-multiple-matcher-bindings.rs:22:8
    |
-LL |     ($($a:ident)+ # $($($a:path),+);*) => {}; //~WARNING duplicate matcher binding
+LL |     ($($a:ident)+ # $($($a:path),+);*) => {};
    |        ^^^^^^^^         ^^^^^^^
    |
    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
diff --git a/src/test/ui/macros/macro-name-typo.stderr b/src/test/ui/macros/macro-name-typo.stderr
index 5af9828fd98..a8930f243f8 100644
--- a/src/test/ui/macros/macro-name-typo.stderr
+++ b/src/test/ui/macros/macro-name-typo.stderr
@@ -1,7 +1,7 @@
 error: cannot find macro `printlx!` in this scope
   --> $DIR/macro-name-typo.rs:2:5
    |
-LL |     printlx!("oh noes!"); //~ ERROR cannot find
+LL |     printlx!("oh noes!");
    |     ^^^^^^^ help: you could try the macro: `println`
 
 error: aborting due to previous error
diff --git a/src/test/ui/macros/macro-outer-attributes.stderr b/src/test/ui/macros/macro-outer-attributes.stderr
index f9413250076..838333b95c0 100644
--- a/src/test/ui/macros/macro-outer-attributes.stderr
+++ b/src/test/ui/macros/macro-outer-attributes.stderr
@@ -1,7 +1,7 @@
 error[E0425]: cannot find function `bar` in module `a`
   --> $DIR/macro-outer-attributes.rs:18:8
    |
-LL |     a::bar(); //~ ERROR cannot find function `bar` in module `a`
+LL |     a::bar();
    |        ^^^ not found in `a`
 help: possible candidate is found in another module, you can import it into scope
    |
diff --git a/src/test/ui/macros/macro-parameter-span.stderr b/src/test/ui/macros/macro-parameter-span.stderr
index c7dcb12d3d1..24e3e89ea9b 100644
--- a/src/test/ui/macros/macro-parameter-span.stderr
+++ b/src/test/ui/macros/macro-parameter-span.stderr
@@ -1,7 +1,7 @@
 error[E0425]: cannot find value `x` in this scope
   --> $DIR/macro-parameter-span.rs:11:9
    |
-LL |         x //~ ERROR cannot find value `x` in this scope
+LL |         x
    |         ^ not found in this scope
 
 error: aborting due to previous error
diff --git a/src/test/ui/macros/macro-path-prelude-fail-1.stderr b/src/test/ui/macros/macro-path-prelude-fail-1.stderr
index 4bf51bd893a..551d2fe8ce0 100644
--- a/src/test/ui/macros/macro-path-prelude-fail-1.stderr
+++ b/src/test/ui/macros/macro-path-prelude-fail-1.stderr
@@ -1,13 +1,13 @@
 error[E0433]: failed to resolve: not a module `Vec`
   --> $DIR/macro-path-prelude-fail-1.rs:5:9
    |
-LL |         Vec::clone!(); //~ ERROR failed to resolve: not a module `Vec`
+LL |         Vec::clone!();
    |         ^^^ not a module `Vec`
 
 error[E0433]: failed to resolve: not a module `u8`
   --> $DIR/macro-path-prelude-fail-1.rs:6:9
    |
-LL |         u8::clone!(); //~ ERROR failed to resolve: not a module `u8`
+LL |         u8::clone!();
    |         ^^ not a module `u8`
 
 error: aborting due to 2 previous errors
diff --git a/src/test/ui/macros/macro-path-prelude-fail-2.stderr b/src/test/ui/macros/macro-path-prelude-fail-2.stderr
index 6b1a5b3741a..9574b7a1e25 100644
--- a/src/test/ui/macros/macro-path-prelude-fail-2.stderr
+++ b/src/test/ui/macros/macro-path-prelude-fail-2.stderr
@@ -1,7 +1,7 @@
 error[E0433]: failed to resolve: partially resolved path in a macro
   --> $DIR/macro-path-prelude-fail-2.rs:3:9
    |
-LL |         Result::Ok!(); //~ ERROR failed to resolve: partially resolved path in a macro
+LL |         Result::Ok!();
    |         ^^^^^^^^^^ partially resolved path in a macro
 
 error: aborting due to previous error
diff --git a/src/test/ui/macros/macro-path-prelude-fail-3.stderr b/src/test/ui/macros/macro-path-prelude-fail-3.stderr
index 17723251181..7eeddb88547 100644
--- a/src/test/ui/macros/macro-path-prelude-fail-3.stderr
+++ b/src/test/ui/macros/macro-path-prelude-fail-3.stderr
@@ -1,7 +1,7 @@
 error: cannot find macro `inline!` in this scope
   --> $DIR/macro-path-prelude-fail-3.rs:2:5
    |
-LL |     inline!(); //~ ERROR cannot find macro `inline!` in this scope
+LL |     inline!();
    |     ^^^^^^ help: you could try the macro: `line`
 
 error: aborting due to previous error
diff --git a/src/test/ui/macros/macro-path-prelude-fail-4.stderr b/src/test/ui/macros/macro-path-prelude-fail-4.stderr
index e354f345a4c..f08445e1f77 100644
--- a/src/test/ui/macros/macro-path-prelude-fail-4.stderr
+++ b/src/test/ui/macros/macro-path-prelude-fail-4.stderr
@@ -1,7 +1,7 @@
 error: expected a macro, found built-in attribute
   --> $DIR/macro-path-prelude-fail-4.rs:1:10
    |
-LL | #[derive(inline)] //~ ERROR expected a macro, found built-in attribute
+LL | #[derive(inline)]
    |          ^^^^^^
 
 error: aborting due to previous error
diff --git a/src/test/ui/macros/macro-path-prelude-shadowing.stderr b/src/test/ui/macros/macro-path-prelude-shadowing.stderr
index 9c0214346a6..e7b381daf93 100644
--- a/src/test/ui/macros/macro-path-prelude-shadowing.stderr
+++ b/src/test/ui/macros/macro-path-prelude-shadowing.stderr
@@ -1,7 +1,7 @@
 error[E0659]: `std` is ambiguous (glob import vs any other name from outer scope during import/macro resolution)
   --> $DIR/macro-path-prelude-shadowing.rs:29:9
    |
-LL |         std::panic!(); //~ ERROR `std` is ambiguous
+LL |         std::panic!();
    |         ^^^ ambiguous name
    |
    = note: `std` could refer to a built-in extern crate
diff --git a/src/test/ui/macros/macro-reexport-removed.stderr b/src/test/ui/macros/macro-reexport-removed.stderr
index 6cfec3ee762..302952909be 100644
--- a/src/test/ui/macros/macro-reexport-removed.stderr
+++ b/src/test/ui/macros/macro-reexport-removed.stderr
@@ -1,19 +1,19 @@
 error[E0557]: feature has been removed
   --> $DIR/macro-reexport-removed.rs:3:12
    |
-LL | #![feature(macro_reexport)] //~ ERROR feature has been removed
+LL | #![feature(macro_reexport)]
    |            ^^^^^^^^^^^^^^
    |
 note: subsumed by `pub use`
   --> $DIR/macro-reexport-removed.rs:3:12
    |
-LL | #![feature(macro_reexport)] //~ ERROR feature has been removed
+LL | #![feature(macro_reexport)]
    |            ^^^^^^^^^^^^^^
 
 error[E0658]: The attribute `macro_reexport` is currently unknown to the compiler and may have meaning added to it in the future (see issue #29642)
   --> $DIR/macro-reexport-removed.rs:5:3
    |
-LL | #[macro_reexport(macro_one)] //~ ERROR attribute `macro_reexport` is currently unknown
+LL | #[macro_reexport(macro_one)]
    |   ^^^^^^^^^^^^^^ help: a built-in attribute with a similar name exists: `macro_export`
    |
    = help: add #![feature(custom_attribute)] to the crate attributes to enable
diff --git a/src/test/ui/macros/macro-shadowing.stderr b/src/test/ui/macros/macro-shadowing.stderr
index c297f0ef52d..033e12a31ae 100644
--- a/src/test/ui/macros/macro-shadowing.stderr
+++ b/src/test/ui/macros/macro-shadowing.stderr
@@ -1,7 +1,7 @@
 error: `macro_two` is already in scope
   --> $DIR/macro-shadowing.rs:12:5
    |
-LL |     #[macro_use] //~ ERROR `macro_two` is already in scope
+LL |     #[macro_use]
    |     ^^^^^^^^^^^^
 ...
 LL | m1!();
@@ -12,7 +12,7 @@ LL | m1!();
 error[E0659]: `foo` is ambiguous (macro-expanded name vs less macro-expanded name from outer scope during import/macro resolution)
   --> $DIR/macro-shadowing.rs:17:1
    |
-LL | foo!(); //~ ERROR `foo` is ambiguous
+LL | foo!();
    | ^^^ ambiguous name
    |
 note: `foo` could refer to the macro defined here
diff --git a/src/test/ui/macros/macro-stability.stderr b/src/test/ui/macros/macro-stability.stderr
index e5c535a08e1..a0e0c351a48 100644
--- a/src/test/ui/macros/macro-stability.stderr
+++ b/src/test/ui/macros/macro-stability.stderr
@@ -1,7 +1,7 @@
 error[E0658]: macro unstable_macro! is unstable
   --> $DIR/macro-stability.rs:11:5
    |
-LL |     unstable_macro!(); //~ ERROR: macro unstable_macro! is unstable
+LL |     unstable_macro!();
    |     ^^^^^^^^^^^^^^^^^^
    |
    = help: add #![feature(unstable_macros)] to the crate attributes to enable
diff --git a/src/test/ui/macros/macro-use-bad-args-1.stderr b/src/test/ui/macros/macro-use-bad-args-1.stderr
index 1eb8cc3f4c4..f403c8a3660 100644
--- a/src/test/ui/macros/macro-use-bad-args-1.stderr
+++ b/src/test/ui/macros/macro-use-bad-args-1.stderr
@@ -1,7 +1,7 @@
 error[E0466]: bad macro import
   --> $DIR/macro-use-bad-args-1.rs:4:13
    |
-LL | #[macro_use(foo(bar))]  //~ ERROR bad macro import
+LL | #[macro_use(foo(bar))]
    |             ^^^^^^^^
 
 error: aborting due to previous error
diff --git a/src/test/ui/macros/macro-use-bad-args-2.stderr b/src/test/ui/macros/macro-use-bad-args-2.stderr
index 7ed6b26b1b7..93617edeeae 100644
--- a/src/test/ui/macros/macro-use-bad-args-2.stderr
+++ b/src/test/ui/macros/macro-use-bad-args-2.stderr
@@ -1,7 +1,7 @@
 error[E0466]: bad macro import
   --> $DIR/macro-use-bad-args-2.rs:4:13
    |
-LL | #[macro_use(foo="bar")]  //~ ERROR bad macro import
+LL | #[macro_use(foo="bar")]
    |             ^^^^^^^^^
 
 error: aborting due to previous error
diff --git a/src/test/ui/macros/macro-use-undef.stderr b/src/test/ui/macros/macro-use-undef.stderr
index 4d9fa3aeb13..85b86e2211f 100644
--- a/src/test/ui/macros/macro-use-undef.stderr
+++ b/src/test/ui/macros/macro-use-undef.stderr
@@ -1,7 +1,7 @@
 error[E0469]: imported macro not found
   --> $DIR/macro-use-undef.rs:3:24
    |
-LL | #[macro_use(macro_two, no_way)] //~ ERROR imported macro not found
+LL | #[macro_use(macro_two, no_way)]
    |                        ^^^^^^
 
 error: aborting due to previous error
diff --git a/src/test/ui/macros/macro_path_as_generic_bound.stderr b/src/test/ui/macros/macro_path_as_generic_bound.stderr
index 2f0e67c1ba8..48c33575ad2 100644
--- a/src/test/ui/macros/macro_path_as_generic_bound.stderr
+++ b/src/test/ui/macros/macro_path_as_generic_bound.stderr
@@ -1,7 +1,7 @@
 error[E0433]: failed to resolve: use of undeclared type or module `m`
   --> $DIR/macro_path_as_generic_bound.rs:7:6
    |
-LL | foo!(m::m2::A); //~ ERROR failed to resolve
+LL | foo!(m::m2::A);
    |      ^ use of undeclared type or module `m`
 
 error: aborting due to previous error
diff --git a/src/test/ui/macros/macro_undefined.stderr b/src/test/ui/macros/macro_undefined.stderr
index b9a76e07a00..b516f91c67d 100644
--- a/src/test/ui/macros/macro_undefined.stderr
+++ b/src/test/ui/macros/macro_undefined.stderr
@@ -1,7 +1,7 @@
 error: cannot find macro `k!` in this scope
   --> $DIR/macro_undefined.rs:11:5
    |
-LL |     k!(); //~ ERROR cannot find
+LL |     k!();
    |     ^ help: you could try the macro: `kl`
 
 error: aborting due to previous error
diff --git a/src/test/ui/macros/macros-nonfatal-errors.stderr b/src/test/ui/macros/macros-nonfatal-errors.stderr
index ce7035ee274..8a8455c262b 100644
--- a/src/test/ui/macros/macros-nonfatal-errors.stderr
+++ b/src/test/ui/macros/macros-nonfatal-errors.stderr
@@ -1,89 +1,89 @@
 error[E0665]: `Default` cannot be derived for enums, only structs
   --> $DIR/macros-nonfatal-errors.rs:9:10
    |
-LL | #[derive(Default)] //~ ERROR
+LL | #[derive(Default)]
    |          ^^^^^^^
 
 error: inline assembly must be a string literal
   --> $DIR/macros-nonfatal-errors.rs:13:10
    |
-LL |     asm!(invalid); //~ ERROR
+LL |     asm!(invalid);
    |          ^^^^^^^
 
 error: concat_idents! requires ident args.
   --> $DIR/macros-nonfatal-errors.rs:15:5
    |
-LL |     concat_idents!("not", "idents"); //~ ERROR
+LL |     concat_idents!("not", "idents");
    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 
 error: argument must be a string literal
   --> $DIR/macros-nonfatal-errors.rs:17:17
    |
-LL |     option_env!(invalid); //~ ERROR
+LL |     option_env!(invalid);
    |                 ^^^^^^^
 
 error: expected string literal
   --> $DIR/macros-nonfatal-errors.rs:18:10
    |
-LL |     env!(invalid); //~ ERROR
+LL |     env!(invalid);
    |          ^^^^^^^
 
 error: expected string literal
   --> $DIR/macros-nonfatal-errors.rs:19:10
    |
-LL |     env!(foo, abr, baz); //~ ERROR
+LL |     env!(foo, abr, baz);
    |          ^^^
 
 error: environment variable `RUST_HOPEFULLY_THIS_DOESNT_EXIST` not defined
   --> $DIR/macros-nonfatal-errors.rs:20:5
    |
-LL |     env!("RUST_HOPEFULLY_THIS_DOESNT_EXIST"); //~ ERROR
+LL |     env!("RUST_HOPEFULLY_THIS_DOESNT_EXIST");
    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 
 error: format argument must be a string literal
   --> $DIR/macros-nonfatal-errors.rs:22:13
    |
-LL |     format!(invalid); //~ ERROR
+LL |     format!(invalid);
    |             ^^^^^^^
 help: you might be missing a string literal to format with
    |
-LL |     format!("{}", invalid); //~ ERROR
+LL |     format!("{}", invalid);
    |             ^^^^^
 
 error: argument must be a string literal
   --> $DIR/macros-nonfatal-errors.rs:24:14
    |
-LL |     include!(invalid); //~ ERROR
+LL |     include!(invalid);
    |              ^^^^^^^
 
 error: argument must be a string literal
   --> $DIR/macros-nonfatal-errors.rs:26:18
    |
-LL |     include_str!(invalid); //~ ERROR
+LL |     include_str!(invalid);
    |                  ^^^^^^^
 
 error: couldn't read $DIR/i'd be quite surprised if a file with this name existed: $FILE_NOT_FOUND_MSG (os error 2)
   --> $DIR/macros-nonfatal-errors.rs:27:5
    |
-LL |     include_str!("i'd be quite surprised if a file with this name existed"); //~ ERROR
+LL |     include_str!("i'd be quite surprised if a file with this name existed");
    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 
 error: argument must be a string literal
   --> $DIR/macros-nonfatal-errors.rs:28:20
    |
-LL |     include_bytes!(invalid); //~ ERROR
+LL |     include_bytes!(invalid);
    |                    ^^^^^^^
 
 error: couldn't read $DIR/i'd be quite surprised if a file with this name existed: $FILE_NOT_FOUND_MSG (os error 2)
   --> $DIR/macros-nonfatal-errors.rs:29:5
    |
-LL |     include_bytes!("i'd be quite surprised if a file with this name existed"); //~ ERROR
+LL |     include_bytes!("i'd be quite surprised if a file with this name existed");
    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 
 error: trace_macros! accepts only `true` or `false`
   --> $DIR/macros-nonfatal-errors.rs:31:5
    |
-LL |     trace_macros!(invalid); //~ ERROR
+LL |     trace_macros!(invalid);
    |     ^^^^^^^^^^^^^^^^^^^^^^^
 
 error: aborting due to 14 previous errors
diff --git a/src/test/ui/macros/meta-item-absolute-path.stderr b/src/test/ui/macros/meta-item-absolute-path.stderr
index 31b0a27bbc8..23933f730aa 100644
--- a/src/test/ui/macros/meta-item-absolute-path.stderr
+++ b/src/test/ui/macros/meta-item-absolute-path.stderr
@@ -1,7 +1,7 @@
 error[E0433]: failed to resolve: maybe a missing `extern crate Absolute;`?
   --> $DIR/meta-item-absolute-path.rs:1:12
    |
-LL | #[derive(::Absolute)] //~ ERROR failed to resolve
+LL | #[derive(::Absolute)]
    |            ^^^^^^^^ maybe a missing `extern crate Absolute;`?
 
 error: aborting due to previous error
diff --git a/src/test/ui/macros/must-use-in-macro-55516.stderr b/src/test/ui/macros/must-use-in-macro-55516.stderr
index 47874b80972..623b5745a35 100644
--- a/src/test/ui/macros/must-use-in-macro-55516.stderr
+++ b/src/test/ui/macros/must-use-in-macro-55516.stderr
@@ -1,7 +1,7 @@
 warning: unused `std::result::Result` that must be used
   --> $DIR/must-use-in-macro-55516.rs:9:5
    |
-LL |     write!(&mut example, "{}", 42); //~WARN must be used
+LL |     write!(&mut example, "{}", 42);
    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    |
    = note: `-W unused-must-use` implied by `-W unused`
diff --git a/src/test/ui/macros/nonterminal-matching.stderr b/src/test/ui/macros/nonterminal-matching.stderr
index f2a191ae149..5fba8002e1c 100644
--- a/src/test/ui/macros/nonterminal-matching.stderr
+++ b/src/test/ui/macros/nonterminal-matching.stderr
@@ -1,7 +1,7 @@
 error: no rules expected the token `enum E { }`
   --> $DIR/nonterminal-matching.rs:19:10
    |
-LL |     n!(a $nt_item b); //~ ERROR no rules expected the token `enum E { }`
+LL |     n!(a $nt_item b);
    |          ^^^^^^^^ no rules expected this token in macro call
 ...
 LL | complex_nonterminal!(enum E {});
diff --git a/src/test/ui/macros/restricted-shadowing-legacy.stderr b/src/test/ui/macros/restricted-shadowing-legacy.stderr
index 9d61799713b..8378286bdad 100644
--- a/src/test/ui/macros/restricted-shadowing-legacy.stderr
+++ b/src/test/ui/macros/restricted-shadowing-legacy.stderr
@@ -1,7 +1,7 @@
 error[E0659]: `m` is ambiguous (macro-expanded name vs less macro-expanded name from outer scope during import/macro resolution)
   --> $DIR/restricted-shadowing-legacy.rs:101:13
    |
-LL |             m!(); //~ ERROR `m` is ambiguous
+LL |             m!();
    |             ^ ambiguous name
 ...
 LL | include!();
@@ -27,7 +27,7 @@ LL | include!();
 error[E0659]: `m` is ambiguous (macro-expanded name vs less macro-expanded name from outer scope during import/macro resolution)
   --> $DIR/restricted-shadowing-legacy.rs:139:42
    |
-LL |         macro_rules! gen_invoc { () => { m!() } } //~ ERROR `m` is ambiguous
+LL |         macro_rules! gen_invoc { () => { m!() } }
    |                                          ^ ambiguous name
 ...
 LL | include!();
@@ -53,7 +53,7 @@ LL | include!();
 error[E0659]: `m` is ambiguous (macro-expanded name vs less macro-expanded name from outer scope during import/macro resolution)
   --> $DIR/restricted-shadowing-legacy.rs:148:9
    |
-LL |         m!(); //~ ERROR `m` is ambiguous
+LL |         m!();
    |         ^ ambiguous name
 ...
 LL | include!();
@@ -79,7 +79,7 @@ LL | include!();
 error[E0659]: `m` is ambiguous (macro-expanded name vs less macro-expanded name from outer scope during import/macro resolution)
   --> $DIR/restricted-shadowing-legacy.rs:164:9
    |
-LL |         m!(); //~ ERROR `m` is ambiguous
+LL |         m!();
    |         ^ ambiguous name
 ...
 LL | include!();
@@ -105,7 +105,7 @@ LL | include!();
 error[E0659]: `m` is ambiguous (macro-expanded name vs less macro-expanded name from outer scope during import/macro resolution)
   --> $DIR/restricted-shadowing-legacy.rs:180:13
    |
-LL |             m!(); //~ ERROR `m` is ambiguous
+LL |             m!();
    |             ^ ambiguous name
 ...
 LL | include!();
@@ -131,7 +131,7 @@ LL | include!();
 error[E0659]: `m` is ambiguous (macro-expanded name vs less macro-expanded name from outer scope during import/macro resolution)
   --> $DIR/restricted-shadowing-legacy.rs:218:42
    |
-LL |         macro_rules! gen_invoc { () => { m!() } } //~ ERROR `m` is ambiguous
+LL |         macro_rules! gen_invoc { () => { m!() } }
    |                                          ^ ambiguous name
 ...
 LL | include!();
@@ -157,7 +157,7 @@ LL | include!();
 error[E0659]: `m` is ambiguous (macro-expanded name vs less macro-expanded name from outer scope during import/macro resolution)
   --> $DIR/restricted-shadowing-legacy.rs:232:9
    |
-LL |         m!(); //~ ERROR `m` is ambiguous
+LL |         m!();
    |         ^ ambiguous name
 ...
 LL | include!();
@@ -183,7 +183,7 @@ LL | include!();
 error[E0659]: `m` is ambiguous (macro-expanded name vs less macro-expanded name from outer scope during import/macro resolution)
   --> $DIR/restricted-shadowing-legacy.rs:262:42
    |
-LL |         macro_rules! gen_invoc { () => { m!() } } //~ ERROR `m` is ambiguous
+LL |         macro_rules! gen_invoc { () => { m!() } }
    |                                          ^ ambiguous name
 ...
 LL | include!();
diff --git a/src/test/ui/macros/restricted-shadowing-modern.stderr b/src/test/ui/macros/restricted-shadowing-modern.stderr
index 398a7660d30..d147debeb51 100644
--- a/src/test/ui/macros/restricted-shadowing-modern.stderr
+++ b/src/test/ui/macros/restricted-shadowing-modern.stderr
@@ -1,7 +1,7 @@
 error[E0659]: `m` is ambiguous (macro-expanded name vs less macro-expanded name from outer scope during import/macro resolution)
   --> $DIR/restricted-shadowing-modern.rs:106:17
    |
-LL |                 m!(); //~ ERROR `m` is ambiguous
+LL |                 m!();
    |                 ^ ambiguous name
 ...
 LL | include!();
@@ -27,7 +27,7 @@ LL | include!();
 error[E0659]: `m` is ambiguous (macro-expanded name vs less macro-expanded name from outer scope during import/macro resolution)
   --> $DIR/restricted-shadowing-modern.rs:149:33
    |
-LL |             macro gen_invoc() { m!() } //~ ERROR `m` is ambiguous
+LL |             macro gen_invoc() { m!() }
    |                                 ^ ambiguous name
 ...
 LL | include!();
@@ -53,7 +53,7 @@ LL | include!();
 error[E0659]: `m` is ambiguous (macro-expanded name vs less macro-expanded name from outer scope during import/macro resolution)
   --> $DIR/restricted-shadowing-modern.rs:158:13
    |
-LL |             m!(); //~ ERROR `m` is ambiguous
+LL |             m!();
    |             ^ ambiguous name
 ...
 LL | include!();
@@ -79,7 +79,7 @@ LL | include!();
 error[E0659]: `m` is ambiguous (macro-expanded name vs less macro-expanded name from outer scope during import/macro resolution)
   --> $DIR/restricted-shadowing-modern.rs:174:13
    |
-LL |             m!(); //~ ERROR `m` is ambiguous
+LL |             m!();
    |             ^ ambiguous name
 ...
 LL | include!();
@@ -105,7 +105,7 @@ LL | include!();
 error[E0659]: `m` is ambiguous (macro-expanded name vs less macro-expanded name from outer scope during import/macro resolution)
   --> $DIR/restricted-shadowing-modern.rs:192:17
    |
-LL |                 m!(); //~ ERROR `m` is ambiguous
+LL |                 m!();
    |                 ^ ambiguous name
 ...
 LL | include!();
@@ -131,7 +131,7 @@ LL | include!();
 error[E0659]: `m` is ambiguous (macro-expanded name vs less macro-expanded name from outer scope during import/macro resolution)
   --> $DIR/restricted-shadowing-modern.rs:235:33
    |
-LL |             macro gen_invoc() { m!() } //~ ERROR `m` is ambiguous
+LL |             macro gen_invoc() { m!() }
    |                                 ^ ambiguous name
 ...
 LL | include!();
diff --git a/src/test/ui/macros/trace_faulty_macros.stderr b/src/test/ui/macros/trace_faulty_macros.stderr
index a645590f005..233d3dcfcb6 100644
--- a/src/test/ui/macros/trace_faulty_macros.stderr
+++ b/src/test/ui/macros/trace_faulty_macros.stderr
@@ -4,7 +4,7 @@ error: no rules expected the token `bcd`
 LL | macro_rules! my_faulty_macro {
    | ---------------------------- when calling this macro
 LL |     () => {
-LL |         my_faulty_macro!(bcd); //~ ERROR no rules
+LL |         my_faulty_macro!(bcd);
    |                          ^^^ no rules expected this token in macro call
 ...
 LL |     my_faulty_macro!();
@@ -23,7 +23,7 @@ LL |     my_faulty_macro!();
 error: recursion limit reached while expanding the macro `my_recursive_macro`
   --> $DIR/trace_faulty_macros.rs:22:9
    |
-LL |         my_recursive_macro!(); //~ ERROR recursion limit
+LL |         my_recursive_macro!();
    |         ^^^^^^^^^^^^^^^^^^^^^^
 ...
 LL |     my_recursive_macro!();