warning: `#[macro_escape]` is a deprecated synonym for `#[macro_use]`
  --> $DIR/issue-43106-gating-of-builtin-attrs.rs:400:17
   |
LL |     mod inner { #![macro_escape] }
   |                 ^^^^^^^^^^^^^^^^
   |
   = help: try an outer attribute: `#[macro_use]`

warning: `#[macro_escape]` is a deprecated synonym for `#[macro_use]`
  --> $DIR/issue-43106-gating-of-builtin-attrs.rs:397:1
   |
LL | #[macro_escape]
   | ^^^^^^^^^^^^^^^

warning: unknown lint: `x5400`
  --> $DIR/issue-43106-gating-of-builtin-attrs.rs:46:9
   |
LL | #![warn(x5400)]
   |         ^^^^^
   |
note: the lint level is defined here
  --> $DIR/issue-43106-gating-of-builtin-attrs.rs:40:28
   |
LL | #![warn(unused_attributes, unknown_lints)]
   |                            ^^^^^^^^^^^^^

warning: unknown lint: `x5300`
  --> $DIR/issue-43106-gating-of-builtin-attrs.rs:47:10
   |
LL | #![allow(x5300)]
   |          ^^^^^

warning: unknown lint: `x5200`
  --> $DIR/issue-43106-gating-of-builtin-attrs.rs:48:11
   |
LL | #![forbid(x5200)]
   |           ^^^^^

warning: unknown lint: `x5100`
  --> $DIR/issue-43106-gating-of-builtin-attrs.rs:49:9
   |
LL | #![deny(x5100)]
   |         ^^^^^

warning: use of deprecated attribute `crate_id`: no longer used
  --> $DIR/issue-43106-gating-of-builtin-attrs.rs:84:1
   |
LL | #![crate_id = "10"]
   | ^^^^^^^^^^^^^^^^^^^ help: remove this attribute
   |
   = note: `#[warn(deprecated)]` on by default

warning: use of deprecated attribute `no_start`: no longer used
  --> $DIR/issue-43106-gating-of-builtin-attrs.rs:94:1
   |
LL | #![no_start]
   | ^^^^^^^^^^^^ help: remove this attribute

warning: unknown lint: `x5400`
  --> $DIR/issue-43106-gating-of-builtin-attrs.rs:105:8
   |
LL | #[warn(x5400)]
   |        ^^^^^

warning: unknown lint: `x5400`
  --> $DIR/issue-43106-gating-of-builtin-attrs.rs:108:25
   |
LL |     mod inner { #![warn(x5400)] }
   |                         ^^^^^

warning: unknown lint: `x5400`
  --> $DIR/issue-43106-gating-of-builtin-attrs.rs:111:12
   |
LL |     #[warn(x5400)] fn f() { }
   |            ^^^^^

warning: unknown lint: `x5400`
  --> $DIR/issue-43106-gating-of-builtin-attrs.rs:114:12
   |
LL |     #[warn(x5400)] struct S;
   |            ^^^^^

warning: unknown lint: `x5400`
  --> $DIR/issue-43106-gating-of-builtin-attrs.rs:117:12
   |
LL |     #[warn(x5400)] type T = S;
   |            ^^^^^

warning: unknown lint: `x5400`
  --> $DIR/issue-43106-gating-of-builtin-attrs.rs:120:12
   |
LL |     #[warn(x5400)] impl S { }
   |            ^^^^^

warning: unknown lint: `x5300`
  --> $DIR/issue-43106-gating-of-builtin-attrs.rs:124:9
   |
LL | #[allow(x5300)]
   |         ^^^^^

warning: unknown lint: `x5300`
  --> $DIR/issue-43106-gating-of-builtin-attrs.rs:127:26
   |
LL |     mod inner { #![allow(x5300)] }
   |                          ^^^^^

warning: unknown lint: `x5300`
  --> $DIR/issue-43106-gating-of-builtin-attrs.rs:130:13
   |
LL |     #[allow(x5300)] fn f() { }
   |             ^^^^^

warning: unknown lint: `x5300`
  --> $DIR/issue-43106-gating-of-builtin-attrs.rs:133:13
   |
LL |     #[allow(x5300)] struct S;
   |             ^^^^^

warning: unknown lint: `x5300`
  --> $DIR/issue-43106-gating-of-builtin-attrs.rs:136:13
   |
LL |     #[allow(x5300)] type T = S;
   |             ^^^^^

warning: unknown lint: `x5300`
  --> $DIR/issue-43106-gating-of-builtin-attrs.rs:139:13
   |
LL |     #[allow(x5300)] impl S { }
   |             ^^^^^

warning: unknown lint: `x5200`
  --> $DIR/issue-43106-gating-of-builtin-attrs.rs:143:10
   |
LL | #[forbid(x5200)]
   |          ^^^^^

warning: unknown lint: `x5200`
  --> $DIR/issue-43106-gating-of-builtin-attrs.rs:146:27
   |
LL |     mod inner { #![forbid(x5200)] }
   |                           ^^^^^

warning: unknown lint: `x5200`
  --> $DIR/issue-43106-gating-of-builtin-attrs.rs:149:14
   |
LL |     #[forbid(x5200)] fn f() { }
   |              ^^^^^

warning: unknown lint: `x5200`
  --> $DIR/issue-43106-gating-of-builtin-attrs.rs:152:14
   |
LL |     #[forbid(x5200)] struct S;
   |              ^^^^^

warning: unknown lint: `x5200`
  --> $DIR/issue-43106-gating-of-builtin-attrs.rs:155:14
   |
LL |     #[forbid(x5200)] type T = S;
   |              ^^^^^

warning: unknown lint: `x5200`
  --> $DIR/issue-43106-gating-of-builtin-attrs.rs:158:14
   |
LL |     #[forbid(x5200)] impl S { }
   |              ^^^^^

warning: unknown lint: `x5100`
  --> $DIR/issue-43106-gating-of-builtin-attrs.rs:162:8
   |
LL | #[deny(x5100)]
   |        ^^^^^

warning: unknown lint: `x5100`
  --> $DIR/issue-43106-gating-of-builtin-attrs.rs:165:25
   |
LL |     mod inner { #![deny(x5100)] }
   |                         ^^^^^

warning: unknown lint: `x5100`
  --> $DIR/issue-43106-gating-of-builtin-attrs.rs:168:12
   |
LL |     #[deny(x5100)] fn f() { }
   |            ^^^^^

warning: unknown lint: `x5100`
  --> $DIR/issue-43106-gating-of-builtin-attrs.rs:171:12
   |
LL |     #[deny(x5100)] struct S;
   |            ^^^^^

warning: unknown lint: `x5100`
  --> $DIR/issue-43106-gating-of-builtin-attrs.rs:174:12
   |
LL |     #[deny(x5100)] type T = S;
   |            ^^^^^

warning: unknown lint: `x5100`
  --> $DIR/issue-43106-gating-of-builtin-attrs.rs:177:12
   |
LL |     #[deny(x5100)] impl S { }
   |            ^^^^^

warning: `#[macro_export]` only has an effect on macro definitions
  --> $DIR/issue-43106-gating-of-builtin-attrs.rs:198:1
   |
LL | #[macro_export]
   | ^^^^^^^^^^^^^^^
   |
note: the lint level is defined here
  --> $DIR/issue-43106-gating-of-builtin-attrs.rs:40:9
   |
LL | #![warn(unused_attributes, unknown_lints)]
   |         ^^^^^^^^^^^^^^^^^

warning: `#[automatically_derived]` only has an effect on implementation blocks
  --> $DIR/issue-43106-gating-of-builtin-attrs.rs:266:1
   |
LL | #[automatically_derived]
   | ^^^^^^^^^^^^^^^^^^^^^^^^

warning: attribute should be applied to a free function, impl method or static
  --> $DIR/issue-43106-gating-of-builtin-attrs.rs:284:1
   |
LL |   #[no_mangle]
   |   ^^^^^^^^^^^^
...
LL | / mod no_mangle {
LL | |
LL | |     mod inner { #![no_mangle] }
LL | |
...  |
LL | |     }
LL | | }
   | |_- not a free function, impl method or static
   |
   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!

warning: `#[should_panic]` only has an effect on functions
  --> $DIR/issue-43106-gating-of-builtin-attrs.rs:324:1
   |
LL | #[should_panic]
   | ^^^^^^^^^^^^^^^

warning: `#[ignore]` only has an effect on functions
  --> $DIR/issue-43106-gating-of-builtin-attrs.rs:342:1
   |
LL | #[ignore]
   | ^^^^^^^^^

warning: crate-level attribute should be an inner attribute: add an exclamation mark: `#![foo]`
  --> $DIR/issue-43106-gating-of-builtin-attrs.rs:377:1
   |
LL | #[reexport_test_harness_main = "2900"]
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

warning: crate-level attribute should be an inner attribute: add an exclamation mark: `#![foo]`
  --> $DIR/issue-43106-gating-of-builtin-attrs.rs:417:1
   |
LL | #[no_std]
   | ^^^^^^^^^

warning: attribute should be applied to a function definition
  --> $DIR/issue-43106-gating-of-builtin-attrs.rs:453:1
   |
LL |   #[cold]
   |   ^^^^^^^
...
LL | / mod cold {
LL | |
LL | |
LL | |     mod inner { #![cold] }
...  |
LL | |
LL | | }
   | |_- not a function definition
   |
   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!

warning: attribute should be applied to a foreign function or static
  --> $DIR/issue-43106-gating-of-builtin-attrs.rs:482:1
   |
LL |   #[link_name = "1900"]
   |   ^^^^^^^^^^^^^^^^^^^^^
...
LL | / mod link_name {
LL | |
LL | |
LL | |     #[link_name = "1900"]
...  |
LL | |
LL | | }
   | |_- not a foreign function or static
   |
   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!

warning: attribute should be applied to a function or static
  --> $DIR/issue-43106-gating-of-builtin-attrs.rs:521:1
   |
LL |   #[link_section = "1800"]
   |   ^^^^^^^^^^^^^^^^^^^^^^^^
...
LL | / mod link_section {
LL | |
LL | |
LL | |     mod inner { #![link_section="1800"] }
...  |
LL | |
LL | | }
   | |_- not a function or static
   |
   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!

warning: attribute should be applied to an `extern` block with non-Rust ABI
  --> $DIR/issue-43106-gating-of-builtin-attrs.rs:553:1
   |
LL |   #[link()]
   |   ^^^^^^^^^
...
LL | / mod link {
LL | |
LL | |
LL | |     mod inner { #![link()] }
...  |
LL | |
LL | | }
   | |_- not an `extern` block
   |
   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!

warning: `#[must_use]` has no effect when applied to a module
  --> $DIR/issue-43106-gating-of-builtin-attrs.rs:604:1
   |
LL | #[must_use]
   | ^^^^^^^^^^^

warning: crate-level attribute should be an inner attribute: add an exclamation mark: `#![foo]`
  --> $DIR/issue-43106-gating-of-builtin-attrs.rs:617:1
   |
LL | #[windows_subsystem = "windows"]
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

warning: crate-level attribute should be an inner attribute: add an exclamation mark: `#![foo]`
  --> $DIR/issue-43106-gating-of-builtin-attrs.rs:638:1
   |
LL | #[crate_name = "0900"]
   | ^^^^^^^^^^^^^^^^^^^^^^

warning: crate-level attribute should be an inner attribute: add an exclamation mark: `#![foo]`
  --> $DIR/issue-43106-gating-of-builtin-attrs.rs:657:1
   |
LL | #[crate_type = "0800"]
   | ^^^^^^^^^^^^^^^^^^^^^^

warning: crate-level attribute should be an inner attribute: add an exclamation mark: `#![foo]`
  --> $DIR/issue-43106-gating-of-builtin-attrs.rs:676:1
   |
LL | #[feature(x0600)]
   | ^^^^^^^^^^^^^^^^^

warning: crate-level attribute should be an inner attribute: add an exclamation mark: `#![foo]`
  --> $DIR/issue-43106-gating-of-builtin-attrs.rs:696:1
   |
LL | #[no_main]
   | ^^^^^^^^^^

warning: crate-level attribute should be an inner attribute: add an exclamation mark: `#![foo]`
  --> $DIR/issue-43106-gating-of-builtin-attrs.rs:715:1
   |
LL | #[no_builtins]
   | ^^^^^^^^^^^^^^

warning: crate-level attribute should be an inner attribute: add an exclamation mark: `#![foo]`
  --> $DIR/issue-43106-gating-of-builtin-attrs.rs:734:1
   |
LL | #[recursion_limit="0200"]
   | ^^^^^^^^^^^^^^^^^^^^^^^^^

warning: crate-level attribute should be an inner attribute: add an exclamation mark: `#![foo]`
  --> $DIR/issue-43106-gating-of-builtin-attrs.rs:753:1
   |
LL | #[type_length_limit="0100"]
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^

warning: `#[should_panic]` only has an effect on functions
  --> $DIR/issue-43106-gating-of-builtin-attrs.rs:53:1
   |
LL | #![should_panic]
   | ^^^^^^^^^^^^^^^^

warning: `#[ignore]` only has an effect on functions
  --> $DIR/issue-43106-gating-of-builtin-attrs.rs:54:1
   |
LL | #![ignore]
   | ^^^^^^^^^^

warning: `#[proc_macro_derive]` only has an effect on functions
  --> $DIR/issue-43106-gating-of-builtin-attrs.rs:60:1
   |
LL | #![proc_macro_derive()]
   | ^^^^^^^^^^^^^^^^^^^^^^^

warning: attribute should be applied to a function definition
  --> $DIR/issue-43106-gating-of-builtin-attrs.rs:62:1
   |
LL | #![cold]
   | ^^^^^^^^ cannot be applied to crates
   |
   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!

warning: attribute should be applied to an `extern` block with non-Rust ABI
  --> $DIR/issue-43106-gating-of-builtin-attrs.rs:64:1
   |
LL | #![link()]
   | ^^^^^^^^^^ not an `extern` block
   |
   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!

warning: attribute should be applied to a foreign function or static
  --> $DIR/issue-43106-gating-of-builtin-attrs.rs:66:1
   |
LL | #![link_name = "1900"]
   | ^^^^^^^^^^^^^^^^^^^^^^ not a foreign function or static
   |
   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!

warning: attribute should be applied to a function or static
  --> $DIR/issue-43106-gating-of-builtin-attrs.rs:69:1
   |
LL | #![link_section = "1800"]
   | ^^^^^^^^^^^^^^^^^^^^^^^^^ not a function or static
   |
   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!

warning: `#[must_use]` has no effect when applied to a module
  --> $DIR/issue-43106-gating-of-builtin-attrs.rs:72:1
   |
LL | #![must_use]
   | ^^^^^^^^^^^^

warning: `#[macro_use]` only has an effect on `extern crate` and modules
  --> $DIR/issue-43106-gating-of-builtin-attrs.rs:185:5
   |
LL |     #[macro_use] fn f() { }
   |     ^^^^^^^^^^^^

warning: `#[macro_use]` only has an effect on `extern crate` and modules
  --> $DIR/issue-43106-gating-of-builtin-attrs.rs:188:5
   |
LL |     #[macro_use] struct S;
   |     ^^^^^^^^^^^^

warning: `#[macro_use]` only has an effect on `extern crate` and modules
  --> $DIR/issue-43106-gating-of-builtin-attrs.rs:191:5
   |
LL |     #[macro_use] type T = S;
   |     ^^^^^^^^^^^^

warning: `#[macro_use]` only has an effect on `extern crate` and modules
  --> $DIR/issue-43106-gating-of-builtin-attrs.rs:194:5
   |
LL |     #[macro_use] impl S { }
   |     ^^^^^^^^^^^^

warning: `#[macro_export]` only has an effect on macro definitions
  --> $DIR/issue-43106-gating-of-builtin-attrs.rs:201:17
   |
LL |     mod inner { #![macro_export] }
   |                 ^^^^^^^^^^^^^^^^

warning: `#[macro_export]` only has an effect on macro definitions
  --> $DIR/issue-43106-gating-of-builtin-attrs.rs:204:5
   |
LL |     #[macro_export] fn f() { }
   |     ^^^^^^^^^^^^^^^

warning: `#[macro_export]` only has an effect on macro definitions
  --> $DIR/issue-43106-gating-of-builtin-attrs.rs:207:5
   |
LL |     #[macro_export] struct S;
   |     ^^^^^^^^^^^^^^^

warning: `#[macro_export]` only has an effect on macro definitions
  --> $DIR/issue-43106-gating-of-builtin-attrs.rs:210:5
   |
LL |     #[macro_export] type T = S;
   |     ^^^^^^^^^^^^^^^

warning: `#[macro_export]` only has an effect on macro definitions
  --> $DIR/issue-43106-gating-of-builtin-attrs.rs:213:5
   |
LL |     #[macro_export] impl S { }
   |     ^^^^^^^^^^^^^^^

warning: `#[path]` only has an effect on modules
  --> $DIR/issue-43106-gating-of-builtin-attrs.rs:253:5
   |
LL |     #[path = "3800"] fn f() { }
   |     ^^^^^^^^^^^^^^^^

warning: `#[path]` only has an effect on modules
  --> $DIR/issue-43106-gating-of-builtin-attrs.rs:256:5
   |
LL |     #[path = "3800"]  struct S;
   |     ^^^^^^^^^^^^^^^^

warning: `#[path]` only has an effect on modules
  --> $DIR/issue-43106-gating-of-builtin-attrs.rs:259:5
   |
LL |     #[path = "3800"] type T = S;
   |     ^^^^^^^^^^^^^^^^

warning: `#[path]` only has an effect on modules
  --> $DIR/issue-43106-gating-of-builtin-attrs.rs:262:5
   |
LL |     #[path = "3800"] impl S { }
   |     ^^^^^^^^^^^^^^^^

warning: `#[automatically_derived]` only has an effect on implementation blocks
  --> $DIR/issue-43106-gating-of-builtin-attrs.rs:269:17
   |
LL |     mod inner { #![automatically_derived] }
   |                 ^^^^^^^^^^^^^^^^^^^^^^^^^

warning: `#[automatically_derived]` only has an effect on implementation blocks
  --> $DIR/issue-43106-gating-of-builtin-attrs.rs:272:5
   |
LL |     #[automatically_derived] fn f() { }
   |     ^^^^^^^^^^^^^^^^^^^^^^^^

warning: `#[automatically_derived]` only has an effect on implementation blocks
  --> $DIR/issue-43106-gating-of-builtin-attrs.rs:275:5
   |
LL |     #[automatically_derived] struct S;
   |     ^^^^^^^^^^^^^^^^^^^^^^^^

warning: `#[automatically_derived]` only has an effect on implementation blocks
  --> $DIR/issue-43106-gating-of-builtin-attrs.rs:278:5
   |
LL |     #[automatically_derived] type T = S;
   |     ^^^^^^^^^^^^^^^^^^^^^^^^

warning: attribute should be applied to a free function, impl method or static
  --> $DIR/issue-43106-gating-of-builtin-attrs.rs:289:17
   |
LL |     mod inner { #![no_mangle] }
   |     ------------^^^^^^^^^^^^^-- not a free function, impl method or static
   |
   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!

warning: attribute should be applied to a free function, impl method or static
  --> $DIR/issue-43106-gating-of-builtin-attrs.rs:296:5
   |
LL |     #[no_mangle] struct S;
   |     ^^^^^^^^^^^^ --------- not a free function, impl method or static
   |
   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!

warning: attribute should be applied to a free function, impl method or static
  --> $DIR/issue-43106-gating-of-builtin-attrs.rs:301:5
   |
LL |     #[no_mangle] type T = S;
   |     ^^^^^^^^^^^^ ----------- not a free function, impl method or static
   |
   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!

warning: attribute should be applied to a free function, impl method or static
  --> $DIR/issue-43106-gating-of-builtin-attrs.rs:306:5
   |
LL |     #[no_mangle] impl S { }
   |     ^^^^^^^^^^^^ ---------- not a free function, impl method or static
   |
   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!

warning: attribute should be applied to a free function, impl method or static
  --> $DIR/issue-43106-gating-of-builtin-attrs.rs:312:9
   |
LL |         #[no_mangle] fn foo();
   |         ^^^^^^^^^^^^ --------- not a free function, impl method or static
   |
   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!

warning: attribute should be applied to a free function, impl method or static
  --> $DIR/issue-43106-gating-of-builtin-attrs.rs:317:9
   |
LL |         #[no_mangle] fn bar() {}
   |         ^^^^^^^^^^^^ ----------- not a free function, impl method or static
   |
   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!

warning: `#[should_panic]` only has an effect on functions
  --> $DIR/issue-43106-gating-of-builtin-attrs.rs:327:17
   |
LL |     mod inner { #![should_panic] }
   |                 ^^^^^^^^^^^^^^^^

warning: `#[should_panic]` only has an effect on functions
  --> $DIR/issue-43106-gating-of-builtin-attrs.rs:332:5
   |
LL |     #[should_panic] struct S;
   |     ^^^^^^^^^^^^^^^

warning: `#[should_panic]` only has an effect on functions
  --> $DIR/issue-43106-gating-of-builtin-attrs.rs:335:5
   |
LL |     #[should_panic] type T = S;
   |     ^^^^^^^^^^^^^^^

warning: `#[should_panic]` only has an effect on functions
  --> $DIR/issue-43106-gating-of-builtin-attrs.rs:338:5
   |
LL |     #[should_panic] impl S { }
   |     ^^^^^^^^^^^^^^^

warning: `#[ignore]` only has an effect on functions
  --> $DIR/issue-43106-gating-of-builtin-attrs.rs:345:17
   |
LL |     mod inner { #![ignore] }
   |                 ^^^^^^^^^^

warning: `#[ignore]` only has an effect on functions
  --> $DIR/issue-43106-gating-of-builtin-attrs.rs:350:5
   |
LL |     #[ignore] struct S;
   |     ^^^^^^^^^

warning: `#[ignore]` only has an effect on functions
  --> $DIR/issue-43106-gating-of-builtin-attrs.rs:353:5
   |
LL |     #[ignore] type T = S;
   |     ^^^^^^^^^

warning: `#[ignore]` only has an effect on functions
  --> $DIR/issue-43106-gating-of-builtin-attrs.rs:356:5
   |
LL |     #[ignore] impl S { }
   |     ^^^^^^^^^

warning: `#[no_implicit_prelude]` only has an effect on modules
  --> $DIR/issue-43106-gating-of-builtin-attrs.rs:364:5
   |
LL |     #[no_implicit_prelude] fn f() { }
   |     ^^^^^^^^^^^^^^^^^^^^^^

warning: `#[no_implicit_prelude]` only has an effect on modules
  --> $DIR/issue-43106-gating-of-builtin-attrs.rs:367:5
   |
LL |     #[no_implicit_prelude] struct S;
   |     ^^^^^^^^^^^^^^^^^^^^^^

warning: `#[no_implicit_prelude]` only has an effect on modules
  --> $DIR/issue-43106-gating-of-builtin-attrs.rs:370:5
   |
LL |     #[no_implicit_prelude] type T = S;
   |     ^^^^^^^^^^^^^^^^^^^^^^

warning: `#[no_implicit_prelude]` only has an effect on modules
  --> $DIR/issue-43106-gating-of-builtin-attrs.rs:373:5
   |
LL |     #[no_implicit_prelude] impl S { }
   |     ^^^^^^^^^^^^^^^^^^^^^^

warning: crate-level attribute should be in the root module
  --> $DIR/issue-43106-gating-of-builtin-attrs.rs:380:17
   |
LL |     mod inner { #![reexport_test_harness_main="2900"] }
   |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

warning: crate-level attribute should be an inner attribute: add an exclamation mark: `#![foo]`
  --> $DIR/issue-43106-gating-of-builtin-attrs.rs:383:5
   |
LL |     #[reexport_test_harness_main = "2900"] fn f() { }
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

warning: crate-level attribute should be an inner attribute: add an exclamation mark: `#![foo]`
  --> $DIR/issue-43106-gating-of-builtin-attrs.rs:386:5
   |
LL |     #[reexport_test_harness_main = "2900"] struct S;
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

warning: crate-level attribute should be an inner attribute: add an exclamation mark: `#![foo]`
  --> $DIR/issue-43106-gating-of-builtin-attrs.rs:389:5
   |
LL |     #[reexport_test_harness_main = "2900"] type T = S;
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

warning: crate-level attribute should be an inner attribute: add an exclamation mark: `#![foo]`
  --> $DIR/issue-43106-gating-of-builtin-attrs.rs:392:5
   |
LL |     #[reexport_test_harness_main = "2900"] impl S { }
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

warning: `#[macro_escape]` only has an effect on `extern crate` and modules
  --> $DIR/issue-43106-gating-of-builtin-attrs.rs:404:5
   |
LL |     #[macro_escape] fn f() { }
   |     ^^^^^^^^^^^^^^^

warning: `#[macro_escape]` only has an effect on `extern crate` and modules
  --> $DIR/issue-43106-gating-of-builtin-attrs.rs:407:5
   |
LL |     #[macro_escape] struct S;
   |     ^^^^^^^^^^^^^^^

warning: `#[macro_escape]` only has an effect on `extern crate` and modules
  --> $DIR/issue-43106-gating-of-builtin-attrs.rs:410:5
   |
LL |     #[macro_escape] type T = S;
   |     ^^^^^^^^^^^^^^^

warning: `#[macro_escape]` only has an effect on `extern crate` and modules
  --> $DIR/issue-43106-gating-of-builtin-attrs.rs:413:5
   |
LL |     #[macro_escape] impl S { }
   |     ^^^^^^^^^^^^^^^

warning: crate-level attribute should be in the root module
  --> $DIR/issue-43106-gating-of-builtin-attrs.rs:420:17
   |
LL |     mod inner { #![no_std] }
   |                 ^^^^^^^^^^

warning: crate-level attribute should be an inner attribute: add an exclamation mark: `#![foo]`
  --> $DIR/issue-43106-gating-of-builtin-attrs.rs:423:5
   |
LL |     #[no_std] fn f() { }
   |     ^^^^^^^^^

warning: crate-level attribute should be an inner attribute: add an exclamation mark: `#![foo]`
  --> $DIR/issue-43106-gating-of-builtin-attrs.rs:426:5
   |
LL |     #[no_std] struct S;
   |     ^^^^^^^^^

warning: crate-level attribute should be an inner attribute: add an exclamation mark: `#![foo]`
  --> $DIR/issue-43106-gating-of-builtin-attrs.rs:429:5
   |
LL |     #[no_std] type T = S;
   |     ^^^^^^^^^

warning: crate-level attribute should be an inner attribute: add an exclamation mark: `#![foo]`
  --> $DIR/issue-43106-gating-of-builtin-attrs.rs:432:5
   |
LL |     #[no_std] impl S { }
   |     ^^^^^^^^^

warning: attribute should be applied to a function definition
  --> $DIR/issue-43106-gating-of-builtin-attrs.rs:459:17
   |
LL |     mod inner { #![cold] }
   |     ------------^^^^^^^^-- not a function definition
   |
   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!

warning: attribute should be applied to a function definition
  --> $DIR/issue-43106-gating-of-builtin-attrs.rs:466:5
   |
LL |     #[cold] struct S;
   |     ^^^^^^^ --------- not a function definition
   |
   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!

warning: attribute should be applied to a function definition
  --> $DIR/issue-43106-gating-of-builtin-attrs.rs:471:5
   |
LL |     #[cold] type T = S;
   |     ^^^^^^^ ----------- not a function definition
   |
   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!

warning: attribute should be applied to a function definition
  --> $DIR/issue-43106-gating-of-builtin-attrs.rs:476:5
   |
LL |     #[cold] impl S { }
   |     ^^^^^^^ ---------- not a function definition
   |
   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!

warning: attribute should be applied to a foreign function or static
  --> $DIR/issue-43106-gating-of-builtin-attrs.rs:488:5
   |
LL |     #[link_name = "1900"]
   |     ^^^^^^^^^^^^^^^^^^^^^
...
LL |     extern "C" { }
   |     -------------- not a foreign function or static
   |
   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
help: try `#[link(name = "1900")]` instead
  --> $DIR/issue-43106-gating-of-builtin-attrs.rs:488:5
   |
LL |     #[link_name = "1900"]
   |     ^^^^^^^^^^^^^^^^^^^^^

warning: attribute should be applied to a foreign function or static
  --> $DIR/issue-43106-gating-of-builtin-attrs.rs:495:17
   |
LL |     mod inner { #![link_name="1900"] }
   |     ------------^^^^^^^^^^^^^^^^^^^^-- not a foreign function or static
   |
   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!

warning: attribute should be applied to a foreign function or static
  --> $DIR/issue-43106-gating-of-builtin-attrs.rs:500:5
   |
LL |     #[link_name = "1900"] fn f() { }
   |     ^^^^^^^^^^^^^^^^^^^^^ ---------- not a foreign function or static
   |
   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!

warning: attribute should be applied to a foreign function or static
  --> $DIR/issue-43106-gating-of-builtin-attrs.rs:505:5
   |
LL |     #[link_name = "1900"] struct S;
   |     ^^^^^^^^^^^^^^^^^^^^^ --------- not a foreign function or static
   |
   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!

warning: attribute should be applied to a foreign function or static
  --> $DIR/issue-43106-gating-of-builtin-attrs.rs:510:5
   |
LL |     #[link_name = "1900"] type T = S;
   |     ^^^^^^^^^^^^^^^^^^^^^ ----------- not a foreign function or static
   |
   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!

warning: attribute should be applied to a foreign function or static
  --> $DIR/issue-43106-gating-of-builtin-attrs.rs:515:5
   |
LL |     #[link_name = "1900"] impl S { }
   |     ^^^^^^^^^^^^^^^^^^^^^ ---------- not a foreign function or static
   |
   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!

warning: attribute should be applied to a function or static
  --> $DIR/issue-43106-gating-of-builtin-attrs.rs:527:17
   |
LL |     mod inner { #![link_section="1800"] }
   |     ------------^^^^^^^^^^^^^^^^^^^^^^^-- not a function or static
   |
   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!

warning: attribute should be applied to a function or static
  --> $DIR/issue-43106-gating-of-builtin-attrs.rs:534:5
   |
LL |     #[link_section = "1800"] struct S;
   |     ^^^^^^^^^^^^^^^^^^^^^^^^ --------- not a function or static
   |
   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!

warning: attribute should be applied to a function or static
  --> $DIR/issue-43106-gating-of-builtin-attrs.rs:539:5
   |
LL |     #[link_section = "1800"] type T = S;
   |     ^^^^^^^^^^^^^^^^^^^^^^^^ ----------- not a function or static
   |
   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!

warning: attribute should be applied to a function or static
  --> $DIR/issue-43106-gating-of-builtin-attrs.rs:544:5
   |
LL |     #[link_section = "1800"] impl S { }
   |     ^^^^^^^^^^^^^^^^^^^^^^^^ ---------- not a function or static
   |
   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!

warning: attribute should be applied to an `extern` block with non-Rust ABI
  --> $DIR/issue-43106-gating-of-builtin-attrs.rs:559:17
   |
LL |     mod inner { #![link()] }
   |     ------------^^^^^^^^^^-- not an `extern` block
   |
   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!

warning: attribute should be applied to an `extern` block with non-Rust ABI
  --> $DIR/issue-43106-gating-of-builtin-attrs.rs:564:5
   |
LL |     #[link()] fn f() { }
   |     ^^^^^^^^^ ---------- not an `extern` block
   |
   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!

warning: attribute should be applied to an `extern` block with non-Rust ABI
  --> $DIR/issue-43106-gating-of-builtin-attrs.rs:569:5
   |
LL |     #[link()] struct S;
   |     ^^^^^^^^^ --------- not an `extern` block
   |
   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!

warning: attribute should be applied to an `extern` block with non-Rust ABI
  --> $DIR/issue-43106-gating-of-builtin-attrs.rs:574:5
   |
LL |     #[link()] type T = S;
   |     ^^^^^^^^^ ----------- not an `extern` block
   |
   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!

warning: attribute should be applied to an `extern` block with non-Rust ABI
  --> $DIR/issue-43106-gating-of-builtin-attrs.rs:579:5
   |
LL |     #[link()] impl S { }
   |     ^^^^^^^^^ ---------- not an `extern` block
   |
   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!

warning: attribute should be applied to an `extern` block with non-Rust ABI
  --> $DIR/issue-43106-gating-of-builtin-attrs.rs:584:5
   |
LL |     #[link()] extern "Rust" {}
   |     ^^^^^^^^^
   |
   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!

warning: `#[must_use]` has no effect when applied to a module
  --> $DIR/issue-43106-gating-of-builtin-attrs.rs:606:17
   |
LL |     mod inner { #![must_use] }
   |                 ^^^^^^^^^^^^

warning: `#[must_use]` has no effect when applied to a type alias
  --> $DIR/issue-43106-gating-of-builtin-attrs.rs:612:5
   |
LL |     #[must_use] type T = S;
   |     ^^^^^^^^^^^

warning: `#[must_use]` has no effect when applied to an implementation block
  --> $DIR/issue-43106-gating-of-builtin-attrs.rs:614:5
   |
LL |     #[must_use] impl S { }
   |     ^^^^^^^^^^^

warning: crate-level attribute should be in the root module
  --> $DIR/issue-43106-gating-of-builtin-attrs.rs:620:17
   |
LL |     mod inner { #![windows_subsystem="windows"] }
   |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

warning: crate-level attribute should be an inner attribute: add an exclamation mark: `#![foo]`
  --> $DIR/issue-43106-gating-of-builtin-attrs.rs:623:5
   |
LL |     #[windows_subsystem = "windows"] fn f() { }
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

warning: crate-level attribute should be an inner attribute: add an exclamation mark: `#![foo]`
  --> $DIR/issue-43106-gating-of-builtin-attrs.rs:626:5
   |
LL |     #[windows_subsystem = "windows"] struct S;
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

warning: crate-level attribute should be an inner attribute: add an exclamation mark: `#![foo]`
  --> $DIR/issue-43106-gating-of-builtin-attrs.rs:629:5
   |
LL |     #[windows_subsystem = "windows"] type T = S;
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

warning: crate-level attribute should be an inner attribute: add an exclamation mark: `#![foo]`
  --> $DIR/issue-43106-gating-of-builtin-attrs.rs:632:5
   |
LL |     #[windows_subsystem = "windows"] impl S { }
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

warning: crate-level attribute should be in the root module
  --> $DIR/issue-43106-gating-of-builtin-attrs.rs:641:17
   |
LL |     mod inner { #![crate_name="0900"] }
   |                 ^^^^^^^^^^^^^^^^^^^^^

warning: crate-level attribute should be an inner attribute: add an exclamation mark: `#![foo]`
  --> $DIR/issue-43106-gating-of-builtin-attrs.rs:644:5
   |
LL |     #[crate_name = "0900"] fn f() { }
   |     ^^^^^^^^^^^^^^^^^^^^^^

warning: crate-level attribute should be an inner attribute: add an exclamation mark: `#![foo]`
  --> $DIR/issue-43106-gating-of-builtin-attrs.rs:647:5
   |
LL |     #[crate_name = "0900"] struct S;
   |     ^^^^^^^^^^^^^^^^^^^^^^

warning: crate-level attribute should be an inner attribute: add an exclamation mark: `#![foo]`
  --> $DIR/issue-43106-gating-of-builtin-attrs.rs:650:5
   |
LL |     #[crate_name = "0900"] type T = S;
   |     ^^^^^^^^^^^^^^^^^^^^^^

warning: crate-level attribute should be an inner attribute: add an exclamation mark: `#![foo]`
  --> $DIR/issue-43106-gating-of-builtin-attrs.rs:653:5
   |
LL |     #[crate_name = "0900"] impl S { }
   |     ^^^^^^^^^^^^^^^^^^^^^^

warning: crate-level attribute should be in the root module
  --> $DIR/issue-43106-gating-of-builtin-attrs.rs:660:17
   |
LL |     mod inner { #![crate_type="0800"] }
   |                 ^^^^^^^^^^^^^^^^^^^^^

warning: crate-level attribute should be an inner attribute: add an exclamation mark: `#![foo]`
  --> $DIR/issue-43106-gating-of-builtin-attrs.rs:663:5
   |
LL |     #[crate_type = "0800"] fn f() { }
   |     ^^^^^^^^^^^^^^^^^^^^^^

warning: crate-level attribute should be an inner attribute: add an exclamation mark: `#![foo]`
  --> $DIR/issue-43106-gating-of-builtin-attrs.rs:666:5
   |
LL |     #[crate_type = "0800"] struct S;
   |     ^^^^^^^^^^^^^^^^^^^^^^

warning: crate-level attribute should be an inner attribute: add an exclamation mark: `#![foo]`
  --> $DIR/issue-43106-gating-of-builtin-attrs.rs:669:5
   |
LL |     #[crate_type = "0800"] type T = S;
   |     ^^^^^^^^^^^^^^^^^^^^^^

warning: crate-level attribute should be an inner attribute: add an exclamation mark: `#![foo]`
  --> $DIR/issue-43106-gating-of-builtin-attrs.rs:672:5
   |
LL |     #[crate_type = "0800"] impl S { }
   |     ^^^^^^^^^^^^^^^^^^^^^^

warning: crate-level attribute should be in the root module
  --> $DIR/issue-43106-gating-of-builtin-attrs.rs:679:17
   |
LL |     mod inner { #![feature(x0600)] }
   |                 ^^^^^^^^^^^^^^^^^^

warning: crate-level attribute should be an inner attribute: add an exclamation mark: `#![foo]`
  --> $DIR/issue-43106-gating-of-builtin-attrs.rs:682:5
   |
LL |     #[feature(x0600)] fn f() { }
   |     ^^^^^^^^^^^^^^^^^

warning: crate-level attribute should be an inner attribute: add an exclamation mark: `#![foo]`
  --> $DIR/issue-43106-gating-of-builtin-attrs.rs:685:5
   |
LL |     #[feature(x0600)] struct S;
   |     ^^^^^^^^^^^^^^^^^

warning: crate-level attribute should be an inner attribute: add an exclamation mark: `#![foo]`
  --> $DIR/issue-43106-gating-of-builtin-attrs.rs:688:5
   |
LL |     #[feature(x0600)] type T = S;
   |     ^^^^^^^^^^^^^^^^^

warning: crate-level attribute should be an inner attribute: add an exclamation mark: `#![foo]`
  --> $DIR/issue-43106-gating-of-builtin-attrs.rs:691:5
   |
LL |     #[feature(x0600)] impl S { }
   |     ^^^^^^^^^^^^^^^^^

warning: crate-level attribute should be in the root module
  --> $DIR/issue-43106-gating-of-builtin-attrs.rs:699:17
   |
LL |     mod inner { #![no_main] }
   |                 ^^^^^^^^^^^

warning: crate-level attribute should be an inner attribute: add an exclamation mark: `#![foo]`
  --> $DIR/issue-43106-gating-of-builtin-attrs.rs:702:5
   |
LL |     #[no_main] fn f() { }
   |     ^^^^^^^^^^

warning: crate-level attribute should be an inner attribute: add an exclamation mark: `#![foo]`
  --> $DIR/issue-43106-gating-of-builtin-attrs.rs:705:5
   |
LL |     #[no_main] struct S;
   |     ^^^^^^^^^^

warning: crate-level attribute should be an inner attribute: add an exclamation mark: `#![foo]`
  --> $DIR/issue-43106-gating-of-builtin-attrs.rs:708:5
   |
LL |     #[no_main] type T = S;
   |     ^^^^^^^^^^

warning: crate-level attribute should be an inner attribute: add an exclamation mark: `#![foo]`
  --> $DIR/issue-43106-gating-of-builtin-attrs.rs:711:5
   |
LL |     #[no_main] impl S { }
   |     ^^^^^^^^^^

warning: crate-level attribute should be in the root module
  --> $DIR/issue-43106-gating-of-builtin-attrs.rs:718:17
   |
LL |     mod inner { #![no_builtins] }
   |                 ^^^^^^^^^^^^^^^

warning: crate-level attribute should be an inner attribute: add an exclamation mark: `#![foo]`
  --> $DIR/issue-43106-gating-of-builtin-attrs.rs:721:5
   |
LL |     #[no_builtins] fn f() { }
   |     ^^^^^^^^^^^^^^

warning: crate-level attribute should be an inner attribute: add an exclamation mark: `#![foo]`
  --> $DIR/issue-43106-gating-of-builtin-attrs.rs:724:5
   |
LL |     #[no_builtins] struct S;
   |     ^^^^^^^^^^^^^^

warning: crate-level attribute should be an inner attribute: add an exclamation mark: `#![foo]`
  --> $DIR/issue-43106-gating-of-builtin-attrs.rs:727:5
   |
LL |     #[no_builtins] type T = S;
   |     ^^^^^^^^^^^^^^

warning: crate-level attribute should be an inner attribute: add an exclamation mark: `#![foo]`
  --> $DIR/issue-43106-gating-of-builtin-attrs.rs:730:5
   |
LL |     #[no_builtins] impl S { }
   |     ^^^^^^^^^^^^^^

warning: crate-level attribute should be in the root module
  --> $DIR/issue-43106-gating-of-builtin-attrs.rs:737:17
   |
LL |     mod inner { #![recursion_limit="0200"] }
   |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^

warning: crate-level attribute should be an inner attribute: add an exclamation mark: `#![foo]`
  --> $DIR/issue-43106-gating-of-builtin-attrs.rs:740:5
   |
LL |     #[recursion_limit="0200"] fn f() { }
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^

warning: crate-level attribute should be an inner attribute: add an exclamation mark: `#![foo]`
  --> $DIR/issue-43106-gating-of-builtin-attrs.rs:743:5
   |
LL |     #[recursion_limit="0200"] struct S;
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^

warning: crate-level attribute should be an inner attribute: add an exclamation mark: `#![foo]`
  --> $DIR/issue-43106-gating-of-builtin-attrs.rs:746:5
   |
LL |     #[recursion_limit="0200"] type T = S;
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^

warning: crate-level attribute should be an inner attribute: add an exclamation mark: `#![foo]`
  --> $DIR/issue-43106-gating-of-builtin-attrs.rs:749:5
   |
LL |     #[recursion_limit="0200"] impl S { }
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^

warning: crate-level attribute should be in the root module
  --> $DIR/issue-43106-gating-of-builtin-attrs.rs:756:17
   |
LL |     mod inner { #![type_length_limit="0100"] }
   |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^

warning: crate-level attribute should be an inner attribute: add an exclamation mark: `#![foo]`
  --> $DIR/issue-43106-gating-of-builtin-attrs.rs:759:5
   |
LL |     #[type_length_limit="0100"] fn f() { }
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^

warning: crate-level attribute should be an inner attribute: add an exclamation mark: `#![foo]`
  --> $DIR/issue-43106-gating-of-builtin-attrs.rs:762:5
   |
LL |     #[type_length_limit="0100"] struct S;
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^

warning: crate-level attribute should be an inner attribute: add an exclamation mark: `#![foo]`
  --> $DIR/issue-43106-gating-of-builtin-attrs.rs:765:5
   |
LL |     #[type_length_limit="0100"] type T = S;
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^

warning: crate-level attribute should be an inner attribute: add an exclamation mark: `#![foo]`
  --> $DIR/issue-43106-gating-of-builtin-attrs.rs:768:5
   |
LL |     #[type_length_limit="0100"] impl S { }
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^

warning: the feature `rust1` has been stable since 1.0.0 and no longer requires an attribute to enable
  --> $DIR/issue-43106-gating-of-builtin-attrs.rs:90:12
   |
LL | #![feature(rust1)]
   |            ^^^^^
   |
   = note: `#[warn(stable_features)]` on by default

warning: 173 warnings emitted

