about summary refs log tree commit diff
path: root/src/test
diff options
context:
space:
mode:
authorbors <bors@rust-lang.org>2018-08-17 19:10:34 +0000
committerbors <bors@rust-lang.org>2018-08-17 19:10:34 +0000
commitc8c587fe4ea43afb1c3cf9fe008101f09003ccd1 (patch)
tree3ac680db941a34ceb9e74527b39887f3c36d0751 /src/test
parentde21ea8ff536430885d50e882026953c2f0684d4 (diff)
parent674a5db1a50e25dd60a8ee6669edee9a366c9fab (diff)
downloadrust-c8c587fe4ea43afb1c3cf9fe008101f09003ccd1.tar.gz
rust-c8c587fe4ea43afb1c3cf9fe008101f09003ccd1.zip
Auto merge of #50911 - petrochenkov:macuse, r=alexcrichton
Stabilize `use_extern_macros`

Closes https://github.com/rust-lang/rust/issues/35896
Diffstat (limited to 'src/test')
-rw-r--r--src/test/compile-fail-fulldeps/proc-macro/attribute-with-error.rs2
-rw-r--r--src/test/compile-fail-fulldeps/proc-macro/attributes-included.rs1
-rw-r--r--src/test/compile-fail-fulldeps/proc-macro/issue-41211.rs1
-rw-r--r--src/test/compile-fail-fulldeps/proc-macro/macro-use-attr.rs1
-rw-r--r--src/test/compile-fail-fulldeps/proc-macro/macros-in-extern.rs2
-rw-r--r--src/test/compile-fail-fulldeps/proc-macro/more-gates.rs2
-rw-r--r--src/test/compile-fail-fulldeps/proc-macro/no-macro-use-attr.rs3
-rw-r--r--src/test/compile-fail-fulldeps/proc-macro/proc-macro-attributes.rs6
-rw-r--r--src/test/run-pass-fulldeps/proc-macro/attr-args.rs1
-rw-r--r--src/test/run-pass-fulldeps/proc-macro/attr-cfg.rs2
-rw-r--r--src/test/run-pass-fulldeps/proc-macro/attr-on-trait.rs2
-rw-r--r--src/test/run-pass-fulldeps/proc-macro/auxiliary/hygiene_example.rs2
-rw-r--r--src/test/run-pass-fulldeps/proc-macro/derive-attr-cfg.rs2
-rw-r--r--src/test/run-pass-fulldeps/proc-macro/derive-two-attrs.rs2
-rw-r--r--src/test/run-pass-fulldeps/proc-macro/gen-lifetime-token.rs2
-rw-r--r--src/test/run-pass-fulldeps/proc-macro/issue-39889.rs3
-rw-r--r--src/test/run-pass-fulldeps/proc-macro/lifetimes.rs2
-rw-r--r--src/test/run-pass-fulldeps/proc-macro/modify-ast.rs2
-rw-r--r--src/test/run-pass-fulldeps/proc-macro/not-joint.rs2
-rw-r--r--src/test/run-pass-fulldeps/proc-macro/span-api-tests.rs2
-rw-r--r--src/test/run-pass/auxiliary/issue_38715-modern.rs1
-rw-r--r--src/test/run-pass/macro-comma-support.rs102
-rw-r--r--src/test/run-pass/paths-in-macro-invocations.rs2
-rw-r--r--src/test/run-pass/use-macro-self.rs2
-rw-r--r--src/test/rustdoc/cross-crate-links.rs2
-rw-r--r--src/test/rustdoc/inline_cross/macro-vis.rs2
-rw-r--r--src/test/rustdoc/inline_cross/macros.rs1
-rw-r--r--src/test/rustdoc/pub-use-extern-macros.rs2
-rw-r--r--src/test/ui-fulldeps/proc-macro/attribute-spans-preserved.rs2
-rw-r--r--src/test/ui-fulldeps/proc-macro/attribute-spans-preserved.stderr4
-rw-r--r--src/test/ui-fulldeps/proc-macro/macro-brackets.rs2
-rw-r--r--src/test/ui-fulldeps/proc-macro/macro-brackets.stderr2
-rw-r--r--src/test/ui-fulldeps/proc-macro/macro-namespace-reserved-2.rs1
-rw-r--r--src/test/ui-fulldeps/proc-macro/macro-namespace-reserved-2.stderr18
-rw-r--r--src/test/ui-fulldeps/proc-macro/nested-item-spans.rs2
-rw-r--r--src/test/ui-fulldeps/proc-macro/nested-item-spans.stderr4
-rw-r--r--src/test/ui/duplicate/duplicate-check-macro-exports.rs2
-rw-r--r--src/test/ui/duplicate/duplicate-check-macro-exports.stderr2
-rw-r--r--src/test/ui/extern/extern-macro.rs2
-rw-r--r--src/test/ui/extern/extern-macro.stderr2
-rw-r--r--src/test/ui/feature-gates/feature-gate-tool_attributes.rs2
-rw-r--r--src/test/ui/feature-gates/feature-gate-tool_attributes.stderr2
-rw-r--r--src/test/ui/hygiene/local_inner_macros.rs2
-rw-r--r--src/test/ui/hygiene/local_inner_macros_disabled.rs20
-rw-r--r--src/test/ui/hygiene/local_inner_macros_disabled.stderr10
-rw-r--r--src/test/ui/imports/local-modularized-tricky-fail-3.rs2
-rw-r--r--src/test/ui/imports/local-modularized-tricky-fail-3.stderr8
-rw-r--r--src/test/ui/imports/local-modularized-tricky-pass.rs2
-rw-r--r--src/test/ui/imports/local-modularized.rs2
-rw-r--r--src/test/ui/imports/macro-paths.rs2
-rw-r--r--src/test/ui/imports/macro-paths.stderr12
-rw-r--r--src/test/ui/imports/macros.rs2
-rw-r--r--src/test/ui/imports/macros.stderr18
-rw-r--r--src/test/ui/imports/shadow_builtin_macros.rs2
-rw-r--r--src/test/ui/imports/shadow_builtin_macros.stderr16
-rw-r--r--src/test/ui/issues/issue-49074.rs1
-rw-r--r--src/test/ui/issues/issue-49074.stderr10
-rw-r--r--src/test/ui/macros/macro-path-prelude-fail-1.rs2
-rw-r--r--src/test/ui/macros/macro-path-prelude-fail-2.rs2
-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.rs2
-rw-r--r--src/test/ui/macros/macro-path-prelude-fail-3.stderr4
-rw-r--r--src/test/ui/macros/macro-path-prelude-pass.rs2
-rw-r--r--src/test/ui/macros/macro-reexport-removed.stderr2
-rw-r--r--src/test/ui/macros/macro-with-seps-err-msg.rs15
-rw-r--r--src/test/ui/macros/macro-with-seps-err-msg.stderr11
-rw-r--r--src/test/ui/macros/macro_undefined.rs2
-rw-r--r--src/test/ui/macros/macro_undefined.stderr10
-rw-r--r--src/test/ui/macros/macros-nonfatal-errors.rs2
-rw-r--r--src/test/ui/macros/macros-nonfatal-errors.stderr27
-rw-r--r--src/test/ui/no-link.rs1
-rw-r--r--src/test/ui/no-link.stderr8
-rw-r--r--src/test/ui/object-lifetime/object-lifetime-default.stderr48
-rw-r--r--src/test/ui/rust-2018/macro-use-warned-against.rs1
-rw-r--r--src/test/ui/rust-2018/macro-use-warned-against.stderr4
-rw-r--r--src/test/ui/tool-attributes/tool-attributes-disabled-1.rs15
-rw-r--r--src/test/ui/tool-attributes/tool-attributes-disabled-1.stderr11
-rw-r--r--src/test/ui/tool-attributes/tool-attributes-disabled-2.rs15
-rw-r--r--src/test/ui/tool-attributes/tool-attributes-disabled-2.stderr11
79 files changed, 145 insertions, 364 deletions
diff --git a/src/test/compile-fail-fulldeps/proc-macro/attribute-with-error.rs b/src/test/compile-fail-fulldeps/proc-macro/attribute-with-error.rs
index 9e7bbb2b8f7..3cb565c1ede 100644
--- a/src/test/compile-fail-fulldeps/proc-macro/attribute-with-error.rs
+++ b/src/test/compile-fail-fulldeps/proc-macro/attribute-with-error.rs
@@ -11,8 +11,6 @@
 // aux-build:attribute-with-error.rs
 // ignore-stage1
 
-#![feature(use_extern_macros)]
-
 extern crate attribute_with_error;
 
 use attribute_with_error::foo;
diff --git a/src/test/compile-fail-fulldeps/proc-macro/attributes-included.rs b/src/test/compile-fail-fulldeps/proc-macro/attributes-included.rs
index ea66d3c0ef6..e941367b08d 100644
--- a/src/test/compile-fail-fulldeps/proc-macro/attributes-included.rs
+++ b/src/test/compile-fail-fulldeps/proc-macro/attributes-included.rs
@@ -12,7 +12,6 @@
 // ignore-stage1
 // compile-pass
 
-#![feature(use_extern_macros)]
 #![warn(unused)]
 
 extern crate attributes_included;
diff --git a/src/test/compile-fail-fulldeps/proc-macro/issue-41211.rs b/src/test/compile-fail-fulldeps/proc-macro/issue-41211.rs
index f71d4b86f1e..52d7afb26ad 100644
--- a/src/test/compile-fail-fulldeps/proc-macro/issue-41211.rs
+++ b/src/test/compile-fail-fulldeps/proc-macro/issue-41211.rs
@@ -13,7 +13,6 @@
 // FIXME: https://github.com/rust-lang/rust/issues/41430
 // This is a temporary regression test for the ICE reported in #41211
 
-#![feature(use_extern_macros)]
 #![emit_unchanged]
 //~^ ERROR attribute `emit_unchanged` is currently unknown to the compiler
 extern crate issue_41211;
diff --git a/src/test/compile-fail-fulldeps/proc-macro/macro-use-attr.rs b/src/test/compile-fail-fulldeps/proc-macro/macro-use-attr.rs
index bb7f341f967..0fcb9efc1c9 100644
--- a/src/test/compile-fail-fulldeps/proc-macro/macro-use-attr.rs
+++ b/src/test/compile-fail-fulldeps/proc-macro/macro-use-attr.rs
@@ -9,7 +9,6 @@
 // except according to those terms.
 
 // aux-build:attr_proc_macro.rs
-#![feature(use_extern_macros)]
 
 #[macro_use] extern crate attr_proc_macro;
 
diff --git a/src/test/compile-fail-fulldeps/proc-macro/macros-in-extern.rs b/src/test/compile-fail-fulldeps/proc-macro/macros-in-extern.rs
index e418ecc114c..f280e74fc90 100644
--- a/src/test/compile-fail-fulldeps/proc-macro/macros-in-extern.rs
+++ b/src/test/compile-fail-fulldeps/proc-macro/macros-in-extern.rs
@@ -12,8 +12,6 @@
 // ignore-stage1
 // ignore-wasm32
 
-#![feature(use_extern_macros)]
-
 extern crate test_macros;
 
 use test_macros::{nop_attr, no_output, emit_input};
diff --git a/src/test/compile-fail-fulldeps/proc-macro/more-gates.rs b/src/test/compile-fail-fulldeps/proc-macro/more-gates.rs
index ff9f1705c5b..b7ab978b8ed 100644
--- a/src/test/compile-fail-fulldeps/proc-macro/more-gates.rs
+++ b/src/test/compile-fail-fulldeps/proc-macro/more-gates.rs
@@ -10,8 +10,6 @@
 
 // aux-build:more-gates.rs
 
-#![feature(use_extern_macros)]
-
 extern crate more_gates as foo;
 
 use foo::*;
diff --git a/src/test/compile-fail-fulldeps/proc-macro/no-macro-use-attr.rs b/src/test/compile-fail-fulldeps/proc-macro/no-macro-use-attr.rs
index e47a4aefb5e..ab05ca28386 100644
--- a/src/test/compile-fail-fulldeps/proc-macro/no-macro-use-attr.rs
+++ b/src/test/compile-fail-fulldeps/proc-macro/no-macro-use-attr.rs
@@ -11,9 +11,10 @@
 // aux-build:derive-a.rs
 
 #![feature(rustc_attrs)]
+#![warn(unused_extern_crates)]
 
 extern crate derive_a;
-//~^ WARN proc macro crates and `#[no_link]` crates have no effect without `#[macro_use]`
+//~^ WARN unused extern crate
 
 #[rustc_error]
 fn main() {} //~ ERROR compilation successful
diff --git a/src/test/compile-fail-fulldeps/proc-macro/proc-macro-attributes.rs b/src/test/compile-fail-fulldeps/proc-macro/proc-macro-attributes.rs
index df3f7a239b9..215d51c2270 100644
--- a/src/test/compile-fail-fulldeps/proc-macro/proc-macro-attributes.rs
+++ b/src/test/compile-fail-fulldeps/proc-macro/proc-macro-attributes.rs
@@ -17,11 +17,11 @@
 extern crate derive_b;
 
 #[derive(B)]
-#[B]
-#[C] //~ ERROR: The attribute `C` is currently unknown to the compiler
+#[B] //~ ERROR `B` is a derive mode
+#[C]
 #[B(D)]
 #[B(E = "foo")]
-#[B(arbitrary tokens)] //~ ERROR expected one of `(`, `)`, `,`, `::`, or `=`, found `tokens`
+#[B(arbitrary tokens)]
 struct B;
 
 fn main() {}
diff --git a/src/test/run-pass-fulldeps/proc-macro/attr-args.rs b/src/test/run-pass-fulldeps/proc-macro/attr-args.rs
index 26522396d6b..effb3ad5189 100644
--- a/src/test/run-pass-fulldeps/proc-macro/attr-args.rs
+++ b/src/test/run-pass-fulldeps/proc-macro/attr-args.rs
@@ -12,7 +12,6 @@
 // ignore-stage1
 
 #![allow(warnings)]
-#![feature(use_extern_macros)]
 
 extern crate attr_args;
 use attr_args::{attr_with_args, identity};
diff --git a/src/test/run-pass-fulldeps/proc-macro/attr-cfg.rs b/src/test/run-pass-fulldeps/proc-macro/attr-cfg.rs
index 4ee30b8252b..1a9d9b9ee62 100644
--- a/src/test/run-pass-fulldeps/proc-macro/attr-cfg.rs
+++ b/src/test/run-pass-fulldeps/proc-macro/attr-cfg.rs
@@ -12,8 +12,6 @@
 // ignore-stage1
 // revisions: foo bar
 
-#![feature(use_extern_macros)]
-
 extern crate attr_cfg;
 use attr_cfg::attr_cfg;
 
diff --git a/src/test/run-pass-fulldeps/proc-macro/attr-on-trait.rs b/src/test/run-pass-fulldeps/proc-macro/attr-on-trait.rs
index 256096f118a..698a0eca173 100644
--- a/src/test/run-pass-fulldeps/proc-macro/attr-on-trait.rs
+++ b/src/test/run-pass-fulldeps/proc-macro/attr-on-trait.rs
@@ -11,8 +11,6 @@
 // aux-build:attr-on-trait.rs
 // ignore-stage1
 
-#![feature(use_extern_macros)]
-
 extern crate attr_on_trait;
 
 use attr_on_trait::foo;
diff --git a/src/test/run-pass-fulldeps/proc-macro/auxiliary/hygiene_example.rs b/src/test/run-pass-fulldeps/proc-macro/auxiliary/hygiene_example.rs
index bac6524847a..ca88482064b 100644
--- a/src/test/run-pass-fulldeps/proc-macro/auxiliary/hygiene_example.rs
+++ b/src/test/run-pass-fulldeps/proc-macro/auxiliary/hygiene_example.rs
@@ -8,8 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-#![feature(use_extern_macros)]
-
 extern crate hygiene_example_codegen;
 
 pub use hygiene_example_codegen::hello;
diff --git a/src/test/run-pass-fulldeps/proc-macro/derive-attr-cfg.rs b/src/test/run-pass-fulldeps/proc-macro/derive-attr-cfg.rs
index 6ef23bc772b..93023f8f8ed 100644
--- a/src/test/run-pass-fulldeps/proc-macro/derive-attr-cfg.rs
+++ b/src/test/run-pass-fulldeps/proc-macro/derive-attr-cfg.rs
@@ -11,8 +11,6 @@
 // aux-build:derive-attr-cfg.rs
 // ignore-stage1
 
-#![feature(use_extern_macros)]
-
 extern crate derive_attr_cfg;
 use derive_attr_cfg::Foo;
 
diff --git a/src/test/run-pass-fulldeps/proc-macro/derive-two-attrs.rs b/src/test/run-pass-fulldeps/proc-macro/derive-two-attrs.rs
index 6a0a3b3a941..0df0288216e 100644
--- a/src/test/run-pass-fulldeps/proc-macro/derive-two-attrs.rs
+++ b/src/test/run-pass-fulldeps/proc-macro/derive-two-attrs.rs
@@ -10,8 +10,6 @@
 
 // aux-build:derive-two-attrs.rs
 
-#![feature(use_extern_macros)]
-
 extern crate derive_two_attrs as foo;
 
 use foo::A;
diff --git a/src/test/run-pass-fulldeps/proc-macro/gen-lifetime-token.rs b/src/test/run-pass-fulldeps/proc-macro/gen-lifetime-token.rs
index c8a9bea3631..ce2fed86e46 100644
--- a/src/test/run-pass-fulldeps/proc-macro/gen-lifetime-token.rs
+++ b/src/test/run-pass-fulldeps/proc-macro/gen-lifetime-token.rs
@@ -10,8 +10,6 @@
 
 // aux-build:gen-lifetime-token.rs
 
-#![feature(use_extern_macros)]
-
 extern crate gen_lifetime_token as bar;
 
 bar::bar!();
diff --git a/src/test/run-pass-fulldeps/proc-macro/issue-39889.rs b/src/test/run-pass-fulldeps/proc-macro/issue-39889.rs
index 5b7d8c2b05b..3fc7446815e 100644
--- a/src/test/run-pass-fulldeps/proc-macro/issue-39889.rs
+++ b/src/test/run-pass-fulldeps/proc-macro/issue-39889.rs
@@ -11,9 +11,6 @@
 // aux-build:issue-39889.rs
 // ignore-stage1
 
-#![feature(use_extern_macros)]
-#![allow(unused)]
-
 extern crate issue_39889;
 use issue_39889::Issue39889;
 
diff --git a/src/test/run-pass-fulldeps/proc-macro/lifetimes.rs b/src/test/run-pass-fulldeps/proc-macro/lifetimes.rs
index cfe0ce19a46..c73441e30e6 100644
--- a/src/test/run-pass-fulldeps/proc-macro/lifetimes.rs
+++ b/src/test/run-pass-fulldeps/proc-macro/lifetimes.rs
@@ -11,8 +11,6 @@
 // aux-build:lifetimes.rs
 // ignore-stage1
 
-#![feature(use_extern_macros)]
-
 extern crate lifetimes;
 use lifetimes::*;
 
diff --git a/src/test/run-pass-fulldeps/proc-macro/modify-ast.rs b/src/test/run-pass-fulldeps/proc-macro/modify-ast.rs
index 0b584fdd44d..d6f7cc4699a 100644
--- a/src/test/run-pass-fulldeps/proc-macro/modify-ast.rs
+++ b/src/test/run-pass-fulldeps/proc-macro/modify-ast.rs
@@ -10,8 +10,6 @@
 
 // aux-build:modify-ast.rs
 
-#![feature(use_extern_macros)]
-
 extern crate modify_ast;
 
 use modify_ast::*;
diff --git a/src/test/run-pass-fulldeps/proc-macro/not-joint.rs b/src/test/run-pass-fulldeps/proc-macro/not-joint.rs
index 8a59d57a938..7a53348f963 100644
--- a/src/test/run-pass-fulldeps/proc-macro/not-joint.rs
+++ b/src/test/run-pass-fulldeps/proc-macro/not-joint.rs
@@ -10,8 +10,6 @@
 
 // aux-build:not-joint.rs
 
-#![feature(use_extern_macros)]
-
 extern crate not_joint as bar;
 use bar::{tokens, nothing};
 
diff --git a/src/test/run-pass-fulldeps/proc-macro/span-api-tests.rs b/src/test/run-pass-fulldeps/proc-macro/span-api-tests.rs
index 735e088b82a..415cada265e 100644
--- a/src/test/run-pass-fulldeps/proc-macro/span-api-tests.rs
+++ b/src/test/run-pass-fulldeps/proc-macro/span-api-tests.rs
@@ -13,8 +13,6 @@
 
 // ignore-pretty
 
-#![feature(use_extern_macros)]
-
 #[macro_use]
 extern crate span_test_macros;
 
diff --git a/src/test/run-pass/auxiliary/issue_38715-modern.rs b/src/test/run-pass/auxiliary/issue_38715-modern.rs
index 68aced7f979..7f14b2c4659 100644
--- a/src/test/run-pass/auxiliary/issue_38715-modern.rs
+++ b/src/test/run-pass/auxiliary/issue_38715-modern.rs
@@ -8,7 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-#![feature(use_extern_macros)]
 #![allow(duplicate_macro_exports)]
 
 #[macro_export]
diff --git a/src/test/run-pass/macro-comma-support.rs b/src/test/run-pass/macro-comma-support.rs
index bfd911002a0..f645849cd51 100644
--- a/src/test/run-pass/macro-comma-support.rs
+++ b/src/test/run-pass/macro-comma-support.rs
@@ -61,30 +61,30 @@ fn assert_ne() {
 
 #[test]
 fn cfg() {
-    let _ = cfg!(pants);
-    let _ = cfg!(pants,);
-    let _ = cfg!(pants = "pants");
-    let _ = cfg!(pants = "pants",);
-    let _ = cfg!(all(pants));
-    let _ = cfg!(all(pants),);
-    let _ = cfg!(all(pants,));
-    let _ = cfg!(all(pants,),);
+    cfg!(pants);
+    cfg!(pants,);
+    cfg!(pants = "pants");
+    cfg!(pants = "pants",);
+    cfg!(all(pants));
+    cfg!(all(pants),);
+    cfg!(all(pants,));
+    cfg!(all(pants,),);
 }
 
 #[test]
 fn column() {
-    let _ = column!();
+    column!();
 }
 
 // compile_error! is in a companion to this test in compile-fail
 
 #[test]
 fn concat() {
-    let _ = concat!();
-    let _ = concat!("hello");
-    let _ = concat!("hello",);
-    let _ = concat!("hello", " world");
-    let _ = concat!("hello", " world",);
+    concat!();
+    concat!("hello");
+    concat!("hello",);
+    concat!("hello", " world");
+    concat!("hello", " world",);
 }
 
 #[test]
@@ -130,10 +130,10 @@ fn debug_assert_ne() {
 
 #[test]
 fn env() {
-    let _ = env!("PATH");
-    let _ = env!("PATH",);
-    let _ = env!("PATH", "not found");
-    let _ = env!("PATH", "not found",);
+    env!("PATH");
+    env!("PATH",);
+    env!("PATH", "not found");
+    env!("PATH", "not found",);
 }
 
 #[cfg(std)]
@@ -157,58 +157,58 @@ fn eprintln() {
 
 #[test]
 fn file() {
-    let _ = file!();
+    file!();
 }
 
 #[cfg(std)]
 #[test]
 fn format() {
-    let _ = format!("hello");
-    let _ = format!("hello",);
-    let _ = format!("hello {}", "world");
-    let _ = format!("hello {}", "world",);
+    format!("hello");
+    format!("hello",);
+    format!("hello {}", "world");
+    format!("hello {}", "world",);
 }
 
 #[test]
 fn format_args() {
-    let _ = format_args!("hello");
-    let _ = format_args!("hello",);
-    let _ = format_args!("hello {}", "world");
-    let _ = format_args!("hello {}", "world",);
+    format_args!("hello");
+    format_args!("hello",);
+    format_args!("hello {}", "world");
+    format_args!("hello {}", "world",);
 }
 
 #[test]
 fn include() {
-    let _ = include!("auxiliary/macro-comma-support.rs");
-    let _ = include!("auxiliary/macro-comma-support.rs",);
+    include!("auxiliary/macro-comma-support.rs");
+    include!("auxiliary/macro-comma-support.rs",);
 }
 
 #[test]
 fn include_bytes() {
-    let _ = include_bytes!("auxiliary/macro-comma-support.rs");
-    let _ = include_bytes!("auxiliary/macro-comma-support.rs",);
+    include_bytes!("auxiliary/macro-comma-support.rs");
+    include_bytes!("auxiliary/macro-comma-support.rs",);
 }
 
 #[test]
 fn include_str() {
-    let _ = include_str!("auxiliary/macro-comma-support.rs");
-    let _ = include_str!("auxiliary/macro-comma-support.rs",);
+    include_str!("auxiliary/macro-comma-support.rs");
+    include_str!("auxiliary/macro-comma-support.rs",);
 }
 
 #[test]
 fn line() {
-    let _ = line!();
+    line!();
 }
 
 #[test]
 fn module_path() {
-    let _ = module_path!();
+    module_path!();
 }
 
 #[test]
 fn option_env() {
-    let _ = option_env!("PATH");
-    let _ = option_env!("PATH",);
+    option_env!("PATH");
+    option_env!("PATH",);
 }
 
 #[test]
@@ -308,10 +308,10 @@ fn unreachable() {
 #[test]
 fn vec() {
     let _: Vec<()> = vec![];
-    let _ = vec![0];
-    let _ = vec![0,];
-    let _ = vec![0, 1];
-    let _ = vec![0, 1,];
+    vec![0];
+    vec![0,];
+    vec![0, 1];
+    vec![0, 1,];
 }
 
 // give a test body access to a fmt::Formatter, which seems
@@ -339,21 +339,21 @@ macro_rules! test_with_formatter {
 test_with_formatter! {
     #[test]
     fn write(f: &mut fmt::Formatter) {
-        let _ = write!(f, "hello");
-        let _ = write!(f, "hello",);
-        let _ = write!(f, "hello {}", "world");
-        let _ = write!(f, "hello {}", "world",);
+        write!(f, "hello");
+        write!(f, "hello",);
+        write!(f, "hello {}", "world");
+        write!(f, "hello {}", "world",);
     }
 }
 
 test_with_formatter! {
     #[test]
     fn writeln(f: &mut fmt::Formatter) {
-        let _ = writeln!(f);
-        let _ = writeln!(f,);
-        let _ = writeln!(f, "hello");
-        let _ = writeln!(f, "hello",);
-        let _ = writeln!(f, "hello {}", "world");
-        let _ = writeln!(f, "hello {}", "world",);
+        writeln!(f);
+        writeln!(f,);
+        writeln!(f, "hello");
+        writeln!(f, "hello",);
+        writeln!(f, "hello {}", "world");
+        writeln!(f, "hello {}", "world",);
     }
 }
diff --git a/src/test/run-pass/paths-in-macro-invocations.rs b/src/test/run-pass/paths-in-macro-invocations.rs
index 69f8906778a..e860f7021e5 100644
--- a/src/test/run-pass/paths-in-macro-invocations.rs
+++ b/src/test/run-pass/paths-in-macro-invocations.rs
@@ -10,8 +10,6 @@
 
 // aux-build:two_macros.rs
 
-#![feature(use_extern_macros)]
-
 extern crate two_macros;
 
 ::two_macros::macro_one!();
diff --git a/src/test/run-pass/use-macro-self.rs b/src/test/run-pass/use-macro-self.rs
index 9162ad32681..66ab00da7f4 100644
--- a/src/test/run-pass/use-macro-self.rs
+++ b/src/test/run-pass/use-macro-self.rs
@@ -10,8 +10,6 @@
 
 // aux-build:use-macro-self.rs
 
-#![feature(use_extern_macros)]
-
 #[macro_use]
 extern crate use_macro_self;
 
diff --git a/src/test/rustdoc/cross-crate-links.rs b/src/test/rustdoc/cross-crate-links.rs
index 15a774dc935..7ccfb3d9da6 100644
--- a/src/test/rustdoc/cross-crate-links.rs
+++ b/src/test/rustdoc/cross-crate-links.rs
@@ -11,8 +11,6 @@
 // aux-build:all-item-types.rs
 // build-aux-docs
 
-#![feature(use_extern_macros)]
-
 #![crate_name = "foo"]
 
 #[macro_use]
diff --git a/src/test/rustdoc/inline_cross/macro-vis.rs b/src/test/rustdoc/inline_cross/macro-vis.rs
index 6de13338dd3..5467a210bfd 100644
--- a/src/test/rustdoc/inline_cross/macro-vis.rs
+++ b/src/test/rustdoc/inline_cross/macro-vis.rs
@@ -12,8 +12,6 @@
 // build-aux-docs
 // ignore-cross-compile
 
-#![feature(use_extern_macros)]
-
 #[macro_use] extern crate qwop;
 
 // @has macro_vis/macro.some_macro.html
diff --git a/src/test/rustdoc/inline_cross/macros.rs b/src/test/rustdoc/inline_cross/macros.rs
index 8d2f7d15d7d..474a1da1875 100644
--- a/src/test/rustdoc/inline_cross/macros.rs
+++ b/src/test/rustdoc/inline_cross/macros.rs
@@ -12,7 +12,6 @@
 // build-aux-docs
 
 #![feature(macro_test)]
-#![feature(use_extern_macros)]
 
 #![crate_name = "foo"]
 
diff --git a/src/test/rustdoc/pub-use-extern-macros.rs b/src/test/rustdoc/pub-use-extern-macros.rs
index 13957fd6a70..48fb9bfd207 100644
--- a/src/test/rustdoc/pub-use-extern-macros.rs
+++ b/src/test/rustdoc/pub-use-extern-macros.rs
@@ -10,8 +10,6 @@
 
 // aux-build:pub-use-extern-macros.rs
 
-#![feature(use_extern_macros)]
-
 extern crate macros;
 
 // @has pub_use_extern_macros/macro.bar.html
diff --git a/src/test/ui-fulldeps/proc-macro/attribute-spans-preserved.rs b/src/test/ui-fulldeps/proc-macro/attribute-spans-preserved.rs
index 18ca34b117d..af47dad9e0b 100644
--- a/src/test/ui-fulldeps/proc-macro/attribute-spans-preserved.rs
+++ b/src/test/ui-fulldeps/proc-macro/attribute-spans-preserved.rs
@@ -10,8 +10,6 @@
 
 // aux-build:attribute-spans-preserved.rs
 
-#![feature(use_extern_macros)]
-
 extern crate attribute_spans_preserved as foo;
 
 use foo::foo;
diff --git a/src/test/ui-fulldeps/proc-macro/attribute-spans-preserved.stderr b/src/test/ui-fulldeps/proc-macro/attribute-spans-preserved.stderr
index a6cbf79209e..329e5bea61c 100644
--- a/src/test/ui-fulldeps/proc-macro/attribute-spans-preserved.stderr
+++ b/src/test/ui-fulldeps/proc-macro/attribute-spans-preserved.stderr
@@ -1,5 +1,5 @@
 error[E0308]: mismatched types
-  --> $DIR/attribute-spans-preserved.rs:19:23
+  --> $DIR/attribute-spans-preserved.rs:17:23
    |
 LL | #[ foo ( let y: u32 = "z"; ) ] //~ ERROR: mismatched types
    |                       ^^^ expected u32, found reference
@@ -8,7 +8,7 @@ LL | #[ foo ( let y: u32 = "z"; ) ] //~ ERROR: mismatched types
               found type `&'static str`
 
 error[E0308]: mismatched types
-  --> $DIR/attribute-spans-preserved.rs:20:23
+  --> $DIR/attribute-spans-preserved.rs:18:23
    |
 LL | #[ bar { let x: u32 = "y"; } ] //~ ERROR: mismatched types
    |                       ^^^ expected u32, found reference
diff --git a/src/test/ui-fulldeps/proc-macro/macro-brackets.rs b/src/test/ui-fulldeps/proc-macro/macro-brackets.rs
index 1c16faa9986..b29f2775201 100644
--- a/src/test/ui-fulldeps/proc-macro/macro-brackets.rs
+++ b/src/test/ui-fulldeps/proc-macro/macro-brackets.rs
@@ -10,8 +10,6 @@
 
 // aux-build:macro-brackets.rs
 
-#![feature(use_extern_macros)]
-
 extern crate macro_brackets as bar;
 use bar::doit;
 
diff --git a/src/test/ui-fulldeps/proc-macro/macro-brackets.stderr b/src/test/ui-fulldeps/proc-macro/macro-brackets.stderr
index 1f31a034913..7c263d38df9 100644
--- a/src/test/ui-fulldeps/proc-macro/macro-brackets.stderr
+++ b/src/test/ui-fulldeps/proc-macro/macro-brackets.stderr
@@ -1,5 +1,5 @@
 error[E0308]: mismatched types
-  --> $DIR/macro-brackets.rs:23:21
+  --> $DIR/macro-brackets.rs:21:21
    |
 LL | id![static X: u32 = 'a';]; //~ ERROR: mismatched types
    |                     ^^^ expected u32, found char
diff --git a/src/test/ui-fulldeps/proc-macro/macro-namespace-reserved-2.rs b/src/test/ui-fulldeps/proc-macro/macro-namespace-reserved-2.rs
index 9cfd486606a..fa05ad2fc60 100644
--- a/src/test/ui-fulldeps/proc-macro/macro-namespace-reserved-2.rs
+++ b/src/test/ui-fulldeps/proc-macro/macro-namespace-reserved-2.rs
@@ -10,7 +10,6 @@
 
 // no-prefer-dynamic
 
-#![feature(use_extern_macros)]
 #![crate_type = "proc-macro"]
 
 extern crate proc_macro;
diff --git a/src/test/ui-fulldeps/proc-macro/macro-namespace-reserved-2.stderr b/src/test/ui-fulldeps/proc-macro/macro-namespace-reserved-2.stderr
index 58a7f974905..342d7ddb36c 100644
--- a/src/test/ui-fulldeps/proc-macro/macro-namespace-reserved-2.stderr
+++ b/src/test/ui-fulldeps/proc-macro/macro-namespace-reserved-2.stderr
@@ -1,53 +1,53 @@
 error: can't use a procedural macro from the same crate that defines it
-  --> $DIR/macro-namespace-reserved-2.rs:35:5
+  --> $DIR/macro-namespace-reserved-2.rs:34:5
    |
 LL |     my_macro!(); //~ ERROR can't use a procedural macro from the same crate that defines it
    |     ^^^^^^^^^^^^
 
 error: can't use a procedural macro from the same crate that defines it
-  --> $DIR/macro-namespace-reserved-2.rs:38:5
+  --> $DIR/macro-namespace-reserved-2.rs:37:5
    |
 LL |     my_macro_attr!(); //~ ERROR can't use a procedural macro from the same crate that defines it
    |     ^^^^^^^^^^^^^^^^^
 
 error: can't use a procedural macro from the same crate that defines it
-  --> $DIR/macro-namespace-reserved-2.rs:41:5
+  --> $DIR/macro-namespace-reserved-2.rs:40:5
    |
 LL |     MyTrait!(); //~ ERROR can't use a procedural macro from the same crate that defines it
    |     ^^^^^^^^^^^
 
 error: can't use a procedural macro from the same crate that defines it
-  --> $DIR/macro-namespace-reserved-2.rs:44:1
+  --> $DIR/macro-namespace-reserved-2.rs:43:1
    |
 LL | #[my_macro] //~ ERROR can't use a procedural macro from the same crate that defines it
    | ^^^^^^^^^^^
 
 error: can't use a procedural macro from the same crate that defines it
-  --> $DIR/macro-namespace-reserved-2.rs:46:1
+  --> $DIR/macro-namespace-reserved-2.rs:45:1
    |
 LL | #[my_macro_attr] //~ ERROR can't use a procedural macro from the same crate that defines it
    | ^^^^^^^^^^^^^^^^
 
 error: can't use a procedural macro from the same crate that defines it
-  --> $DIR/macro-namespace-reserved-2.rs:48:1
+  --> $DIR/macro-namespace-reserved-2.rs:47:1
    |
 LL | #[MyTrait] //~ ERROR can't use a procedural macro from the same crate that defines it
    | ^^^^^^^^^^
 
 error: can't use a procedural macro from the same crate that defines it
-  --> $DIR/macro-namespace-reserved-2.rs:51:10
+  --> $DIR/macro-namespace-reserved-2.rs:50:10
    |
 LL | #[derive(my_macro)] //~ ERROR can't use a procedural macro from the same crate that defines it
    |          ^^^^^^^^
 
 error: can't use a procedural macro from the same crate that defines it
-  --> $DIR/macro-namespace-reserved-2.rs:53:10
+  --> $DIR/macro-namespace-reserved-2.rs:52:10
    |
 LL | #[derive(my_macro_attr)] //~ ERROR can't use a procedural macro from the same crate that defines it
    |          ^^^^^^^^^^^^^
 
 error: can't use a procedural macro from the same crate that defines it
-  --> $DIR/macro-namespace-reserved-2.rs:55:10
+  --> $DIR/macro-namespace-reserved-2.rs:54:10
    |
 LL | #[derive(MyTrait)] //~ ERROR can't use a procedural macro from the same crate that defines it
    |          ^^^^^^^
diff --git a/src/test/ui-fulldeps/proc-macro/nested-item-spans.rs b/src/test/ui-fulldeps/proc-macro/nested-item-spans.rs
index bacab345351..8f059d6344d 100644
--- a/src/test/ui-fulldeps/proc-macro/nested-item-spans.rs
+++ b/src/test/ui-fulldeps/proc-macro/nested-item-spans.rs
@@ -10,8 +10,6 @@
 
 // aux-build:nested-item-spans.rs
 
-#![feature(use_extern_macros)]
-
 extern crate nested_item_spans;
 
 use nested_item_spans::foo;
diff --git a/src/test/ui-fulldeps/proc-macro/nested-item-spans.stderr b/src/test/ui-fulldeps/proc-macro/nested-item-spans.stderr
index c02cc2520f8..75140747e8c 100644
--- a/src/test/ui-fulldeps/proc-macro/nested-item-spans.stderr
+++ b/src/test/ui-fulldeps/proc-macro/nested-item-spans.stderr
@@ -1,5 +1,5 @@
 error[E0308]: mismatched types
-  --> $DIR/nested-item-spans.rs:22:22
+  --> $DIR/nested-item-spans.rs:20:22
    |
 LL |         let x: u32 = "x"; //~ ERROR: mismatched types
    |                      ^^^ expected u32, found reference
@@ -8,7 +8,7 @@ LL |         let x: u32 = "x"; //~ ERROR: mismatched types
               found type `&'static str`
 
 error[E0308]: mismatched types
-  --> $DIR/nested-item-spans.rs:31:22
+  --> $DIR/nested-item-spans.rs:29:22
    |
 LL |         let x: u32 = "x"; //~ ERROR: mismatched types
    |                      ^^^ expected u32, found reference
diff --git a/src/test/ui/duplicate/duplicate-check-macro-exports.rs b/src/test/ui/duplicate/duplicate-check-macro-exports.rs
index d8159bff567..42b2b1d650f 100644
--- a/src/test/ui/duplicate/duplicate-check-macro-exports.rs
+++ b/src/test/ui/duplicate/duplicate-check-macro-exports.rs
@@ -8,8 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-#![feature(use_extern_macros)]
-
 pub use std::panic;
 
 #[macro_export]
diff --git a/src/test/ui/duplicate/duplicate-check-macro-exports.stderr b/src/test/ui/duplicate/duplicate-check-macro-exports.stderr
index 651e984b274..e2119efbd3d 100644
--- a/src/test/ui/duplicate/duplicate-check-macro-exports.stderr
+++ b/src/test/ui/duplicate/duplicate-check-macro-exports.stderr
@@ -1,5 +1,5 @@
 error[E0255]: the name `panic` is defined multiple times
-  --> $DIR/duplicate-check-macro-exports.rs:16:1
+  --> $DIR/duplicate-check-macro-exports.rs:14:1
    |
 LL | pub use std::panic;
    |         ---------- previous import of the macro `panic` here
diff --git a/src/test/ui/extern/extern-macro.rs b/src/test/ui/extern/extern-macro.rs
index 4267103ab9a..4b1bf7d8f79 100644
--- a/src/test/ui/extern/extern-macro.rs
+++ b/src/test/ui/extern/extern-macro.rs
@@ -10,8 +10,6 @@
 
 // #41719
 
-#![feature(use_extern_macros)]
-
 fn main() {
     enum Foo {}
     let _ = Foo::bar!(); //~ ERROR fail to resolve non-ident macro path
diff --git a/src/test/ui/extern/extern-macro.stderr b/src/test/ui/extern/extern-macro.stderr
index 8918ac3143b..b5515bfcc64 100644
--- a/src/test/ui/extern/extern-macro.stderr
+++ b/src/test/ui/extern/extern-macro.stderr
@@ -1,5 +1,5 @@
 error: fail to resolve non-ident macro path
-  --> $DIR/extern-macro.rs:17:13
+  --> $DIR/extern-macro.rs:15:13
    |
 LL |     let _ = Foo::bar!(); //~ ERROR fail to resolve non-ident macro path
    |             ^^^^^^^^
diff --git a/src/test/ui/feature-gates/feature-gate-tool_attributes.rs b/src/test/ui/feature-gates/feature-gate-tool_attributes.rs
index 47c623574ec..5aa1670b828 100644
--- a/src/test/ui/feature-gates/feature-gate-tool_attributes.rs
+++ b/src/test/ui/feature-gates/feature-gate-tool_attributes.rs
@@ -8,8 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-#![feature(use_extern_macros)]
-
 fn main() {
     #[rustfmt::skip] //~ ERROR tool attributes are unstable
     let x = 3
diff --git a/src/test/ui/feature-gates/feature-gate-tool_attributes.stderr b/src/test/ui/feature-gates/feature-gate-tool_attributes.stderr
index ebc266e004e..ca9542dcc95 100644
--- a/src/test/ui/feature-gates/feature-gate-tool_attributes.stderr
+++ b/src/test/ui/feature-gates/feature-gate-tool_attributes.stderr
@@ -1,5 +1,5 @@
 error[E0658]: tool attributes are unstable (see issue #44690)
-  --> $DIR/feature-gate-tool_attributes.rs:14:5
+  --> $DIR/feature-gate-tool_attributes.rs:12:5
    |
 LL |     #[rustfmt::skip] //~ ERROR tool attributes are unstable
    |     ^^^^^^^^^^^^^^^^
diff --git a/src/test/ui/hygiene/local_inner_macros.rs b/src/test/ui/hygiene/local_inner_macros.rs
index 787e2df3ec2..92e10c190aa 100644
--- a/src/test/ui/hygiene/local_inner_macros.rs
+++ b/src/test/ui/hygiene/local_inner_macros.rs
@@ -11,8 +11,6 @@
 // compile-pass
 // aux-build:local_inner_macros.rs
 
-#![feature(use_extern_macros)]
-
 extern crate local_inner_macros;
 
 use local_inner_macros::{public_macro, public_macro_dynamic};
diff --git a/src/test/ui/hygiene/local_inner_macros_disabled.rs b/src/test/ui/hygiene/local_inner_macros_disabled.rs
deleted file mode 100644
index 0a4bdb74807..00000000000
--- a/src/test/ui/hygiene/local_inner_macros_disabled.rs
+++ /dev/null
@@ -1,20 +0,0 @@
-// Copyright 2018 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-// `local_inner_macros` has no effect if `feature(use_extern_macros)` is not enabled
-
-// aux-build:local_inner_macros.rs
-
-#[macro_use(public_macro)]
-extern crate local_inner_macros;
-
-public_macro!(); //~ ERROR cannot find macro `helper2!` in this scope
-
-fn main() {}
diff --git a/src/test/ui/hygiene/local_inner_macros_disabled.stderr b/src/test/ui/hygiene/local_inner_macros_disabled.stderr
deleted file mode 100644
index 3dcd03b6f42..00000000000
--- a/src/test/ui/hygiene/local_inner_macros_disabled.stderr
+++ /dev/null
@@ -1,10 +0,0 @@
-error: cannot find macro `helper2!` in this scope
-  --> $DIR/local_inner_macros_disabled.rs:18:1
-   |
-LL | public_macro!(); //~ ERROR cannot find macro `helper2!` in this scope
-   | ^^^^^^^^^^^^^^^^
-   |
-   = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info)
-
-error: aborting due to previous error
-
diff --git a/src/test/ui/imports/local-modularized-tricky-fail-3.rs b/src/test/ui/imports/local-modularized-tricky-fail-3.rs
index ab1f312e161..6691d98c2b7 100644
--- a/src/test/ui/imports/local-modularized-tricky-fail-3.rs
+++ b/src/test/ui/imports/local-modularized-tricky-fail-3.rs
@@ -10,8 +10,6 @@
 
 // Crate-local macro expanded `macro_export` macros cannot be accessed with module-relative paths.
 
-#![feature(use_extern_macros)]
-
 macro_rules! define_exported { () => {
     #[macro_export]
     macro_rules! exported {
diff --git a/src/test/ui/imports/local-modularized-tricky-fail-3.stderr b/src/test/ui/imports/local-modularized-tricky-fail-3.stderr
index 6da52842d83..34c50e04288 100644
--- a/src/test/ui/imports/local-modularized-tricky-fail-3.stderr
+++ b/src/test/ui/imports/local-modularized-tricky-fail-3.stderr
@@ -1,11 +1,11 @@
 error: macro-expanded `macro_export` macros from the current crate cannot be referred to by absolute paths
-  --> $DIR/local-modularized-tricky-fail-3.rs:25:9
+  --> $DIR/local-modularized-tricky-fail-3.rs:23:9
    |
 LL |     use exported;
    |         ^^^^^^^^
    |
 note: the macro is defined here
-  --> $DIR/local-modularized-tricky-fail-3.rs:17:5
+  --> $DIR/local-modularized-tricky-fail-3.rs:15:5
    |
 LL | /     macro_rules! exported {
 LL | |         () => ()
@@ -16,13 +16,13 @@ LL |   define_exported!();
    |   ------------------- in this macro invocation
 
 error: macro-expanded `macro_export` macros from the current crate cannot be referred to by absolute paths
-  --> $DIR/local-modularized-tricky-fail-3.rs:30:5
+  --> $DIR/local-modularized-tricky-fail-3.rs:28:5
    |
 LL |     ::exported!();
    |     ^^^^^^^^^^
    |
 note: the macro is defined here
-  --> $DIR/local-modularized-tricky-fail-3.rs:17:5
+  --> $DIR/local-modularized-tricky-fail-3.rs:15:5
    |
 LL | /     macro_rules! exported {
 LL | |         () => ()
diff --git a/src/test/ui/imports/local-modularized-tricky-pass.rs b/src/test/ui/imports/local-modularized-tricky-pass.rs
index 04df357e106..9392473eace 100644
--- a/src/test/ui/imports/local-modularized-tricky-pass.rs
+++ b/src/test/ui/imports/local-modularized-tricky-pass.rs
@@ -10,8 +10,6 @@
 
 // compile-pass
 
-#![feature(use_extern_macros)]
-
 macro_rules! define_exported { () => {
     #[macro_export]
     macro_rules! exported {
diff --git a/src/test/ui/imports/local-modularized.rs b/src/test/ui/imports/local-modularized.rs
index a5297c54c9e..260a406ef75 100644
--- a/src/test/ui/imports/local-modularized.rs
+++ b/src/test/ui/imports/local-modularized.rs
@@ -10,8 +10,6 @@
 
 // compile-pass
 
-#![feature(use_extern_macros)]
-
 #[macro_export(local_inner_macros)]
 macro_rules! dollar_crate_exported {
     (1) => { $crate::exported!(); };
diff --git a/src/test/ui/imports/macro-paths.rs b/src/test/ui/imports/macro-paths.rs
index e709eeee14a..50cfd2d2170 100644
--- a/src/test/ui/imports/macro-paths.rs
+++ b/src/test/ui/imports/macro-paths.rs
@@ -10,8 +10,6 @@
 
 // aux-build:two_macros.rs
 
-#![feature(use_extern_macros)]
-
 extern crate two_macros;
 
 mod foo {
diff --git a/src/test/ui/imports/macro-paths.stderr b/src/test/ui/imports/macro-paths.stderr
index 799e7f97246..08f45e1a575 100644
--- a/src/test/ui/imports/macro-paths.stderr
+++ b/src/test/ui/imports/macro-paths.stderr
@@ -1,34 +1,34 @@
 error[E0659]: `bar` is ambiguous
-  --> $DIR/macro-paths.rs:25:5
+  --> $DIR/macro-paths.rs:23:5
    |
 LL |     bar::m! { //~ ERROR ambiguous
    |     ^^^^^^
    |
 note: `bar` could refer to the name defined here
-  --> $DIR/macro-paths.rs:26:9
+  --> $DIR/macro-paths.rs:24:9
    |
 LL |         mod bar { pub use two_macros::m; }
    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 note: `bar` could also refer to the name imported here
-  --> $DIR/macro-paths.rs:24:9
+  --> $DIR/macro-paths.rs:22:9
    |
 LL |     use foo::*;
    |         ^^^^^^
    = note: macro-expanded items do not shadow when used in a macro invocation path
 
 error[E0659]: `baz` is ambiguous
-  --> $DIR/macro-paths.rs:35:5
+  --> $DIR/macro-paths.rs:33:5
    |
 LL |     baz::m! { //~ ERROR ambiguous
    |     ^^^^^^
    |
 note: `baz` could refer to the name defined here
-  --> $DIR/macro-paths.rs:36:9
+  --> $DIR/macro-paths.rs:34:9
    |
 LL |         mod baz { pub use two_macros::m; }
    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 note: `baz` could also refer to the name defined here
-  --> $DIR/macro-paths.rs:30:1
+  --> $DIR/macro-paths.rs:28:1
    |
 LL | / pub mod baz {
 LL | |     pub use two_macros::m;
diff --git a/src/test/ui/imports/macros.rs b/src/test/ui/imports/macros.rs
index ed5907800e9..47ab8fc6c2f 100644
--- a/src/test/ui/imports/macros.rs
+++ b/src/test/ui/imports/macros.rs
@@ -10,8 +10,6 @@
 
 // aux-build:two_macros.rs
 
-#![feature(use_extern_macros)]
-
 extern crate two_macros; // two identity macros `m` and `n`
 
 mod foo {
diff --git a/src/test/ui/imports/macros.stderr b/src/test/ui/imports/macros.stderr
index f91987cd9f3..01d1f4fdfad 100644
--- a/src/test/ui/imports/macros.stderr
+++ b/src/test/ui/imports/macros.stderr
@@ -1,51 +1,51 @@
 error: `m` is ambiguous
-  --> $DIR/macros.rs:50:5
+  --> $DIR/macros.rs:48:5
    |
 LL |     m!(); //~ ERROR ambiguous
    |     ^
    |
 note: `m` could refer to the macro defined here
-  --> $DIR/macros.rs:48:5
+  --> $DIR/macros.rs:46:5
    |
 LL |     macro_rules! m { () => {} }
    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
 note: `m` could also refer to the macro imported here
-  --> $DIR/macros.rs:49:9
+  --> $DIR/macros.rs:47:9
    |
 LL |     use two_macros::m;
    |         ^^^^^^^^^^^^^
 
 error[E0659]: `m` is ambiguous
-  --> $DIR/macros.rs:28:5
+  --> $DIR/macros.rs:26:5
    |
 LL |     m! { //~ ERROR ambiguous
    |     ^
    |
 note: `m` could refer to the name imported here
-  --> $DIR/macros.rs:29:13
+  --> $DIR/macros.rs:27:13
    |
 LL |         use foo::m;
    |             ^^^^^^
 note: `m` could also refer to the name imported here
-  --> $DIR/macros.rs:27:9
+  --> $DIR/macros.rs:25:9
    |
 LL |     use two_macros::*;
    |         ^^^^^^^^^^^^^
    = note: macro-expanded macro imports do not shadow
 
 error[E0659]: `m` is ambiguous
-  --> $DIR/macros.rs:41:9
+  --> $DIR/macros.rs:39:9
    |
 LL |         m! { //~ ERROR ambiguous
    |         ^
    |
 note: `m` could refer to the name imported here
-  --> $DIR/macros.rs:42:17
+  --> $DIR/macros.rs:40:17
    |
 LL |             use two_macros::n as m;
    |                 ^^^^^^^^^^^^^^^^^^
 note: `m` could also refer to the name imported here
-  --> $DIR/macros.rs:34:9
+  --> $DIR/macros.rs:32:9
    |
 LL |     use two_macros::m;
    |         ^^^^^^^^^^^^^
diff --git a/src/test/ui/imports/shadow_builtin_macros.rs b/src/test/ui/imports/shadow_builtin_macros.rs
index 93de136c405..90718abc37b 100644
--- a/src/test/ui/imports/shadow_builtin_macros.rs
+++ b/src/test/ui/imports/shadow_builtin_macros.rs
@@ -10,8 +10,6 @@
 
 // aux-build:two_macros.rs
 
-#![feature(use_extern_macros)]
-
 mod foo {
     extern crate two_macros;
     pub use self::two_macros::m as panic;
diff --git a/src/test/ui/imports/shadow_builtin_macros.stderr b/src/test/ui/imports/shadow_builtin_macros.stderr
index c9d80ada472..693b7aadeca 100644
--- a/src/test/ui/imports/shadow_builtin_macros.stderr
+++ b/src/test/ui/imports/shadow_builtin_macros.stderr
@@ -1,5 +1,5 @@
 error: `panic` is already in scope
-  --> $DIR/shadow_builtin_macros.rs:42:9
+  --> $DIR/shadow_builtin_macros.rs:40:9
    |
 LL |         macro_rules! panic { () => {} } //~ ERROR `panic` is already in scope
    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
@@ -10,13 +10,13 @@ LL |     m!();
    = note: macro-expanded `macro_rules!`s may not shadow existing macros (see RFC 1560)
 
 error[E0659]: `panic` is ambiguous
-  --> $DIR/shadow_builtin_macros.rs:27:14
+  --> $DIR/shadow_builtin_macros.rs:25:14
    |
 LL |     fn f() { panic!(); } //~ ERROR ambiguous
    |              ^^^^^
    |
 note: `panic` could refer to the name imported here
-  --> $DIR/shadow_builtin_macros.rs:26:9
+  --> $DIR/shadow_builtin_macros.rs:24:9
    |
 LL |     use foo::*;
    |         ^^^^^^
@@ -24,13 +24,13 @@ LL |     use foo::*;
    = note: consider adding an explicit import of `panic` to disambiguate
 
 error[E0659]: `panic` is ambiguous
-  --> $DIR/shadow_builtin_macros.rs:32:14
+  --> $DIR/shadow_builtin_macros.rs:30:14
    |
 LL |     fn f() { panic!(); } //~ ERROR ambiguous
    |              ^^^^^
    |
 note: `panic` could refer to the name imported here
-  --> $DIR/shadow_builtin_macros.rs:31:26
+  --> $DIR/shadow_builtin_macros.rs:29:26
    |
 LL |     ::two_macros::m!(use foo::panic;);
    |                          ^^^^^^^^^^
@@ -38,18 +38,18 @@ LL |     ::two_macros::m!(use foo::panic;);
    = note: macro-expanded macro imports do not shadow
 
 error[E0659]: `n` is ambiguous
-  --> $DIR/shadow_builtin_macros.rs:61:5
+  --> $DIR/shadow_builtin_macros.rs:59:5
    |
 LL |     n!(); //~ ERROR ambiguous
    |     ^
    |
 note: `n` could refer to the name imported here
-  --> $DIR/shadow_builtin_macros.rs:60:9
+  --> $DIR/shadow_builtin_macros.rs:58:9
    |
 LL |     use bar::*;
    |         ^^^^^^
 note: `n` could also refer to the name imported here
-  --> $DIR/shadow_builtin_macros.rs:48:13
+  --> $DIR/shadow_builtin_macros.rs:46:13
    |
 LL | #[macro_use(n)]
    |             ^
diff --git a/src/test/ui/issues/issue-49074.rs b/src/test/ui/issues/issue-49074.rs
index 2e7e1184410..d255fac5427 100644
--- a/src/test/ui/issues/issue-49074.rs
+++ b/src/test/ui/issues/issue-49074.rs
@@ -20,5 +20,4 @@ mod foo {
 
 fn main() {
    bar!();
-   //~^ ERROR cannot find macro `bar!`
 }
diff --git a/src/test/ui/issues/issue-49074.stderr b/src/test/ui/issues/issue-49074.stderr
index c9984ea2e9a..888222b69cc 100644
--- a/src/test/ui/issues/issue-49074.stderr
+++ b/src/test/ui/issues/issue-49074.stderr
@@ -1,11 +1,3 @@
-error: cannot find macro `bar!` in this scope
-  --> $DIR/issue-49074.rs:22:4
-   |
-LL |    bar!();
-   |    ^^^
-   |
-   = help: have you added the `#[macro_use]` on the module/import?
-
 error[E0658]: The attribute `marco_use` is currently unknown to the compiler and may have meaning added to it in the future (see issue #29642)
   --> $DIR/issue-49074.rs:13:1
    |
@@ -14,6 +6,6 @@ LL | #[marco_use] // typo
    |
    = help: add #![feature(custom_attribute)] to the crate attributes to enable
 
-error: aborting due to 2 previous errors
+error: aborting due to previous error
 
 For more information about this error, try `rustc --explain E0658`.
diff --git a/src/test/ui/macros/macro-path-prelude-fail-1.rs b/src/test/ui/macros/macro-path-prelude-fail-1.rs
index b953805a7eb..e1181eb741b 100644
--- a/src/test/ui/macros/macro-path-prelude-fail-1.rs
+++ b/src/test/ui/macros/macro-path-prelude-fail-1.rs
@@ -8,7 +8,7 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-#![feature(use_extern_macros, extern_prelude)]
+#![feature(extern_prelude)]
 
 mod m {
     fn check() {
diff --git a/src/test/ui/macros/macro-path-prelude-fail-2.rs b/src/test/ui/macros/macro-path-prelude-fail-2.rs
index ec77e276bd4..82258dac37b 100644
--- a/src/test/ui/macros/macro-path-prelude-fail-2.rs
+++ b/src/test/ui/macros/macro-path-prelude-fail-2.rs
@@ -8,8 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-#![feature(use_extern_macros)]
-
 mod m {
     fn check() {
         Result::Ok!(); //~ ERROR fail to resolve non-ident macro path
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 d23aed847a3..876ee2584e9 100644
--- a/src/test/ui/macros/macro-path-prelude-fail-2.stderr
+++ b/src/test/ui/macros/macro-path-prelude-fail-2.stderr
@@ -1,5 +1,5 @@
 error: fail to resolve non-ident macro path
-  --> $DIR/macro-path-prelude-fail-2.rs:15:9
+  --> $DIR/macro-path-prelude-fail-2.rs:13:9
    |
 LL |         Result::Ok!(); //~ ERROR fail to resolve non-ident macro path
    |         ^^^^^^^^^^
diff --git a/src/test/ui/macros/macro-path-prelude-fail-3.rs b/src/test/ui/macros/macro-path-prelude-fail-3.rs
index d325b046001..c706b8f613d 100644
--- a/src/test/ui/macros/macro-path-prelude-fail-3.rs
+++ b/src/test/ui/macros/macro-path-prelude-fail-3.rs
@@ -8,8 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-#![feature(use_extern_macros)]
-
 #[derive(inline)] //~ ERROR cannot find derive macro `inline` in this scope
 struct S;
 
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 c9af4b66427..a8edf54d220 100644
--- a/src/test/ui/macros/macro-path-prelude-fail-3.stderr
+++ b/src/test/ui/macros/macro-path-prelude-fail-3.stderr
@@ -1,11 +1,11 @@
 error: cannot find derive macro `inline` in this scope
-  --> $DIR/macro-path-prelude-fail-3.rs:13:10
+  --> $DIR/macro-path-prelude-fail-3.rs:11:10
    |
 LL | #[derive(inline)] //~ ERROR cannot find derive macro `inline` in this scope
    |          ^^^^^^
 
 error: cannot find macro `inline!` in this scope
-  --> $DIR/macro-path-prelude-fail-3.rs:17:5
+  --> $DIR/macro-path-prelude-fail-3.rs:15:5
    |
 LL |     inline!(); //~ ERROR cannot find macro `inline!` in this scope
    |     ^^^^^^ help: you could try the macro: `line`
diff --git a/src/test/ui/macros/macro-path-prelude-pass.rs b/src/test/ui/macros/macro-path-prelude-pass.rs
index bc58754513b..1f281d4a686 100644
--- a/src/test/ui/macros/macro-path-prelude-pass.rs
+++ b/src/test/ui/macros/macro-path-prelude-pass.rs
@@ -10,7 +10,7 @@
 
 // compile-pass
 
-#![feature(use_extern_macros, extern_prelude)]
+#![feature(extern_prelude)]
 
 mod m {
     fn check() {
diff --git a/src/test/ui/macros/macro-reexport-removed.stderr b/src/test/ui/macros/macro-reexport-removed.stderr
index ba0ab232e86..c93c7144f9e 100644
--- a/src/test/ui/macros/macro-reexport-removed.stderr
+++ b/src/test/ui/macros/macro-reexport-removed.stderr
@@ -4,7 +4,7 @@ error[E0557]: feature has been removed
 LL | #![feature(macro_reexport)] //~ ERROR feature has been removed
    |            ^^^^^^^^^^^^^^
    |
-note: subsumed by `#![feature(use_extern_macros)]` and `pub use`
+note: subsumed by `pub use`
   --> $DIR/macro-reexport-removed.rs:13:12
    |
 LL | #![feature(macro_reexport)] //~ ERROR feature has been removed
diff --git a/src/test/ui/macros/macro-with-seps-err-msg.rs b/src/test/ui/macros/macro-with-seps-err-msg.rs
deleted file mode 100644
index 1281adce5c5..00000000000
--- a/src/test/ui/macros/macro-with-seps-err-msg.rs
+++ /dev/null
@@ -1,15 +0,0 @@
-// Copyright 2012 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-// gate-test-use_extern_macros
-
-fn main() {
-    globnar::brotz!(); //~ ERROR non-ident macro paths are experimental
-}
diff --git a/src/test/ui/macros/macro-with-seps-err-msg.stderr b/src/test/ui/macros/macro-with-seps-err-msg.stderr
deleted file mode 100644
index 0b6d186b236..00000000000
--- a/src/test/ui/macros/macro-with-seps-err-msg.stderr
+++ /dev/null
@@ -1,11 +0,0 @@
-error[E0658]: non-ident macro paths are experimental (see issue #35896)
-  --> $DIR/macro-with-seps-err-msg.rs:14:5
-   |
-LL |     globnar::brotz!(); //~ ERROR non-ident macro paths are experimental
-   |     ^^^^^^^^^^^^^^
-   |
-   = help: add #![feature(use_extern_macros)] to the crate attributes to enable
-
-error: aborting due to previous error
-
-For more information about this error, try `rustc --explain E0658`.
diff --git a/src/test/ui/macros/macro_undefined.rs b/src/test/ui/macros/macro_undefined.rs
index c0acbc979ad..4a812739a6b 100644
--- a/src/test/ui/macros/macro_undefined.rs
+++ b/src/test/ui/macros/macro_undefined.rs
@@ -19,5 +19,5 @@ mod m {
 
 fn main() {
     k!(); //~ ERROR cannot find
-    kl!(); //~ ERROR cannot find
+    kl!();
 }
diff --git a/src/test/ui/macros/macro_undefined.stderr b/src/test/ui/macros/macro_undefined.stderr
index 8d44df8af0c..87b039f4834 100644
--- a/src/test/ui/macros/macro_undefined.stderr
+++ b/src/test/ui/macros/macro_undefined.stderr
@@ -1,16 +1,8 @@
-error: cannot find macro `kl!` in this scope
-  --> $DIR/macro_undefined.rs:22:5
-   |
-LL |     kl!(); //~ ERROR cannot find
-   |     ^^
-   |
-   = help: have you added the `#[macro_use]` on the module/import?
-
 error: cannot find macro `k!` in this scope
   --> $DIR/macro_undefined.rs:21:5
    |
 LL |     k!(); //~ ERROR cannot find
    |     ^ help: you could try the macro: `kl`
 
-error: aborting due to 2 previous errors
+error: aborting due to previous error
 
diff --git a/src/test/ui/macros/macros-nonfatal-errors.rs b/src/test/ui/macros/macros-nonfatal-errors.rs
index 2815e1be709..ce2dfb906c5 100644
--- a/src/test/ui/macros/macros-nonfatal-errors.rs
+++ b/src/test/ui/macros/macros-nonfatal-errors.rs
@@ -30,8 +30,6 @@ fn main() {
     env!(foo, abr, baz); //~ ERROR
     env!("RUST_HOPEFULLY_THIS_DOESNT_EXIST"); //~ ERROR
 
-    foo::blah!(); //~ ERROR
-
     format!(invalid); //~ ERROR
 
     include!(invalid); //~ ERROR
diff --git a/src/test/ui/macros/macros-nonfatal-errors.stderr b/src/test/ui/macros/macros-nonfatal-errors.stderr
index 084042acc97..81e250d5ea0 100644
--- a/src/test/ui/macros/macros-nonfatal-errors.stderr
+++ b/src/test/ui/macros/macros-nonfatal-errors.stderr
@@ -40,16 +40,8 @@ error: environment variable `RUST_HOPEFULLY_THIS_DOESNT_EXIST` not defined
 LL |     env!("RUST_HOPEFULLY_THIS_DOESNT_EXIST"); //~ ERROR
    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 
-error[E0658]: non-ident macro paths are experimental (see issue #35896)
-  --> $DIR/macros-nonfatal-errors.rs:33:5
-   |
-LL |     foo::blah!(); //~ ERROR
-   |     ^^^^^^^^^
-   |
-   = help: add #![feature(use_extern_macros)] to the crate attributes to enable
-
 error: format argument must be a string literal
-  --> $DIR/macros-nonfatal-errors.rs:35:13
+  --> $DIR/macros-nonfatal-errors.rs:33:13
    |
 LL |     format!(invalid); //~ ERROR
    |             ^^^^^^^
@@ -59,42 +51,41 @@ LL |     format!("{}", invalid); //~ ERROR
    |             ^^^^^
 
 error: argument must be a string literal
-  --> $DIR/macros-nonfatal-errors.rs:37:14
+  --> $DIR/macros-nonfatal-errors.rs:35:14
    |
 LL |     include!(invalid); //~ ERROR
    |              ^^^^^^^
 
 error: argument must be a string literal
-  --> $DIR/macros-nonfatal-errors.rs:39:18
+  --> $DIR/macros-nonfatal-errors.rs:37:18
    |
 LL |     include_str!(invalid); //~ ERROR
    |                  ^^^^^^^
 
 error: couldn't read $DIR/i'd be quite surprised if a file with this name existed: No such file or directory (os error 2)
-  --> $DIR/macros-nonfatal-errors.rs:40:5
+  --> $DIR/macros-nonfatal-errors.rs:38:5
    |
 LL |     include_str!("i'd be quite surprised if a file with this name existed"); //~ ERROR
    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 
 error: argument must be a string literal
-  --> $DIR/macros-nonfatal-errors.rs:41:20
+  --> $DIR/macros-nonfatal-errors.rs:39:20
    |
 LL |     include_bytes!(invalid); //~ ERROR
    |                    ^^^^^^^
 
 error: couldn't read $DIR/i'd be quite surprised if a file with this name existed: No such file or directory (os error 2)
-  --> $DIR/macros-nonfatal-errors.rs:42:5
+  --> $DIR/macros-nonfatal-errors.rs:40:5
    |
 LL |     include_bytes!("i'd be quite surprised if a file with this name existed"); //~ ERROR
    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 
 error: trace_macros! accepts only `true` or `false`
-  --> $DIR/macros-nonfatal-errors.rs:44:5
+  --> $DIR/macros-nonfatal-errors.rs:42:5
    |
 LL |     trace_macros!(invalid); //~ ERROR
    |     ^^^^^^^^^^^^^^^^^^^^^^^
 
-error: aborting due to 15 previous errors
+error: aborting due to 14 previous errors
 
-Some errors occurred: E0658, E0665.
-For more information about an error, try `rustc --explain E0658`.
+For more information about this error, try `rustc --explain E0665`.
diff --git a/src/test/ui/no-link.rs b/src/test/ui/no-link.rs
index f74ff55e2c0..36efb67cf80 100644
--- a/src/test/ui/no-link.rs
+++ b/src/test/ui/no-link.rs
@@ -12,7 +12,6 @@
 
 #[no_link]
 extern crate empty_struct;
-//~^ WARN proc macro crates and `#[no_link]` crates have no effect without `#[macro_use]`
 
 fn main() {
     empty_struct::XEmpty1; //~ ERROR cannot find value `XEmpty1` in module `empty_struct`
diff --git a/src/test/ui/no-link.stderr b/src/test/ui/no-link.stderr
index 3af7968f640..3f159ddfbd1 100644
--- a/src/test/ui/no-link.stderr
+++ b/src/test/ui/no-link.stderr
@@ -1,11 +1,5 @@
-warning: proc macro crates and `#[no_link]` crates have no effect without `#[macro_use]`
-  --> $DIR/no-link.rs:14:1
-   |
-LL | extern crate empty_struct;
-   | ^^^^^^^^^^^^^^^^^^^^^^^^^^
-
 error[E0425]: cannot find value `XEmpty1` in module `empty_struct`
-  --> $DIR/no-link.rs:18:19
+  --> $DIR/no-link.rs:17:19
    |
 LL |     empty_struct::XEmpty1; //~ ERROR cannot find value `XEmpty1` in module `empty_struct`
    |                   ^^^^^^^ not found in `empty_struct`
diff --git a/src/test/ui/object-lifetime/object-lifetime-default.stderr b/src/test/ui/object-lifetime/object-lifetime-default.stderr
index 567ab72e56a..7e334a0e8e6 100644
--- a/src/test/ui/object-lifetime/object-lifetime-default.stderr
+++ b/src/test/ui/object-lifetime/object-lifetime-default.stderr
@@ -1,20 +1,20 @@
-error: BaseDefault
-  --> $DIR/object-lifetime-default.rs:16:1
+error: 'a,Ambiguous
+  --> $DIR/object-lifetime-default.rs:34:1
    |
-LL | struct A<T>(T); //~ ERROR BaseDefault
-   | ^^^^^^^^^^^^^^^
+LL | struct G<'a,'b,T:'a,U:'a+'b>(&'a T, &'b U); //~ ERROR 'a,Ambiguous
+   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 
-error: BaseDefault
-  --> $DIR/object-lifetime-default.rs:19:1
+error: 'a,'b
+  --> $DIR/object-lifetime-default.rs:31:1
    |
-LL | struct B<'a,T>(&'a (), T); //~ ERROR BaseDefault
-   | ^^^^^^^^^^^^^^^^^^^^^^^^^^
+LL | struct F<'a,'b,T:'a,U:'b>(&'a T, &'b U); //~ ERROR 'a,'b
+   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 
-error: 'a
-  --> $DIR/object-lifetime-default.rs:22:1
+error: 'b
+  --> $DIR/object-lifetime-default.rs:28:1
    |
-LL | struct C<'a,T:'a>(&'a T); //~ ERROR 'a
-   | ^^^^^^^^^^^^^^^^^^^^^^^^^
+LL | struct E<'a,'b:'a,T:'b>(&'a T, &'b T); //~ ERROR 'b
+   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 
 error: Ambiguous
   --> $DIR/object-lifetime-default.rs:25:1
@@ -22,23 +22,23 @@ error: Ambiguous
 LL | struct D<'a,'b,T:'a+'b>(&'a T, &'b T); //~ ERROR Ambiguous
    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 
-error: 'b
-  --> $DIR/object-lifetime-default.rs:28:1
+error: 'a
+  --> $DIR/object-lifetime-default.rs:22:1
    |
-LL | struct E<'a,'b:'a,T:'b>(&'a T, &'b T); //~ ERROR 'b
-   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+LL | struct C<'a,T:'a>(&'a T); //~ ERROR 'a
+   | ^^^^^^^^^^^^^^^^^^^^^^^^^
 
-error: 'a,'b
-  --> $DIR/object-lifetime-default.rs:31:1
+error: BaseDefault
+  --> $DIR/object-lifetime-default.rs:19:1
    |
-LL | struct F<'a,'b,T:'a,U:'b>(&'a T, &'b U); //~ ERROR 'a,'b
-   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+LL | struct B<'a,T>(&'a (), T); //~ ERROR BaseDefault
+   | ^^^^^^^^^^^^^^^^^^^^^^^^^^
 
-error: 'a,Ambiguous
-  --> $DIR/object-lifetime-default.rs:34:1
+error: BaseDefault
+  --> $DIR/object-lifetime-default.rs:16:1
    |
-LL | struct G<'a,'b,T:'a,U:'a+'b>(&'a T, &'b U); //~ ERROR 'a,Ambiguous
-   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+LL | struct A<T>(T); //~ ERROR BaseDefault
+   | ^^^^^^^^^^^^^^^
 
 error: aborting due to 7 previous errors
 
diff --git a/src/test/ui/rust-2018/macro-use-warned-against.rs b/src/test/ui/rust-2018/macro-use-warned-against.rs
index f50419434ae..ce4c6960281 100644
--- a/src/test/ui/rust-2018/macro-use-warned-against.rs
+++ b/src/test/ui/rust-2018/macro-use-warned-against.rs
@@ -13,7 +13,6 @@
 // compile-pass
 
 #![warn(macro_use_extern_crate, unused)]
-#![feature(use_extern_macros)]
 
 #[macro_use] //~ WARN should be replaced at use sites with a `use` statement
 extern crate macro_use_warned_against;
diff --git a/src/test/ui/rust-2018/macro-use-warned-against.stderr b/src/test/ui/rust-2018/macro-use-warned-against.stderr
index 7af404fab79..da69daf6ba8 100644
--- a/src/test/ui/rust-2018/macro-use-warned-against.stderr
+++ b/src/test/ui/rust-2018/macro-use-warned-against.stderr
@@ -1,5 +1,5 @@
 warning: deprecated `#[macro_use]` directive used to import macros should be replaced at use sites with a `use` statement to import the macro instead
-  --> $DIR/macro-use-warned-against.rs:18:1
+  --> $DIR/macro-use-warned-against.rs:17:1
    |
 LL | #[macro_use] //~ WARN should be replaced at use sites with a `use` statement
    | ^^^^^^^^^^^^
@@ -11,7 +11,7 @@ LL | #![warn(macro_use_extern_crate, unused)]
    |         ^^^^^^^^^^^^^^^^^^^^^^
 
 warning: unused `#[macro_use]` import
-  --> $DIR/macro-use-warned-against.rs:20:1
+  --> $DIR/macro-use-warned-against.rs:19:1
    |
 LL | #[macro_use] //~ WARN unused `#[macro_use]`
    | ^^^^^^^^^^^^
diff --git a/src/test/ui/tool-attributes/tool-attributes-disabled-1.rs b/src/test/ui/tool-attributes/tool-attributes-disabled-1.rs
deleted file mode 100644
index 87d47b75607..00000000000
--- a/src/test/ui/tool-attributes/tool-attributes-disabled-1.rs
+++ /dev/null
@@ -1,15 +0,0 @@
-// Copyright 2018 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-// If macro modularization (`use_extern_macros`) is not enabled,
-// then tool attributes are treated as custom attributes.
-
-#[rustfmt::bar] //~ ERROR The attribute `rustfmt::bar` is currently unknown to the compiler
-fn main() {}
diff --git a/src/test/ui/tool-attributes/tool-attributes-disabled-1.stderr b/src/test/ui/tool-attributes/tool-attributes-disabled-1.stderr
deleted file mode 100644
index 6302c06057a..00000000000
--- a/src/test/ui/tool-attributes/tool-attributes-disabled-1.stderr
+++ /dev/null
@@ -1,11 +0,0 @@
-error[E0658]: The attribute `rustfmt::bar` is currently unknown to the compiler and may have meaning added to it in the future (see issue #29642)
-  --> $DIR/tool-attributes-disabled-1.rs:14:1
-   |
-LL | #[rustfmt::bar] //~ ERROR The attribute `rustfmt::bar` is currently unknown to the compiler
-   | ^^^^^^^^^^^^^^^
-   |
-   = help: add #![feature(custom_attribute)] to the crate attributes to enable
-
-error: aborting due to previous error
-
-For more information about this error, try `rustc --explain E0658`.
diff --git a/src/test/ui/tool-attributes/tool-attributes-disabled-2.rs b/src/test/ui/tool-attributes/tool-attributes-disabled-2.rs
deleted file mode 100644
index 2d97e160f49..00000000000
--- a/src/test/ui/tool-attributes/tool-attributes-disabled-2.rs
+++ /dev/null
@@ -1,15 +0,0 @@
-// Copyright 2018 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-// If macro modularization (`use_extern_macros`) is not enabled,
-// then tool attributes are treated as custom attributes.
-
-#[rustfmt::bar] //~ ERROR attribute `rustfmt::bar` is currently unknown to the compiler
-fn main() {}
diff --git a/src/test/ui/tool-attributes/tool-attributes-disabled-2.stderr b/src/test/ui/tool-attributes/tool-attributes-disabled-2.stderr
deleted file mode 100644
index b327773dd6a..00000000000
--- a/src/test/ui/tool-attributes/tool-attributes-disabled-2.stderr
+++ /dev/null
@@ -1,11 +0,0 @@
-error[E0658]: The attribute `rustfmt::bar` is currently unknown to the compiler and may have meaning added to it in the future (see issue #29642)
-  --> $DIR/tool-attributes-disabled-2.rs:14:1
-   |
-LL | #[rustfmt::bar] //~ ERROR attribute `rustfmt::bar` is currently unknown to the compiler
-   | ^^^^^^^^^^^^^^^
-   |
-   = help: add #![feature(custom_attribute)] to the crate attributes to enable
-
-error: aborting due to previous error
-
-For more information about this error, try `rustc --explain E0658`.