| warning: `#[macro_escape]` is a deprecated synonym for `#[macro_use]` | 
 |   --> $DIR/issue-43106-gating-of-builtin-attrs.rs:529: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:526:1 | 
 |    | | 
 | LL | #[macro_escape] | 
 |    | ^^^^^^^^^^^^^^^ | 
 |  | 
 | warning: unknown lint: `x5400` | 
 |   --> $DIR/issue-43106-gating-of-builtin-attrs.rs:43:9 | 
 |    | | 
 | LL | #![warn(x5400)] | 
 |    |         ^^^^^ | 
 |    | | 
 | note: the lint level is defined here | 
 |   --> $DIR/issue-43106-gating-of-builtin-attrs.rs:37:28 | 
 |    | | 
 | LL | #![warn(unused_attributes, unknown_lints)] | 
 |    |                            ^^^^^^^^^^^^^ | 
 |  | 
 | warning: unknown lint: `x5300` | 
 |   --> $DIR/issue-43106-gating-of-builtin-attrs.rs:44:10 | 
 |    | | 
 | LL | #![allow(x5300)] | 
 |    |          ^^^^^ | 
 |  | 
 | warning: unknown lint: `x5200` | 
 |   --> $DIR/issue-43106-gating-of-builtin-attrs.rs:45:11 | 
 |    | | 
 | LL | #![forbid(x5200)] | 
 |    |           ^^^^^ | 
 |  | 
 | warning: unknown lint: `x5100` | 
 |   --> $DIR/issue-43106-gating-of-builtin-attrs.rs:46:9 | 
 |    | | 
 | LL | #![deny(x5100)] | 
 |    |         ^^^^^ | 
 |  | 
 | warning: unknown lint: `x5400` | 
 |   --> $DIR/issue-43106-gating-of-builtin-attrs.rs:111:8 | 
 |    | | 
 | LL | #[warn(x5400)] | 
 |    |        ^^^^^ | 
 |  | 
 | warning: unknown lint: `x5400` | 
 |   --> $DIR/issue-43106-gating-of-builtin-attrs.rs:114:25 | 
 |    | | 
 | LL |     mod inner { #![warn(x5400)] } | 
 |    |                         ^^^^^ | 
 |  | 
 | warning: unknown lint: `x5400` | 
 |   --> $DIR/issue-43106-gating-of-builtin-attrs.rs:117:12 | 
 |    | | 
 | LL |     #[warn(x5400)] fn f() { } | 
 |    |            ^^^^^ | 
 |  | 
 | warning: unknown lint: `x5400` | 
 |   --> $DIR/issue-43106-gating-of-builtin-attrs.rs:120:12 | 
 |    | | 
 | LL |     #[warn(x5400)] struct S; | 
 |    |            ^^^^^ | 
 |  | 
 | warning: unknown lint: `x5400` | 
 |   --> $DIR/issue-43106-gating-of-builtin-attrs.rs:123:12 | 
 |    | | 
 | LL |     #[warn(x5400)] type T = S; | 
 |    |            ^^^^^ | 
 |  | 
 | warning: unknown lint: `x5400` | 
 |   --> $DIR/issue-43106-gating-of-builtin-attrs.rs:126:12 | 
 |    | | 
 | LL |     #[warn(x5400)] impl S { } | 
 |    |            ^^^^^ | 
 |  | 
 | warning: unknown lint: `x5300` | 
 |   --> $DIR/issue-43106-gating-of-builtin-attrs.rs:130:9 | 
 |    | | 
 | LL | #[allow(x5300)] | 
 |    |         ^^^^^ | 
 |  | 
 | warning: unknown lint: `x5300` | 
 |   --> $DIR/issue-43106-gating-of-builtin-attrs.rs:133:26 | 
 |    | | 
 | LL |     mod inner { #![allow(x5300)] } | 
 |    |                          ^^^^^ | 
 |  | 
 | warning: unknown lint: `x5300` | 
 |   --> $DIR/issue-43106-gating-of-builtin-attrs.rs:136:13 | 
 |    | | 
 | LL |     #[allow(x5300)] fn f() { } | 
 |    |             ^^^^^ | 
 |  | 
 | warning: unknown lint: `x5300` | 
 |   --> $DIR/issue-43106-gating-of-builtin-attrs.rs:139:13 | 
 |    | | 
 | LL |     #[allow(x5300)] struct S; | 
 |    |             ^^^^^ | 
 |  | 
 | warning: unknown lint: `x5300` | 
 |   --> $DIR/issue-43106-gating-of-builtin-attrs.rs:142:13 | 
 |    | | 
 | LL |     #[allow(x5300)] type T = S; | 
 |    |             ^^^^^ | 
 |  | 
 | warning: unknown lint: `x5300` | 
 |   --> $DIR/issue-43106-gating-of-builtin-attrs.rs:145:13 | 
 |    | | 
 | LL |     #[allow(x5300)] impl S { } | 
 |    |             ^^^^^ | 
 |  | 
 | warning: unknown lint: `x5200` | 
 |   --> $DIR/issue-43106-gating-of-builtin-attrs.rs:149:10 | 
 |    | | 
 | LL | #[forbid(x5200)] | 
 |    |          ^^^^^ | 
 |  | 
 | warning: unknown lint: `x5200` | 
 |   --> $DIR/issue-43106-gating-of-builtin-attrs.rs:152:27 | 
 |    | | 
 | LL |     mod inner { #![forbid(x5200)] } | 
 |    |                           ^^^^^ | 
 |  | 
 | warning: unknown lint: `x5200` | 
 |   --> $DIR/issue-43106-gating-of-builtin-attrs.rs:155:14 | 
 |    | | 
 | LL |     #[forbid(x5200)] fn f() { } | 
 |    |              ^^^^^ | 
 |  | 
 | warning: unknown lint: `x5200` | 
 |   --> $DIR/issue-43106-gating-of-builtin-attrs.rs:158:14 | 
 |    | | 
 | LL |     #[forbid(x5200)] struct S; | 
 |    |              ^^^^^ | 
 |  | 
 | warning: unknown lint: `x5200` | 
 |   --> $DIR/issue-43106-gating-of-builtin-attrs.rs:161:14 | 
 |    | | 
 | LL |     #[forbid(x5200)] type T = S; | 
 |    |              ^^^^^ | 
 |  | 
 | warning: unknown lint: `x5200` | 
 |   --> $DIR/issue-43106-gating-of-builtin-attrs.rs:164:14 | 
 |    | | 
 | LL |     #[forbid(x5200)] impl S { } | 
 |    |              ^^^^^ | 
 |  | 
 | warning: unknown lint: `x5100` | 
 |   --> $DIR/issue-43106-gating-of-builtin-attrs.rs:168:8 | 
 |    | | 
 | LL | #[deny(x5100)] | 
 |    |        ^^^^^ | 
 |  | 
 | warning: unknown lint: `x5100` | 
 |   --> $DIR/issue-43106-gating-of-builtin-attrs.rs:171:25 | 
 |    | | 
 | LL |     mod inner { #![deny(x5100)] } | 
 |    |                         ^^^^^ | 
 |  | 
 | warning: unknown lint: `x5100` | 
 |   --> $DIR/issue-43106-gating-of-builtin-attrs.rs:174:12 | 
 |    | | 
 | LL |     #[deny(x5100)] fn f() { } | 
 |    |            ^^^^^ | 
 |  | 
 | warning: unknown lint: `x5100` | 
 |   --> $DIR/issue-43106-gating-of-builtin-attrs.rs:177:12 | 
 |    | | 
 | LL |     #[deny(x5100)] struct S; | 
 |    |            ^^^^^ | 
 |  | 
 | warning: unknown lint: `x5100` | 
 |   --> $DIR/issue-43106-gating-of-builtin-attrs.rs:180:12 | 
 |    | | 
 | LL |     #[deny(x5100)] type T = S; | 
 |    |            ^^^^^ | 
 |  | 
 | warning: unknown lint: `x5100` | 
 |   --> $DIR/issue-43106-gating-of-builtin-attrs.rs:183:12 | 
 |    | | 
 | LL |     #[deny(x5100)] impl S { } | 
 |    |            ^^^^^ | 
 |  | 
 | warning: crate-level attribute should be an inner attribute | 
 |   --> $DIR/issue-43106-gating-of-builtin-attrs.rs:501:1 | 
 |    | | 
 | LL | #[reexport_test_harness_main = "2900"] | 
 |    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | 
 |    | | 
 | note: the lint level is defined here | 
 |   --> $DIR/issue-43106-gating-of-builtin-attrs.rs:37:9 | 
 |    | | 
 | LL | #![warn(unused_attributes, unknown_lints)] | 
 |    |         ^^^^^^^^^^^^^^^^^ | 
 | help: add a `!` | 
 |    | | 
 | LL | #![reexport_test_harness_main = "2900"] | 
 |    |  + | 
 |  | 
 | warning: attribute should be applied to an `extern` block with non-Rust ABI | 
 |   --> $DIR/issue-43106-gating-of-builtin-attrs.rs:739:1 | 
 |    | | 
 | LL |   #[link(name = "x")] | 
 |    |   ^^^^^^^^^^^^^^^^^^^ | 
 | ... | 
 | LL | / mod link { | 
 | LL | | | 
 | LL | | | 
 | LL | |     mod inner { #![link(name = "x")] } | 
 | ...  | | 
 | 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: crate-level attribute should be an inner attribute | 
 |   --> $DIR/issue-43106-gating-of-builtin-attrs.rs:815:1 | 
 |    | | 
 | LL | #[windows_subsystem = "windows"] | 
 |    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | 
 |    | | 
 | help: add a `!` | 
 |    | | 
 | LL | #![windows_subsystem = "windows"] | 
 |    |  + | 
 |  | 
 | warning: crate-level attribute should be an inner attribute | 
 |   --> $DIR/issue-43106-gating-of-builtin-attrs.rs:865:1 | 
 |    | | 
 | LL | #[crate_type = "0800"] | 
 |    | ^^^^^^^^^^^^^^^^^^^^^^ | 
 |    | | 
 | help: add a `!` | 
 |    | | 
 | LL | #![crate_type = "0800"] | 
 |    |  + | 
 |  | 
 | warning: crate-level attribute should be an inner attribute | 
 |   --> $DIR/issue-43106-gating-of-builtin-attrs.rs:889:1 | 
 |    | | 
 | LL | #[feature(x0600)] | 
 |    | ^^^^^^^^^^^^^^^^^ | 
 |    | | 
 | help: add a `!` | 
 |    | | 
 | LL | #![feature(x0600)] | 
 |    |  + | 
 |  | 
 | warning: crate-level attribute should be an inner attribute | 
 |   --> $DIR/issue-43106-gating-of-builtin-attrs.rs:914:1 | 
 |    | | 
 | LL | #[no_main] | 
 |    | ^^^^^^^^^^ | 
 |    | | 
 | help: add a `!` | 
 |    | | 
 | LL | #![no_main] | 
 |    |  + | 
 |  | 
 | warning: crate-level attribute should be an inner attribute | 
 |   --> $DIR/issue-43106-gating-of-builtin-attrs.rs:938:1 | 
 |    | | 
 | LL | #[no_builtins] | 
 |    | ^^^^^^^^^^^^^^ | 
 |    | | 
 | help: add a `!` | 
 |    | | 
 | LL | #![no_builtins] | 
 |    |  + | 
 |  | 
 | warning: attribute should be applied to an `extern` block with non-Rust ABI | 
 |   --> $DIR/issue-43106-gating-of-builtin-attrs.rs:72:1 | 
 |    | | 
 | LL | #![link(name = "x")] | 
 |    | ^^^^^^^^^^^^^^^^^^^^ 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: 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:100:12 | 
 |    | | 
 | LL | #![feature(rust1)] | 
 |    |            ^^^^^ | 
 |    | | 
 |    = note: `#[warn(stable_features)]` on by default | 
 |  | 
 | warning: crate-level attribute should be in the root module | 
 |   --> $DIR/issue-43106-gating-of-builtin-attrs.rs:505:17 | 
 |    | | 
 | LL |     mod inner { #![reexport_test_harness_main="2900"] } | 
 |    |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | 
 |  | 
 | warning: crate-level attribute should be an inner attribute | 
 |   --> $DIR/issue-43106-gating-of-builtin-attrs.rs:508:5 | 
 |    | | 
 | LL |     #[reexport_test_harness_main = "2900"] fn f() { } | 
 |    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | 
 |    | | 
 | help: add a `!` | 
 |    | | 
 | LL |     #![reexport_test_harness_main = "2900"] fn f() { } | 
 |    |      + | 
 |  | 
 | warning: crate-level attribute should be an inner attribute | 
 |   --> $DIR/issue-43106-gating-of-builtin-attrs.rs:512:5 | 
 |    | | 
 | LL |     #[reexport_test_harness_main = "2900"] struct S; | 
 |    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | 
 |    | | 
 | help: add a `!` | 
 |    | | 
 | LL |     #![reexport_test_harness_main = "2900"] struct S; | 
 |    |      + | 
 |  | 
 | warning: crate-level attribute should be an inner attribute | 
 |   --> $DIR/issue-43106-gating-of-builtin-attrs.rs:516:5 | 
 |    | | 
 | LL |     #[reexport_test_harness_main = "2900"] type T = S; | 
 |    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | 
 |    | | 
 | help: add a `!` | 
 |    | | 
 | LL |     #![reexport_test_harness_main = "2900"] type T = S; | 
 |    |      + | 
 |  | 
 | warning: crate-level attribute should be an inner attribute | 
 |   --> $DIR/issue-43106-gating-of-builtin-attrs.rs:520:5 | 
 |    | | 
 | LL |     #[reexport_test_harness_main = "2900"] impl S { } | 
 |    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | 
 |    | | 
 | help: add a `!` | 
 |    | | 
 | LL |     #![reexport_test_harness_main = "2900"] impl S { } | 
 |    |      + | 
 |  | 
 | warning: attribute should be applied to an `extern` block with non-Rust ABI | 
 |   --> $DIR/issue-43106-gating-of-builtin-attrs.rs:745:17 | 
 |    | | 
 | LL |     mod inner { #![link(name = "x")] } | 
 |    |     ------------^^^^^^^^^^^^^^^^^^^^-- 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:750:5 | 
 |    | | 
 | LL |     #[link(name = "x")] 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:755:5 | 
 |    | | 
 | LL |     #[link(name = "x")] 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:760:5 | 
 |    | | 
 | LL |     #[link(name = "x")] 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:765:5 | 
 |    | | 
 | LL |     #[link(name = "x")] 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:770:5 | 
 |    | | 
 | LL |     #[link(name = "x")] 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: crate-level attribute should be in the root module | 
 |   --> $DIR/issue-43106-gating-of-builtin-attrs.rs:819:17 | 
 |    | | 
 | LL |     mod inner { #![windows_subsystem="windows"] } | 
 |    |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | 
 |  | 
 | warning: crate-level attribute should be an inner attribute | 
 |   --> $DIR/issue-43106-gating-of-builtin-attrs.rs:822:5 | 
 |    | | 
 | LL |     #[windows_subsystem = "windows"] fn f() { } | 
 |    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | 
 |    | | 
 | help: add a `!` | 
 |    | | 
 | LL |     #![windows_subsystem = "windows"] fn f() { } | 
 |    |      + | 
 |  | 
 | warning: crate-level attribute should be an inner attribute | 
 |   --> $DIR/issue-43106-gating-of-builtin-attrs.rs:826:5 | 
 |    | | 
 | LL |     #[windows_subsystem = "windows"] struct S; | 
 |    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | 
 |    | | 
 | help: add a `!` | 
 |    | | 
 | LL |     #![windows_subsystem = "windows"] struct S; | 
 |    |      + | 
 |  | 
 | warning: crate-level attribute should be an inner attribute | 
 |   --> $DIR/issue-43106-gating-of-builtin-attrs.rs:830:5 | 
 |    | | 
 | LL |     #[windows_subsystem = "windows"] type T = S; | 
 |    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | 
 |    | | 
 | help: add a `!` | 
 |    | | 
 | LL |     #![windows_subsystem = "windows"] type T = S; | 
 |    |      + | 
 |  | 
 | warning: crate-level attribute should be an inner attribute | 
 |   --> $DIR/issue-43106-gating-of-builtin-attrs.rs:834:5 | 
 |    | | 
 | LL |     #[windows_subsystem = "windows"] impl S { } | 
 |    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | 
 |    | | 
 | help: add a `!` | 
 |    | | 
 | LL |     #![windows_subsystem = "windows"] impl S { } | 
 |    |      + | 
 |  | 
 | warning: crate-level attribute should be in the root module | 
 |   --> $DIR/issue-43106-gating-of-builtin-attrs.rs:869:17 | 
 |    | | 
 | LL |     mod inner { #![crate_type="0800"] } | 
 |    |                 ^^^^^^^^^^^^^^^^^^^^^ | 
 |  | 
 | warning: crate-level attribute should be an inner attribute | 
 |   --> $DIR/issue-43106-gating-of-builtin-attrs.rs:872:5 | 
 |    | | 
 | LL |     #[crate_type = "0800"] fn f() { } | 
 |    |     ^^^^^^^^^^^^^^^^^^^^^^ | 
 |    | | 
 | help: add a `!` | 
 |    | | 
 | LL |     #![crate_type = "0800"] fn f() { } | 
 |    |      + | 
 |  | 
 | warning: crate-level attribute should be an inner attribute | 
 |   --> $DIR/issue-43106-gating-of-builtin-attrs.rs:876:5 | 
 |    | | 
 | LL |     #[crate_type = "0800"] struct S; | 
 |    |     ^^^^^^^^^^^^^^^^^^^^^^ | 
 |    | | 
 | help: add a `!` | 
 |    | | 
 | LL |     #![crate_type = "0800"] struct S; | 
 |    |      + | 
 |  | 
 | warning: crate-level attribute should be an inner attribute | 
 |   --> $DIR/issue-43106-gating-of-builtin-attrs.rs:880:5 | 
 |    | | 
 | LL |     #[crate_type = "0800"] type T = S; | 
 |    |     ^^^^^^^^^^^^^^^^^^^^^^ | 
 |    | | 
 | help: add a `!` | 
 |    | | 
 | LL |     #![crate_type = "0800"] type T = S; | 
 |    |      + | 
 |  | 
 | warning: crate-level attribute should be an inner attribute | 
 |   --> $DIR/issue-43106-gating-of-builtin-attrs.rs:884:5 | 
 |    | | 
 | LL |     #[crate_type = "0800"] impl S { } | 
 |    |     ^^^^^^^^^^^^^^^^^^^^^^ | 
 |    | | 
 | help: add a `!` | 
 |    | | 
 | LL |     #![crate_type = "0800"] impl S { } | 
 |    |      + | 
 |  | 
 | warning: crate-level attribute should be in the root module | 
 |   --> $DIR/issue-43106-gating-of-builtin-attrs.rs:893:17 | 
 |    | | 
 | LL |     mod inner { #![feature(x0600)] } | 
 |    |                 ^^^^^^^^^^^^^^^^^^ | 
 |  | 
 | warning: crate-level attribute should be an inner attribute | 
 |   --> $DIR/issue-43106-gating-of-builtin-attrs.rs:896:5 | 
 |    | | 
 | LL |     #[feature(x0600)] fn f() { } | 
 |    |     ^^^^^^^^^^^^^^^^^ | 
 |    | | 
 | help: add a `!` | 
 |    | | 
 | LL |     #![feature(x0600)] fn f() { } | 
 |    |      + | 
 |  | 
 | warning: crate-level attribute should be an inner attribute | 
 |   --> $DIR/issue-43106-gating-of-builtin-attrs.rs:900:5 | 
 |    | | 
 | LL |     #[feature(x0600)] struct S; | 
 |    |     ^^^^^^^^^^^^^^^^^ | 
 |    | | 
 | help: add a `!` | 
 |    | | 
 | LL |     #![feature(x0600)] struct S; | 
 |    |      + | 
 |  | 
 | warning: crate-level attribute should be an inner attribute | 
 |   --> $DIR/issue-43106-gating-of-builtin-attrs.rs:904:5 | 
 |    | | 
 | LL |     #[feature(x0600)] type T = S; | 
 |    |     ^^^^^^^^^^^^^^^^^ | 
 |    | | 
 | help: add a `!` | 
 |    | | 
 | LL |     #![feature(x0600)] type T = S; | 
 |    |      + | 
 |  | 
 | warning: crate-level attribute should be an inner attribute | 
 |   --> $DIR/issue-43106-gating-of-builtin-attrs.rs:908:5 | 
 |    | | 
 | LL |     #[feature(x0600)] impl S { } | 
 |    |     ^^^^^^^^^^^^^^^^^ | 
 |    | | 
 | help: add a `!` | 
 |    | | 
 | LL |     #![feature(x0600)] impl S { } | 
 |    |      + | 
 |  | 
 | warning: crate-level attribute should be in the root module | 
 |   --> $DIR/issue-43106-gating-of-builtin-attrs.rs:918:17 | 
 |    | | 
 | LL |     mod inner { #![no_main] } | 
 |    |                 ^^^^^^^^^^^ | 
 |  | 
 | warning: crate-level attribute should be an inner attribute | 
 |   --> $DIR/issue-43106-gating-of-builtin-attrs.rs:921:5 | 
 |    | | 
 | LL |     #[no_main] fn f() { } | 
 |    |     ^^^^^^^^^^ | 
 |    | | 
 | help: add a `!` | 
 |    | | 
 | LL |     #![no_main] fn f() { } | 
 |    |      + | 
 |  | 
 | warning: crate-level attribute should be an inner attribute | 
 |   --> $DIR/issue-43106-gating-of-builtin-attrs.rs:925:5 | 
 |    | | 
 | LL |     #[no_main] struct S; | 
 |    |     ^^^^^^^^^^ | 
 |    | | 
 | help: add a `!` | 
 |    | | 
 | LL |     #![no_main] struct S; | 
 |    |      + | 
 |  | 
 | warning: crate-level attribute should be an inner attribute | 
 |   --> $DIR/issue-43106-gating-of-builtin-attrs.rs:929:5 | 
 |    | | 
 | LL |     #[no_main] type T = S; | 
 |    |     ^^^^^^^^^^ | 
 |    | | 
 | help: add a `!` | 
 |    | | 
 | LL |     #![no_main] type T = S; | 
 |    |      + | 
 |  | 
 | warning: crate-level attribute should be an inner attribute | 
 |   --> $DIR/issue-43106-gating-of-builtin-attrs.rs:933:5 | 
 |    | | 
 | LL |     #[no_main] impl S { } | 
 |    |     ^^^^^^^^^^ | 
 |    | | 
 | help: add a `!` | 
 |    | | 
 | LL |     #![no_main] impl S { } | 
 |    |      + | 
 |  | 
 | warning: crate-level attribute should be in the root module | 
 |   --> $DIR/issue-43106-gating-of-builtin-attrs.rs:942:17 | 
 |    | | 
 | LL |     mod inner { #![no_builtins] } | 
 |    |                 ^^^^^^^^^^^^^^^ | 
 |  | 
 | warning: crate-level attribute should be an inner attribute | 
 |   --> $DIR/issue-43106-gating-of-builtin-attrs.rs:945:5 | 
 |    | | 
 | LL |     #[no_builtins] fn f() { } | 
 |    |     ^^^^^^^^^^^^^^ | 
 |    | | 
 | help: add a `!` | 
 |    | | 
 | LL |     #![no_builtins] fn f() { } | 
 |    |      + | 
 |  | 
 | warning: crate-level attribute should be an inner attribute | 
 |   --> $DIR/issue-43106-gating-of-builtin-attrs.rs:949:5 | 
 |    | | 
 | LL |     #[no_builtins] struct S; | 
 |    |     ^^^^^^^^^^^^^^ | 
 |    | | 
 | help: add a `!` | 
 |    | | 
 | LL |     #![no_builtins] struct S; | 
 |    |      + | 
 |  | 
 | warning: crate-level attribute should be an inner attribute | 
 |   --> $DIR/issue-43106-gating-of-builtin-attrs.rs:953:5 | 
 |    | | 
 | LL |     #[no_builtins] type T = S; | 
 |    |     ^^^^^^^^^^^^^^ | 
 |    | | 
 | help: add a `!` | 
 |    | | 
 | LL |     #![no_builtins] type T = S; | 
 |    |      + | 
 |  | 
 | warning: crate-level attribute should be an inner attribute | 
 |   --> $DIR/issue-43106-gating-of-builtin-attrs.rs:957:5 | 
 |    | | 
 | LL |     #[no_builtins] impl S { } | 
 |    |     ^^^^^^^^^^^^^^ | 
 |    | | 
 | help: add a `!` | 
 |    | | 
 | LL |     #![no_builtins] impl S { } | 
 |    |      + | 
 |  | 
 | warning: `#[macro_use]` attribute cannot be used on functions | 
 |   --> $DIR/issue-43106-gating-of-builtin-attrs.rs:191:5 | 
 |    | | 
 | LL |     #[macro_use] fn f() { } | 
 |    |     ^^^^^^^^^^^^ | 
 |    | | 
 |    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! | 
 |    = help: `#[macro_use]` can be applied to crates, extern crates, and modules | 
 |  | 
 | warning: `#[macro_use]` attribute cannot be used on structs | 
 |   --> $DIR/issue-43106-gating-of-builtin-attrs.rs:197:5 | 
 |    | | 
 | LL |     #[macro_use] struct S; | 
 |    |     ^^^^^^^^^^^^ | 
 |    | | 
 |    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! | 
 |    = help: `#[macro_use]` can be applied to crates, extern crates, and modules | 
 |  | 
 | warning: `#[macro_use]` attribute cannot be used on type aliases | 
 |   --> $DIR/issue-43106-gating-of-builtin-attrs.rs:203:5 | 
 |    | | 
 | LL |     #[macro_use] type T = S; | 
 |    |     ^^^^^^^^^^^^ | 
 |    | | 
 |    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! | 
 |    = help: `#[macro_use]` can be applied to crates, extern crates, and modules | 
 |  | 
 | warning: `#[macro_use]` attribute cannot be used on inherent impl blocks | 
 |   --> $DIR/issue-43106-gating-of-builtin-attrs.rs:209:5 | 
 |    | | 
 | LL |     #[macro_use] impl S { } | 
 |    |     ^^^^^^^^^^^^ | 
 |    | | 
 |    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! | 
 |    = help: `#[macro_use]` can be applied to crates, extern crates, and modules | 
 |  | 
 | warning: `#[macro_export]` attribute cannot be used on modules | 
 |   --> $DIR/issue-43106-gating-of-builtin-attrs.rs:216:1 | 
 |    | | 
 | LL | #[macro_export] | 
 |    | ^^^^^^^^^^^^^^^ | 
 |    | | 
 |    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! | 
 |    = help: `#[macro_export]` can only be applied to macro defs | 
 |  | 
 | warning: `#[macro_export]` attribute cannot be used on modules | 
 |   --> $DIR/issue-43106-gating-of-builtin-attrs.rs:222:17 | 
 |    | | 
 | LL |     mod inner { #![macro_export] } | 
 |    |                 ^^^^^^^^^^^^^^^^ | 
 |    | | 
 |    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! | 
 |    = help: `#[macro_export]` can only be applied to macro defs | 
 |  | 
 | warning: `#[macro_export]` attribute cannot be used on functions | 
 |   --> $DIR/issue-43106-gating-of-builtin-attrs.rs:228:5 | 
 |    | | 
 | LL |     #[macro_export] fn f() { } | 
 |    |     ^^^^^^^^^^^^^^^ | 
 |    | | 
 |    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! | 
 |    = help: `#[macro_export]` can only be applied to macro defs | 
 |  | 
 | warning: `#[macro_export]` attribute cannot be used on structs | 
 |   --> $DIR/issue-43106-gating-of-builtin-attrs.rs:234:5 | 
 |    | | 
 | LL |     #[macro_export] struct S; | 
 |    |     ^^^^^^^^^^^^^^^ | 
 |    | | 
 |    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! | 
 |    = help: `#[macro_export]` can only be applied to macro defs | 
 |  | 
 | warning: `#[macro_export]` attribute cannot be used on type aliases | 
 |   --> $DIR/issue-43106-gating-of-builtin-attrs.rs:240:5 | 
 |    | | 
 | LL |     #[macro_export] type T = S; | 
 |    |     ^^^^^^^^^^^^^^^ | 
 |    | | 
 |    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! | 
 |    = help: `#[macro_export]` can only be applied to macro defs | 
 |  | 
 | warning: `#[macro_export]` attribute cannot be used on inherent impl blocks | 
 |   --> $DIR/issue-43106-gating-of-builtin-attrs.rs:246:5 | 
 |    | | 
 | LL |     #[macro_export] impl S { } | 
 |    |     ^^^^^^^^^^^^^^^ | 
 |    | | 
 |    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! | 
 |    = help: `#[macro_export]` can only be applied to macro defs | 
 |  | 
 | warning: `#[path]` attribute cannot be used on functions | 
 |   --> $DIR/issue-43106-gating-of-builtin-attrs.rs:289:5 | 
 |    | | 
 | LL |     #[path = "3800"] fn f() { } | 
 |    |     ^^^^^^^^^^^^^^^^ | 
 |    | | 
 |    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! | 
 |    = help: `#[path]` can only be applied to modules | 
 |  | 
 | warning: `#[path]` attribute cannot be used on structs | 
 |   --> $DIR/issue-43106-gating-of-builtin-attrs.rs:295:5 | 
 |    | | 
 | LL |     #[path = "3800"]  struct S; | 
 |    |     ^^^^^^^^^^^^^^^^ | 
 |    | | 
 |    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! | 
 |    = help: `#[path]` can only be applied to modules | 
 |  | 
 | warning: `#[path]` attribute cannot be used on type aliases | 
 |   --> $DIR/issue-43106-gating-of-builtin-attrs.rs:301:5 | 
 |    | | 
 | LL |     #[path = "3800"] type T = S; | 
 |    |     ^^^^^^^^^^^^^^^^ | 
 |    | | 
 |    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! | 
 |    = help: `#[path]` can only be applied to modules | 
 |  | 
 | warning: `#[path]` attribute cannot be used on inherent impl blocks | 
 |   --> $DIR/issue-43106-gating-of-builtin-attrs.rs:307:5 | 
 |    | | 
 | LL |     #[path = "3800"] impl S { } | 
 |    |     ^^^^^^^^^^^^^^^^ | 
 |    | | 
 |    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! | 
 |    = help: `#[path]` can only be applied to modules | 
 |  | 
 | warning: `#[automatically_derived]` attribute cannot be used on modules | 
 |   --> $DIR/issue-43106-gating-of-builtin-attrs.rs:314:1 | 
 |    | | 
 | LL | #[automatically_derived] | 
 |    | ^^^^^^^^^^^^^^^^^^^^^^^^ | 
 |    | | 
 |    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! | 
 |    = help: `#[automatically_derived]` can only be applied to trait impl blocks | 
 |  | 
 | warning: `#[automatically_derived]` attribute cannot be used on modules | 
 |   --> $DIR/issue-43106-gating-of-builtin-attrs.rs:320:17 | 
 |    | | 
 | LL |     mod inner { #![automatically_derived] } | 
 |    |                 ^^^^^^^^^^^^^^^^^^^^^^^^^ | 
 |    | | 
 |    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! | 
 |    = help: `#[automatically_derived]` can only be applied to trait impl blocks | 
 |  | 
 | warning: `#[automatically_derived]` attribute cannot be used on functions | 
 |   --> $DIR/issue-43106-gating-of-builtin-attrs.rs:326:5 | 
 |    | | 
 | LL |     #[automatically_derived] fn f() { } | 
 |    |     ^^^^^^^^^^^^^^^^^^^^^^^^ | 
 |    | | 
 |    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! | 
 |    = help: `#[automatically_derived]` can only be applied to trait impl blocks | 
 |  | 
 | warning: `#[automatically_derived]` attribute cannot be used on structs | 
 |   --> $DIR/issue-43106-gating-of-builtin-attrs.rs:332:5 | 
 |    | | 
 | LL |     #[automatically_derived] struct S; | 
 |    |     ^^^^^^^^^^^^^^^^^^^^^^^^ | 
 |    | | 
 |    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! | 
 |    = help: `#[automatically_derived]` can only be applied to trait impl blocks | 
 |  | 
 | warning: `#[automatically_derived]` attribute cannot be used on type aliases | 
 |   --> $DIR/issue-43106-gating-of-builtin-attrs.rs:338:5 | 
 |    | | 
 | LL |     #[automatically_derived] type T = S; | 
 |    |     ^^^^^^^^^^^^^^^^^^^^^^^^ | 
 |    | | 
 |    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! | 
 |    = help: `#[automatically_derived]` can only be applied to trait impl blocks | 
 |  | 
 | warning: `#[automatically_derived]` attribute cannot be used on traits | 
 |   --> $DIR/issue-43106-gating-of-builtin-attrs.rs:344:5 | 
 |    | | 
 | LL |     #[automatically_derived] trait W { } | 
 |    |     ^^^^^^^^^^^^^^^^^^^^^^^^ | 
 |    | | 
 |    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! | 
 |    = help: `#[automatically_derived]` can only be applied to trait impl blocks | 
 |  | 
 | warning: `#[automatically_derived]` attribute cannot be used on inherent impl blocks | 
 |   --> $DIR/issue-43106-gating-of-builtin-attrs.rs:350:5 | 
 |    | | 
 | LL |     #[automatically_derived] impl S { } | 
 |    |     ^^^^^^^^^^^^^^^^^^^^^^^^ | 
 |    | | 
 |    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! | 
 |    = help: `#[automatically_derived]` can only be applied to trait impl blocks | 
 |  | 
 | warning: `#[no_mangle]` attribute cannot be used on modules | 
 |   --> $DIR/issue-43106-gating-of-builtin-attrs.rs:359:1 | 
 |    | | 
 | LL | #[no_mangle] | 
 |    | ^^^^^^^^^^^^ | 
 |    | | 
 |    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! | 
 |    = help: `#[no_mangle]` can be applied to functions and statics | 
 |  | 
 | warning: `#[no_mangle]` attribute cannot be used on modules | 
 |   --> $DIR/issue-43106-gating-of-builtin-attrs.rs:365:17 | 
 |    | | 
 | LL |     mod inner { #![no_mangle] } | 
 |    |                 ^^^^^^^^^^^^^ | 
 |    | | 
 |    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! | 
 |    = help: `#[no_mangle]` can be applied to functions and statics | 
 |  | 
 | warning: `#[no_mangle]` attribute cannot be used on structs | 
 |   --> $DIR/issue-43106-gating-of-builtin-attrs.rs:373:5 | 
 |    | | 
 | LL |     #[no_mangle] struct S; | 
 |    |     ^^^^^^^^^^^^ | 
 |    | | 
 |    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! | 
 |    = help: `#[no_mangle]` can be applied to functions and statics | 
 |  | 
 | warning: `#[no_mangle]` attribute cannot be used on type aliases | 
 |   --> $DIR/issue-43106-gating-of-builtin-attrs.rs:379:5 | 
 |    | | 
 | LL |     #[no_mangle] type T = S; | 
 |    |     ^^^^^^^^^^^^ | 
 |    | | 
 |    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! | 
 |    = help: `#[no_mangle]` can be applied to functions and statics | 
 |  | 
 | warning: `#[no_mangle]` attribute cannot be used on inherent impl blocks | 
 |   --> $DIR/issue-43106-gating-of-builtin-attrs.rs:385:5 | 
 |    | | 
 | LL |     #[no_mangle] impl S { } | 
 |    |     ^^^^^^^^^^^^ | 
 |    | | 
 |    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! | 
 |    = help: `#[no_mangle]` can be applied to functions and statics | 
 |  | 
 | warning: `#[no_mangle]` attribute cannot be used on required trait methods | 
 |   --> $DIR/issue-43106-gating-of-builtin-attrs.rs:392:9 | 
 |    | | 
 | LL |         #[no_mangle] fn foo(); | 
 |    |         ^^^^^^^^^^^^ | 
 |    | | 
 |    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! | 
 |    = help: `#[no_mangle]` can be applied to functions, inherent methods, statics, and trait methods in impl blocks | 
 |  | 
 | warning: `#[no_mangle]` attribute cannot be used on provided trait methods | 
 |   --> $DIR/issue-43106-gating-of-builtin-attrs.rs:398:9 | 
 |    | | 
 | LL |         #[no_mangle] fn bar() {} | 
 |    |         ^^^^^^^^^^^^ | 
 |    | | 
 |    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! | 
 |    = help: `#[no_mangle]` can be applied to functions, inherent methods, statics, and trait methods in impl blocks | 
 |  | 
 | warning: `#[should_panic]` attribute cannot be used on modules | 
 |   --> $DIR/issue-43106-gating-of-builtin-attrs.rs:406:1 | 
 |    | | 
 | LL | #[should_panic] | 
 |    | ^^^^^^^^^^^^^^^ | 
 |    | | 
 |    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! | 
 |    = help: `#[should_panic]` can only be applied to functions | 
 |  | 
 | warning: `#[should_panic]` attribute cannot be used on modules | 
 |   --> $DIR/issue-43106-gating-of-builtin-attrs.rs:412:17 | 
 |    | | 
 | LL |     mod inner { #![should_panic] } | 
 |    |                 ^^^^^^^^^^^^^^^^ | 
 |    | | 
 |    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! | 
 |    = help: `#[should_panic]` can only be applied to functions | 
 |  | 
 | warning: `#[should_panic]` attribute cannot be used on structs | 
 |   --> $DIR/issue-43106-gating-of-builtin-attrs.rs:420:5 | 
 |    | | 
 | LL |     #[should_panic] struct S; | 
 |    |     ^^^^^^^^^^^^^^^ | 
 |    | | 
 |    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! | 
 |    = help: `#[should_panic]` can only be applied to functions | 
 |  | 
 | warning: `#[should_panic]` attribute cannot be used on type aliases | 
 |   --> $DIR/issue-43106-gating-of-builtin-attrs.rs:426:5 | 
 |    | | 
 | LL |     #[should_panic] type T = S; | 
 |    |     ^^^^^^^^^^^^^^^ | 
 |    | | 
 |    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! | 
 |    = help: `#[should_panic]` can only be applied to functions | 
 |  | 
 | warning: `#[should_panic]` attribute cannot be used on inherent impl blocks | 
 |   --> $DIR/issue-43106-gating-of-builtin-attrs.rs:432:5 | 
 |    | | 
 | LL |     #[should_panic] impl S { } | 
 |    |     ^^^^^^^^^^^^^^^ | 
 |    | | 
 |    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! | 
 |    = help: `#[should_panic]` can only be applied to functions | 
 |  | 
 | warning: `#[ignore]` attribute cannot be used on modules | 
 |   --> $DIR/issue-43106-gating-of-builtin-attrs.rs:439:1 | 
 |    | | 
 | LL | #[ignore] | 
 |    | ^^^^^^^^^ | 
 |    | | 
 |    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! | 
 |    = help: `#[ignore]` can only be applied to functions | 
 |  | 
 | warning: `#[ignore]` attribute cannot be used on modules | 
 |   --> $DIR/issue-43106-gating-of-builtin-attrs.rs:445:17 | 
 |    | | 
 | LL |     mod inner { #![ignore] } | 
 |    |                 ^^^^^^^^^^ | 
 |    | | 
 |    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! | 
 |    = help: `#[ignore]` can only be applied to functions | 
 |  | 
 | warning: `#[ignore]` attribute cannot be used on structs | 
 |   --> $DIR/issue-43106-gating-of-builtin-attrs.rs:453:5 | 
 |    | | 
 | LL |     #[ignore] struct S; | 
 |    |     ^^^^^^^^^ | 
 |    | | 
 |    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! | 
 |    = help: `#[ignore]` can only be applied to functions | 
 |  | 
 | warning: `#[ignore]` attribute cannot be used on type aliases | 
 |   --> $DIR/issue-43106-gating-of-builtin-attrs.rs:459:5 | 
 |    | | 
 | LL |     #[ignore] type T = S; | 
 |    |     ^^^^^^^^^ | 
 |    | | 
 |    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! | 
 |    = help: `#[ignore]` can only be applied to functions | 
 |  | 
 | warning: `#[ignore]` attribute cannot be used on inherent impl blocks | 
 |   --> $DIR/issue-43106-gating-of-builtin-attrs.rs:465:5 | 
 |    | | 
 | LL |     #[ignore] impl S { } | 
 |    |     ^^^^^^^^^ | 
 |    | | 
 |    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! | 
 |    = help: `#[ignore]` can only be applied to functions | 
 |  | 
 | warning: `#[no_implicit_prelude]` attribute cannot be used on functions | 
 |   --> $DIR/issue-43106-gating-of-builtin-attrs.rs:476:5 | 
 |    | | 
 | LL |     #[no_implicit_prelude] fn f() { } | 
 |    |     ^^^^^^^^^^^^^^^^^^^^^^ | 
 |    | | 
 |    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! | 
 |    = help: `#[no_implicit_prelude]` can be applied to crates and modules | 
 |  | 
 | warning: `#[no_implicit_prelude]` attribute cannot be used on structs | 
 |   --> $DIR/issue-43106-gating-of-builtin-attrs.rs:482:5 | 
 |    | | 
 | LL |     #[no_implicit_prelude] struct S; | 
 |    |     ^^^^^^^^^^^^^^^^^^^^^^ | 
 |    | | 
 |    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! | 
 |    = help: `#[no_implicit_prelude]` can be applied to crates and modules | 
 |  | 
 | warning: `#[no_implicit_prelude]` attribute cannot be used on type aliases | 
 |   --> $DIR/issue-43106-gating-of-builtin-attrs.rs:488:5 | 
 |    | | 
 | LL |     #[no_implicit_prelude] type T = S; | 
 |    |     ^^^^^^^^^^^^^^^^^^^^^^ | 
 |    | | 
 |    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! | 
 |    = help: `#[no_implicit_prelude]` can be applied to crates and modules | 
 |  | 
 | warning: `#[no_implicit_prelude]` attribute cannot be used on inherent impl blocks | 
 |   --> $DIR/issue-43106-gating-of-builtin-attrs.rs:494:5 | 
 |    | | 
 | LL |     #[no_implicit_prelude] impl S { } | 
 |    |     ^^^^^^^^^^^^^^^^^^^^^^ | 
 |    | | 
 |    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! | 
 |    = help: `#[no_implicit_prelude]` can be applied to crates and modules | 
 |  | 
 | warning: `#[macro_escape]` attribute cannot be used on functions | 
 |   --> $DIR/issue-43106-gating-of-builtin-attrs.rs:533:5 | 
 |    | | 
 | LL |     #[macro_escape] fn f() { } | 
 |    |     ^^^^^^^^^^^^^^^ | 
 |    | | 
 |    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! | 
 |    = help: `#[macro_escape]` can be applied to crates, extern crates, and modules | 
 |  | 
 | warning: `#[macro_escape]` attribute cannot be used on structs | 
 |   --> $DIR/issue-43106-gating-of-builtin-attrs.rs:539:5 | 
 |    | | 
 | LL |     #[macro_escape] struct S; | 
 |    |     ^^^^^^^^^^^^^^^ | 
 |    | | 
 |    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! | 
 |    = help: `#[macro_escape]` can be applied to crates, extern crates, and modules | 
 |  | 
 | warning: `#[macro_escape]` attribute cannot be used on type aliases | 
 |   --> $DIR/issue-43106-gating-of-builtin-attrs.rs:545:5 | 
 |    | | 
 | LL |     #[macro_escape] type T = S; | 
 |    |     ^^^^^^^^^^^^^^^ | 
 |    | | 
 |    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! | 
 |    = help: `#[macro_escape]` can be applied to crates, extern crates, and modules | 
 |  | 
 | warning: `#[macro_escape]` attribute cannot be used on inherent impl blocks | 
 |   --> $DIR/issue-43106-gating-of-builtin-attrs.rs:551:5 | 
 |    | | 
 | LL |     #[macro_escape] impl S { } | 
 |    |     ^^^^^^^^^^^^^^^ | 
 |    | | 
 |    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! | 
 |    = help: `#[macro_escape]` can be applied to crates, extern crates, and modules | 
 |  | 
 | warning: crate-level attribute should be an inner attribute: add an exclamation mark: `#![no_std]` | 
 |   --> $DIR/issue-43106-gating-of-builtin-attrs.rs:558:1 | 
 |    | | 
 | LL | #[no_std] | 
 |    | ^^^^^^^^^ | 
 |    | | 
 | note: This attribute does not have an `!`, which means it is applied to this module | 
 |   --> $DIR/issue-43106-gating-of-builtin-attrs.rs:560:1 | 
 |    | | 
 | LL | / mod no_std { | 
 | LL | | | 
 | LL | |     mod inner { #![no_std] } | 
 | ...  | | 
 | LL | | } | 
 |    | |_^ | 
 |  | 
 | warning: the `#![no_std]` attribute can only be used at the crate root | 
 |   --> $DIR/issue-43106-gating-of-builtin-attrs.rs:562:17 | 
 |    | | 
 | LL |     mod inner { #![no_std] } | 
 |    |                 ^^^^^^^^^^ | 
 |  | 
 | warning: crate-level attribute should be an inner attribute: add an exclamation mark: `#![no_std]` | 
 |   --> $DIR/issue-43106-gating-of-builtin-attrs.rs:565:5 | 
 |    | | 
 | LL |     #[no_std] fn f() { } | 
 |    |     ^^^^^^^^^ | 
 |    | | 
 | note: This attribute does not have an `!`, which means it is applied to this function | 
 |   --> $DIR/issue-43106-gating-of-builtin-attrs.rs:565:15 | 
 |    | | 
 | LL |     #[no_std] fn f() { } | 
 |    |               ^^^^^^^^^^ | 
 |  | 
 | warning: crate-level attribute should be an inner attribute: add an exclamation mark: `#![no_std]` | 
 |   --> $DIR/issue-43106-gating-of-builtin-attrs.rs:569:5 | 
 |    | | 
 | LL |     #[no_std] struct S; | 
 |    |     ^^^^^^^^^ | 
 |    | | 
 | note: This attribute does not have an `!`, which means it is applied to this struct | 
 |   --> $DIR/issue-43106-gating-of-builtin-attrs.rs:569:15 | 
 |    | | 
 | LL |     #[no_std] struct S; | 
 |    |               ^^^^^^^^^ | 
 |  | 
 | warning: crate-level attribute should be an inner attribute: add an exclamation mark: `#![no_std]` | 
 |   --> $DIR/issue-43106-gating-of-builtin-attrs.rs:573:5 | 
 |    | | 
 | LL |     #[no_std] type T = S; | 
 |    |     ^^^^^^^^^ | 
 |    | | 
 | note: This attribute does not have an `!`, which means it is applied to this type alias | 
 |   --> $DIR/issue-43106-gating-of-builtin-attrs.rs:573:15 | 
 |    | | 
 | LL |     #[no_std] type T = S; | 
 |    |               ^^^^^^^^^^^ | 
 |  | 
 | warning: crate-level attribute should be an inner attribute: add an exclamation mark: `#![no_std]` | 
 |   --> $DIR/issue-43106-gating-of-builtin-attrs.rs:577:5 | 
 |    | | 
 | LL |     #[no_std] impl S { } | 
 |    |     ^^^^^^^^^ | 
 |    | | 
 | note: This attribute does not have an `!`, which means it is applied to this implementation block | 
 |   --> $DIR/issue-43106-gating-of-builtin-attrs.rs:577:15 | 
 |    | | 
 | LL |     #[no_std] impl S { } | 
 |    |               ^^^^^^^^^^ | 
 |  | 
 | warning: `#[cold]` attribute cannot be used on modules | 
 |   --> $DIR/issue-43106-gating-of-builtin-attrs.rs:599:1 | 
 |    | | 
 | LL | #[cold] | 
 |    | ^^^^^^^ | 
 |    | | 
 |    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! | 
 |    = help: `#[cold]` can only be applied to functions | 
 |  | 
 | warning: `#[cold]` attribute cannot be used on modules | 
 |   --> $DIR/issue-43106-gating-of-builtin-attrs.rs:606:17 | 
 |    | | 
 | LL |     mod inner { #![cold] } | 
 |    |                 ^^^^^^^^ | 
 |    | | 
 |    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! | 
 |    = help: `#[cold]` can only be applied to functions | 
 |  | 
 | warning: `#[cold]` attribute cannot be used on structs | 
 |   --> $DIR/issue-43106-gating-of-builtin-attrs.rs:614:5 | 
 |    | | 
 | LL |     #[cold] struct S; | 
 |    |     ^^^^^^^ | 
 |    | | 
 |    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! | 
 |    = help: `#[cold]` can only be applied to functions | 
 |  | 
 | warning: `#[cold]` attribute cannot be used on type aliases | 
 |   --> $DIR/issue-43106-gating-of-builtin-attrs.rs:620:5 | 
 |    | | 
 | LL |     #[cold] type T = S; | 
 |    |     ^^^^^^^ | 
 |    | | 
 |    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! | 
 |    = help: `#[cold]` can only be applied to functions | 
 |  | 
 | warning: `#[cold]` attribute cannot be used on inherent impl blocks | 
 |   --> $DIR/issue-43106-gating-of-builtin-attrs.rs:626:5 | 
 |    | | 
 | LL |     #[cold] impl S { } | 
 |    |     ^^^^^^^ | 
 |    | | 
 |    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! | 
 |    = help: `#[cold]` can only be applied to functions | 
 |  | 
 | warning: `#[link_name]` attribute cannot be used on modules | 
 |   --> $DIR/issue-43106-gating-of-builtin-attrs.rs:633:1 | 
 |    | | 
 | LL | #[link_name = "1900"] | 
 |    | ^^^^^^^^^^^^^^^^^^^^^ | 
 |    | | 
 |    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! | 
 |    = help: `#[link_name]` can be applied to foreign functions and foreign statics | 
 |  | 
 | warning: `#[link_name]` attribute cannot be used on foreign modules | 
 |   --> $DIR/issue-43106-gating-of-builtin-attrs.rs:639:5 | 
 |    | | 
 | LL |     #[link_name = "1900"] | 
 |    |     ^^^^^^^^^^^^^^^^^^^^^ | 
 |    | | 
 |    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! | 
 |    = help: `#[link_name]` can be applied to foreign functions and foreign statics | 
 |  | 
 | warning: `#[link_name]` attribute cannot be used on modules | 
 |   --> $DIR/issue-43106-gating-of-builtin-attrs.rs:646:17 | 
 |    | | 
 | LL |     mod inner { #![link_name="1900"] } | 
 |    |                 ^^^^^^^^^^^^^^^^^^^^ | 
 |    | | 
 |    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! | 
 |    = help: `#[link_name]` can be applied to foreign functions and foreign statics | 
 |  | 
 | warning: `#[link_name]` attribute cannot be used on functions | 
 |   --> $DIR/issue-43106-gating-of-builtin-attrs.rs:652:5 | 
 |    | | 
 | LL |     #[link_name = "1900"] fn f() { } | 
 |    |     ^^^^^^^^^^^^^^^^^^^^^ | 
 |    | | 
 |    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! | 
 |    = help: `#[link_name]` can be applied to foreign functions and foreign statics | 
 |  | 
 | warning: `#[link_name]` attribute cannot be used on structs | 
 |   --> $DIR/issue-43106-gating-of-builtin-attrs.rs:658:5 | 
 |    | | 
 | LL |     #[link_name = "1900"] struct S; | 
 |    |     ^^^^^^^^^^^^^^^^^^^^^ | 
 |    | | 
 |    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! | 
 |    = help: `#[link_name]` can be applied to foreign functions and foreign statics | 
 |  | 
 | warning: `#[link_name]` attribute cannot be used on type aliases | 
 |   --> $DIR/issue-43106-gating-of-builtin-attrs.rs:664:5 | 
 |    | | 
 | LL |     #[link_name = "1900"] type T = S; | 
 |    |     ^^^^^^^^^^^^^^^^^^^^^ | 
 |    | | 
 |    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! | 
 |    = help: `#[link_name]` can be applied to foreign functions and foreign statics | 
 |  | 
 | warning: `#[link_name]` attribute cannot be used on inherent impl blocks | 
 |   --> $DIR/issue-43106-gating-of-builtin-attrs.rs:670:5 | 
 |    | | 
 | LL |     #[link_name = "1900"] impl S { } | 
 |    |     ^^^^^^^^^^^^^^^^^^^^^ | 
 |    | | 
 |    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! | 
 |    = help: `#[link_name]` can be applied to foreign functions and foreign statics | 
 |  | 
 | warning: `#[link_section]` attribute cannot be used on modules | 
 |   --> $DIR/issue-43106-gating-of-builtin-attrs.rs:677:1 | 
 |    | | 
 | LL | #[link_section = "1800"] | 
 |    | ^^^^^^^^^^^^^^^^^^^^^^^^ | 
 |    | | 
 |    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! | 
 |    = help: `#[link_section]` can be applied to functions and statics | 
 |  | 
 | warning: `#[link_section]` attribute cannot be used on modules | 
 |   --> $DIR/issue-43106-gating-of-builtin-attrs.rs:683:17 | 
 |    | | 
 | LL |     mod inner { #![link_section="1800"] } | 
 |    |                 ^^^^^^^^^^^^^^^^^^^^^^^ | 
 |    | | 
 |    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! | 
 |    = help: `#[link_section]` can be applied to functions and statics | 
 |  | 
 | warning: `#[link_section]` attribute cannot be used on structs | 
 |   --> $DIR/issue-43106-gating-of-builtin-attrs.rs:691:5 | 
 |    | | 
 | LL |     #[link_section = "1800"] struct S; | 
 |    |     ^^^^^^^^^^^^^^^^^^^^^^^^ | 
 |    | | 
 |    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! | 
 |    = help: `#[link_section]` can be applied to functions and statics | 
 |  | 
 | warning: `#[link_section]` attribute cannot be used on type aliases | 
 |   --> $DIR/issue-43106-gating-of-builtin-attrs.rs:697:5 | 
 |    | | 
 | LL |     #[link_section = "1800"] type T = S; | 
 |    |     ^^^^^^^^^^^^^^^^^^^^^^^^ | 
 |    | | 
 |    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! | 
 |    = help: `#[link_section]` can be applied to functions and statics | 
 |  | 
 | warning: `#[link_section]` attribute cannot be used on inherent impl blocks | 
 |   --> $DIR/issue-43106-gating-of-builtin-attrs.rs:703:5 | 
 |    | | 
 | LL |     #[link_section = "1800"] impl S { } | 
 |    |     ^^^^^^^^^^^^^^^^^^^^^^^^ | 
 |    | | 
 |    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! | 
 |    = help: `#[link_section]` can be applied to functions and statics | 
 |  | 
 | warning: `#[link_section]` attribute cannot be used on traits | 
 |   --> $DIR/issue-43106-gating-of-builtin-attrs.rs:709:5 | 
 |    | | 
 | LL |     #[link_section = "1800"] | 
 |    |     ^^^^^^^^^^^^^^^^^^^^^^^^ | 
 |    | | 
 |    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! | 
 |    = help: `#[link_section]` can be applied to functions and statics | 
 |  | 
 | warning: `#[must_use]` attribute cannot be used on modules | 
 |   --> $DIR/issue-43106-gating-of-builtin-attrs.rs:790:1 | 
 |    | | 
 | LL | #[must_use] | 
 |    | ^^^^^^^^^^^ | 
 |    | | 
 |    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! | 
 |    = help: `#[must_use]` can be applied to data types, functions, traits, and unions | 
 |  | 
 | warning: `#[must_use]` attribute cannot be used on modules | 
 |   --> $DIR/issue-43106-gating-of-builtin-attrs.rs:795:17 | 
 |    | | 
 | LL |     mod inner { #![must_use] } | 
 |    |                 ^^^^^^^^^^^^ | 
 |    | | 
 |    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! | 
 |    = help: `#[must_use]` can be applied to data types, functions, traits, and unions | 
 |  | 
 | warning: `#[must_use]` attribute cannot be used on type aliases | 
 |   --> $DIR/issue-43106-gating-of-builtin-attrs.rs:804:5 | 
 |    | | 
 | LL |     #[must_use] type T = S; | 
 |    |     ^^^^^^^^^^^ | 
 |    | | 
 |    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! | 
 |    = help: `#[must_use]` can be applied to data types, functions, traits, and unions | 
 |  | 
 | warning: `#[must_use]` attribute cannot be used on inherent impl blocks | 
 |   --> $DIR/issue-43106-gating-of-builtin-attrs.rs:809:5 | 
 |    | | 
 | LL |     #[must_use] impl S { } | 
 |    |     ^^^^^^^^^^^ | 
 |    | | 
 |    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! | 
 |    = help: `#[must_use]` can be applied to data types, functions, traits, and unions | 
 |  | 
 | warning: crate-level attribute should be an inner attribute: add an exclamation mark: `#![crate_name]` | 
 |   --> $DIR/issue-43106-gating-of-builtin-attrs.rs:841:1 | 
 |    | | 
 | LL | #[crate_name = "0900"] | 
 |    | ^^^^^^^^^^^^^^^^^^^^^^ | 
 |    | | 
 | note: This attribute does not have an `!`, which means it is applied to this module | 
 |   --> $DIR/issue-43106-gating-of-builtin-attrs.rs:843:1 | 
 |    | | 
 | LL | / mod crate_name { | 
 | LL | | | 
 | LL | |     mod inner { #![crate_name="0900"] } | 
 | ...  | | 
 | LL | | } | 
 |    | |_^ | 
 |  | 
 | warning: the `#![crate_name]` attribute can only be used at the crate root | 
 |   --> $DIR/issue-43106-gating-of-builtin-attrs.rs:845:17 | 
 |    | | 
 | LL |     mod inner { #![crate_name="0900"] } | 
 |    |                 ^^^^^^^^^^^^^^^^^^^^^ | 
 |  | 
 | warning: crate-level attribute should be an inner attribute: add an exclamation mark: `#![crate_name]` | 
 |   --> $DIR/issue-43106-gating-of-builtin-attrs.rs:848:5 | 
 |    | | 
 | LL |     #[crate_name = "0900"] fn f() { } | 
 |    |     ^^^^^^^^^^^^^^^^^^^^^^ | 
 |    | | 
 | note: This attribute does not have an `!`, which means it is applied to this function | 
 |   --> $DIR/issue-43106-gating-of-builtin-attrs.rs:848:28 | 
 |    | | 
 | LL |     #[crate_name = "0900"] fn f() { } | 
 |    |                            ^^^^^^^^^^ | 
 |  | 
 | warning: crate-level attribute should be an inner attribute: add an exclamation mark: `#![crate_name]` | 
 |   --> $DIR/issue-43106-gating-of-builtin-attrs.rs:852:5 | 
 |    | | 
 | LL |     #[crate_name = "0900"] struct S; | 
 |    |     ^^^^^^^^^^^^^^^^^^^^^^ | 
 |    | | 
 | note: This attribute does not have an `!`, which means it is applied to this struct | 
 |   --> $DIR/issue-43106-gating-of-builtin-attrs.rs:852:28 | 
 |    | | 
 | LL |     #[crate_name = "0900"] struct S; | 
 |    |                            ^^^^^^^^^ | 
 |  | 
 | warning: crate-level attribute should be an inner attribute: add an exclamation mark: `#![crate_name]` | 
 |   --> $DIR/issue-43106-gating-of-builtin-attrs.rs:856:5 | 
 |    | | 
 | LL |     #[crate_name = "0900"] type T = S; | 
 |    |     ^^^^^^^^^^^^^^^^^^^^^^ | 
 |    | | 
 | note: This attribute does not have an `!`, which means it is applied to this type alias | 
 |   --> $DIR/issue-43106-gating-of-builtin-attrs.rs:856:28 | 
 |    | | 
 | LL |     #[crate_name = "0900"] type T = S; | 
 |    |                            ^^^^^^^^^^^ | 
 |  | 
 | warning: crate-level attribute should be an inner attribute: add an exclamation mark: `#![crate_name]` | 
 |   --> $DIR/issue-43106-gating-of-builtin-attrs.rs:860:5 | 
 |    | | 
 | LL |     #[crate_name = "0900"] impl S { } | 
 |    |     ^^^^^^^^^^^^^^^^^^^^^^ | 
 |    | | 
 | note: This attribute does not have an `!`, which means it is applied to this implementation block | 
 |   --> $DIR/issue-43106-gating-of-builtin-attrs.rs:860:28 | 
 |    | | 
 | LL |     #[crate_name = "0900"] impl S { } | 
 |    |                            ^^^^^^^^^^ | 
 |  | 
 | warning: crate-level attribute should be an inner attribute: add an exclamation mark: `#![recursion_limit]` | 
 |   --> $DIR/issue-43106-gating-of-builtin-attrs.rs:962:1 | 
 |    | | 
 | LL | #[recursion_limit="0200"] | 
 |    | ^^^^^^^^^^^^^^^^^^^^^^^^^ | 
 |    | | 
 | note: This attribute does not have an `!`, which means it is applied to this module | 
 |   --> $DIR/issue-43106-gating-of-builtin-attrs.rs:964:1 | 
 |    | | 
 | LL | / mod recursion_limit { | 
 | LL | | | 
 | LL | |     mod inner { #![recursion_limit="0200"] } | 
 | ...  | | 
 | LL | | } | 
 |    | |_^ | 
 |  | 
 | warning: the `#![recursion_limit]` attribute can only be used at the crate root | 
 |   --> $DIR/issue-43106-gating-of-builtin-attrs.rs:966:17 | 
 |    | | 
 | LL |     mod inner { #![recursion_limit="0200"] } | 
 |    |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^ | 
 |  | 
 | warning: crate-level attribute should be an inner attribute: add an exclamation mark: `#![recursion_limit]` | 
 |   --> $DIR/issue-43106-gating-of-builtin-attrs.rs:969:5 | 
 |    | | 
 | LL |     #[recursion_limit="0200"] fn f() { } | 
 |    |     ^^^^^^^^^^^^^^^^^^^^^^^^^ | 
 |    | | 
 | note: This attribute does not have an `!`, which means it is applied to this function | 
 |   --> $DIR/issue-43106-gating-of-builtin-attrs.rs:969:31 | 
 |    | | 
 | LL |     #[recursion_limit="0200"] fn f() { } | 
 |    |                               ^^^^^^^^^^ | 
 |  | 
 | warning: crate-level attribute should be an inner attribute: add an exclamation mark: `#![recursion_limit]` | 
 |   --> $DIR/issue-43106-gating-of-builtin-attrs.rs:973:5 | 
 |    | | 
 | LL |     #[recursion_limit="0200"] struct S; | 
 |    |     ^^^^^^^^^^^^^^^^^^^^^^^^^ | 
 |    | | 
 | note: This attribute does not have an `!`, which means it is applied to this struct | 
 |   --> $DIR/issue-43106-gating-of-builtin-attrs.rs:973:31 | 
 |    | | 
 | LL |     #[recursion_limit="0200"] struct S; | 
 |    |                               ^^^^^^^^^ | 
 |  | 
 | warning: crate-level attribute should be an inner attribute: add an exclamation mark: `#![recursion_limit]` | 
 |   --> $DIR/issue-43106-gating-of-builtin-attrs.rs:977:5 | 
 |    | | 
 | LL |     #[recursion_limit="0200"] type T = S; | 
 |    |     ^^^^^^^^^^^^^^^^^^^^^^^^^ | 
 |    | | 
 | note: This attribute does not have an `!`, which means it is applied to this type alias | 
 |   --> $DIR/issue-43106-gating-of-builtin-attrs.rs:977:31 | 
 |    | | 
 | LL |     #[recursion_limit="0200"] type T = S; | 
 |    |                               ^^^^^^^^^^^ | 
 |  | 
 | warning: crate-level attribute should be an inner attribute: add an exclamation mark: `#![recursion_limit]` | 
 |   --> $DIR/issue-43106-gating-of-builtin-attrs.rs:981:5 | 
 |    | | 
 | LL |     #[recursion_limit="0200"] impl S { } | 
 |    |     ^^^^^^^^^^^^^^^^^^^^^^^^^ | 
 |    | | 
 | note: This attribute does not have an `!`, which means it is applied to this implementation block | 
 |   --> $DIR/issue-43106-gating-of-builtin-attrs.rs:981:31 | 
 |    | | 
 | LL |     #[recursion_limit="0200"] impl S { } | 
 |    |                               ^^^^^^^^^^ | 
 |  | 
 | warning: crate-level attribute should be an inner attribute: add an exclamation mark: `#![type_length_limit]` | 
 |   --> $DIR/issue-43106-gating-of-builtin-attrs.rs:986:1 | 
 |    | | 
 | LL | #[type_length_limit="0100"] | 
 |    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ | 
 |    | | 
 | note: This attribute does not have an `!`, which means it is applied to this module | 
 |   --> $DIR/issue-43106-gating-of-builtin-attrs.rs:988:1 | 
 |    | | 
 | LL | / mod type_length_limit { | 
 | LL | | | 
 | LL | |     mod inner { #![type_length_limit="0100"] } | 
 | ...  | | 
 | LL | | } | 
 |    | |_^ | 
 |  | 
 | warning: the `#![type_length_limit]` attribute can only be used at the crate root | 
 |   --> $DIR/issue-43106-gating-of-builtin-attrs.rs:990:17 | 
 |    | | 
 | LL |     mod inner { #![type_length_limit="0100"] } | 
 |    |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | 
 |  | 
 | warning: crate-level attribute should be an inner attribute: add an exclamation mark: `#![type_length_limit]` | 
 |   --> $DIR/issue-43106-gating-of-builtin-attrs.rs:993:5 | 
 |    | | 
 | LL |     #[type_length_limit="0100"] fn f() { } | 
 |    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^ | 
 |    | | 
 | note: This attribute does not have an `!`, which means it is applied to this function | 
 |   --> $DIR/issue-43106-gating-of-builtin-attrs.rs:993:33 | 
 |    | | 
 | LL |     #[type_length_limit="0100"] fn f() { } | 
 |    |                                 ^^^^^^^^^^ | 
 |  | 
 | warning: crate-level attribute should be an inner attribute: add an exclamation mark: `#![type_length_limit]` | 
 |   --> $DIR/issue-43106-gating-of-builtin-attrs.rs:997:5 | 
 |    | | 
 | LL |     #[type_length_limit="0100"] struct S; | 
 |    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^ | 
 |    | | 
 | note: This attribute does not have an `!`, which means it is applied to this struct | 
 |   --> $DIR/issue-43106-gating-of-builtin-attrs.rs:997:33 | 
 |    | | 
 | LL |     #[type_length_limit="0100"] struct S; | 
 |    |                                 ^^^^^^^^^ | 
 |  | 
 | warning: crate-level attribute should be an inner attribute: add an exclamation mark: `#![type_length_limit]` | 
 |   --> $DIR/issue-43106-gating-of-builtin-attrs.rs:1001:5 | 
 |    | | 
 | LL |     #[type_length_limit="0100"] type T = S; | 
 |    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^ | 
 |    | | 
 | note: This attribute does not have an `!`, which means it is applied to this type alias | 
 |   --> $DIR/issue-43106-gating-of-builtin-attrs.rs:1001:33 | 
 |    | | 
 | LL |     #[type_length_limit="0100"] type T = S; | 
 |    |                                 ^^^^^^^^^^^ | 
 |  | 
 | warning: crate-level attribute should be an inner attribute: add an exclamation mark: `#![type_length_limit]` | 
 |   --> $DIR/issue-43106-gating-of-builtin-attrs.rs:1005:5 | 
 |    | | 
 | LL |     #[type_length_limit="0100"] impl S { } | 
 |    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^ | 
 |    | | 
 | note: This attribute does not have an `!`, which means it is applied to this implementation block | 
 |   --> $DIR/issue-43106-gating-of-builtin-attrs.rs:1005:33 | 
 |    | | 
 | LL |     #[type_length_limit="0100"] impl S { } | 
 |    |                                 ^^^^^^^^^^ | 
 |  | 
 | warning: `#[should_panic]` attribute cannot be used on crates | 
 |   --> $DIR/issue-43106-gating-of-builtin-attrs.rs:50:1 | 
 |    | | 
 | LL | #![should_panic] | 
 |    | ^^^^^^^^^^^^^^^^ | 
 |    | | 
 |    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! | 
 |    = help: `#[should_panic]` can only be applied to functions | 
 |  | 
 | warning: `#[ignore]` attribute cannot be used on crates | 
 |   --> $DIR/issue-43106-gating-of-builtin-attrs.rs:54:1 | 
 |    | | 
 | LL | #![ignore] | 
 |    | ^^^^^^^^^^ | 
 |    | | 
 |    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! | 
 |    = help: `#[ignore]` can only be applied to functions | 
 |  | 
 | warning: `#[proc_macro_derive]` attribute cannot be used on crates | 
 |   --> $DIR/issue-43106-gating-of-builtin-attrs.rs:63:1 | 
 |    | | 
 | LL | #![proc_macro_derive(Test)] | 
 |    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ | 
 |    | | 
 |    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! | 
 |    = help: `#[proc_macro_derive]` can only be applied to functions | 
 |  | 
 | warning: `#[cold]` attribute cannot be used on crates | 
 |   --> $DIR/issue-43106-gating-of-builtin-attrs.rs:68:1 | 
 |    | | 
 | LL | #![cold] | 
 |    | ^^^^^^^^ | 
 |    | | 
 |    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! | 
 |    = help: `#[cold]` can only be applied to functions | 
 |  | 
 | warning: `#[link_name]` attribute cannot be used on crates | 
 |   --> $DIR/issue-43106-gating-of-builtin-attrs.rs:74:1 | 
 |    | | 
 | LL | #![link_name = "1900"] | 
 |    | ^^^^^^^^^^^^^^^^^^^^^^ | 
 |    | | 
 |    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! | 
 |    = help: `#[link_name]` can be applied to foreign functions and foreign statics | 
 |  | 
 | warning: `#[link_section]` attribute cannot be used on crates | 
 |   --> $DIR/issue-43106-gating-of-builtin-attrs.rs:79:1 | 
 |    | | 
 | LL | #![link_section = "1800"] | 
 |    | ^^^^^^^^^^^^^^^^^^^^^^^^^ | 
 |    | | 
 |    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! | 
 |    = help: `#[link_section]` can be applied to functions and statics | 
 |  | 
 | warning: `#[must_use]` attribute cannot be used on crates | 
 |   --> $DIR/issue-43106-gating-of-builtin-attrs.rs:84:1 | 
 |    | | 
 | LL | #![must_use] | 
 |    | ^^^^^^^^^^^^ | 
 |    | | 
 |    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! | 
 |    = help: `#[must_use]` can be applied to data types, functions, traits, and unions | 
 |  | 
 | warning: 174 warnings emitted | 
 |  |