Recover most of the perf loss of #120393 by Urgau · Pull Request #121625 · rust-lang/rust (original) (raw)

GITHUB_ACTION=__run_7
GITHUB_ACTIONS=true
GITHUB_ACTION_REF=
GITHUB_ACTION_REPOSITORY=
GITHUB_ACTOR=Urgau
GITHUB_API_URL=https://api.github.com
GITHUB_BASE_REF=master
GITHUB_ENV=/home/runner/work/_temp/_runner_file_commands/set_env_c35563ed-90a9-47ea-8c58-9515d21a68b0
GITHUB_EVENT_NAME=pull_request
---
GITHUB_SERVER_URL=https://github.com
GITHUB_SHA=9cfe186f25d39939d3ead9ce225d924efa0b557a
GITHUB_STATE=/home/runner/work/_temp/_runner_file_commands/save_state_c35563ed-90a9-47ea-8c58-9515d21a68b0
GITHUB_STEP_SUMMARY=/home/runner/work/_temp/_runner_file_commands/step_summary_c35563ed-90a9-47ea-8c58-9515d21a68b0
GITHUB_TRIGGERING_ACTOR=Urgau
GITHUB_WORKFLOW_REF=rust-lang/rust/.github/workflows/ci.yml@refs/pull/121625/merge
GITHUB_WORKFLOW_SHA=9cfe186f25d39939d3ead9ce225d924efa0b557a
GITHUB_WORKSPACE=/home/runner/work/rust/rust
GOROOT_1_19_X64=/opt/hostedtoolcache/go/1.19.13/x64
---
#12 writing image sha256:a9e31bebbe37d5ae20761931a45b0afe94ace71a0af8cc59f57de5ccd231c96b done
#12 naming to docker.io/library/rust-ci done
#12 DONE 10.0s
##[endgroup]
Setting extra environment values for docker:  --env ENABLE_GCC_CODEGEN=1 --env GCC_EXEC_PREFIX=/usr/lib/gcc/
[CI_JOB_NAME=x86_64-gnu-llvm-16]
##[group]Clock drift check
  local time: Thu Feb 29 18:26:35 UTC 2024
  network time: Thu, 29 Feb 2024 18:26:35 GMT
  network time: Thu, 29 Feb 2024 18:26:35 GMT
##[endgroup]
sccache: Starting the server...
##[group]Configure the build
configure: processing command line
configure: 
configure: build.configure-args := ['--build=x86_64-unknown-linux-gnu', '--llvm-root=/usr/lib/llvm-16', '--enable-llvm-link-shared', '--set', 'rust.thin-lto-import-instr-limit=10', '--set', 'change-id=99999999', '--enable-verbose-configure', '--enable-sccache', '--disable-manage-submodules', '--enable-locked-deps', '--enable-cargo-native-static', '--set', 'rust.codegen-units-std=1', '--set', 'dist.compression-profile=balanced', '--dist-compression-formats=xz', '--set', 'build.optimized-compiler-builtins', '--disable-dist-src', '--release-channel=nightly', '--enable-debug-assertions', '--enable-overflow-checks', '--enable-llvm-assertions', '--set', 'rust.verify-llvm-ir', '--set', 'rust.codegen-backends=llvm,cranelift,gcc', '--set', 'llvm.static-libstdcpp', '--enable-new-symbol-mangling']
configure: target.x86_64-unknown-linux-gnu.llvm-config := /usr/lib/llvm-16/bin/llvm-config
configure: llvm.link-shared     := True
configure: rust.thin-lto-import-instr-limit := 10
configure: change-id            := 99999999
---

620    = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
621    = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
622    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
-    = note: the macro `non_local_macro::non_local_impl` may come from an old version of the `non_local_macro` crate, try updating your dependency with `cargo update -p non_local_macro`
625 
626 warning: non-local `macro_rules!` definition, they should be avoided as they go against expectation


633    = note: a `macro_rules!` definition is non-local if it is nested inside an item and has a `#[macro_export]` attribute
635    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
635    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
-    = note: the macro `non_local_macro::non_local_macro_rules` may come from an old version of the `non_local_macro` crate, try updating your dependency with `cargo update -p non_local_macro`
638 
639 warning: 50 warnings emitted


The actual stderr differed from the expected stderr.
Actual stderr saved to /checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/lint/non_local_definitions/non_local_definitions.stderr
To update references, rerun the tests and pass the `--bless` flag
To only update this specific test, also pass `--test-args lint/non_local_definitions.rs`

error: 1 errors occurred comparing output.
status: exit status: 0
command: CARGO="/usr/bin/cargo" RUSTC_ICE="0" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/tests/ui/lint/non_local_definitions.rs" "-Zthreads=1" "-Zsimulate-remapped-rust-src-base=/rustc/FAKE_PREFIX" "-Ztranslate-remapped-path-to-local-path=no" "-Z" "ignore-directory-in-diagnostics-source-blocks=/cargo" "--sysroot" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2" "--target=x86_64-unknown-linux-gnu" "--error-format" "json" "--json" "future-incompat" "-Ccodegen-units=1" "-Zui-testing" "-Zdeduplicate-diagnostics=no" "-Zwrite-long-types-to-disk=no" "-Cstrip=debuginfo" "--emit" "metadata" "-C" "prefer-dynamic" "--out-dir" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/lint/non_local_definitions" "-A" "unused" "-A" "internal_features" "-Crpath" "-Cdebuginfo=0" "-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/non_local_definitions/auxiliary" "--edition=2021"
--- stderr -------------------------------
warning: non-local `impl` definition, they should be avoided as they go against expectation
##[warning]  --> /checkout/tests/ui/lint/non_local_definitions.rs:36:5
   |
   |
LL | const Z: () = {
   |       - help: use a const-anon item to suppress this lint: `_`
...
LL |     impl Uto for &Test {}
   |
   = help: move this `impl` block outside the of the current constant item `Z`
   = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
   = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
   = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
   = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
   = note: `#[warn(non_local_definitions)]` on by default

warning: non-local `impl` definition, they should be avoided as they go against expectation
##[warning]  --> /checkout/tests/ui/lint/non_local_definitions.rs:46:5
   |
LL |     impl Uto for *mut Test {}
   |
   = help: move this `impl` block outside the of the current type alias `A`
   = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
   = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
   = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
   = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>

warning: non-local `impl` definition, they should be avoided as they go against expectation
##[warning]  --> /checkout/tests/ui/lint/non_local_definitions.rs:54:9
   |
LL |         impl Uto for Test {}
   |
   = help: move this `impl` block outside the of the current enum `Enum`
   = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
   = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
   = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
   = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>

warning: non-local `impl` definition, they should be avoided as they go against expectation
##[warning]  --> /checkout/tests/ui/lint/non_local_definitions.rs:63:5
   |
LL |     impl Uto2 for Test {}
   |
   = help: move this `impl` block outside the of the current static item `A`
   = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
   = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
   = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
   = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>

warning: non-local `impl` definition, they should be avoided as they go against expectation
##[warning]  --> /checkout/tests/ui/lint/non_local_definitions.rs:71:5
   |
LL |     impl Uto3 for Test {}
   |
   = help: move this `impl` block outside the of the current constant item `B`
   = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
   = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
   = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
   = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>

warning: non-local `macro_rules!` definition, they should be avoided as they go against expectation
##[warning]  --> /checkout/tests/ui/lint/non_local_definitions.rs:75:5
   |
LL |     macro_rules! m0 { () => { } };
   |
   |
   = help: remove the `#[macro_export]` or move this `macro_rules!` outside the of the current constant item `B`
   = note: a `macro_rules!` definition is non-local if it is nested inside an item and has a `#[macro_export]` attribute
   = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>

warning: non-local `macro_rules!` definition, they should be avoided as they go against expectation
##[warning]  --> /checkout/tests/ui/lint/non_local_definitions.rs:87:5
##[warning]  --> /checkout/tests/ui/lint/non_local_definitions.rs:87:5
   |
LL |     macro_rules! m { () => { } };
   |
   |
   = help: remove the `#[macro_export]` or move this `macro_rules!` outside the of the current function `main`
   = note: a `macro_rules!` definition is non-local if it is nested inside an item and has a `#[macro_export]` attribute
   = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>

warning: non-local `impl` definition, they should be avoided as they go against expectation
##[warning]  --> /checkout/tests/ui/lint/non_local_definitions.rs:90:5
##[warning]  --> /checkout/tests/ui/lint/non_local_definitions.rs:90:5
   |
LL | /     impl Test {
LL | |     //~^ WARN non-local `impl` definition
LL | |     }
   | |_____^
   |
   = help: move this `impl` block outside the of the current function `main`
---
warning: non-local `impl` definition, they should be avoided as they go against expectation
##[warning]  --> /checkout/tests/ui/lint/non_local_definitions.rs:96:9
   |
LL | /         impl Test {
LL | |         //~^ WARN non-local `impl` definition
LL | |         }
   | |_________^
   |
   = help: move this `impl` block outside the of the current function `main` and up 2 bodies
---
warning: non-local `impl` definition, they should be avoided as they go against expectation
##[warning]  --> /checkout/tests/ui/lint/non_local_definitions.rs:105:9
   |
LL | /         impl Test {
LL | |         //~^ WARN non-local `impl` definition
LL | |             fn hoo() {}
   | |_________^
   |
   = help: move this `impl` block outside the of the current function `main` and up 2 bodies
   = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
   = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
   = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
   = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>

warning: non-local `impl` definition, they should be avoided as they go against expectation
##[warning]  --> /checkout/tests/ui/lint/non_local_definitions.rs:114:9
   |
LL | /         impl Test {
LL | |         //~^ WARN non-local `impl` definition
LL | |         }
   | |_________^
   |
   = help: move this `impl` block outside the of the current constant item `_` and up 2 bodies
   = help: move this `impl` block outside the of the current constant item `_` and up 2 bodies
   = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
   = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
   = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>

warning: non-local `impl` definition, they should be avoided as they go against expectation
##[warning]  --> /checkout/tests/ui/lint/non_local_definitions.rs:122:5
   |
LL | /     impl Display for Test {
LL | |     //~^ WARN non-local `impl` definition
LL | |         fn fmt(&self, _f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
LL | |             todo!()
LL | |     }
   | |_____^
   |
   = help: move this `impl` block outside the of the current function `main`
   = help: move this `impl` block outside the of the current function `main`
   = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
   = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
   = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>

warning: non-local `impl` definition, they should be avoided as they go against expectation
##[warning]  --> /checkout/tests/ui/lint/non_local_definitions.rs:129:5
   |
LL |     impl dyn Uto5 {}
   |
   = help: move this `impl` block outside the of the current function `main`
   = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
   = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
   = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
   = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>

warning: non-local `impl` definition, they should be avoided as they go against expectation
##[warning]  --> /checkout/tests/ui/lint/non_local_definitions.rs:132:5
   |
LL |     impl<T: Uto5> Uto5 for Vec<T> { }
   |
   = help: move this `impl` block outside the of the current function `main`
   = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
   = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
   = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
   = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>

warning: non-local `impl` definition, they should be avoided as they go against expectation
##[warning]  --> /checkout/tests/ui/lint/non_local_definitions.rs:135:5
   |
LL |     impl Uto5 for &dyn Uto5 {}
   |
   = help: move this `impl` block outside the of the current function `main`
   = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
   = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
   = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
   = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>

warning: non-local `impl` definition, they should be avoided as they go against expectation
##[warning]  --> /checkout/tests/ui/lint/non_local_definitions.rs:138:5
   |
LL |     impl Uto5 for *mut Test {}
   |
   = help: move this `impl` block outside the of the current function `main`
   = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
   = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
   = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
   = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>

warning: non-local `impl` definition, they should be avoided as they go against expectation
##[warning]  --> /checkout/tests/ui/lint/non_local_definitions.rs:141:5
   |
LL |     impl Uto5 for *mut [Test] {}
   |
   = help: move this `impl` block outside the of the current function `main`
   = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
   = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
   = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
   = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>

warning: non-local `impl` definition, they should be avoided as they go against expectation
##[warning]  --> /checkout/tests/ui/lint/non_local_definitions.rs:144:5
   |
LL |     impl Uto5 for [Test; 8] {}
   |
   = help: move this `impl` block outside the of the current function `main`
   = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
   = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
   = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
   = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>

warning: non-local `impl` definition, they should be avoided as they go against expectation
##[warning]  --> /checkout/tests/ui/lint/non_local_definitions.rs:147:5
   |
LL |     impl Uto5 for (Test,) {}
   |
   = help: move this `impl` block outside the of the current function `main`
   = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
   = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
   = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
   = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>

warning: non-local `impl` definition, they should be avoided as they go against expectation
##[warning]  --> /checkout/tests/ui/lint/non_local_definitions.rs:150:5
   |
LL |     impl Uto5 for fn(Test) -> () {}
   |
   = help: move this `impl` block outside the of the current function `main`
   = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
   = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
   = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
   = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>

warning: non-local `impl` definition, they should be avoided as they go against expectation
##[warning]  --> /checkout/tests/ui/lint/non_local_definitions.rs:153:5
   |
LL |     impl Uto5 for fn() -> Test {}
   |
   = help: move this `impl` block outside the of the current function `main`
   = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
   = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
   = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
   = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>

warning: non-local `impl` definition, they should be avoided as they go against expectation
##[warning]  --> /checkout/tests/ui/lint/non_local_definitions.rs:157:9
   |
LL |         impl Uto5 for Test {}
   |
   = help: move this `impl` block outside the of the current function `main` and up 2 bodies
   = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
   = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
   = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
   = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>

warning: non-local `impl` definition, they should be avoided as they go against expectation
##[warning]  --> /checkout/tests/ui/lint/non_local_definitions.rs:164:9
   |
LL |         impl Uto5 for &Test {}
   |
   = help: move this `impl` block outside the of the current type alias `A` and up 2 bodies
   = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
   = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
   = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
   = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>

warning: non-local `impl` definition, they should be avoided as they go against expectation
##[warning]  --> /checkout/tests/ui/lint/non_local_definitions.rs:171:9
   |
LL |         impl Uto5 for &(Test,) {}
   |
   = help: move this `impl` block outside the of the current function `a` and up 2 bodies
   = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
   = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
   = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
   = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>

warning: non-local `impl` definition, they should be avoided as they go against expectation
##[warning]  --> /checkout/tests/ui/lint/non_local_definitions.rs:178:9
   |
LL |         impl Uto5 for &(Test,Test) {}
   |
   = help: move this `impl` block outside the of the current function `b` and up 2 bodies
   = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
   = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
   = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
   = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>

warning: non-local `impl` definition, they should be avoided as they go against expectation
##[warning]  --> /checkout/tests/ui/lint/non_local_definitions.rs:186:5
   |
LL |     impl Uto5 for *mut InsideMain {}
   |
   = help: move this `impl` block outside the of the current function `main`
   = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
   = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
   = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
   = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>

warning: non-local `impl` definition, they should be avoided as they go against expectation
##[warning]  --> /checkout/tests/ui/lint/non_local_definitions.rs:188:5
   |
LL |     impl Uto5 for *mut [InsideMain] {}
   |
   = help: move this `impl` block outside the of the current function `main`
   = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
   = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
   = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
   = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>

warning: non-local `impl` definition, they should be avoided as they go against expectation
##[warning]  --> /checkout/tests/ui/lint/non_local_definitions.rs:190:5
   |
LL |     impl Uto5 for [InsideMain; 8] {}
   |
   = help: move this `impl` block outside the of the current function `main`
   = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
   = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
   = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
   = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>

warning: non-local `impl` definition, they should be avoided as they go against expectation
##[warning]  --> /checkout/tests/ui/lint/non_local_definitions.rs:192:5
   |
LL |     impl Uto5 for (InsideMain,) {}
   |
   = help: move this `impl` block outside the of the current function `main`
   = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
   = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
   = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
   = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>

warning: non-local `impl` definition, they should be avoided as they go against expectation
##[warning]  --> /checkout/tests/ui/lint/non_local_definitions.rs:194:5
   |
LL |     impl Uto5 for fn(InsideMain) -> () {}
   |
   = help: move this `impl` block outside the of the current function `main`
   = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
   = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
   = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
   = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>

warning: non-local `impl` definition, they should be avoided as they go against expectation
##[warning]  --> /checkout/tests/ui/lint/non_local_definitions.rs:196:5
   |
LL |     impl Uto5 for fn() -> InsideMain {}
   |
   = help: move this `impl` block outside the of the current function `main`
   = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
   = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
   = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
   = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>

warning: non-local `impl` definition, they should be avoided as they go against expectation
##[warning]  --> /checkout/tests/ui/lint/non_local_definitions.rs:210:9
   |
LL | /         impl Display for InsideMain {
LL | |         //~^ WARN non-local `impl` definition
LL | |             fn fmt(&self, _f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
LL | |                 todo!()
LL | |         }
   | |_________^
   |
   = help: move this `impl` block outside the of the current function `inside_inside` and up 2 bodies
   = help: move this `impl` block outside the of the current function `inside_inside` and up 2 bodies
   = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
   = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
   = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>

warning: non-local `impl` definition, they should be avoided as they go against expectation
##[warning]  --> /checkout/tests/ui/lint/non_local_definitions.rs:217:9
   |
LL | /         impl InsideMain {
LL | |         //~^ WARN non-local `impl` definition
LL | |                 #[macro_export]
...  |
LL | |             }
LL | |         }
---

warning: non-local `macro_rules!` definition, they should be avoided as they go against expectation
##[warning]  --> /checkout/tests/ui/lint/non_local_definitions.rs:221:17
   |
LL |                 macro_rules! m2 { () => { } };
   |
   |
   = help: remove the `#[macro_export]` or move this `macro_rules!` outside the of the current impl item `bar` and up 3 bodies
   = note: a `macro_rules!` definition is non-local if it is nested inside an item and has a `#[macro_export]` attribute
   = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>

warning: non-local `impl` definition, they should be avoided as they go against expectation
##[warning]  --> /checkout/tests/ui/lint/non_local_definitions.rs:231:5
##[warning]  --> /checkout/tests/ui/lint/non_local_definitions.rs:231:5
   |
LL |     impl<T: Uto6> Uto3 for Vec<T> { }
   |
   = help: move this `impl` block outside the of the current function `main`
   = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
   = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
   = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
   = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>

warning: non-local `impl` definition, they should be avoided as they go against expectation
##[warning]  --> /checkout/tests/ui/lint/non_local_definitions.rs:240:5
   |
LL |     impl Uto7 for Test where Local: std::any::Any {}
   |
   = help: move this `impl` block outside the of the current function `bad`
   = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
   = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
   = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
   = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>

warning: non-local `impl` definition, they should be avoided as they go against expectation
##[warning]  --> /checkout/tests/ui/lint/non_local_definitions.rs:243:5
   |
LL |     impl<T> Uto8 for T {}
   |
   = help: move this `impl` block outside the of the current function `bad`
   = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
   = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
   = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
   = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>

warning: non-local `impl` definition, they should be avoided as they go against expectation
##[warning]  --> /checkout/tests/ui/lint/non_local_definitions.rs:252:5
   |
LL | /     impl Default for UwU<OwO> {
LL | |     //~^ WARN non-local `impl` definition
LL | |         fn default() -> Self {
LL | |             UwU(OwO)
LL | |     }
   | |_____^
   |
   = help: move this `impl` block outside the of the current function `fun`
   = help: move this `impl` block outside the of the current function `fun`
   = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
   = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
   = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>

warning: non-local `impl` definition, they should be avoided as they go against expectation
##[warning]  --> /checkout/tests/ui/lint/non_local_definitions.rs:263:5
   |
LL | /     impl From<Cat> for () {
LL | |     //~^ WARN non-local `impl` definition
LL | |         fn from(_: Cat) -> () {
LL | |             todo!()
LL | |     }
   | |_____^
   |
   |
   = help: move this `impl` block outside the of the current function `meow`
   = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
   = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>

warning: non-local `impl` definition, they should be avoided as they go against expectation
warning: non-local `impl` definition, they should be avoided as they go against expectation
##[warning]  --> /checkout/tests/ui/lint/non_local_definitions.rs:272:5
   |
LL | /     impl AsRef<Cat> for () {
LL | |     //~^ WARN non-local `impl` definition
LL | |         fn as_ref(&self) -> &Cat { &Cat }
   | |_____^
   |
   |
   = help: move this `impl` block outside the of the current function `meow`
   = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
   = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>

warning: non-local `impl` definition, they should be avoided as they go against expectation
warning: non-local `impl` definition, they should be avoided as they go against expectation
##[warning]  --> /checkout/tests/ui/lint/non_local_definitions.rs:283:5
   |
LL | /     impl PartialEq<B> for G {
LL | |     //~^ WARN non-local `impl` definition
LL | |         fn eq(&self, _: &B) -> bool {
LL | |         }
LL | |     }
   | |_____^
   |
---

warning: non-local `impl` definition, they should be avoided as they go against expectation
##[warning]  --> /checkout/tests/ui/lint/non_local_definitions.rs:300:5
   |
LL | /     impl PartialEq<Dog> for &Dog {
LL | |     //~^ WARN non-local `impl` definition
LL | |         fn eq(&self, _: &Dog) -> bool {
LL | |             todo!()
LL | |     }
   | |_____^
   |
   = help: move this `impl` block outside the of the current function `woof`
   = help: move this `impl` block outside the of the current function `woof`
   = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
   = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
   = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>

warning: non-local `impl` definition, they should be avoided as they go against expectation
##[warning]  --> /checkout/tests/ui/lint/non_local_definitions.rs:307:5
   |
LL | /     impl PartialEq<()> for Dog {
LL | |     //~^ WARN non-local `impl` definition
LL | |         fn eq(&self, _: &()) -> bool {
LL | |             todo!()
LL | |     }
   | |_____^
   |
   = help: move this `impl` block outside the of the current function `woof`
   = help: move this `impl` block outside the of the current function `woof`
   = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
   = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
   = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>

warning: non-local `impl` definition, they should be avoided as they go against expectation
##[warning]  --> /checkout/tests/ui/lint/non_local_definitions.rs:314:5
   |
LL | /     impl PartialEq<()> for &Dog {
LL | |     //~^ WARN non-local `impl` definition
LL | |         fn eq(&self, _: &()) -> bool {
LL | |             todo!()
LL | |     }
   | |_____^
   |
   = help: move this `impl` block outside the of the current function `woof`
   = help: move this `impl` block outside the of the current function `woof`
   = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
   = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
   = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>

warning: non-local `impl` definition, they should be avoided as they go against expectation
##[warning]  --> /checkout/tests/ui/lint/non_local_definitions.rs:321:5
   |
LL | /     impl PartialEq<Dog> for () {
LL | |     //~^ WARN non-local `impl` definition
LL | |         fn eq(&self, _: &Dog) -> bool {
LL | |             todo!()
LL | |     }
   | |_____^
   |
   = help: move this `impl` block outside the of the current function `woof`
   = help: move this `impl` block outside the of the current function `woof`
   = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
   = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
   = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>

warning: non-local `impl` definition, they should be avoided as they go against expectation
##[warning]  --> /checkout/tests/ui/lint/non_local_definitions.rs:343:5
   |
LL | /     impl From<Wrap<Wrap<Lion>>> for () {
LL | |     //~^ WARN non-local `impl` definition
LL | |         fn from(_: Wrap<Wrap<Lion>>) -> Self {
LL | |             todo!()
LL | |     }
   | |_____^
   |
   = help: move this `impl` block outside the of the current function `rawr`
   = help: move this `impl` block outside the of the current function `rawr`
   = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
   = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
   = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>

warning: non-local `impl` definition, they should be avoided as they go against expectation
##[warning]  --> /checkout/tests/ui/lint/non_local_definitions.rs:350:5
   |
LL | /     impl From<()> for Wrap<Lion> {
LL | |     //~^ WARN non-local `impl` definition
LL | |         fn from(_: ()) -> Self {
LL | |             todo!()
LL | |     }
   | |_____^
   |
   = help: move this `impl` block outside the of the current function `rawr`
---
   |
LL |             impl MacroTrait for OutsideStruct {}
   |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
...
LL | m!();
   |
   |
   = help: move this `impl` block outside the of the current function `my_func`
   = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
   = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
   = note: this warning originates in the macro `m` (in Nightly builds, run with -Z macro-backtrace for more info)


warning: non-local `impl` definition, they should be avoided as they go against expectation
##[warning]  --> /checkout/tests/ui/lint/non_local_definitions.rs:373:1
   |
LL | non_local_macro::non_local_impl!(CargoUpdate);
   |
   = help: move this `impl` block outside the of the current constant item `_IMPL_DEBUG`
   = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
   = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
   = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
   = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
   = note: this warning originates in the macro `non_local_macro::non_local_impl` (in Nightly builds, run with -Z macro-backtrace for more info)

warning: non-local `macro_rules!` definition, they should be avoided as they go against expectation
##[warning]  --> /checkout/tests/ui/lint/non_local_definitions.rs:376:1
   |
LL | non_local_macro::non_local_macro_rules!(my_macro);
   |
   |
   = help: remove the `#[macro_export]` or move this `macro_rules!` outside the of the current constant item `_MACRO_EXPORT`
   = note: a `macro_rules!` definition is non-local if it is nested inside an item and has a `#[macro_export]` attribute
   = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
   = note: this warning originates in the macro `non_local_macro::non_local_macro_rules` (in Nightly builds, run with -Z macro-backtrace for more info)

warning: 50 warnings emitted