Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

make #[no_mangle] and #[export_name] items always have external visibility #54414

Closed
wants to merge 3 commits into from

Conversation

japaric
Copy link
Member

@japaric japaric commented Sep 21, 2018

as discussed in #54135

this appears to work at least on bare functions and statics. no_mangle
on impl methods doesn't work (yet?). See example below:

struct Foo;

impl Foo {
    // this is NOT external
    #[no_mangle]
    fn foo(&self) {}

    // this is NOT external
    #[no_mangle]
    pub fn bar(&self) {}
}

pub struct Bar;

impl Bar {
    // this IS external
    pub fn baz(&self) {}
}

After this change a few lints are no longer correct and would need to be
tweaked. e.g. #[no_mangle] fn foo() {} is not dead code and doesn't need to be
pub but the compiler raises two warnings about that.

r? @alexcrichton

@rust-highfive rust-highfive added the S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. label Sep 21, 2018
@rust-highfive
Copy link
Collaborator

The job x86_64-gnu-llvm-5.0 of your PR failed on Travis (raw log). Through arcane magic we have determined that the following fragments from the build log may contain information about the problem.

Click to expand the log.
[00:49:29] .............................................iiiii..................................................
[00:49:32] ....................................................................................................
[00:49:34] ....................................................................................................
[00:49:37] ....................................................................................................
[00:49:39] .........................................................................F..........................
[00:49:44] ....................................i...............................................................
[00:49:47] ...i................................................................................................
[00:49:51] ....................................................................................................
[00:49:53] ..........................................................................................i.........
---
[00:50:08] ....................................................................................................
[00:50:12] ....................................................................................................
[00:50:15] ....................................................................................................
[00:50:18] ....................................................................................................
[00:50:21] ...F..................F..............................................................i..............
[00:50:27] ........................................i.i..ii.....................................................
[00:50:31] ....................................................................................................
[00:50:34] ........................................................i...........................................
[00:50:37] ....................................................................................................
---
[00:55:51] 
[00:55:51] ---- [ui] ui/feature-gate/issue-43106-gating-of-builtin-attrs.rs stdout ----
[00:55:51] diff of stderr:
[00:55:51] 
[00:55:51] 523 LL | #[automatically_derived = "3600"]
[00:55:51] 525 
[00:55:51] 525 
[00:55:51] - warning: function is marked #[no_mangle], but not exported
[00:55:51] -    |
[00:55:51] -    |
[00:55:51] - LL |     #[no_mangle = "3500"] fn f() { }
[00:55:51] -    |                           -^^^^^^^^^
[00:55:51] -    |                           |
[00:55:51] -    |                           help: try making it public: `pub`
[00:55:51] -    |
[00:55:51] -    = note: #[warn(private_no_mangle_fns)] on by default
[00:55:51] 536 warning: unused attribute
[00:55:51] 537   --> $DIR/issue-43106-gating-of-builtin-attrs.rs:408:17
[00:55:51] 538    |
[00:55:51] 
[00:55:51] 
[00:55:51] 
[00:55:51] The actual stderr differed from the expected stderr.
[00:55:51] Actual stderr saved to /checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/feature-gate/issue-43106-gating-of-builtin-attrs/issue-43106-gating-of-builtin-attrs.stderr
[00:55:51] To update references, rerun the tests and pass the `--bless` flag
[00:55:51] To only update this specific test, also pass `--test-args feature-gate/issue-43106-gating-of-builtin-attrs.rs`
[00:55:51] error: 1 errors occurred comparing output.
[00:55:51] status: exit code: 1
[00:55:51] status: exit code: 1
[00:55:51] command: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/src/test/ui/feature-gate/issue-43106-gating-of-builtin-attrs.rs" "--target=x86_64-unknown-linux-gnu" "--error-format" "json" "-Zui-testing" "-C" "prefer-dynamic" "-o" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/feature-gate/issue-43106-gating-of-builtin-attrs/a" "-Crpath" "-O" "-Zunstable-options" "-Lnative=/checkout/obj/build/x86_64-unknown-linux-gnu/native/rust-test-helpers" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/feature-gate/issue-43106-gating-of-builtin-attrs/auxiliary" "-A" "unused"
[00:55:51] ------------------------------------------
[00:55:51] 
[00:55:51] ------------------------------------------
[00:55:51] stderr:
[00:55:51] stderr:
[00:55:51] ------------------------------------------
[00:55:51] {"message":"unknown lint: `x5400`","code":{"code":"unknown_lints","explanation":null},"level":"warning","spans":[{"file_name":"/checkout/src/test/ui/feature-gate/issue-43106-gating-of-builtin-attrs.rs","byte_start":2105,"byte_end":2110,"line_start":50,"line_end":50,"column_start":33,"column_end":38,"is_primary":true,"text":[{"text":"#![warn                        (x5400)] //~ WARN unknown lint: `x5400`","highlight_start":33,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"lint level defined here","code":null,"level":"note","spans":[{"file_name":"/checkout/src/test/ui/feature-gate/issue-43106-gating-of-builtin-attrs.rs","byte_start":1963,"byte_end":1976,"line_start":44,"line_end":44,"column_start":28,"column_end":41,"is_primary":true,"text":[{"text":"#![warn(unused_attributes, unknown_lints)]","highlight_start":28,"highlight_end":41}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":null}],"rendered":"warning: unknown lint: `x5400`\n  --> /checkout/src/test/ui/feature-gate/issue-43106-gating-of-builtin-attrs.rs:50:33\n   |\nLL | #![warn                        (x5400)] //~ WARN unknown lint: `x5400`\n   |                                 ^^^^^\n   |\nnote: lint level defined here\n  --> /checkout/src/test/ui/feature-gate/issue-43106-gating-of-builtin-attrs.rs:44:28\n   |\nLL | #![warn(unused_attributes, unknown_lints)]\n   |                            ^^^^^^^^^^^^^\n\n"}
[00:55:51] {"message":"unknown lint: `x5300`","code":{"code":"unknown_lints","explanation":null},"level":"warning","spans":[{"file_name":"/checkout/src/test/ui/feature-gate/issue-43106-gating-of-builtin-attrs.rs","byte_start":2176,"byte_end":2181,"line_start":51,"line_end":51,"column_start":33,"column_end":38,"is_primary":true,"text":[{"text":"#![allow                       (x5300)] //~ WARN unknown lint: `x5300`","highlight_start":33,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"warning: unknown lint: `x5300`\n  --> /checkout/src/test/ui/feature-gate/issue-43106-gating-of-builtin-attrs.rs:51:33\n   |\nLL | #![allow                       (x5300)] //~ WARN unknown lint: `x5300`\n   |                                 ^^^^^\n\n"}
[00:55:51] {"message":"unknown lint: `x5200`","code":{"code":"unknown_lints","explanation":null},"level":"warning","spans":[{"file_name":"/checkout/src/test/ui/feature-gate/issue-43106-gating-of-builtin-attrs.rs","byte_start":2247,"byte_end":2252,"line_start":52,"line_end":52,"column_start":33,"column_end":38,"is_primary":true,"text":[{"text":"#![forbid                      (x5200)] //~ WARN unknown lint: `x5200`","highlight_start":33,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"warning: unke":"unknown_lints","explanation":null},"level":"warning","spans":[{"file_name":"/checkout/src/test/ui/feature-gate/issue-43106-gating-of-builtin-attrs.rs","byte_start":5569,"byte_end":5574,"line_start":124,"line_end":124,"column_start":12,"column_end":17,"is_primary":true,"text":[{"text":"    #[warn(x5400)] struct S;","highlight_start":12,"highlight_end":17}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"warning: unknown lint: `x5400`\n  --> /checkout/src/test/ui/feature-gate/issue-43106-gating-of-builtin-attrs.rs:124:12\n   |\nLL |     #[warn(x5400)] struct S;\n   |            ^^^^^\n\n"}
[00:55:51] {"message":"unknown lint: `x5400`","code":{"code":"unknown_lints","explanation":null},"level":"warning","spans":[{"file_name":"/checkout/src/test/ui/feature-gate/issue-43106-gating-of-builtin-attrs.rs","byte_start":5635,"byte_end":5640,"line_start":127,"line_end":127,"column_start":12,"column_end":17,"is_primary":true,"text":[{"text":"    #[warn(x5400)] type T = S;","highlight_start":12,"highlight_end":17}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"warning: unknown lint: `x5400`\n  --> /checkout/src/test/ui/feature-gate/issue-43106-gating-of-builtin-attrs.rs:127:12\n   |\nLL |     #[warn(x5400)] type T = S;\n   |            ^^^^^\n\n"}
[00:55:51] {"message":"unknown lint: `x5400`","code":{"code":"unknown_lints","explanation":null},"level":"warning","spans":[{"file_name":"/checkout/src/test/ui/feature-gate/issue-43106-gating-of-builtin-attrs.rs","byte_start":5703,"byte_end":5708,"lstion_applicability":null,"expansion":null}],"children":[],"rendered":"warning: unknown lint: `x5300`\n  --> /checkout/src/test/ui/feature-gate/issue-43106-gating-of-builtin-attrs.rs:137:26\n   |\nLL |     mod inner { #![allow(x5300)] }\n   |                          ^^^^^\n\n"}
[00:55:51] {"message":"unknown lint: `x5300`","code":{"code":"unknown_lints","explanation":null},"level":"warning","spans":[{"file_name":"/checkout/src/test/ui/feature-gate/issue-43106-gating-of-builtin-attrs.rs","byte_start":5905,"byte_end":5910,"line_start":140,"line_end":140,"column_start":13,"column_end":18,"is_primary":true,"text":[{"text":"    #[allow(x5300)] fn f() { }","highlight_start":13,"highlight_end":18}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"warning: unknown lint: `x5300`\n  --> /checkout/src/test/ui/feature-gate/issue-43106-gating-of-builtin-attrs.rs:140:13\n   |\nLL |     #[allow(x5300)] fn f() { }\n   |             ^^^^^\n\n"}
[00:55:51] {"message":"unknown lint: `x5300`","code":{"code":"unknown_lints","explanation":null},"level":"warning","spans":[{"file_name":"/checkout/src/test/ui/feature-gate/issue-43106-gating-of-builtin-attrs.rs","byte_start":5973,"byte_end":5978,"line_start":143,"line_end":143,"column_start":13,"column_end":18,"is_primary":true,"text":[{"text":"    #[allow(x5300)] struct S;","highlight_start":13,"highlight_end":18}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"warning: unknown lint: `x5300`\n  --> /checkout/src/test/ui/feature-gate/issue-43106-gating-of-buiolumn_start":14,"column_end":19,"is_primary":true,"text":[{"text":"    #[forbid(x5200)] fn f() { }","highlight_start":14,"highlight_end":19}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"warning: unknown lint: `x5200`\n  --> /checkout/src/test/ui/feature-gate/issue-43106-gating-of-builtin-attrs.rs:159:14\n   |\nLL |     #[forbid(x5200)] fn f() { }\n   |              ^^^^^\n\n"}
[00:55:51] {"message":"unknown lint: `x5200`","code":{"code":"unknown_lints","explanation":null},"level":"warning","spans":[{"file_name":"/checkout/src/test/ui/feature-gate/issue-43106-gating-of-builtin-attrs.rs","byte_start":6384,"byte_end":6389,"line_start":162,"line_end":162,"column_start":14,"column_end":19,"is_primary":true,"text":[{"text":"    #[forbid(x5200)] struct S;","highlight_start":14,"highlight_end":19}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"warning: unknown lint: `x5200`\n  --> /checkout/src/test/ui/feature-gate/issue-43106-gating-of-builtin-attrs.rs:162:14\n   |\nLL |     #[forbid(x5200)] struct S;\n   |              ^^^^^\n\n"}
[00:55:51] {"message":"unknown lint: `x5200`","code":{"code":"unknown_lints","explanation":null},"level":"warning","spans":[{"file_name":"/checkout/src/test/ui/feature-gate/issue-43106-gating-of-builtin-attrs.rs","byte_start":6452,"byte_end":6457,"line_start":165,"line_end":165,"column_start":14,"column_end":19,"is_primary":true,"text":[{"text":"    #[forbid(x5200)] type T = S;","highlight_start":14,"highlight_end":19}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"warning: unknown lint: `x5200`\n  --> /checkout/src/test/ui/feature-gate/issue-43106-gating-of-builtin-attrs.rs:165:14\n   |\nLL |     #[forbid(x5200)] type T = S;\n   |              ^^^^^\n\n"}
[00:55:51] {"message":"unknown lint: `x5200`","code":{"code":"unknown_lints","explanation":null},"level":"warning","spans":[{"file_name":"/checkout/src/test/ui/feature-gate/issue-43106-gating-of-builtin-attrs.rs","byte_start":6522,"byte_end":6527,"line_start":168,"line_end":168,"column_start":14,"column_end":19,"is_primary":true,"text":[{"text":"    #[forbid(x5200)] impl S { }","highlight_start":14,"highlight_end":19}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"warning: unknown lint: `x5200`\n  --> /checkout/src/test/ui/feature-gate/issue-43106-gating-of-builtin-attrs.rs:168:14\n   |\nLL |     #[forbid(x5200)] impl S { }\n   |              ^^^^^\n\n"}
[00:55:51] {"message":"unknown lint: `x5100`","code":{"code":"unknown_lints","explanation":null},"level":"warning","spans":[{"file_name":"/checkout/src/test/ui/feature-gate/issue-43106-gating-of-builtin-attrs.rs","byte_start":6587,"byte_end":6592,"line_start":172,"line_end":172,"column_start":8,"column_end":13,"is_primary":true,"text":[{"text":"#[deny(x5100)]","highlight_start":8,"highlight_end":13}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"warning: unknown lint: `x5100`\n  --> /checkout/src/test/ui/feature-gate/issue-43106-gating-of-builtin-attrs.rs:172:"spans":[{"file_name":"/checkout/src/test/ui/feature-gate/issue-43106-gating-of-builtin-attrs.rs","byte_start":6787,"byte_end":6792,"line_start":181,"line_end":181,"column_start":12,"column_end":17,"is_primary":true,"text":[{"text":"    #[deny(x5100)] struct S;","highlight_start":12,"highlight_end":17}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"warning: unknown lint: `x5100`\n  --> /checkout/src/test/ui/feature-gate/issue-43106-gating-of-builtin-attrs.rs:181:12\n   |\nLL |     #[deny(x5100)] struct S;\n   |            ^^^^^\n\n"}
[00:55:51] {"message":"unknown lint: `x5100`","code":{"code":"unknown_lints","explanation":null},"level":"warning","spans":[{"file_name":"/checkout/src/test/ui/feature-gate/issue-43106-gating-of-builtin-attrs.rs","byte_start":6853,"byte_end":6858,"line_start":184,"line_end":184,"column_start":12,"column_end":17,"is_primary":true,"text":[{"text":"    #[deny(x5100)] type T = S;","highlight_start":12,"highlight_end":17}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"warning: unknown lint: `x5100`\n  --> /checkout/src/test/ui/feature-gate/issue-43106-gating-of-builtin-attrs.rs:184:12\n   |\nLL |     #[deny(x5100)] type T = S;\n   |            ^^^^^\n\n"}
[00:55:51] {"message":"unknown lint: `x5100`","code":{"code":"unknown_lints","explanation":null},"level":"warning","spans":[{"file_name":"/checkout/src/test/ui/feature-gate/issue-43106-gating-of-builtin-attrs.rs","byte_start":6921,"byte_end":6926,"line_start":187,"line_end":187,"column_start":12,"column_end":17,"is_primary":true,"text":[{"text":"    #[deny(x5100)] impl S { }","highlight_start":12,"highlight_end":17}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"warning: unknown lint: `x5100`\n  --> /checkout/src/test/ui/feature-gate/issue-43106-gating-of-builtin-attrs.rs:187:12\n   |\nLL |     #[deny(x5100)] impl S { }\n   |            ^^^^^\n\n"}
[00:55:51] {"message":"macro_escape is a deprecated synonym for macro_use","code":null,"level":"warning","spans":[{"file_name":"/checkout/src/test/ui/feature-gate/issue-43106-gating-of-builtin-attrs.rs","byte_start":13926,"byte_end":13941,"line_start":501,"line_end":501,"column_start":1,"column_end":16,"is_primary":true,"text":[{"text":"#[macro_escape]","highlight_start":1,"highlight_end":16}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"warning: macro_escape is a deprecated synonym for macro_use\n  --> /checkout/src/test/ui/feature-gate/issue-43106-gating-of-builtin-attrs.rs:501:1\n   |\nLL | #[macro_escape]\n   | ^^^^^^^^^^^^^^^\n\n"}
[00:55:51] {"message":"macro_escape is a deprecated synonym for macro_use","code":null,"level":"warning","spans":[{"file_name":"/checkout/src/test/ui/feature-gate/issue-43106-gating-of-builtin-attrs.rs","byte_start":14038,"byte_end":14054,"line_start":504,"line_end":504,"column_start":17,"column_end":33,"is_primary":true,"text":[{"text":"    mod inner { #![macro_escape] }","highlight_start":17,"highlight_end":33}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"consider an outer attribute, #[macro_use] mod ...","code":null,"level":"help","spans":[],"children":[],"rendered":null}],"rendered":"warning: macro_escape is a deprecated synonym for macro_use\n  --> /checkout/src/test/ui/feature-gate/issue-43106-gating-of-builtin-attrs.rs:504:17\n   |\nLL |     mod inner { #![macro_escape] }\n   |                 ^^^^^^^^^^^^^^^^\n   |\n   = help: consider an outer attribute, #[macro_use] mod ...\n\n"}
[00:55:51] {"message":"`repr` attribute isn't configurable with a literal","code":{"code":"bad_repr","explanation":null},"level":"warning","spans":[{"file_name":"/checkout/src/test/ui/feature-gate/issue-43106-gating-of-builtin-attrs.rs","byte_start":9603,"byte_end":9618,"line_start":317,"line_end":317,"column_start":17,"column_end":32,"is_primary":true,"text":[{"text":"    mod inner { #![repr=\"3900\"] }","highlight_start":17,"highlight_end":32}],"label":"needs a hint","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"#[warn(bad_repr)] on by default","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"valid hints include `#[repr(C)]`, `#[repr(packed)]`, `#[repr(rust)]` and `#[repr(transparent)]`","code":null,"level":"help","spans":[],"children":[],"rendered":null},{"message":"for more information, visit <https://doc.rust-lang.org/reference/type-layout.html>","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"warning: `repr` attribute isn't configurable with a literal\n  --> /checkout/src/test/ui/feature-gate/issue-43106-gating-of-builtin-attrs.rs:317:17\n   |\nLL |     mod inner { #![repr=\"3900\"] }\n   |                 ^^^^^^^^^^^^^^^ needs a hint\n   |\n   = note: #[warn(bad_repr)] on by default\n   = help: valid hints include `#[repr(C)]`, `#[repr(packed)]`, `#[repr(rust)]` and `#[repr(transparent)]`\n   = note: for more information, visit <https://doc.rust-lang.org/reference/type-layout.html>\n\n"}
[00:55:51] {"message":"`repr` attribute isn't configurable with a literal","code":{"code":"bad_repr","explanation":null},"level":"warning","spans":[{"file_name":"/checkout/src/test/ui/feature-gate/issue-43106-gating-of-builtin-attrs.rs","byte_start":9722,"byte_end":9738,"line_start":321,"line_end":321,"column_start":5,"column_end":21,"is_primary":true,"text":[{"text":"    #[repr = \"3900\"] fn f() { }","highlight_start":5,"highlight_end":21}],"label":"needs a hint","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"valid hints include `#[repr(C)]`, `#[repr(packed)]`, `#[repr(rust)]` and `#[repr(transparent)]`","code":null,"level":"help","spans":[],"children":[],"rendered":null},{"message":"for more information, visit <https://doc.rust-lang.org/reference/type-layout.html>","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"warning: `repr` attribute isn't configurable with a literal\n  --> /checkout/src/test/ui/feature-gate/issue-43106-gating-of-builtin-attrs.rs:321:5\n   |\nLL |     #[repr = \"3900\"] fn f() { }\n   |     ^^^^^^^^^^^^^^^^ needs a hint\n   |\n   = help: valid hints include `#[repr(C)]`, `#[repr(packed)]`, `#[repr(rust)]` and `#[repr(transparent)]`\n   = note: for more information, visit <https://doc.rust-lang.org/reference/type-layout.html>\n\n"}
[00:55:51] {"message":"`repr` attribute isn't configurable with a literal","code":{"code":"bad_repr","explanation":null},"level":"warning","spans":[{"file_name":"/checkout/src/test/ui/feature-gate/issue-43106-gating-of-builtin-attrs.rs","byte_start":9866,"byte_end":9882,"line_start":327,"line_end":327,"column_start":5,"column_end":21,"is_primary":true,"text":[{"text":"    #[repr = \"3900\"] type T = S;","highlight_start":5,"highlight_end":21}],"label":"needs a hint","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"valid hints include `#[repr(C)]`, `#[repr(packed)]`, `#[repr(rust)]` and `#[repr(transparent)]`","code":null,"level":"help","spans":[],"children":[],"rendered":null},{"message":"for more information, visit <https://doc.rust-lang.org/reference/type-layout.html>","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"warning: `repr` attribute isn't configurable with a literal\n  --> /checkout/src/test/ui/feature-gate/issue-43106-gating-of-builtin-attrs.rs:327:5\n   |\nLL |     #[repr = \"3900\"] type T = S;\n   |     ^^^^^^^^^^^^^^^^ needs a hint\n   |\n   = help: valid hints include `#[repr(C)]`, `#[repr(packed)]`, `#[repr(rust)]` and `#[repr(transparent)]`\n   = note: for more information, visit <https://doc.rust-lang.org/reference/type-layout.html>\n\n"}
[00:55:51] {"message":"`repr` attribute isn't configurable with a literal","code":{"code":"bad_repr","explanation":null},"level":"warning","spans":[{"file_name":"/checkout/src/test/ui/feature-gate/issue-43106-gating-of-builtin-attrs.rs","byte_start":9996,"byte_end":10012,"line_start":331,"line_end":331,"column_start":5,"column_end":21,"is_primary":true,"text":[{"text":"    #[repr = \"3900\"] impl S { }","highlight_start":5,"highlight_end":21}],"label":"needs a hint","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"valid hints include `#[repr(C)]`, `#[repr(packed)]`, `#[repr(rust)]` and `#[repr(transparent)]`","code":null,"level":"help","spans":[],"children":[],"rendered":null},{"message":"for more information, visit <https://doc.rust-lang.org/reference/type-layout.html>","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"warning: `repr` attribute isn't configurable with a literal\n  --> /checkout/src/test/ui/feature-gate/issue-43106-gating-of-builtin-attrs.rs:331:5\n   |\nLL |     #[repr = \"3900\"] impl S { }\n   |     ^^^^^^^^^^^^^^^^ needs a hint\n   |\n   = help: valid hints include `#[repr(C)]`, `#[repr(packed)]`, `#[repr(rust)]` and `#[repr(transparent)]`\n   = note: for more information, visit <https://doc.rust-lang.org/reference/type-layout.html>\n\n"}
[00:55:51] {"message":"`repr` attribute isn't configurable with a literal","code":{"code":"bad_repr","explanation":null},"level":"warning","spans":[{"file_name":"/checkout/src/test/ui/feature-gate/issue-43106-gating-of-builtin-attrs.rs","byte_start":9471,"byte_end":9487,"line_start":313,"line_end":313,"column_start":1,"column_end":17,"is_primary":true,"text":[{"text":"#[repr = \"3900\"]","highlight_start":1,"highlight_end":17}],"label":"needs a hint","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"valid hints include `#[repr(C)]`, `#[repr(packed)]`, `#[repr(rust)]` and `#[repr(transparent)]`","code":null,"level":"help","spans":[],"children":[],"rendered":null},{"message":"for more information, visit <https://doc.rust-lang.org/reference/type-layout.html>","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"warning: `repr` attribute isn't configurable with a literal\n  --> /checkout/src/test/ui/feature-gate/issue-43106-gating-of-builtin-attrs.rs:313:1\n   |\nLL | #[repr = \"3900\"]\n   | ^^^^^^^^^^^^^^^^ needs a hint\n   |\n   = help: valid hints include `#[repr(C)]`, `#[repr(packed)]`, `#[repr(rust)]` and `#[repr(transparent)]`\n   = note: for more information, visit <https://doc.rust-lang.org/reference/type-layout.html>\n\n"}
[00:55:51] {"message":"`repr` attribute isn't configurable with a literal","code":{"code":"bad_repr","explanation":null},"level":"warning","spans":[{"file_name":"/checkout/src/test/ui/feature-gate/issue-43106-gating-of-builtin-attrs.rs","byte_start":2949,"byte_end":2988,"line_start":63,"line_end":63,"column_start":1,"column_end":40,"is_primary":true,"text":[{"text":"#![repr                       = \"3900\"]","highlight_start":1,"highlight_end":40}],"label":"needs a hint","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"valid hints include `#[repr(C)]`, `#[repr(packed)]`, `#[repr(rust)]` and `#[repr(transparent)]`","code":null,"level":"help","spans":[],"children":[],"rendered":null},{"message":"for more information, visit <https://doc.rust-lang.org/reference/type-layout.html>","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"warning: `repr` attribute isn't configurable with a literal\n  --> /checkout/src/test/ui/feature-gate/issue-43106-gating-of-builtin-attrs.rs:63:1\n   |\nLL | #![repr                       = \"3900\"]\n   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ needs a hint\n   |\n   = help: valid hints include `#[repr(C)]`, `#[repr(packed)]`, `#[repr(rust)]` and `#[repr(transparent)]`\n   = note: for more information, visit <https://doc.rust-lang.org/reference/type-layout.html>\n\n"}
[00:55:51] {"message":"unused attribute","code":{"code":"unused_attributes","explanation":null},"level":"warning","spans":[{"file_name":"/checkout/src/test/ui/feature-gate/issue-43106-gating-of-builtin-attrs.rs","byte_start":7045,"byte_end":7057,"line_start":195,"line_end":195,"column_start":5,"column_end":17,"is_primary":true,"text":[{"text":"    #[macro_use] fn f() { }","highlight_start":5,"highlight_end":17}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"lint level defined here","code":null,"level":"note","spans":[{"file_name":"/checkout/src/test/ui/feature-gate/issue-43106-gating-of-builtin-attrs.rs","byte_start":1944,"byte_end":1961,"line_start":44,"line_end":44,"column_start":9,"column_end":26,"is_primary":true,"text":[{"text":"#![warn(unused_attributes, unknown_lints)]","highlight_start":9,"highlight_end":26}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":null}],"rendered":"warning: unused attribute\n  --> sage":"unused attribute","code":{"code":"unused_attributes","explanation":null},"level":"warning","spans":[{"file_name":"/checkout/src/test/ui/feature-gate/issue-43106-gating-of-builtin-attrs.rs","byte_start":7432,"byte_end":7456,"line_start":214,"line_end":214,"column_start":5,"column_end":29,"is_primary":true,"text":[{"text":"    #[macro_export = \"4800\"] fn f() { }","highlight_start":5,"highlight_end":29}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"warning: unused attribute\n  --> /checkout/src/test/ui/feature-gate/issue-43106-gating-of-builtin-attrs.rs:214:5\n   |\nLL |     #[macro_export = \"4800\"] fn f() { }\n   |     ^^^^^^^^^^^^^^^^^^^^^^^^\n\n"}
[00:55:51] {"message":"unused attribute","code":{"code":"unused_attributes","explanation":null},"level":"warning","spans":[{"file_name":"/checkout/src/test/ui/feature-gate/issue-43106-gating-of-builtin-attrs.rs","byte_start":7504,"byte_end":7528,"line_start":217,"line_end":217,"column_start":5,"column_end":29,"is_primary":true,"text":[{"text":"    #[macro_export = \"4800\"] struct S;","highlight_start":5,"highlight_end":29}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"warning: unused attribute\n  --> /checkout/src/test/ui/feature-gate/issue-43106-gating-of-builtin-attrs.rs:217:5\n   |\nLL |     #[macro_export = \"4800\"] struct S;\n   |     ^^^^^^^^^^^^^^^^^^^^^^^^\n\n"}
[00:55:51] {"message":"unused attribute","code":{"code":"unused_attributes","explanation":null},"level":"warning","spans":[{"file_name":"/checkout/src/testt":1,"column_end":25,"is_primary":true,"text":[{"text":"#[macro_export = \"4800\"]","highlight_start":1,"highlight_end":25}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"warning: unused attribute\n  --> /checkout/src/test/ui/feature-gate/issue-43106-gating-of-builtin-attrs.rs:208:1\n   |\nLL | #[macro_export = \"4800\"]\n   | ^^^^^^^^^^^^^^^^^^^^^^^^\n\n"}
[00:55:51] {"message":"unused attribute","code":{"code":"unused_attributes","explanation":null},"level":"warning","spans":[{"file_name":"/checkout/src/test/ui/feature-gate/issue-43106-gating-of-builtin-attrs.rs","byte_start":7813,"byte_end":7840,"line_start":230,"line_end":230,"column_start":17,"column_end":44,"is_primary":true,"text":[{"text":"    mod inner { #![plugin_registrar=\"4700\"] }","highlight_start":17,"highlight_end":44}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"warning: unused attribute\n  --> /checkout/src/test/ui/feature-gate/issue-43106-gating-of-builtin-attrs.rs:230:17\n   |\nLL |     mod inner { #![plugin_registrar=\"4700\"] }\n   |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^\n\n"}
[00:55:51] {"message":"unused attribute","code":{"code":"unused_attributes","explanation":null},"level":"warning","spans":[{"file_name":"/checkout/src/test/ui/feature-gate/issue-43106-gating-of-builtin-attrs.rs","byte_start":7936,"byte_end":7964,"line_start":235,"line_end":235,"column_start":5,"column_end":33,"is_primary":true,"text":[{"text":"    #[plugin_registrar = \"4700\"] struct S;","highlight_start":5,"highlight_end":33}ndered":"warning: unused attribute\n  --> /checkout/src/test/ui/feature-gate/issue-43106-gating-of-builtin-attrs.rs:241:5\n   |\nLL |     #[plugin_registrar = \"4700\"] impl S { }\n   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n\n"}
[00:55:51] {"message":"unused attribute","code":{"code":"unused_attributes","explanation":null},"level":"warning","spans":[{"file_name":"/checkout/src/test/ui/feature-gate/issue-43106-gating-of-builtin-attrs.rs","byte_start":7718,"byte_end":7746,"line_start":227,"line_end":227,"column_start":1,"column_end":29,"is_primary":true,"text":[{"text":"#[plugin_registrar = \"4700\"]","highlight_start":1,"highlight_end":29}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"warning: unused attribute\n  --> /checkout/src/test/ui/feature-gate/issue-43106-gating-of-builtin-attrs.rs:227:1\n   |\nLL | #[plugin_registrar = \"4700\"]\n   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n\n"}
[00:55:51] {"message":"unused attribute","code":{"code":"unused_attributes","explanation":null},"level":"warning","spans":[{"file_name":"/checkout/src/test/ui/feature-gate/issue-43106-gating-of-builtin-attrs.rs","byte_start":8233,"byte_end":8248,"line_start":248,"line_end":248,"column_start":17,"column_end":32,"is_primary":true,"text":[{"text":"    mod inner { #![main=\"4300\"] }","highlight_start":17,"highlight_end":32}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"warning: unused attribute\n  --> /checkout/src/test/ui/feature-gate/issue-43106-gating-of-builtin-attrs.rs:248:17\n   |\nLL |     mod inner { #![main=\"4300\"] }\n   |                 ^^^^^^^^^^^^^^^\n\n"}
[00:55:51] {"message":"unused attribute","code":{"code":"unused_attributes","explanation":null},"level":"warning","spans":[{"file_name":"/checkout/src/test/ui/feature-gate/issue-43106-gating-of-builtin-attrs.rs","byte_start":8339,"byte_end":8355,"line_start":253,"line_end":253,"column_start":5,"column_end":21,"is_primary":true,"text":[{"text":"    #[main = \"4400\"] struct S;","highlight_start":5,"highlight_end":21}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"warning: unused attribute\n  --> /checkout/src/test/ui/feature-gate/issue-43106-gating-of-builtin-attrs.rs:253:5\n   |\nLL |     #[main = \"4400\"] struct S;\n   |     ^^^^^^^^^^^^^^^^\n\n"}
[00:55:51] {"message":"unused attribute","code":{"code":"unused_attributes","explanation":null},"level":"warning","spans":[{"file_name":"/checkout/src/test/ui/feature-gate/issue-43106-gating-of-builtin-attrs.rs","byte_start":8402,"byte_end":8418,"line_start":256,"line_end":256,"column_start":5,"column_end":21,"is_primary":true,"text":[{"text":"    #[main = \"4400\"] type T = S;","highlight_start":5,"highlight_end":21}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"warning: unused attribute\n  --> /checkout/src/test/ui/feature-gate/issue-43106-gating-of-builtin-attrs.rs:256:5\n   |\nLL |     #[main = \"4400\"] type T = S;\n   |     ^^^^^^^^^^^^^^^^\n\n"}
[00:55:51] {"message":"unused attribute","code":{"code":"unused_attributes","explanation":null},"level":"warning","spans":[{on":null}],"children":[],"rendered":"warning: unused attribute\n  --> /checkout/src/test/ui/feature-gate/issue-43106-gating-of-builtin-attrs.rs:274:5\n   |\nLL |     #[start = \"4300\"] type T = S;\n   |     ^^^^^^^^^^^^^^^^^\n\n"}
[00:55:51] {"message":"unused attribute","code":{"code":"unused_attributes","explanation":null},"level":"warning","spans":[{"file_name":"/checkout/src/test/ui/feature-gate/issue-43106-gating-of-builtin-attrs.rs","byte_start":8840,"byte_end":8857,"line_start":277,"line_end":277,"column_start":5,"column_end":22,"is_primary":true,"text":[{"text":"    #[start = \"4300\"] impl S { }","highlight_start":5,"highlight_end":22}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"warning: unused attribute\n  --> /checkout/src/test/ui/feature-gate/issue-43106-gating-of-builtin-attrs.rs:277:5\n   |\nLL |     #[start = \"4300\"] impl S { }\n   |     ^^^^^^^^^^^^^^^^^\n\n"}
[00:55:51] {"message":"unused attribute","code":{"code":"unused_attributes","explanation":null},"level":"warning","spans":[{"file_name":"/checkout/src/test/ui/feature-gate/issue-43106-gating-of-builtin-attrs.rs","byte_start":8529,"byte_end":8546,"line_start":263,"line_end":263,"column_start":1,"column_end":18,"is_primary":true,"text":[{"text":"#[start = \"4300\"]","highlight_start":1,"highlight_end":18}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"warning: unused attribute\n  --> /checkout/src/test/ui/feature-gate/issue-43106-gating-of-builtin-attrs.rs:263:1\n   |\nLL | #[start = \"4300\"]\n   | ^^^^^^^^^^^^^^^^^\n\n"}
[00:55:51] {"message":"unused attribute","code":{"code":"unused_attributes","explanation":null},"level":"warning","spans":[{"file_name":"/checkout/src/test/ui/feature-gate/issue-43106-gating-of-builtin-attrs.rs","byte_start":9603,"byte_end":9618,"line_start":317,"line_end":317,"column_start":17,"column_end":32,"is_primary":true,"text":[{"text":"    mod inner { #![repr=\"3900\"] }","highlight_start":17,"highlight_end":32}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"warning: unused attribute\n  --> /checkout/src/test/ui/feature-gate/issue-43106-gating-of-builtin-attrs.rs:317:17\n   |\nLL |     mod inner { #![repr=\"3900\"] }\n   |                 ^^^^^^^^^^^^^^^\n\n"}
[00:55:51] {"message":"unused attribute","code":{"code":"unused_attributes","explanation":null},"level":"warning","spans":[{"file_name":"/checkout/src/test/ui/feature-gate/issue-43106-gating-of-builtin-attrs.rs","byte_start":9722,"byte_end":9738,"line_start":321,"line_end":321,"column_start":5,"column_end":21,"is_primary":true,"text":[{"text":"    #[repr = \"3900\"] fn f() { }","highlight_start":5,"highlight_end":21}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"warning: unused attribute\n  --> /checkout/src/test/ui/feature-gate/issue-43106-gating-of-builtin-attrs.rs:321:5\n   |\nLL |     #[repr = \"3900\"] fn f() { }\n   |     ^^^^^^^^^^^^^^^^\n\n"}
[00:55:51] {"message":"unused attribute","code":{"code":"unused_attributes","explanation":null},"level":"warning","spans":[{"file_name":"/checkout/"text":[{"text":"#[repr = \"3900\"]","highlight_start":1,"highlight_end":17}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"warning: unused attribute\n  --> /checkout/src/test/ui/feature-gate/issue-43106-gating-of-builtin-attrs.rs:313:1\n   |\nLL | #[repr = \"3900\"]\n   | ^^^^^^^^^^^^^^^^\n\n"}
[00:55:51] {"message":"unused attribute","code":{"code":"unused_attributes","explanation":null},"level":"warning","spans":[{"file_name":"/checkout/src/test/ui/feature-gate/issue-43106-gating-of-builtin-attrs.rs","byte_start":10190,"byte_end":10206,"line_start":340,"line_end":340,"column_start":5,"column_end":21,"is_primary":true,"text":[{"text":"    #[path = \"3800\"] fn f() { }","highlight_start":5,"highlight_end":21}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"warning: unused attribute\n  --> /checkout/src/test/ui/feature-gate/issue-43106-gating-of-builtin-attrs.rs:340:5\n   |\nLL |     #[path = \"3800\"] fn f() { }\n   |     ^^^^^^^^^^^^^^^^\n\n"}
[00:55:51] {"message":"unused attribute","code":{"code":"unused_attributes","explanation":null},"level":"warning","spans":[{"file_name":"/checkout/src/test/ui/feature-gate/issue-43106-gating-of-builtin-attrs.rs","byte_start":10254,"byte_end":10270,"line_start":343,"line_end":343,"column_start":5,"column_end":21,"is_primary":true,"text":[{"text":"    #[path = \"3800\"]  struct S;","highlight_start":5,"highlight_end":21}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"warning: unused attribute\n  --> /checkout/src/test/ui/feature-gate/issue-43106-gating-of-builtin-attrs.rs:343:5\n   |\nLL |     #[path = \"3800\"]  struct S;\n   |     ^^^^^^^^^^^^^^^^\n\n"}
[00:55:51] {"message":"unused attribute","code":{"code":"unused_attributes","explanation":null},"level":"warning","spans":[{"file_name":"/checkout/src/test/ui/feature-gate/issue-43106-gating-of-builtin-attrs.rs","byte_start":10318,"byte_end":10334,"line_start":346,"line_end":346,"column_start":5,"column_end":21,"is_primary":true,"text":[{"text":"    #[path = \"3800\"] type T = S;","highlight_start":5,"highlight_end":21}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"warning: unused attribute\n  --> /checkout/src/test/ui/feature-gate/issue-43106-gating-of-builtin-attrs.rs:346:5\n   |\nLL |     #[path = \"3800\"] type T = S;\n   |     ^^^^^^^^^^^^^^^^\n\n"}
[00:55:51] {"message":"unused attribute","code":{"code":"unused_attributes","explanation":null},"level":"warning","spans":[{"file_name":"/checkout/src/test/ui/feature-gate/issue-43106-gating-of-builtin-attrs.rs","byte_start":10383,"byte_end":10399,"line_start":349,"line_end":349,"column_start":5,"column_end":21,"is_primary":true,"text":[{"text":"    #[path = \"3800\"] impl S { }","highlight_start":5,"highlight_end":21}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"warning: unused attribute\n  --> /checkout/src/test/ui/feature-gate/issue-43106-gating-of-builtin-attrs.rs:349:5\n   |\nLL |     #[path = \"3800\"] impl S { }\n   |     ^^^^^^^^^^^^^":"    #[abi = \"3700\"] impl S { }","highlight_start":5,"highlight_end":20}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"warning: unused attribute\n  --> /checkout/src/test/ui/feature-gate/issue-43106-gating-of-builtin-attrs.rs:368:5\n   |\nLL |     #[abi = \"3700\"] impl S { }\n   |     ^^^^^^^^^^^^^^^\n\n"}
[00:55:51] {"message":"unused attribute","code":{"code":"unused_attributes","explanation":null},"level":"warning","spans":[{"file_name":"/checkout/src/test/ui/feature-gate/issue-43106-gating-of-builtin-attrs.rs","byte_start":10445,"byte_end":10460,"line_start":353,"line_end":353,"column_start":1,"column_end":16,"is_primary":true,"text":[{"text":"#[abi = \"3700\"]","highlight_start":1,"highlight_end":16}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"warning: unused attribute\n  --> /checkout/src/test/ui/feature-gate/issue-43106-gating-of-builtin-attrs.rs:353:1\n   |\nLL | #[abi = \"3700\"]\n   | ^^^^^^^^^^^^^^^\n\n"}
[00:55:51] {"message":"unused attribute","code":{"code":"unused_attributes","explanation":null},"level":"warning","spans":[{"file_name":"/checkout/src/test/ui/feature-gate/issue-43106-gating-of-builtin-attrs.rs","byte_start":10922,"byte_end":10954,"line_start":375,"line_end":375,"column_start":17,"column_end":49,"is_primary":true,"text":[{"text":"    mod inner { #![automatically_derived=\"3600\"] }","highlight_start":17,"highlight_end":49}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"waissue-43106-gating-of-builtin-attrs.rs:381:5\n   |\nLL |     #[automatically_derived = \"3600\"] struct S;\n   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n\n"}
[00:55:51] {"message":"unused attribute","code":{"code":"unused_attributes","explanation":null},"level":"warning","spans":[{"file_name":"/checkout/src/test/ui/feature-gate/issue-43106-gating-of-builtin-attrs.rs","byte_start":11154,"byte_end":11187,"line_start":384,"line_end":384,"column_start":5,"column_end":38,"is_primary":true,"text":[{"text":"    #[automatically_derived = \"3600\"] type T = S;","highlight_start":5,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"warning: unused attribute\n  --> /checkout/src/test/ui/feature-gate/issue-43106-gating-of-builtin-attrs.rs:384:5\n   |\nLL |     #[automatically_derived = \"3600\"] type T = S;\n   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n\n"}
[00:55:51] {"message":"unused attribute","code":{"code":"unused_attributes","explanation":null},"level":"warning","spans":[{"file_name":"/checkout/src/test/ui/feature-gate/issue-43106-gating-of-builtin-attrs.rs","byte_start":11236,"byte_end":11269,"line_start":387,"line_end":387,"column_start":5,"column_end":38,"is_primary":true,"text":[{"text":"    #[automatically_derived = \"3600\"] impl S { }","highlight_start":5,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"warning: unused attribute\n  --> /checkout/src/test/ui/feature-gate/issue-43106-gating-of-builtin-attrs.rs:387:5\n   |\nLL |     #[automatically_d"unused_attributes","explanation":null},"level":"warning","spans":[{"file_name":"/checkout/src/test/ui/feature-gate/issue-43106-gating-of-builtin-attrs.rs","byte_start":11745,"byte_end":11764,"line_start":411,"line_end":411,"column_start":5,"column_end":24,"is_primary":true,"text":[{"text":"    #[no_link = \"3400\"] fn f() { }","highlight_start":5,"highlight_end":24}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"warning: unused attribute\n  --> /checkout/src/test/ui/feature-gate/issue-43106-gating-of-builtin-attrs.rs:411:5\n   |\nLL |     #[no_link = \"3400\"] fn f() { }\n   |     ^^^^^^^^^^^^^^^^^^^\n\n"}
[00:55:51] {"message":"unused attribute","code":{"code":"unused_attributes","explanation":null},"level":"warning","spans":[{"file_name":"/checkout/src/test/ui/feature-gate/issue-43106-gating-of-builtin-attrs.rs","byte_start":11812,"byte_end":11831,"line_start":414,"line_end":414,"column_start":5,"column_end":24,"is_primary":true,"text":[{"text":"    #[no_link = \"3400\"] struct S;","highlight_start":5,"highlight_end":24}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"warning: unused attribute\n  --> /checkout/src/test/ui/feature-gate/issue-43106-gating-of-builtin-attrs.rs:414:5\n   |\nLL |     #[no_link = \"3400\"] struct S;\n   |     ^^^^^^^^^^^^^^^^^^^\n\n"}
[00:55:51] {"message":"unused attribute","code":{"code":"unused_attributes","explanation":null},"level":"warning","spans":[{"file_name":"/checkout/src/test/ui/feature-gate/issue-43106-gating-of-builtin-attrs.rs","byte_start":11878,"byte_end":11897,"line_start":417,"line_end":417,"column_start":5,"column_end":24,"is_primary":true,"text":[{"text":"    #[no_link = \"3400\"]type T = S;","highlight_start":5,"highlight_end":24}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"warning: unused attribute\n  --> /checkout/src/test/ui/feature-gate/issue-43106-gating-of-builtin-attrs.rs:417:5\n   |\nLL |     #[no_link = \"3400\"]type T = S;\n   |     ^^^^^^^^^^^^^^^^^^^\n\n"}
[00:55:51] {"message":"unused attribute","code":{"code":"unused_attributes","explanation":null},"level":"warning","spans":[{"file_name":"/checkout/src/test/ui/feature-gate/issue-43106-gating-of-builtin-attrs.rs","byte_start":11945,"byte_end":11964,"line_start":420,"line_end":420,"column_start":5,"column_end":24,"is_primary":true,"text":[{"text":"    #[no_link = \"3400\"] impl S { }","highlight_start":5,"highlight_end":24}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"warning: unused attribute\n  --> /checkout/src/test/ui/feature-gate/issue-43106-gating-of-builtin-attrs.rs:420:5\n   |\nLL |     #[no_link = \"3400\"] impl S { }\n   |     ^^^^^^^^^^^^^^^^^^^\n\n"}
[00:55:51] {"message":"unused attribute","code":{"code":"unused_attributes","explanation":null},"level":"warning","spans":[{"file_name":"/checkout/src/test/ui/feature-gate/issue-43106-gating-of-builtin-attrs.rs","byte_start":11611,"byte_end":11630,"line_start":405,"line_end":405,"column_start":1,"column_end":20,"is_primary":true,"text":[{"text":"#[no_link = \"3400\"]","highlight_stshould_panic = \"3200\"] type T = S;\n   |     ^^^^^^^^^^^^^^^^^^^^^^^^\n\n"}
[00:55:51] {"message":"unused attribute","code":{"code":"unused_attributes","explanation":null},"level":"warning","spans":[{"file_name":"/checkout/src/test/ui/feature-gate/issue-43106-gating-of-builtin-attrs.rs","byte_start":12375,"byte_end":12399,"line_start":439,"line_end":439,"column_start":5,"column_end":29,"is_primary":true,"text":[{"text":"    #[should_panic = \"3200\"] impl S { }","highlight_start":5,"highlight_end":29}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"warning: unused attribute\n  --> /checkout/src/test/ui/feature-gate/issue-43106-gating-of-builtin-attrs.rs:439:5\n   |\nLL |     #[should_panic = \"3200\"] impl S { }\n   |     ^^^^^^^^^^^^^^^^^^^^^^^^\n\n"}
[00:55:51] {"message":"unused attribute","code":{"code":"unused_attributes","explanation":null},"level":"warning","spans":[{"file_name":"/checkout/src/test/ui/feature-gate/issue-43106-gating-of-builtin-attrs.rs","byte_start":12010,"byte_end":12034,"line_start":424,"line_end":424,"column_start":1,"column_end":25,"is_primary":true,"text":[{"text":"#[should_panic = \"3200\"]","highlight_start":1,"highlight_end":25}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"warning: unused attribute\n  --> /checkout/src/test/ui/feature-gate/issue-43106-gating-of-builtin-attrs.rs:424:1\n   |\nLL | #[should_panic = \"3200\"]\n   | ^^^^^^^^^^^^^^^^^^^^^^^^\n\n"}
[00:55:51] {"message":"unused attribute","code":{"code":"unused_attributes","explanation":null},"level":"warning","spans":[{"file_name":"/checkout/src/test/ui/feature-gate/issue-43106-gating-of-builtin-attrs.rs","byte_start":12520,"byte_end":12537,"line_start":446,"line_end":446,"column_start":17,"column_end":34,"is_primary":true,"text":[{"text":"    mod inner { #![ignore=\"3100\"] }","highlight_start":17,"highlight_end":34}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"warning: unused attribute\n  --> /checkout/src/test/ui/feature-gate/issue-43106-gating-of-builtin-attrs.rs:446:17\n   |\nLL |     mod inner { #![ignore=\"3100\"] }\n   |                 ^^^^^^^^^^^^^^^^^\n\n"}
[00:55:51] {"message":"unused attribute","code":{"code":"unused_attributes","explanation":null},"level":"warning","spans":[{"file_name":"/checkout/src/test/ui/feature-gate/issue-43106-gating-of-builtin-attrs.rs","byte_start":12576,"byte_end":12594,"line_start":449,"line_end":449,"column_start":5,"column_end":23,"is_primary":true,"text":[{"text":"    #[ignore = \"3100\"] fn f() { }","highlight_start":5,"highlight_end":23}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"warning: unused attribute\n  --> /checkout/src/test/ui/feature-gate/issue-43106-gating-of-builtin-attrs.rs:449:5\n   |\nLL |     #[ignore = \"3100\"] fn f() { }\n   |     ^^^^^^^^^^^^^^^^^^\n\n"}
[00:55:51] {"message":"unused attribute","code":{"code":"unused_attributes","explanation":null},"level":"warning","spans":[{"file_name":"/checkout/src/test/ui/feature-gate/issue-43106-gating-of-builtin-attrs.rs","byte_start":12642,"byte_enghlight_end":23}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"warning: unused attribute\n  --> /checkout/src/test/ui/feature-gate/issue-43106-gating-of-builtin-attrs.rs:458:5\n   |\nLL |     #[ignore = \"3100\"] impl S { }\n   |     ^^^^^^^^^^^^^^^^^^\n\n"}
[00:55:51] {"message":"unused attribute","code":{"code":"unused_attributes","explanation":null},"level":"warning","spans":[{"file_name":"/checkout/src/test/ui/feature-gate/issue-43106-gating-of-builtin-attrs.rs","byte_start":12445,"byte_end":12463,"line_start":443,"line_end":443,"column_start":1,"column_end":19,"is_primary":true,"text":[{"text":"#[ignore = \"3100\"]","highlight_start":1,"highlight_end":19}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"warning: unused attribute\n  --> /checkout/src/test/ui/feature-gate/issue-43106-gating-of-builtin-attrs.rs:443:1\n   |\nLL | #[ignore = \"3100\"]\n   | ^^^^^^^^^^^^^^^^^^\n\n"}
[00:55:51] {"message":"unused attribute","code":{"code":"unused_attributes","explanation":null},"level":"warning","spans":[{"file_name":"/checkout/src/test/ui/feature-gate/issue-43106-gating-of-builtin-attrs.rs","byte_start":12939,"byte_end":12969,"line_start":465,"line_end":465,"column_start":17,"column_end":47,"is_primary":true,"text":[{"text":"    mod inner { #![no_implicit_prelude=\"3000\"] }","highlight_start":17,"highlight_end":47}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"warning: unused attribute\n  --> /checkout/src/test/ui/feature-gate/issue-43106-gating-of-builtin-attrs.rs:465:17\n   |\nLL |     mod inner { #![no_implicit_prelude=\"3000\"] }\n   |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n\n"}
[00:55:51] {"message":"unused attribute","code":{"code":"unused_attributes","explanation":null},"level":"warning","spans":[{"file_name":"/checkout/src/test/ui/feature-gate/issue-43106-gating-of-builtin-attrs.rs","byte_start":13008,"byte_end":13039,"line_start":468,"line_end":468,"column_start":5,"column_end":36,"is_primary":true,"text":[{"text":"    #[no_implicit_prelude = \"3000\"] fn f() { }","highlight_start":5,"highlight_end":36}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"warning: unused attribute\n  --> /checkout/src/test/ui/feature-gate/issue-43106-gating-of-builtin-attrs.rs:468:5\n   |\nLL |     #[no_implicit_prelude = \"3000\"] fn f() { }\n   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n\n"}
[00:55:51] {"message":"unused attribute","code":{"code":"unused_attributes","explanation":null},"level":"warning","spans":[{"file_name":"/checkout/src/test/ui/feature-gate/issue-43106-gating-of-builtin-attrs.rs","byte_start":13087,"byte_end":13118,"line_start":471,"line_end":471,"column_start":5,"column_end":36,"is_primary":true,"text":[{"text":"    #[no_implicit_prelude = \"3000\"] struct S;","highlight_start":5,"highlight_end":36}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"warning: unused attribute\n  --> /checkout/src/test/ui/feature-gate/issue-43106-gating-of-builtin-attrs.rs:471:5\n   |\nLL |     #[no_implicit_prelude = \"3000\"] struct S;\n   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n\n"}
[00:55:51] {"message":"unused attribute","code":{"code":"unused_attributes","explanation":null},"level":"warning","spans":[{"file_name":"/checkout/src/test/ui/feature-gate/issue-43106-gating-of-builtin-attrs.rs","byte_start":13165,"byte_end":13196,"line_start":474,"line_end":474,"column_start":5,"column_end":36,"is_primary":true,"text":[{"text":"    #[no_implicit_prelude = \"3000\"] type T = S;","highlight_start":5,"highlight_end":36}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"warning: unused attribute\n  --> /checkout/src/test/ui/feature-gate/issue-43106-gating-of-builtin-attrs.rs:474:5\n   |\nLL |     #[no_implicit_prelude = \"3000\"] type T = S;\n   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n\n"}
[00:55:51] {"message":"unused attribute","code":{"code":"unused_attributes","explanation":null},"level":"warning","spans":[{"file_name":"/checkout/src/test/ui/feature-gate/issue-43106-gating-of-builtin-attrs.rs","byte_start":13245,"byte_end":13276,"line_start":477,"line_end":477,"column_start":5,"column_end":36,"is_primary":true,"text":[{"text":"    #[no_implicit_prelude = \"3000\"] impl S { }","highlight_start":5,"highlight_end":36}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"warning: unused attribute\n  --> /checkout/src/test/ui/feature-gate/issue-43106-gating-of-builtin-attrs.rs:477:5\n   |\nLL |     #[no_implicit_prelude = \"3000\"] impl S { }\n   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n\n"}
[00:55:51] {"message":"unused attribute","code":{"code":"unused_attributes","explanation":null},"level":"warning","spans":[{"file_name":"/checkout/src/test/ui/feature-gate/issue-43106-gating-of-builtin-attrs.rs","byte_start":12838,"byte_end":12869,"line_start":462,"line_end":462,"column_start":1,"column_end":32,"is_primary":true,"text":[{"text":"#[no_implicit_prelude = \"3000\"]","highlight_start":1,"highlight_end":32}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"warning: unused attribute\n  --> /checkout/src/test/ui/feature-gate/issue-43106-gating-of-builtin-attrs.rs:462:1\n   |\nLL | #[no_implicit_prelude = \"3000\"]\n   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n\n"}
[00:55:51] {"message":"unused attribute","code":{"code":"unused_attributes","explanation":null},"level":"warning","spans":[{"file_name":"/checkout/src/test/ui/feature-gate/issue-43106-gating-of-builtin-attrs.rs","byte_start":13437,"byte_end":13474,"line_start":484,"line_end":484,"column_start":17,"column_end":54,"is_primary":true,"text":[{"text":"    mod inner { #![reexport_test_harness_main=\"2900\"] }","highlight_start":17,"highlight_end":54}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"warning: unused attribute\n  --> /checkout/src/test/ui/feature-gate/issue-43106-gating-of-builtin-attrs.rs:484:17\n   |\nLL |     mod inner { #![reexport_test_harness_main=\"2900\"] }\n   |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n\n"}
[00:55:51] {"message":"unused attribute","code":{"code":"unused_attributes","explanation":null},"level":"warning","spans":[{"file_name":"/checkout/src/test/ui/feature-gate/issue-43106-gating-of-builtin-attrs.rs","byte_start":13513,"byte_end":13551,"line_start":487,"line_end":487,"column_start":5,"column_end":43,"is_primary":true,"text":[{"text":"    #[reexport_test_harness_main = \"2900\"] fn f() { }","highlight_start":5,"highlight_end":43}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"warning: unused attribute\n  --> /checkout/src/test/ui/feature-gate/issue-43106-gating-of-builtin-attrs.rs:487:5\n   |\nLL |     #[reexport_test_harness_main = \"2900\"] fn f() { }\n   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n\n"}
[00:55:51] {"message":"unused attribute","code":{"code":"unused_attributes","explanation":null},"level":"warning","spans":[{"file_name":"/checkout/src/test/ui/feature-gate/issue-43106-gating-of-builtin-attrs.rs","byte_start":13599,"byte_end":13637,"line_start":490,"line_end":490,"column_start":5,"column_end":43,"is_primary":true,"text":[{"text":"    #[reexport_test_harness_main = \"2900\"] struct S;","highlight_start":5,"highlight_end":43}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"warning: unused attribute\n  --> /checkout/src/test/ui/feature-gate/issue-43106-gating-of-builtin-attrs.rs:490:5\n   |\nLL |     #[reexport_test_harness_main = \"2900\"] struct S;\n   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n\n"}
[00:55:51] {"message":"unused attribute","code":{"code":"unused_attributes","explanation":null},"level":"warning","spans":[{"file_name":"/checkout/src/test/ui/feature-gate/issue-43106-gating-of-builtin-attrs.rs","byte_start":13684,"byte_end":13722,"line_start":493,"line_end":493,"column_start":5,"column_end":43,"is_primary":true,"text":[{"text":"    #[reexport_test_harness_main = \"2900\"] type T = S;","highlight_start":5,"highlight_end":43}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"warning: unused attribute\n  --> /checkout/src/test/ui/feature-gate/issue-43106-gating-of-builtin-attrs.rs:493:5\n   |\nLL |     #[reexport_test_harness_main = \"2900\"] type T = S;\n   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n\n"}
[00:55:51] {"message":"unused attribute","code":{"code":"unused_attributes","explanation":null},"level":"warning","spans":[{"file_name":"/checkout/src/test/ui/feature-gate/issue-43106-gating-of-builtin-attrs.rs","byte_start":13771,"byte_end":13809,"line_start":496,"line_end":496,"column_start":5,"column_end":43,"is_primary":true,"text":[{"text":"    #[reexport_test_harness_main = \"2900\"] impl S { }","highlight_start":5,"highlight_end":43}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"warning: unused attribute\n  --> /checkout/src/test/ui/feature-gate/issue-43106-gating-of-builtin-attrs.rs:496:5\n   |\nLL |     #[reexport_test_harness_main = \"2900\"] impl S { }\n   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n\n"}
[00:55:51] {"message":"unused attribute","code":{"code":"unused_attributes","explanation":null},"level":"warning","spans":[{"file_name":"/checkout/src/test/ui/feature-gate/issue-43106-gating-of-builtin-attrs.rs","byte_start":13322,"byte_end":13360,"line_start":481,"line_end":481,"column_start":1,"column_end":39,"is_primary":true,"text":[{"text":"#[reexport_test_harness_main = \"2900\"]","highlight_start":1,"highlight_end":39}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"warning: unused attribute\n  --> /checkout/src/test/ui/feature-gate/issue-43106-gating-of-builtin-attrs.rs:481:1\n   |\nLL | #[reexport_test_harness_main = \"2900\"]\n   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n\n"}
[00:55:51] {"message":"unused attribute","code":{"code":"unused_attributes","explanation":null},"level":"warning","spans":[{"file_name":"/checkout/src/test/ui/feature-gate/issue-43106-gating-of-builtin-attrs.rs","byte_start":14127,"byte_end":14142,"line_start":507,"line_end":507,"column_start":5,"column_end":20,"is_primary":true,"text":[{"text":"    #[macro_escape] fn f() { }","highlight_start":5,"highlight_end":20}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"warning: unused attribute\n  --> /checkout/src/test/ui/feature-gate/issue-43106-gating-of-builtin-attrs.rs:507:5\n   |\nLL |     #[macro_escape] fn f() { }\n   |     ^^^^^^^^^^^^^^^\n\n"}
[00:55:51] {"message":"unused attribute","code":{"code":"unused_attributes","explanation":null},"level":"warning","spans":[{"file_name":"/checkout/src/test/ui/feature-gate/issue-43106-gating-of-builtin-attrs.rs","byte_start":14190,"byte_end":14205,"line_start":510,"line_end":510,"column_start":5,"column_end":20,"is_primary":true,"text":[{"text":"    #[macro_escape] struct S;","highlight_start":5,"highlight_end":20}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"warning: unused attribute\n  --> /checkout/src/test/ui/feature-gate/issue-43106-gating-of-builtin-attrs.rs:510:5\n   |\nLL |     #[macro_escape] struct S;\n   |     ^^^^^^^^^^^^^^^\n\n"}
[00:55:51] {"message":"unused attribute","code":{"code":"unused_attributes","explanation":null},"level":"warning","spans":[{"file_name":"/checkout/src/test/ui/feature-gate/issue-43106-gating-of-builtin-attrs.rs","byte_start":14252,"byte_end":14267,"line_start":513,"line_end":513,"column_start":5,"column_end":20,"is_primary":true,"text":[{"text":"    #[macro_escape] type T = S;","highlight_start":5,"highlight_end":20}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"warning: unused attribute\n  --> /checkout/src/test/ui/feature-gate/issue-43106-gating-of-builtin-attrs.rs:513:5\n   |\nLL |     #[macro_escape] type T = S;\n   |     ^^^^^^^^^^^^^^^\n\n"}
[00:55:51] {"message":"unused attribute","code":{"code":"unused_attributes","explanation":null},"level":"warning","spans":[{"file_name":"/checkout/src/test/ui/feature-gate/issue-43106-gating-of-builtin-attrs.rs","byte_start":14316,"byte_end":14331,"line_start":516,"line_end":516,"column_start":5,"column_end":20,"is_primary":true,"text":[{"text":"    #[macro_escape] impl S { }","highlight_start":5,"highlight_end":20}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"in-attrs.rs:528:5\n   |\nLL |     #[no_std = \"2600\"] fn f() { }\n   |     ^^^^^^^^^^^^^^^^^^\n\n"}
[00:55:51] {"message":"unused attribute","code":{"code":"unused_attributes","explanation":null},"level":"warning","spans":[{"file_name":"/checkout/src/test/ui/feature-gate/issue-43106-gating-of-builtin-attrs.rs","byte_start":14765,"byte_end":14783,"line_start":532,"line_end":532,"column_start":5,"column_end":23,"is_primary":true,"text":[{"text":"    #[no_std = \"2600\"] struct S;","highlight_start":5,"highlight_end":23}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"warning: unused attribute\n  --> /checkout/src/test/ui/feature-gate/issue-43106-gating-of-builtin-attrs.rs:532:5\n   |\nLL |     #[no_std = \"2600\"] struct S;\n   |     ^^^^^^^^^^^^^^^^^^\n\n"}
[00:55:51] {"message":"crate-level attribute should be an inner attribute: add an exclamation mark: #![foo]","code":{"code":"unused_attributes","explanation":null},"level":"warning","spans":[{"file_name":"/checkout/src/test/ui/feature-gate/issue-43106-gating-of-builtin-attrs.rs","byte_start":14765,"byte_end":14783,"line_start":532,"line_end":532,"column_start":5,"column_end":23,"is_primary":true,"text":[{"text":"    #[no_std = \"2600\"] struct S;","highlight_start":5,"highlight_end":23}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"warning: crate-level attribute should be an inner attribute: add an exclamation mark: #![foo]\n  --> /checkout/src/test/ui/feature-gate/issue-43106-gating-of-builtin-attrs.rs:532:5\n   |\nLL |     #[n   |     ^^^^^^^^^^^^^^^^^^\n\n"}
[00:55:51] {"message":"unused attribute","code":{"code":"unused_attributes","explanation":null},"level":"warning","spans":[{"file_name":"/checkout/src/test/ui/feature-gate/issue-43106-gating-of-builtin-attrs.rs","byte_start":15027,"byte_end":15045,"line_start":540,"line_end":540,"column_start":5,"column_end":23,"is_primary":true,"text":[{"text":"    #[no_std = \"2600\"] impl S { }","highlight_start":5,"highlight_end":23}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"warning: unused attribute\n  --> /checkout/src/test/ui/feature-gate/issue-43106-gating-of-builtin-attrs.rs:540:5\n   |\nLL |     #[no_std = \"2600\"] impl S { }\n   |     ^^^^^^^^^^^^^^^^^^\n\n"}
[00:55:51] {"message":"crate-level attribute should be an inner attribute: add an exclamation mark: #![foo]","code":{"code":"unused_attributes","explanation":null},"level":"warning","spans":[{"file_name":"/checkout/src/test/ui/feature-gate/issue-43106-gating-of-builtin-attrs.rs","byte_start":15027,"byte_end":15045,"line_start":540,"line_end":540,"column_start":5,"column_end":23,"is_primary":true,"text":[{"text":"    #[no_std = \"2600\"] impl S { }","highlight_start":5,"highlight_end":23}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"warning: crate-level attribute should be an inner attribute: add an exclamation mark: #![foo]\n  --> /checkout/src/test/ui/feature-gate/issue-43106-gating-of-builtin-attrs.rs:540:5\n   |\nLL |     #[no_std = \"2600\"] impl S { }\n   |     ^^^^^^^^^^^^^^^^^^\n\n"evel":"warning","spans":[{"file_name":"/checkout/src/test/ui/feature-gate/issue-43106-gating-of-builtin-attrs.rs","byte_start":17977,"byte_end":17998,"line_start":679,"line_end":679,"column_start":17,"column_end":38,"is_primary":true,"text":[{"text":"    mod inner { #![crate_name=\"0900\"] }","highlight_start":17,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"warning: unused attribute\n  --> /checkout/src/test/ui/feature-gate/issue-43106-gating-of-builtin-attrs.rs:679:17\n   |\nLL |     mod inner { #![crate_name=\"0900\"] }\n   |                 ^^^^^^^^^^^^^^^^^^^^^\n\n"}
[00:55:51] {"message":"crate-level attribute should be in the root module","code":{"code":"unused_attributes","explanation":null},"level":"warning","spans":[{"file_name":"/checkout/src/test/ui/feature-gate/issue-43106-gating-of-builtin-attrs.rs","byte_start":17977,"byte_end":17998,"line_start":679,"line_end":679,"column_start":17,"column_end":38,"is_primary":true,"text":[{"text":"    mod inner { #![crate_name=\"0900\"] }","highlight_start":17,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"warning: crate-level attribute should be in the root module\n  --> /checkout/src/test/ui/feature-gate/issue-43106-gating-of-builtin-attrs.rs:679:17\n   |\nLL |     mod inner { #![crate_name=\"0900\"] }\n   |                 ^^^^^^^^^^^^^^^^^^^^^\n\n"}
[00:55:51] {"message":"unused attribute","code":{"code":"unused_attributes","explanation":null},"level":"warning","spans":[{"file_name":"/checkout/src/test/ui/feature-gate/issue-43106-gating-of-builtin-attrs.rs","byte_start":18102,"byte_end":18124,"line_start":683,"line_end":683,"column_start":5,"column_end":27,"is_primary":true,"text":[{"text":"    #[crate_name = \"0900\"] fn f() { }","highlight_start":5,"highlight_end":27}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"warning: unused attribute\n  --> /checkout/src/test/ui/feature-gate/issue-43106-gating-of-builtin-attrs.rs:683:5\n   |\nLL |     #[crate_name = \"0900\"] fn f() { }\n   |     ^^^^^^^^^^^^^^^^^^^^^^\n\n"}
[00:55:51] {"message":"crate-level attribute should be an inner attribute: add an exclamation mark: #![foo]","code":{"code":"unused_attributes","explanation":null},"level":"warning","spans":[{"file_name":"/checkout/src/test/ui/feature-gate/issue-43106-gating-of-builtin-attrs.rs","byte_start":18102,"byte_end":18124,"line_start":683,"line_end":683,"column_start":5,"column_end":27,"is_primary":true,"text":[{"text":"    #[crate_name = \"0900\"] fn f() { }","highlight_start":5,"highlight_end":27}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"warning: crate-level attribute should be an inner attribute: add an exclamation mark: #![foo]\n  --> /checkout/src/test/ui/feature-gate/issue-43106-gating-of-builtin-attrs.rs:683:5\n   |\nLL |     #[crate_name = \"0900\"] fn f() { }\n   |     ^^^^^^^^^^^^^^^^^^^^^^\n\n"}
[00:55:51] {"message":"unused attribute","code":{"code":"unused_attributes","explanation":null},"level":"warning","spans":[{"file_name":"/checkout/s-gate/issue-43106-gating-of-builtin-attrs.rs","byte_start":18507,"byte_end":18529,"line_start":695,"line_end":695,"column_start":5,"column_end":27,"is_primary":true,"text":[{"text":"    #[crate_name = \"0900\"] impl S { }","highlight_start":5,"highlight_end":27}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"warning: unused attribute\n  --> /checkout/src/test/ui/feature-gate/issue-43106-gating-of-builtin-attrs.rs:695:5\n   |\nLL |     #[crate_name = \"0900\"] impl S { }\n   |     ^^^^^^^^^^^^^^^^^^^^^^\n\n"}
[00:55:51] {"message":"crate-level attribute should be an inner attribute: add an exclamation mark: #![foo]","code":{"code":"unused_attributes","explanation":null},"level":"warning","spans":[{"file_name":"/checkout/src/test/ui/feature-gate/issue-43106-gating-of-builtin-attrs.rs","byte_start":18507,"byte_end":18529,"line_start":695,"line_end":695,"column_start":5,"column_end":27,"is_primary":true,"text":[{"text":"    #[crate_name = \"0900\"] impl S { }","highlight_start":5,"highlight_end":27}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"warning: crate-level attribute should be an inner attribute: add an exclamation mark: #![foo]\n  --> /checkout/src/test/ui/feature-gate/issue-43106-gating-of-builtin-attrs.rs:695:5\n   |\nLL |     #[crate_name = \"0900\"] impl S { }\n   |     ^^^^^^^^^^^^^^^^^^^^^^\n\n"}
[00:55:51] {"message":"unused attribute","code":{"code":"unused_attributes","explanation":null},"level":"warning","spans":[{"file_name":"/checkout/src/test/ui/feature-gate/issue-43106-gating-of-builtin-attrs.rs","byte_start":17833,"byte_end":17855,"line_start":675,"line_end":675,"column_start":1,"column_end":23,"is_primary":true,"text":[{"text":"#[crate_name = \"0900\"]","highlight_start":1,"highlight_end":23}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"warning: unused attribute\n  --> /checkout/src/test/ui/feature-gate/issue-43106-gating-of-builtin-attrs.rs:675:1\n   |\nLL | #[crate_name = \"0900\"]\n   | ^^^^^^^^^^^^^^^^^^^^^^\n\n"}
[00:55:51] {"message":"crate-level attribute should be an inner attribute: add an exclamation mark: #![foo]","code":{"code":"unused_attributes","explanation":null},"level":"warning","spans":[{"file_name":"/checkout/src/test/ui/feature-gate/issue-43106-gating-of-builtin-attrs.rs","byte_start":17833,"byte_end":17855,"line_start":675,"line_end":675,"column_start":1,"column_end":23,"is_primary":true,"text":[{"text":"#[crate_name = \"0900\"]","highlight_start":1,"highlight_end":23}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"warning: crate-level attribute should be an inner attribute: add an exclamation mark: #![foo]\n  --> /checkout/src/test/ui/feature-gate/issue-43106-gating-of-builtin-attrs.rs:675:1\n   |\nLL | #[crate_name = \"0900\"]\n   | ^^^^^^^^^^^^^^^^^^^^^^\n\n"}
[00:55:51] {"message":"unused attribute","code":{"code":"unused_attributes","explanation":null},"level":"warning","spans":[{"file_name":"/checkout/src/test/ui/feature-gate/issue-43106-gating-of-builtin-attrs.rs","byte_start":18784,"byte_end":18805,"lin":5,"column_end":27,"is_primary":true,"text":[{"text":"    #[crate_type = \"0800\"] fn f() { }","highlight_start":5,"highlight_end":27}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"warning: unused attribute\n  --> /checkout/src/test/ui/feature-gate/issue-43106-gating-of-builtin-attrs.rs:708:5\n   |\nLL |     #[crate_type = \"0800\"] fn f() { }\n   |     ^^^^^^^^^^^^^^^^^^^^^^\n\n"}
[00:55:51] {"message":"crate-level attribute should be an inner attribute: add an exclamation mark: #![foo]","code":{"code":"unused_attributes","explanation":null},"level":"warning","spans":[{"file_name":"/checkout/src/test/ui/feature-gate/issue-43106-gating-of-builtin-attrs.rs","byte_start":18909,"byte_end":18931,"line_start":708,"line_end":708,"column_start":5,"column_end":27,"is_primary":true,"text":[{"text":"    #[crate_type = \"0800\"] fn f() { }","highlight_start":5,"highlight_end":27}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"warning: crate-level attribute should be an inner attribute: add an exclamation mark: #![foo]\n  --> /checkout/src/test/ui/feature-gate/issue-43106-gating-of-builtin-attrs.rs:708:5\n   |\nLL |     #[crate_type = \"0800\"] fn f() { }\n   |     ^^^^^^^^^^^^^^^^^^^^^^\n\n"}
[00:55:51] {"message":"unused attribute","code":{"code":"unused_attributes","explanation":null},"level":"warning","spans":[{"file_name":"/checkout/src/test/ui/feature-gate/issue-43106-gating-of-builtin-attrs.rs","byte_start":19044,"byte_end":19066,"line_start":712,"line_end":712,"column_start":5,"column_end":27,"is_primary":true,"text":[{"text":"    #[crate_type = \"0800\"] struct S;","highlight_start":5,"highlight_end":27}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"warning: unused attribute\n  --> /checkout/src/test/ui/feature-gate/issue-43106-gating-of-builtin-attrs.rs:712:5\n   |\nLL |     #[crate_type = \"0800\"] struct S;\n   |     ^^^^^^^^^^^^^^^^^^^^^^\n\n"}
[00:55:51] {"message":"crate-level attribute should be an inner attribute: add an exclamation mark: #![foo]","code":{"code":"unused_attributes","explanation":null},"level":"warning","spans":[{"file_name":"/checkout/src/test/ui/feature-gate/issue-43106-gating-of-builtin-attrs.rs","byte_start":19044,"byte_end":19066,"line_start":712,"line_end":712,"column_start":5,"column_end":27,"is_primary":true,"text":[{"text":"    #[crate_type = \"0800\"] struct S;","highlight_start":5,"highlight_end":27}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"warning: crate-level attribute should be an inner attribute: add an exclamation mark: #![foo]\n  --> /checkout/src/test/ui/feature-gate/issue-43106-gating-of-builtin-attrs.rs:712:5\n   |\nLL |     #[crate_type = \"0800\"] struct S;\n   |     ^^^^^^^^^^^^^^^^^^^^^^\n\n"}
[00:55:51] {"message":"unused attribute","code":{"code":"unused_attributes","explanation":null},"level":"warning","spans":[{"file_name":"/checkout/src/test/ui/feature-gate/issue-43106-gating-of-builtin-attrs.rs","byte_start":19178,"byte_end":19200,"line_start":716,"line_end":716,"column_start":5,"column_end":27,"is_primary":true,"text":[{"text":"    #[crate_type = \"0800\"] type T = S;","highlight_start":5,"highlight_end":27}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"warning: unused attribute\n  --> /checkout/src/test/ui/feature-gate/issue-43106-gating-of-builtin-attrs.rs:716:5\n   |\nLL |     #[crate_type = \"0800\"] type T = S;\n   |     ^^^^^^^^^^^^^^^^^^^^^^\n\n"}
[00:55:51] {"message":"crate-level attribute should be an inner attribute: add an exclamation mark: #![foo]","code":{"code":"unused_attributes","explanation":null},"level":"warning","spans":[{"file_name":"/checkout/src/test/ui/feature-gate/issue-43106-gating-of-builtin-attrs.rs","byte_start":19178,"byte_end":19200,"line_start":716,"line_end":716,"column_start":5,"column_end":27,"is_primary":true,"text":[{"text":"    #[crate_type = \"0800\"] type T = S;","highlight_start":5,"highlight_end":27}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"warning: crate-level attribute should be an inner attribute: add an exclamation mark: #![foo]\n  --> /checkout/src/test/ui/feature-gate/issue-43106-gating-of-builtin-attrs.rs:716:5\n   |\nLL |     #[crate_type = \"0800\"] type T = S;\n   |     ^^^^^^^^^^^^^^^^^^^^^^\n\n"}
[00:55:51] {"message":"unused attribute","code":{"code":"unused_attributes","explanation":null},"level":"warning","spans":[{"file_name":"/checkout/src/test/ui/feature-gate/issue-43106-gating-of-builtin-attrs.rs","byte_start":19314,"byte_end":19336,"line_start":720,"line_end":720,"column_start":5,"column_end":27,"is_primary":true,"text":[{"text":"    #[crate_type = \"0800\"] impl S { }","highlight_start":5,"highlight_end":27}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"warning: unused attribute\n  --> /checkout/src/test/ui/feature-gate/issue-43106-gating-of-builtin-attrs.rs:720:5\n   |\nLL |     #[crate_type = \"0800\"] impl S { }\n   |     ^^^^^^^^^^^^^^^^^^^^^^\n\n"}
[00:55:51] {"message":"crate-level attribute should be an inner attribute: add an exclamation mark: #![foo]","code":{"code":"unused_attributes","explanation":null},"level":"warning","spans":[{"file_name":"/checkout/src/test/ui/feature-gate/issue-43106-gating-of-builtin-attrs.rs","byte_start":19314,"byte_end":19336,"line_start":720,"line_end":720,"column_start":5,"column_end":27,"is_primary":true,"text":[{"text":"    #[crate_type = \"0800\"] impl S { }","highlight_start":5,"highlight_end":27}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"warning: crate-level attribute should be an inner attribute: add an exclamation mark: #![foo]\n  --> /checkout/src/test/ui/feature-gate/issue-43106-gating-of-builtin-attrs.rs:720:5\n   |\nLL |     #[crate_type = \"0800\"] impl S { }\n   |     ^^^^^^^^^^^^^^^^^^^^^^\n\n"}
[00:55:51] {"message":"unused attribute","code":{"code":"unused_attributes","explanation":null},"level":"warning","spans":[{"file_name":"/checkout/src/test/ui/feature-gate/issue-43106-gating-of-builtin-attrs.rs","byte_start":18640,"byte_end":18662,"line_start":700,"line_end":700,"column_start":1,"column_end":23,"is_primary":true,"text":[{"text":"#[crate_type = \"0800\"]","highlight_start":1,"highlight_end":23}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"warning: unused attribute\n  --> /checkout/src/test/ui/feature-gate/issue-43106-gating-of-builtin-attrs.rs:700:1\n   |\nLL | #[crate_type = \"0800\"]\n   | ^^^^^^^^^^^^^^^^^^^^^^\n\n"}
[00:55:51] {"message":"crate-level attribute should be an inner attribute: add an exclamation mark: #![foo]","code":{"code":"unused_attributes","explanation":null},"level":"warning","spans":[{"file_name":"/checkout/src/test/ui/feature-gate/issue-43106-gating-of-builtin-attrs.rs","byte_start":18640,"byte_end":18662,"line_start":700,"line_end":700,"column_start":1,"column_end":23,"is_primary":true,"text":[{"text":"#[crate_type = \"0800\"]","highlight_start":1,"highlight_end":23}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"warning: crate-level attribute should be an inner attribute: add an exclamation mark: #![foo]\n  --> /checkout/src/test/ui/feature-gate/issue-43106-gating-of-builtin-attrs.rs:700:1\n   |\nLL | #[crate_type = \"0800\"]\n   | ^^^^^^^^^^^^^^^^^^^^^^\n\n"}
[00:55:51] {"message":"unused attribute","code":{"code":"unused_attributes","explanation":null},"level":"warning","spans":[{"file_name":"/checkout/src/test/ui/feature-gate/issue-43106-gating-of-builtin-attrs.rs","byte_start":19583,"byte_end":19601,"line_start":729,"line_end":729,"column_start":17,"column_end":35,"is_primary":true,"text":[{"text":"    mod inner { #![feature(x0600)] }","highlight_start":17,"highlight_end":35}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"warning: unused attribute\n  --> /checkout/src/test/ui/feature-gate/issue-43106-gating-of-builtin-attrs.rs:729:17\n   |\nLL |     mod inner { #![feature(x0600)] }\n   |                 ^^^^^^^^^^^^^^^^^^\n\n"}
[00:55:51] {"message":"crate-level attribute should be in the root module","code":{"code":"unused_attributes","explanation":null},"level":"warning","spans":[{"file_name":"/checkout/src/test/ui/feature-gate/issue-43106-gating-of-builtin-attrs.rs","byte_start":19583,"byte_end":19601,"line_start":729,"line_end":729,"column_start":17,"column_end":35,"is_primary":true,"text":[{"text":"    mod inner { #![feature(x0600)] }","highlight_start":17,"highlight_end":35}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"warning: crate-level attribute should be in the root module\n  --> /checkout/src/test/ui/feature-gate/issue-43106-gating-of-builtin-attrs.rs:729:17\n   |\nLL |     mod inner { #![feature(x0600)] }\n   |                 ^^^^^^^^^^^^^^^^^^\n\n"}
[00:55:51] {"message":"unused attribute","code":{"code":"unused_attributes","explanation":null},"level":"warning","spans":[{"file_name":"/checkout/src/test/ui/feature-gate/issue-43106-gating-of-builtin-attrs.rs","byte_start":19705,"byte_end":19722,"line_start":733,"line_end":733,"column_start":5,"column_end":22,"is_primary":true,"text":[{"text":"    #[feature(x0600)] fn f() { }","highlight_start":5,"highlight_end":22}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"warning: unused attribute\n  --> /checkout/src/test/ui/feature-gate/issue-43106-gating-of-builtin-attrs.rs:733:5\n   |\nLL |     #[feature(x0600)] fn f() { }\n   |     ^^^^^^^^^^^^^^^^^\n\n"}
[00:55:51] {"message":"crate-level attribute should be an inner attribute: add an exclamation mark: #![foo]","code":{"code":"unused_attributes","explanation":null},"level":"warning","spans":[{"file_name":"/checkout/src/test/ui/feature-gate/issue-43106-gating-of-builtin-attrs.rs","byte_start":19705,"byte_end":19722,"line_start":733,"line_end":733,"column_start":5,"column_end":22,"is_primary":true,"text":[{"text":"    #[feature(x0600)] fn f() { }","highlight_start":5,"highlight_end":22}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"warning: crate-level attribute should be an inner attribute: add an exclamation mark: #![foo]\n  --> /checkout/src/test/ui/feature-gate/issue-43106-gating-of-builtin-attrs.rs:733:5\n   |\nLL |     #[feature(x0600)] fn f() { }\n   |     ^^^^^^^^^^^^^^^^^\n\n"}
[00:55:51] {"message":"unused attribute","code":{"code":"unused_attributes","explanation":null},"level":"warning","spans":[{"file_name":"/checkout/src/test/ui/feature-gate/issue-43106-gating-of-builtin-attrs.rs","byte_start":19835,"byte_end":19852,"line_start":737,"line_end":737,"column_start":5,"column_end":22,"is_primary":true,"text":[{"text":"    #[feature(x0600)] struct S;","highlight_start":5,"highlight_end":22}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"warning: unused attribute\n  --> /checkout/src/test/ui/feature-gate/issue-43106-gating-of-builtin-attrs.rs:737:5\n   |\nLL |     #[feature(x0600)] struct S;\n   |     ^^^^^^^^^^^^^^^^^\n\n"}
[00:55:51] thread 'main' panicked at 'Some tests failed', tools/compiletest/src/main.rs:496:22
[00:55:51] {"message":"crate-level attribute should be an inner attribute: add an exclamation mark: #![foo]","code":{"code":"unused_attributes","explanation":null},"level":"warning","spans":[{"file_name":"/checkout/src/test/ui/feature-gate/issue-43106-gating-of-builtin-attrs.rs","byte_start":19835,"byte_end":19852,"line_start":737,"line_end":737,"column_start":5,"column_end":22,"is_primary":true,"text":[{"text":"    #[feature(x0600)] struct S;","highlight_start":5,"highlight_end":22}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"warning: crate-level attribute should be an inner attribute: add an exclamation mark: #![foo]\n  --> /checkout/src/test/ui/feature-gate/issue-43106-gating-of-builtin-attrs.rs:737:5\n   |\nLL |     #[feature(x0600)] struct S;\n   |     ^^^^^^^^^^^^^^^^^\n\n"}
[00:55:51] {"message":"unused attribute","code":{"code":"unused_attributes","explanation":null},"level":"warning","spans":[{"file_name":"/checkout/src/test/ui/feature-gate/issue-43106-gating-of-builtin-attrs.rs","byte_start":19964,"byte_end":19981,"line_start":741,"line_end":741,"column_start":5,"column_end":22,"is_primary":true,"text":[{"text":"    #[feature(x0600)] type T = S;","highlight_start":5,"highlight_end":22}],"label":null,"suggested_replacement":null,"suggestimod inner { #![no_main=\"0400\"] }\n   |                 ^^^^^^^^^^^^^^^^^^\n\n"}
[00:55:51] {"message":"crate-level attribute should be in the root module","code":{"code":"unused_attributes","explanation":null},"level":"warning","spans":[{"file_name":"/checkout/src/test/ui/feature-gate/issue-43106-gating-of-builtin-attrs.rs","byte_start":20364,"byte_end":20382,"line_start":755,"line_end":755,"column_start":17,"column_end":35,"is_primary":true,"text":[{"text":"    mod inner { #![no_main=\"0400\"] }","highlight_start":17,"highlight_end":35}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"warning: crate-level attribute should be in the root module\n  --> /checkout/src/test/ui/feature-gate/issue-43106-gating-of-builtin-attrs.rs:755:17\n   |\nLL |     mod inner { #![no_main=\"0400\"] }\n   |                 ^^^^^^^^^^^^^^^^^^\n\n"}
[00:55:51] {"message":"unused attribute","code":{"code":"unused_attributes","explanation":null},"level":"warning","spans":[{"file_name":"/checkout/src/test/ui/feature-gate/issue-43106-gating-of-builtin-attrs.rs","byte_start":20486,"byte_end":20505,"line_start":759,"line_end":759,"column_start":5,"column_end":24,"is_primary":true,"text":[{"text":"    #[no_main = \"0400\"] fn f() { }","highlight_start":5,"highlight_end":24}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"warning: unused attribute\n  --> /checkout/src/test/ui/feature-gate/issue-43106-gating-of-builtin-attrs.rs:759:5\n   |\nLL |     #[no_main = \"0400\"] fn f() { }\n   |     ^^^^^^^^^^^^^^^^^^^\ncrate-level attribute should be an inner attribute: add an exclamation mark: #![foo]","code":{"code":"unused_attributes","explanation":null},"level":"warning","spans":[{"file_name":"/checkout/src/test/ui/feature-gate/issue-43106-gating-of-builtin-attrs.rs","byte_start":20618,"byte_end":20637,"line_start":763,"line_end":763,"column_start":5,"column_end":24,"is_primary":true,"text":[{"text":"    #[no_main = \"0400\"] struct S;","highlight_start":5,"highlight_end":24}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"warning: crate-level attribute should be an inner attribute: add an exclamation mark: #![foo]\n  --> /checkout/src/test/ui/feature-gate/issue-43106-gating-of-builtin-attrs.rs:763:5\n   |\nLL |     #[no_main = \"0400\"] struct S;\n   |     ^^^^^^^^^^^^^^^^^^^\n\n"}
[00:55:51] {"message":"unused attribute","code":{"code":"unused_attributes","explanation":null},"level":"warning","spans":[{"file_name":"/checkout/src/test/ui/feature-gate/issue-43106-gating-of-builtin-attrs.rs","byte_start":20749,"byte_end":20768,"line_start":767,"line_end":767,"column_start":5,"column_end":24,"is_primary":true,"text":[{"text":"    #[no_main = \"0400\"] type T = S;","highlight_start":5,"highlight_end":24}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"warning: unused attribute\n  --> /checkout/src/test/ui/feature-gate/issue-43106-gating-of-builtin-attrs.rs:767:5\n   |\nLL |     #[no_main = \"0400\"] type T = S;\n   |     ^^^^^^^^^^^^^^^^^^^\n\n"}
[00:55:51] {"message":"crate-level attribute should be an inner attribute: add an exclamation mark: #![foo]","code":{"code":"unused_attributes","explanation":null},"level":"warning","spans":[{"file_name":"/checkout/src/test/ui/feature-gate/issue-43106-gating-of-builtin-attrs.rs","byte_start":20749,"byte_end":20768,"line_start":767,"line_end":767,"column_start":5,"column_end":24,"is_primary":true,"text":[{"text":"    #[no_main = \"0400\"] type T = S;","highlight_start":5,"highlight_end":24}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"warning: crate-level attribute should be an inner attribute: add an exclamation mark: #![foo]\n  --> /checkout/src/test/ui/feature-gate/issue-43106-gating-of-builtin-attrs.rs:767:5\n   |\nLL |     #[no_main = \"0400\"] type T = S;\n   |     ^^^^^^^^^^^^^^^^^^^\n\n"}
[00:55:51] {"message":"unused attribute","code":{"code":"unused_attributes","explanation":null},"level":"warning","spans":[{"file_name":"/checkout/src/test/ui/feature-gate/issue-43106-gating-of-builtin-attrs.rs","byte_start":20882,"byte_end":20901,"line_start":771,"line_end":771,"column_start":5,"column_end":24,"is_primary":true,"text":[{"text":"    #[no_main = \"0400\"] impl S { }","highlight_start":5,"highlight_end":24}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"warning: unused attribute\n  --> /checkout/src/test/ui/feature-gate/issue-43106-gating-of-builtin-attrs.rs:771:5\n   |\nLL |     #[no_main = \"0400\"] impl S { }\n   |     ^^^^^^^^^^^^^^^^^^^\n\n"}
[00:55:51] {"message":"crate-level attribute should be an inner attribute: :[{"file_name":"/checkout/src/test/ui/feature-gate/issue-43106-gating-of-builtin-attrs.rs","byte_start":21410,"byte_end":21436,"line_start":793,"line_end":793,"column_start":17,"column_end":43,"is_primary":true,"text":[{"text":"    mod inner { #![recursion_limit=\"0200\"] }","highlight_start":17,"highlight_end":43}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"warning: crate-level attribute should be in the root module\n  --> /checkout/src/test/ui/feature-gate/issue-43106-gating-of-builtin-attrs.rs:793:17\n   |\nLL |     mod inner { #![recursion_limit=\"0200\"] }\n   |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^\n\n"}
[00:55:51] {"message":"unused attribute","code":{"code":"unused_attributes","explanation":null},"level":"warning","spans":[{"file_name":"/checkout/src/test/ui/feature-gate/issue-43106-gating-of-builtin-attrs.rs","byte_start":21540,"byte_end":21565,"line_start":797,"line_end":797,"column_start":5,"column_end":30,"is_primary":true,"text":[{"text":"    #[recursion_limit=\"0200\"] fn f() { }","highlight_start":5,"highlight_end":30}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"warning: unused attribute\n  --> /checkout/src/test/ui/feature-gate/issue-43106-gating-of-builtin-attrs.rs:797:5\n   |\nLL |     #[recursion_limit=\"0200\"] fn f() { }\n   |     ^^^^^^^^^^^^^^^^^^^^^^^^^\n\n"}
[00:55:51] {"message":"crate-level attribute should be an inner attribute: add an exclamation mark: #![foo]","code":{"code":"unused_attributes","explanation":null},"level":"warning","spans":[{"file_name":"/checkout/src/test/ui/feature-gate/issue-43106-gating-of-builtin-attrs.rs","byte_start":21540,"byte_end":21565,"line_start":797,"line_end":797,"column_start":5,"column_end":30,"is_primary":true,"text":[{"text":"    #[recursion_limit=\"0200\"] fn f() { }","highlight_start":5,"highlight_end":30}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"warning: crate-level attribute should be an inner attribute: add an exclamation mark: #![foo]\n  --> /checkout/src/test/ui/feature-gate/issue-43106-gating-of-builtin-attrs.rs:797:5\n   |\nLL |     #[recursion_limit=\"0200\"] fn f() { }\n   |     ^^^^^^^^^^^^^^^^^^^^^^^^^\n\n"}
[00:55:51] {"message":"unused attribute","code":{"code":"unused_attributes","explanation":null},"level":"warning","spans":[{"file_name":"/checkout/src/test/ui/feature-gate/issue-43106-gating-of-builtin-attrs.rs","byte_start":21678,"byte_end":21703,"line_start":801,"line_end":801,"column_start":5,"column_end":30,"is_primary":true,"text":[{"text":"    #[recursion_limit=\"0200\"] struct S;","highlight_start":5,"highlight_end":30}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"warning: unused attribute\n  --> /checkout/src/test/ui/feature-gate/issue-43106-gating-of-builtin-attrs.rs:801:5\n   |\nLL |     #[recursion_limit=\"0200\"] struct S;\n   |     ^^^^^^^^^^^^^^^^^^^^^^^^^\n\n"}
[00:55:51] {"message":"crate-level attribute should be an inner attribute: add an exclamation mark: #![foo]","code":{"code":"unused_attributes","explanation":null},"level":"warning","spans":[{"file_name":"/checkout/src/test/ui/feature-gate/issue-43106-gating-of-builtin-attrs.rs","byte_start":21678,"byte_end":21703,"line_start":801,"line_end":801,"column_start":5,"column_end":30,"is_primary":true,"text":[{"text":"    #[recursion_limit=\"0200\"] struct S;","highlight_start":5,"highlight_end":30}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"warning: crate-level attribute should be an inner attribute: add an exclamation mark: #![foo]\n  --> /checkout/src/test/ui/feature-gate/issue-43106-gating-of-builtin-attrs.rs:801:5\n   |\nLL |     #[recursion_limit=\"0200\"] struct S;\n   |     ^^^^^^^^^^^^^^^^^^^^^^^^^\n\n"}
[00:55:51] {"message":"unused attribute","code":{"code":"unused_attributes","explanation":null},"level":"warning","spans":[{"file_name":"/checkout/src/test/ui/feature-gate/issue-43106-gating-of-builtin-attrs.rs","byte_start":21815,"byte_end":21840,"line_start":805,"line_end":805,"column_start":5,"column_end":30,"is_primary":true,"text":[{"text":"    #[recursion_limit=\"0200\"] type T = S;","highlight_start":5,"highlight_end":30}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"warning: unused attribute\n  --> /checkout/src/test/ui/feature-gate/issue-43106-gating-of-builtin-attrs.rs:805:5\n   |\nLL |     #[recursion_limit=\"0200\"] type T = S;\n   |     ^^^^^^^^^^^^^^^^^^^^^^^^^\n\n"}
[00:55:51] {"message":"crate-level attribute should be an inner attribute: add an exclamation mark: #![foo]","code":{"code":"unused_attributes","explanation":null},"level":"warning","spans":[{"file_name":"/checkout/src/test/ui/feature-gate/issue-43106-gating-of-builtin-attrs.rs","byte_start":21815,"byte_end":21840,"line_start":805,"line_end":805,"column_start":5,"column_end":30,"is_primary":true,"text":[{"text":"    #[recursion_limit=\"0200\"] type T = S;","highlight_start":5,"highlight_end":30}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"warning: crate-level attribute should be an inner attribute: add an exclamation mark: #![foo]\n  --> /checkout/src/test/ui/feature-gate/issue-43106-gating-of-builtin-attrs.rs:805:5\n   |\nLL |     #[recursion_limit=\"0200\"] type T = S;\n   |     ^^^^^^^^^^^^^^^^^^^^^^^^^\n\n"}
[00:55:51] {"message":"unused attribute","code":{"code":"unused_attributes","explanation":null},"level":"warning","spans":[{"file_name":"/checkout/src/test/ui/feature-gate/issue-43106-gating-of-builtin-attrs.rs","byte_start":21954,"byte_end":21979,"line_start":809,"line_end":809,"column_start":5,"column_end":30,"is_primary":true,"text":[{"text":"    #[recursion_limit=\"0200\"] impl S { }","highlight_start":5,"highlight_end":30}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"warning: unused attribute\n  --> /checkout/src/test/ui/feature-gate/issue-43106-gating-of-builtin-attrs.rs:809:5\n   |\nLL |     #[recursion_limit=\"0200\"] impl S { }\n   |     ^^^^^^^^^^^^^^^^^^^^^^^^^\n\n"}
[00:55:51] {"message":"crate-level attribute should be an inner attribute: add an exclamation mark: #![foo]","code":{"code":"unused_attributes","explanation":null}c/test/ui/feature-gate/issue-43106-gating-of-builtin-attrs.rs","byte_start":22246,"byte_end":22274,"line_start":818,"line_end":818,"column_start":17,"column_end":45,"is_primary":true,"text":[{"text":"    mod inner { #![type_length_limit=\"0100\"] }","highlight_start":17,"highlight_end":45}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"warning: crate-level attribute should be in the root module\n  --> /checkout/src/test/ui/feature-gate/issue-43106-gating-of-builtin-attrs.rs:818:17\n   |\nLL |     mod inner { #![type_length_limit=\"0100\"] }\n   |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n\n"}
[00:55:51] {"message":"unused attribute","code":{"code":"unused_attributes","explanation":null},"level":"warning","spans":[{"file_name":"/checkout/src/test/ui/feature-gate/issue-43106-gating-of-builtin-attrs.rs","byte_start":22378,"byte_end":22405,"line_start":822,"line_end":822,"column_start":5,"column_end":32,"is_primary":true,"text":[{"text":"    #[type_length_limit=\"0100\"] fn f() { }","highlight_start":5,"highlight_end":32}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"warning: unused attribute\n  --> /checkout/src/test/ui/feature-gate/issue-43106-gating-of-builtin-attrs.rs:822:5\n   |\nLL |     #[type_length_limit=\"0100\"] fn f() { }\n   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^\n\n"}
[00:55:51] {"message":"crate-level attribute should be an inner attribute: add an exclamation mark: #![foo]","code":{"code":"unused_attributes","explanation":null},"level":"warning","spans":[{"file_name":"/s":[{"file_name":"/checkout/src/test/ui/feature-gate/issue-43106-gating-of-builtin-attrs.rs","byte_start":22518,"byte_end":22545,"line_start":826,"line_end":826,"column_start":5,"column_end":32,"is_primary":true,"text":[{"text":"    #[type_length_limit=\"0100\"] struct S;","highlight_start":5,"highlight_end":32}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"warning: crate-level attribute should be an inner attribute: add an exclamation mark: #![foo]\n  --> /checkout/src/test/ui/feature-gate/issue-43106-gating-of-builtin-attrs.rs:826:5\n   |\nLL |     #[type_length_limit=\"0100\"] struct S;\n   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^\n\n"}
[00:55:51] {"message":"unused attribute","code":{"code":"unused_attributes","explanation":null},"level":"warning","spans":[{"file_name":"/checkout/src/test/ui/feature-gate/issue-43106-gating-of-builtin-attrs.rs","byte_start":22657,"byte_end":22684,"line_start":830,"line_end":830,"column_start":5,"column_end":32,"is_primary":true,"text":[{"text":"    #[type_length_limit=\"0100\"] type T = S;","highlight_start":5,"highlight_end":32}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"warning: unused attribute\n  --> /checkout/src/test/ui/feature-gate/issue-43106-gating-of-builtin-attrs.rs:830:5\n   |\nLL |     #[type_length_limit=\"0100\"] type T = S;\n   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^\n\n"}
[00:55:51] {"message":"crate-level attribute should be an inner attribute: add an exclamation mark: #![foo]","code":{"code":"unused_attributes","explanation":null},"l,"explanation":null},"level":"warning","spans":[{"file_name":"/checkout/src/test/ui/feature-gate/issue-43106-gating-of-builtin-attrs.rs","byte_start":22798,"byte_end":22825,"line_start":834,"line_end":834,"column_start":5,"column_end":32,"is_primary":true,"text":[{"text":"    #[type_length_limit=\"0100\"] impl S { }","highlight_start":5,"highlight_end":32}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"warning: crate-level attribute should be an inner attribute: add an exclamation mark: #![foo]\n  --> /checkout/src/test/ui/feature-gate/issue-43106-gating-of-builtin-attrs.rs:834:5\n   |\nLL |     #[type_length_limit=\"0100\"] impl S { }\n   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^\n\n"}
[00:55:51] {"message":"unused attribute","code":{"code":"unused_attributes","explanation":null},"level":"warning","spans":[{"file_name":"/checkout/src/test/ui/feature-gate/issue-43106-gating-of-builtin-attrs.rs","byte_start":22090,"byte_end":22117,"line_start":814,"line_end":814,"column_start":1,"column_end":28,"is_primary":true,"text":[{"text":"#[type_length_limit=\"0100\"]","highlight_start":1,"highlight_end":28}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"warning: unused attribute\n  --> /checkout/src/test/ui/feature-gate/issue-43106-gating-of-builtin-attrs.rs:814:1\n   |\nLL | #[type_length_limit=\"0100\"]\n   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^\n\n"}
[00:55:51] {"message":"crate-level attribute should be an inner attribute: add an exclamation mark: #![foo]","code":{"code":"unused_attributes","explanation":null},"level":"warning","spans":[{"file_name":"/checkout/src/test/ui/feature-gate/issue-43106-gating-of-builtin-attrs.rs","byte_start":22090,"byte_end":22117,"line_start":814,"line_end":814,"column_start":1,"column_end":28,"is_primary":true,"text":[{"text":"#[type_length_limit=\"0100\"]","highlight_start":1,"highlight_end":28}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"warning: crate-level attribute should be an inner attribute: add an exclamation mark: #![foo]\n  --> /checkout/src/test/ui/feature-gate/issue-43106-gating-of-builtin-attrs.rs:814:1\n   |\nLL | #[type_length_limit=\"0100\"]\n   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^\n\n"}
[00:55:51] {"message":"unused attribute","code":{"code":"unused_attributes","explanation":null},"level":"warning","spans":[{"file_name":"/checkout/src/test/ui/feature-gate/issue-43106-gating-of-builtin-attrs.rs","byte_start":2439,"byte_end":2478,"line_start":55,"line_end":55,"column_start":1,"column_end":40,"is_primary":true,"text":[{"text":"#![macro_export               = \"4800\"] //~ WARN unused attribute","highlight_start":1,"highlight_end":40}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"warning: unused attribute\n  --> /checkout/src/test/ui/feature-gate/issue-43106-gating-of-builtin-attrs.rs:55:1\n   |\nLL | #![macro_export               = \"4800\"] //~ WARN unused attribute\n   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n\n"}
[00:55:51] {"message":"unused attribute","code":{"code":"unused_attributes","explanation":null},"level":"warning","spanss.rs","byte_start":3077,"byte_end":3116,"line_start":66,"line_end":66,"column_start":1,"column_end":40,"is_primary":true,"text":[{"text":"#![path                       = \"3800\"] //~ WARN unused attribute","highlight_start":1,"highlight_end":40}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"warning: unused attribute\n  --> /checkout/src/test/ui/feature-gate/issue-43106-gating-of-builtin-attrs.rs:66:1\n   |\nLL | #![path                       = \"3800\"] //~ WARN unused attribute\n   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n\n"}
[00:55:51] {"message":"unused attribute","code":{"code":"unused_attributes","explanation":null},"level":"warning","spans":[{"file_name":"/checkout/src/test/ui/feature-gate/issue-43106-gating-of-builtin-attrs.rs","byte_start":3143,"byte_end":3182,"line_start":67,"line_end":67,"column_start":1,"column_end":40,"is_primary":true,"text":[{"text":"#![abi                        = \"3700\"] //~ WARN unused attribute","highlight_start":1,"highlight_end":40}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"warning: unused attribute\n  --> /checkout/src/test/ui/feature-gate/issue-43106-gating-of-builtin-attrs.rs:67:1\n   |\nLL | #![abi                        = \"3700\"] //~ WARN unused attribute\n   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n\n"}
[00:55:51] {"message":"unused attribute","code":{"code":"unused_attributes","explanation":null},"level":"warning","spans":[{"file_name":"/checkout/src/test/ui/feature-gate/issue-43106-gating-of-builtin-attrs.rs","byte_start":3209,"byte_end":3248,"line_start":68,"line_end":68,"column_start":1,"column_end":40,"is_primary":true,"text":[{"text":"#![automatically_derived      = \"3600\"] //~ WARN unused attribute","highlight_start":1,"highlight_end":40}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"warning: unused attribute\n  --> /checkout/src/test/ui/feature-gate/issue-43106-gating-of-builtin-attrs.rs:68:1\n   |\nLL | #![automatically_derived      = \"3600\"] //~ WARN unused attribute\n   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n\n"}
[00:55:51] {"message":"unused attribute","code":{"code":"unused_attributes","explanation":null},"level":"warning","spans":[{"file_name":"/checkout/src/test/ui/feature-gate/issue-43106-gating-of-builtin-attrs.rs","byte_start":3315,"byte_end":3354,"line_start":70,"line_end":70,"column_start":1,"column_end":40,"is_primary":true,"text":[{"text":"#![no_link                    = \"3400\"] //~ WARN unused attribute","highlight_start":1,"highlight_end":40}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"warning: unused attribute\n  --> /checkout/src/test/ui/feature-gate/issue-43106-gating-of-builtin-attrs.rs:70:1\n   |\nLL | #![no_link                    = \"3400\"] //~ WARN unused attribute\n   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n\n"}
[00:55:51] {"message":"unused attribute","code":{"code":"unused_attributes","explanation":null},"level":"warning","spans":[{"file_name":"/checkout/src/test/ui/feature-gate/issue-43106-gating-of-builtin-attrs.rs","byte_start":3420,"byte_end"":79,"line_end":79,"column_start":1,"column_end":40,"is_primary":true,"text":[{"text":"#![proc_macro_derive          = \"2500\"] //~ WARN unused attribute","highlight_start":1,"highlight_end":40}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"warning: unused attribute\n  --> /checkout/src/test/ui/feature-gate/issue-43106-gating-of-builtin-attrs.rs:79:1\n   |\nLL | #![proc_macro_derive          = \"2500\"] //~ WARN unused attribute\n   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n\n"}
[00:55:51] {"message":"compilation successful","code":null,"level":"error","spans":[{"file_name":"/checkout/src/test/ui/feature-gate/issue-43106-gating-of-builtin-attrs.rs","byte_start":23182,"byte_end":23257,"line_start":845,"line_end":847,"column_start":1,"column_end":2,"is_primary":true,"text":[{"text":"fn main() { //~ ERROR compilation successful","highlight_start":1,"highlight_end":45},{"text":"    println!(\"Hello World\");","highlight_start":1,"highlight_end":29},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"error: compilation successful\n  --> /checkout/src/test/ui/feature-gate/issue-43106-gating-of-builtin-attrs.rs:845:1\n   |\nLL | / fn main() { //~ ERROR compilation successful\nLL | |     println!(\"Hello World\");\nLL | | }\n   | |_^\n\n"}
[00:55:51] {"message":"aborting due to previous error","code":null,"level":"error","spans":[],"children":[],"rendered":"error: aborting due to previous error\n\n"}
[00:55:51] ------------------------------------------
[00:55:51] 
[00:55:51] thread '[ui] ui/feature-gate/issue-43106-gating-of-builtin-attrs.rs' panicked at 'explicit panic', tools/compiletest/src/runtest.rs:3205:9
[00:55:51] note: Run with `RUST_BACKTRACE=1` for a backtrace.
[00:55:51] note: Run with `RUST_BACKTRACE=1` for a backtrace.
[00:55:51] 
[00:55:51] ---- [ui] ui/lint/lint-unexported-no-mangle.rs stdout ----
[00:55:51] diff of stderr:
[00:55:51] 
[00:55:51] - error: function is marked #[no_mangle], but not exported
[00:55:51] -    |
[00:55:51] -    |
[00:55:51] - LL |   fn foo() { //~ ERROR function is marked #[no_mangle], but not exported
[00:55:51] -    |   |
[00:55:51] -    |   |
[00:55:51] -    |  _help: try making it public: `pub`
[00:55:51] -    | |
[00:55:51] - LL | | }
[00:55:51] -    |
[00:55:51] -    |
[00:55:51] -    = note: requested on the command line with `-F private-no-mangle-fns`
[00:55:51] - 
[00:55:51] 14 error: const items should never be #[no_mangle]
[00:55:51] 16    |
[00:55:51] 
[00:55:51] 29    | |
[00:55:51] 29    | |
[00:55:51] 30    | help: try a static value: `pub static`
[00:55:51] 31 
[00:55:51] - error: static is marked #[no_mangle], but not exported
[00:55:51] -    |
[00:55:51] -    |
[00:55:51] - LL | static PRIVATE_BAR: u64 = 1; //~ ERROR static is marked #[no_mangle], but not exported
[00:55:51] -    | -^^^^^^^^^^^^^^^^^^^^^^^^^^^
[00:55:51] -    | |
[00:55:51] -    | help: try making it public: `pub`
[00:55:51] -    |
[00:55:51] -    = note: requested on the command line with `-F private-no-mangle-statics`
[00:55:51] - error: aborting due to 4 previous errors
[00:55:51] + error: aborting due to 2 previous errors
[00:55:51] 43 
[00:55:51] 44 
[00:55:51] 44 
[00:55:51] 
[00:55:51] 
[00:55:51] The actual stderr differed from the expected stderr.
[00:55:51] Actual stderr saved to /checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/lint/lint-unexported-no-mangle/lint-unexported-no-mangle.stderr
[00:55:51] To update references, rerun the tests and pass the `--bless` flag
[00:55:51] To only update this specific test, also pass `--test-args lint/lint-unexported-no-mangle.rs`
[00:55:51] error: 1 errors occurred comparing output.
[00:55:51] status: exit code: 1
[00:55:51] status: exit code: 1
[00:55:51] command: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/src/test/ui/lint/lint-unexported-no-mangle.rs" "--target=x86_64-unknown-linux-gnu" "--error-format" "json" "-Zui-testing" "-C" "prefer-dynamic" "-o" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/lint/lint-unexported-no-mangle/a" "-Crpath" "-O" "-Zunstable-options" "-Lnative=/checkout/obj/build/x86_64-unknown-linux-gnu/native/rust-test-helpers" "-F" "private_no_mangle_fns" "-F" "no_mangle_const_items" "-F" "private_no_mangle_statics" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/lint/lint-unexported-no-mangle/auxiliary" "-A" "unused"
[00:55:51] ------------------------------------------
[00:55:51] 
[00:55:51] ------------------------------------------
[00:55:51] stderr:
[00:55:51] stderr:
[00:55:51] ------------------------------------------
[00:55:51] {"message":"const items should never be #[no_mangle]","code":{"code":"no_mangle_const_items","explanation":null},"level":"error","spans":[{"file_name":"/checkout/src/test/ui/lint/lint-unexported-no-mangle.rs","byte_start":684,"byte_end":703,"line_start":19,"line_end":19,"column_start":1,"column_end":20,"is_primary":true,"text":[{"text":"const FOO: u64 = 1; //~ ERROR const items should never be #[no_mangle]","highlight_start":1,"highlight_end":20}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"requested on the command line with `-F no-mangle-const-items`","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"try a static value","code":null,"level":"help","spans":[{"file_name":"/checkout/src/test/ui/lint/lint-unexported-no-mangle.rs","byte_start":684,"byte_end":689,"line_start":19,"line_end":19,"column_start":1,"column_end":6,"is_primary":true,"text":[{"text":"const FOO: u64 = 1; //~ ERROR const items should never be #[no_mangle]","highlight_start":1,"highlight_end":6}],"label":null,"suggested_replacement":"pub static","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"error: const items should never be #[no_mangle]\n  --> /checkout/src/test/ui/lint/lint-unexported-no-mangle.rs:19:1\n   |\nLL | const FOO: u64 = 1; //~ ERROR const items should never be #[no_mangle]\n   | -----^^^^^^^^^^^^^^\n   | |\n   | help: try a static value: `pub static`\n   |\n   = note: requested on the command line with `-F no-mangle-const-items`\n\n"}
[00:55:51] {"message":"const items should never be #[no_mangle]","code":{"code":"no_mangle_const_items","explanation":null},"level":"error","spans":[{"file_name":"/checkout/src/test/ui/lint/lint-unexported-no-mangle.rs","byte_start":769,"byte_end":796,"line_start":22,"line_end":22,"column_start":1,"column_end":28,"is_primary":true,"text":[{"text":"pub const PUB_FOO: u64 = 1; //~ ERROR const items should never be #[no_mangle]","highlight_start":1,"highlight_end":28}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"try a static value","code":null,"level":"help","spans":[{"file_name":"/checkout/src/test/ui/lint/lint-unexported-no-mangle.rs","byte_start":769,"byte_end":778,"line_start":22,"line_end":22,"column_start":1,"column_end":10,"is_primary":true,"text":[{"text":"pub const PUB_FOO: u64 = 1; //~ ERROR const items should never be #[no_mangle]","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":"pub static","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"error: const items should never be #[no_mangle]\n  --> /checkout/src/test/ui/lint/lint-unexported-no-mangle.rs:22:1\n   |\nLL | pub const PUB_FOO: u64 = 1; //~ ERROR const items should never be #[no_mangle]\n   | ---------^^^^^^^^^^^^^^^^^^\n   | |\n   | help: try a static value: `pub static`\n\n"}
[00:55:51] {"message":"aborting due to 2 previous errors","code":null,"level":"error","spans":[],"children":[],"rendered":"error: aborting due to 2 previous errors\n\n"}
[00:55:51] ------------------------------------------
[00:55:51] 
[00:55:51] thread '[ui] ui/lint/lint-unexported-no-mangle.rs' panicked at 'explicit panic', tools/compiletest/src/runtest.rs:3205:9
[00:55:51] 
[00:55:51] 
[00:55:51] ---- [ui] ui/lint/suggestions.rs stdout ----
[00:55:51] diff of stderr:
[00:55:51] 
[00:55:51] 44    |  |____________|
[00:55:51] 45    |               help: remove this `mut`
[00:55:51] 46 
[00:55:51] - warning: static is marked #[no_mangle], but not exported
[00:55:51] -   --> $DIR/suggestions.rs:16:14
[00:55:51] -    |
[00:55:51] - LL | #[no_mangle] static SHENZHOU: usize = 1;
[00:55:51] -    |              -^^^^^^^^^^^^^^^^^^^^^^^^^^
[00:55:51] -    |              |
[00:55:51] -    |              help: try making it public: `pub`
[00:55:51] -    |
[00:55:51] -    = note: #[warn(private_no_mangle_statics)] on by default
[00:55:51] - 
[00:55:51] 57 error: const items should never be #[no_mangle]
[00:55:51] 58   --> $DIR/suggestions.rs:19:14
[00:55:51] 
[00:55:51] 74    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[00:55:51] 75    |
[00:55:51] 76    = note: #[warn(no_mangle_generic_items)] on by default
[00:55:51] 76    = note: #[warn(no_mangle_generic_items)] on by default
[00:55:51] - 
[00:55:51] - warning: function is marked #[no_mangle], but not exported
[00:55:51] -   --> $DIR/suggestions.rs:29:1
[00:55:51] -    |
[00:55:51] - LL | fn rio_grande() {}
[00:55:51] -    | -^^^^^^^^^^^^^^^^^
[00:55:51] -    | |
[00:55:51] -    | help: try making it public: `pub`
[00:55:51] -    |
[00:55:51] -    = note: #[warn(private_no_mangle_fns)] on by default
[00:55:51] - 
[00:55:51] - warning: static is marked #[no_mangle], but not exported
[00:55:51] -   --> $DIR/suggestions.rs:37:18
[00:55:51] -    |
[00:55:51] - LL |     #[no_mangle] pub static DAUNTLESS: bool = true;
[00:55:51] -    |
[00:55:51] -    |
[00:55:51] -    = help: try exporting the item with a `pub use` statement
[00:55:51] - 
[00:55:51] - warning: function is marked #[no_mangle], but not exported
[00:55:51] -   --> $DIR/suggestions.rs:40:18
[00:55:51] -    |
[00:55:51] - LL |     #[no_mangle] pub fn val_jean() {}
[00:55:51] -    |
[00:55:51] -    |
[00:55:51] -    = help: try exporting the item with a `pub use` statement
[00:55:51] - 
[00:55:51] - warning: static is marked #[no_mangle], but not exported
[00:55:51] -   --> $DIR/suggestions.rs:45:18
[00:55:51] -    |
[00:55:51] - LL |     #[no_mangle] pub(crate) static VETAR: bool = true;
[00:55:51] -    |                  |
[00:55:51] -    |                  |
[00:55:51] -    |                  help: try making it public: `pub`
[00:55:51] - 
[00:55:51] - warning: function is marked #[no_mangle], but not exported
[00:55:51] -   --> $DIR/suggestions.rs:48:18
[00:55:51] -    |
[00:55:51] - LL |     #[no_mangle] pub(crate) fn crossfield() {}
[00:55:51] -    |                  |
[00:55:51] -    |                  |
[00:55:51] -    |                  help: try making it public: `pub`
[00:55:51] 119 
[00:55:51] 120 warning: denote infinite loops with `loop { ... }`
[00:55:51] 121   --> $DIR/suggestions.rs:61:5
[00:55:51] 
[00:55:51] The actual stderr differed from the expected stderr.
[00:55:51] Actual stderr saved to /checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/lint/suggestions/suggestions.stderr
[00:55:51] Actual stderr saved to /checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/lint/suggestions/suggestions.stderr
[00:55:51] To update references, rerun the tests and pass the `--bless` flag
[00:55:51] To only update this specific test, also pass `--test-args lint/suggestions.rs`
[00:55:51] error: 1 errors occurred comparing output.
[00:55:51] status: exit code: 1
[00:55:51] status: exit code: 1
[00:55:51] command: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/src/test/ui/lint/suggestions.rs" "--target=x86_64-unknown-linux-gnu" "--error-format" "json" "-Zui-testing" "-C" "prefer-dynamic" "-o" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/lint/suggestions/a" "-Crpath" "-O" "-Zunstable-options" "-Lnative=/checkout/obj/build/x86_64-unknown-linux-gnu/native/rust-test-helpers" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/lint/suggestions/auxiliary" "-A" "unused"
[00:55:51] ------------------------------------------
[00:55:51] 
[00:55:51] ------------------------------------------
[00:55:51] stderr:
[00:55:51] stderr:
[00:55:51] ------------------------------------------
[00:55:51] {"message":"unnecessary parentheses around assigned value","code":{"code":"unused_parens","explanation":null},"level":"warning","spans":[{"file_name":"/checkout/src/test/ui/lint/suggestions.rs","byte_start":2113,"byte_end":2116,"line_start":64,"line_end":64,"column_start":21,"column_end":24,"is_primary":true,"text":[{"text":"        let mut a = (1);","highlight_start":21,"highlight_end":24}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"lint level defined here","code":null,"level":"note","spans":[{"file_name":"/checkout/src/test/ui/lint/suggestions.rs","byte_start":507,"byte_end":5rt":13,"column_end":18,"is_primary":true,"text":[{"text":"        let mut a = (1);","highlight_start":13,"highlight_end":18}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"lint level defined here","code":null,"level":"note","spans":[{"file_name":"/checkout/src/test/ui/lint/suggestions.rs","byte_start":495,"byte_end":505,"line_start":13,"line_end":13,"column_start":9,"column_end":19,"is_primary":true,"text":[{"text":"#![warn(unused_mut, unused_parens)] // UI tests pass `-A unused`—see Issue #43896","highlight_start":9,"highlight_end":19}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":null},{"message":"remove this `mut`","code":null,"level":"help","spans":[{"file_name":"/checkout/src/test/ui/lint/suggestions.rs","byte_start":2105,"byte_end":2109,"line_start":64,"line_end":64,"column_start":13,"column_end":17,"is_primary":true,"text":[{"text":"        let mut a = (1);","highlight_start":13,"highlight_end":17}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"warning: variable does not need to be mutable\n  --> /checkout/src/test/ui/lint/suggestions.rs:64:13\n   |\nLL |         let mut a = (1);\n   |             ----^\n   |             |\n   |             help: remove this `mut`\n   |\nnote: lint level defined here\n  --> /checkout/src/test/ui/lint/suggestions.rs:13:9\n   |\nLL | #![warn(unused_mut, unused_parens)] // UI tests pass `-A unused`—see Issue #43896\n   |         ^^^^^^^^^^\nart":19,"line_end":19,"column_start":14,"column_end":41,"is_primary":true,"text":[{"text":"#[no_mangle] const DISCOVERY: usize = 1;","highlight_start":14,"highlight_end":41}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"#[deny(no_mangle_const_items)] on by default","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"try a static value","code":null,"level":"help","spans":[{"file_name":"/checkout/src/test/ui/lint/suggestions.rs","byte_start":719,"byte_end":724,"line_start":19,"line_end":19,"column_start":14,"column_end":19,"is_primary":true,"text":[{"text":"#[no_mangle] const DISCOVERY: usize = 1;","highlight_start":14,"highlight_end":19}],"label":null,"suggested_replacement":"pub static","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"error: const items should never be #[no_mangle]\n  --> /checkout/src/test/ui/lint/suggestions.rs:19:14\n   |\nLL | #[no_mangle] const DISCOVERY: usize = 1;\n   |              -----^^^^^^^^^^^^^^^^^^^^^^\n   |              |\n   |              help: try a static value: `pub static`\n   |\n   = note: #[deny(no_mangle_const_items)] on by default\n\n"}
[00:55:51] {"message":"functions generic over types must be mangled","code":{"code":"no_mangle_generic_items","explanation":null},"level":"warning","spans":[{"file_name":"/checkout/src/test/ui/lint/suggestions.rs","byte_start":874,"byte_end":901,"line_start":25,"line_end":25,"column_start":1,"column_end":28,"is_primary":true,"text":[{"text":"pub fn defiant<T>(_t: T) {}","highlight_start":1,"hildren":[],"rendered":null},{"message":"use `loop`","code":null,"level":"help","spans":[{"file_name":"/checkout/src/test/ui/lint/suggestions.rs","byte_start":2019,"byte_end":2029,"line_start":61,"line_end":61,"column_start":5,"column_end":15,"is_primary":true,"text":[{"text":"    while true {","highlight_start":5,"highlight_end":15}],"label":null,"suggested_replacement":"loop","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"warning: denote infinite loops with `loop { ... }`\n  --> /checkout/src/test/ui/lint/suggestions.rs:61:5\n   |\nLL |     while true {\n   |     ^^^^^^^^^^ help: use `loop`\n   |\n   = note: #[warn(while_true)] on by default\n\n"}
[00:55:51] {"message":"the `warp_factor:` in this pattern is redundant","code":{"code":"non_shorthand_field_patterns","explanation":null},"level":"warning","spans":[{"file_name":"/checkout/src/test/ui/lint/suggestions.rs","byte_start":2568,"byte_end":2592,"line_start":76,"line_end":76,"column_start":23,"column_end":47,"is_primary":true,"text":[{"text":"            Equinox { warp_factor: warp_factor } => {}","highlight_start":23,"highlight_end":47}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"#[warn(non_shorthand_field_patterns)] on by default","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"remove this","code":null,"level":"help","spans":[{"file_name":"/checkout/src/test/ui/lint/suggestions.rs","byte_start":2568,"byte_end":2580,"line_start":76,"line_end":76,"column_start":23,"column_end":35,"is_primary":true,"text":[{"text":"            Equinox { warp_factor: warp_factor } => {}","highlight_start":23,"highlight_end":35}],"label":null,"suggested_replacement":"warp_factor","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"warning: the `warp_factor:` in this pattern is redundant\n  --> /checkout/src/test/ui/lint/suggestions.rs:76:23\n   |\nLL |             Equinox { warp_factor: warp_factor } => {}\n   |                       ------------^^^^^^^^^^^^\n   |                       |\n   |                       help: remove this\n   |\n   = note: #[warn(non_shorthand_field_patterns)] on by default\n\n"}
[00:55:51] {"message":"aborting due to previous error","code":null,"level":"error","spans":[],"children":[],"rendered":"error: aborting due to previous error\n\n"}
[00:55:51] ------------------------------------------
[00:55:51] 
[00:55:51] thread '[ui] ui/lint/suggestions.rs' panicked at 'explicit panic', tools/compiletest/src/runtest.rs:3205:9
[00:55:51] 

I'm a bot! I can only do what humans tell me to, so if this was not helpful or you have suggestions for improvements, please ping or otherwise contact @TimNN. (Feature Requests)

@alexcrichton
Copy link
Member

Thanks for this! I was actually starting a patch for this as well locally but kept not getting a chance to go back and keep testing it. I think though it's best to fix this by not touching privacy and only touching reachability, as that's basically what's happening here (this isn't messing with privacy, only reachability).

I was planning on taking today to work on this, so I don't mind taking this over if you'd prefer!

@japaric
Copy link
Member Author

japaric commented Sep 21, 2018

I was planning on taking today to work on this, so I don't mind taking this over if you'd prefer!

Please go ahead. This PR was me procrastinating on some writing I have to do, but it's best if I go back to writing. 😅

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
S-waiting-on-review Status: Awaiting review from the assignee but also interested parties.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants