[INFO] cloning repository https://github.com/Lej77/cast_trait_object
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Lej77/cast_trait_object" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FLej77%2Fcast_trait_object", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FLej77%2Fcast_trait_object'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 49f603fe8b5782c9e222e1242dacf8b3b05cc0de
[INFO] testing Lej77/cast_trait_object against master#1871252fc8bb672d40787e67404e6eaae7059369 for pr-125151
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FLej77%2Fcast_trait_object" "/workspace/builds/worker-1-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc1/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/Lej77/cast_trait_object on toolchain 1871252fc8bb672d40787e67404e6eaae7059369
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1871252fc8bb672d40787e67404e6eaae7059369" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/Lej77/cast_trait_object
[INFO] finished tweaking git repo https://github.com/Lej77/cast_trait_object
[INFO] tweaked toml for git repo https://github.com/Lej77/cast_trait_object written to /workspace/builds/worker-1-tc1/source/Cargo.toml
[INFO] crate git repo https://github.com/Lej77/cast_trait_object already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1871252fc8bb672d40787e67404e6eaae7059369" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:59a85a07ab18ca8720692f8e61effa1c651d9e2ca591e072c2b212bb91a6b8b5" "/opt/rustwide/cargo-home/bin/cargo" "+1871252fc8bb672d40787e67404e6eaae7059369" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 3110c0f0f229952c0e13c3c9daeb15a40d33e462cb0a44e7cb4ea5058936fcd2
[INFO] running `Command { std: "docker" "start" "-a" "3110c0f0f229952c0e13c3c9daeb15a40d33e462cb0a44e7cb4ea5058936fcd2", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "3110c0f0f229952c0e13c3c9daeb15a40d33e462cb0a44e7cb4ea5058936fcd2", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "3110c0f0f229952c0e13c3c9daeb15a40d33e462cb0a44e7cb4ea5058936fcd2", kill_on_drop: false }`
[INFO] [stdout] 3110c0f0f229952c0e13c3c9daeb15a40d33e462cb0a44e7cb4ea5058936fcd2
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:59a85a07ab18ca8720692f8e61effa1c651d9e2ca591e072c2b212bb91a6b8b5" "/opt/rustwide/cargo-home/bin/cargo" "+1871252fc8bb672d40787e67404e6eaae7059369" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 1444f9ed22c1d6880d1a0f2e3fc4fe5c60ceb43a54af806814868aed14f3a611
[INFO] running `Command { std: "docker" "start" "-a" "1444f9ed22c1d6880d1a0f2e3fc4fe5c60ceb43a54af806814868aed14f3a611", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.24
[INFO] [stderr]    Compiling version_check v0.9.2
[INFO] [stderr]    Compiling unicode-xid v0.2.1
[INFO] [stderr]    Compiling serde v1.0.119
[INFO] [stderr]    Compiling syn v1.0.58
[INFO] [stderr]    Compiling either v1.6.1
[INFO] [stderr]    Compiling proc-macro-error-attr v1.0.4
[INFO] [stderr]    Compiling proc-macro-error v1.0.4
[INFO] [stderr]    Compiling quote v1.0.8
[INFO] [stderr]    Compiling toml v0.5.8
[INFO] [stderr]    Compiling proc-macro-crate v0.1.5
[INFO] [stderr]    Compiling cast_trait_object_macros v0.1.3 (/opt/rustwide/workdir/cast_trait_object_macros)
[INFO] [stderr]    Compiling cast_trait_object v0.1.3 (/opt/rustwide/workdir/cast_trait_object)
[INFO] [stderr]    Compiling external_tests v0.1.0 (/opt/rustwide/workdir/external_tests)
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> external_tests/src/lib.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 25 |     #[dyn_cast(Sub, Sub2, SubSub)]
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = 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
[INFO] [stdout]    = 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>
[INFO] [stdout]    = note: the macro `::cast_trait_object::impl_dyn_cast_config` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]    = note: `#[warn(non_local_definitions)]` on by default
[INFO] [stdout]    = note: this warning originates in the macro `::cast_trait_object::impl_dyn_cast_config` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> external_tests/src/lib.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 25 |     #[dyn_cast(Sub, Sub2, SubSub)]
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = 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
[INFO] [stdout]    = 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>
[INFO] [stdout]    = note: the macro `::cast_trait_object::impl_dyn_cast_config` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]    = note: this warning originates in the macro `::cast_trait_object::impl_dyn_cast_config` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> external_tests/src/lib.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 25 |     #[dyn_cast(Sub, Sub2, SubSub)]
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = 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
[INFO] [stdout]    = 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>
[INFO] [stdout]    = note: the macro `::cast_trait_object::impl_dyn_cast_config` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]    = note: this warning originates in the macro `::cast_trait_object::impl_dyn_cast_config` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> external_tests/src/lib.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 25 |     #[dyn_cast(Sub, Sub2, SubSub)]
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = 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
[INFO] [stdout]    = 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>
[INFO] [stdout]    = note: the macro `::cast_trait_object::impl_dyn_cast_config` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]    = note: this warning originates in the macro `::cast_trait_object::impl_dyn_cast_config` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> external_tests/src/lib.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 25 |     #[dyn_cast(Sub, Sub2, SubSub)]
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = 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
[INFO] [stdout]    = 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>
[INFO] [stdout]    = note: the macro `::cast_trait_object::impl_dyn_cast_config` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]    = note: this warning originates in the macro `::cast_trait_object::impl_dyn_cast_config` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> external_tests/src/lib.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 25 |     #[dyn_cast(Sub, Sub2, SubSub)]
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = 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
[INFO] [stdout]    = 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>
[INFO] [stdout]    = note: the macro `::cast_trait_object::impl_dyn_cast_config` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]    = note: this warning originates in the macro `::cast_trait_object::impl_dyn_cast_config` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> external_tests/src/lib.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 25 |     #[dyn_cast(Sub, Sub2, SubSub)]
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = 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
[INFO] [stdout]    = 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>
[INFO] [stdout]    = note: the macro `::cast_trait_object::impl_dyn_cast_config` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]    = note: this warning originates in the macro `::cast_trait_object::impl_dyn_cast_config` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> external_tests/src/lib.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 25 |     #[dyn_cast(Sub, Sub2, SubSub)]
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = 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
[INFO] [stdout]    = 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>
[INFO] [stdout]    = note: the macro `::cast_trait_object::impl_dyn_cast_config` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]    = note: this warning originates in the macro `::cast_trait_object::impl_dyn_cast_config` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> external_tests/src/lib.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 25 |     #[dyn_cast(Sub, Sub2, SubSub)]
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = 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
[INFO] [stdout]    = 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>
[INFO] [stdout]    = note: the macro `::cast_trait_object::impl_dyn_cast_config` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]    = note: this warning originates in the macro `::cast_trait_object::impl_dyn_cast_config` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> external_tests/src/lib.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 26 |     #[dyn_upcast]
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = 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
[INFO] [stdout]    = 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>
[INFO] [stdout]    = note: the macro `::cast_trait_object::impl_dyn_cast_config` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]    = note: this warning originates in the macro `::cast_trait_object::impl_dyn_cast_config` which comes from the expansion of the attribute macro `dyn_upcast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> external_tests/src/lib.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 26 |     #[dyn_upcast]
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = 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
[INFO] [stdout]    = 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>
[INFO] [stdout]    = note: the macro `::cast_trait_object::impl_dyn_cast_config` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]    = note: this warning originates in the macro `::cast_trait_object::impl_dyn_cast_config` which comes from the expansion of the attribute macro `dyn_upcast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> external_tests/src/lib.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 26 |     #[dyn_upcast]
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = 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
[INFO] [stdout]    = 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>
[INFO] [stdout]    = note: the macro `::cast_trait_object::impl_dyn_cast_config` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]    = note: this warning originates in the macro `::cast_trait_object::impl_dyn_cast_config` which comes from the expansion of the attribute macro `dyn_upcast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> external_tests/src/lib.rs:48:5
[INFO] [stdout]    |
[INFO] [stdout] 48 |     #[cfg_attr(feature = "proc-macros", dyn_upcast)]
[INFO] [stdout]    |     ^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current closure `<unnameable>` and up 4 bodies
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = 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
[INFO] [stdout]    = 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>
[INFO] [stdout]    = note: the macro `$crate::impl_dyn_cast` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]    = note: this warning originates in the macro `$crate::impl_dyn_cast` which comes from the expansion of the attribute macro `dyn_upcast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> external_tests/src/lib.rs:47:41
[INFO] [stdout]    |
[INFO] [stdout] 47 |     #[cfg_attr(feature = "proc-macros", dyn_cast(Sub, Sub2, SubSub))]
[INFO] [stdout]    |                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current closure `<unnameable>` and up 4 bodies
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = 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
[INFO] [stdout]    = 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>
[INFO] [stdout]    = note: the macro `$crate::impl_dyn_cast` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]    = note: this warning originates in the macro `$crate::impl_dyn_cast` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> external_tests/src/lib.rs:47:41
[INFO] [stdout]    |
[INFO] [stdout] 47 |     #[cfg_attr(feature = "proc-macros", dyn_cast(Sub, Sub2, SubSub))]
[INFO] [stdout]    |                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current closure `<unnameable>` and up 4 bodies
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = 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
[INFO] [stdout]    = 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>
[INFO] [stdout]    = note: the macro `$crate::impl_dyn_cast` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]    = note: this warning originates in the macro `$crate::impl_dyn_cast` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> external_tests/src/lib.rs:47:41
[INFO] [stdout]    |
[INFO] [stdout] 47 |     #[cfg_attr(feature = "proc-macros", dyn_cast(Sub, Sub2, SubSub))]
[INFO] [stdout]    |                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current closure `<unnameable>` and up 4 bodies
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = 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
[INFO] [stdout]    = 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>
[INFO] [stdout]    = note: the macro `$crate::impl_dyn_cast` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]    = note: this warning originates in the macro `$crate::impl_dyn_cast` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> external_tests/src/lib.rs:54:41
[INFO] [stdout]    |
[INFO] [stdout] 54 |     #[cfg_attr(feature = "proc-macros", dyn_cast(Sub, Sub2, SubSub, Super))]
[INFO] [stdout]    |                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current closure `<unnameable>` and up 4 bodies
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = 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
[INFO] [stdout]    = 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>
[INFO] [stdout]    = note: the macro `$crate::impl_dyn_cast` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]    = note: this warning originates in the macro `$crate::impl_dyn_cast` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> external_tests/src/lib.rs:54:41
[INFO] [stdout]    |
[INFO] [stdout] 54 |     #[cfg_attr(feature = "proc-macros", dyn_cast(Sub, Sub2, SubSub, Super))]
[INFO] [stdout]    |                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current closure `<unnameable>` and up 4 bodies
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = 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
[INFO] [stdout]    = 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>
[INFO] [stdout]    = note: the macro `$crate::impl_dyn_cast` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]    = note: this warning originates in the macro `$crate::impl_dyn_cast` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> external_tests/src/lib.rs:54:41
[INFO] [stdout]    |
[INFO] [stdout] 54 |     #[cfg_attr(feature = "proc-macros", dyn_cast(Sub, Sub2, SubSub, Super))]
[INFO] [stdout]    |                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current closure `<unnameable>` and up 4 bodies
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = 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
[INFO] [stdout]    = 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>
[INFO] [stdout]    = note: the macro `$crate::impl_dyn_cast` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]    = note: this warning originates in the macro `$crate::impl_dyn_cast` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> external_tests/src/lib.rs:54:41
[INFO] [stdout]    |
[INFO] [stdout] 54 |     #[cfg_attr(feature = "proc-macros", dyn_cast(Sub, Sub2, SubSub, Super))]
[INFO] [stdout]    |                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current closure `<unnameable>` and up 4 bodies
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = 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
[INFO] [stdout]    = 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>
[INFO] [stdout]    = note: the macro `$crate::impl_dyn_cast` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]    = note: this warning originates in the macro `$crate::impl_dyn_cast` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> external_tests/src/lib.rs:61:5
[INFO] [stdout]    |
[INFO] [stdout] 61 |     #[cfg_attr(feature = "proc-macros", dyn_upcast(Super))]
[INFO] [stdout]    |     ^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current closure `<unnameable>` and up 4 bodies
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = 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
[INFO] [stdout]    = 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>
[INFO] [stdout]    = note: the macro `$crate::impl_dyn_cast` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]    = note: this warning originates in the macro `$crate::impl_dyn_cast` which comes from the expansion of the attribute macro `dyn_upcast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> external_tests/src/lib.rs:60:41
[INFO] [stdout]    |
[INFO] [stdout] 60 |     #[cfg_attr(feature = "proc-macros", dyn_cast(Super => Sub, Sub2, SubSub))]
[INFO] [stdout]    |                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current closure `<unnameable>` and up 4 bodies
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = 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
[INFO] [stdout]    = 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>
[INFO] [stdout]    = note: the macro `$crate::impl_dyn_cast` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]    = note: this warning originates in the macro `$crate::impl_dyn_cast` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> external_tests/src/lib.rs:60:41
[INFO] [stdout]    |
[INFO] [stdout] 60 |     #[cfg_attr(feature = "proc-macros", dyn_cast(Super => Sub, Sub2, SubSub))]
[INFO] [stdout]    |                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current closure `<unnameable>` and up 4 bodies
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = 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
[INFO] [stdout]    = 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>
[INFO] [stdout]    = note: the macro `$crate::impl_dyn_cast` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]    = note: this warning originates in the macro `$crate::impl_dyn_cast` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> external_tests/src/lib.rs:60:41
[INFO] [stdout]    |
[INFO] [stdout] 60 |     #[cfg_attr(feature = "proc-macros", dyn_cast(Super => Sub, Sub2, SubSub))]
[INFO] [stdout]    |                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current closure `<unnameable>` and up 4 bodies
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = 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
[INFO] [stdout]    = 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>
[INFO] [stdout]    = note: the macro `$crate::impl_dyn_cast` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]    = note: this warning originates in the macro `$crate::impl_dyn_cast` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> external_tests/src/lib.rs:69:41
[INFO] [stdout]    |
[INFO] [stdout] 69 |     #[cfg_attr(feature = "proc-macros", dyn_cast(Super => Sub, Sub2, SubSub, Super))]
[INFO] [stdout]    |                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current closure `<unnameable>` and up 4 bodies
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = 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
[INFO] [stdout]    = 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>
[INFO] [stdout]    = note: the macro `$crate::impl_dyn_cast` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]    = note: this warning originates in the macro `$crate::impl_dyn_cast` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> external_tests/src/lib.rs:69:41
[INFO] [stdout]    |
[INFO] [stdout] 69 |     #[cfg_attr(feature = "proc-macros", dyn_cast(Super => Sub, Sub2, SubSub, Super))]
[INFO] [stdout]    |                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current closure `<unnameable>` and up 4 bodies
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = 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
[INFO] [stdout]    = 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>
[INFO] [stdout]    = note: the macro `$crate::impl_dyn_cast` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]    = note: this warning originates in the macro `$crate::impl_dyn_cast` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> external_tests/src/lib.rs:69:41
[INFO] [stdout]    |
[INFO] [stdout] 69 |     #[cfg_attr(feature = "proc-macros", dyn_cast(Super => Sub, Sub2, SubSub, Super))]
[INFO] [stdout]    |                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current closure `<unnameable>` and up 4 bodies
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = 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
[INFO] [stdout]    = 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>
[INFO] [stdout]    = note: the macro `$crate::impl_dyn_cast` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]    = note: this warning originates in the macro `$crate::impl_dyn_cast` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> external_tests/src/lib.rs:69:41
[INFO] [stdout]    |
[INFO] [stdout] 69 |     #[cfg_attr(feature = "proc-macros", dyn_cast(Super => Sub, Sub2, SubSub, Super))]
[INFO] [stdout]    |                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current closure `<unnameable>` and up 4 bodies
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = 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
[INFO] [stdout]    = 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>
[INFO] [stdout]    = note: the macro `$crate::impl_dyn_cast` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]    = note: this warning originates in the macro `$crate::impl_dyn_cast` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> external_tests/src/lib.rs:83:5
[INFO] [stdout]    |
[INFO] [stdout] 83 |     #[dyn_cast(Sub)]
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = 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
[INFO] [stdout]    = 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>
[INFO] [stdout]    = note: the macro `$crate::impl_dyn_cast_config` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]    = note: this warning originates in the macro `$crate::impl_dyn_cast_config` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> external_tests/src/lib.rs:83:5
[INFO] [stdout]    |
[INFO] [stdout] 83 |     #[dyn_cast(Sub)]
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = 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
[INFO] [stdout]    = 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>
[INFO] [stdout]    = note: the macro `$crate::impl_dyn_cast_config` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]    = note: this warning originates in the macro `$crate::impl_dyn_cast_config` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> external_tests/src/lib.rs:83:5
[INFO] [stdout]    |
[INFO] [stdout] 83 |     #[dyn_cast(Sub)]
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = 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
[INFO] [stdout]    = 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>
[INFO] [stdout]    = note: the macro `$crate::impl_dyn_cast_config` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]    = note: this warning originates in the macro `$crate::impl_dyn_cast_config` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> external_tests/src/lib.rs:84:5
[INFO] [stdout]    |
[INFO] [stdout] 84 |     #[dyn_upcast]
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = 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
[INFO] [stdout]    = 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>
[INFO] [stdout]    = note: the macro `$crate::impl_dyn_cast_config` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]    = note: this warning originates in the macro `$crate::impl_dyn_cast_config` which comes from the expansion of the attribute macro `dyn_upcast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> external_tests/src/lib.rs:84:5
[INFO] [stdout]    |
[INFO] [stdout] 84 |     #[dyn_upcast]
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = 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
[INFO] [stdout]    = 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>
[INFO] [stdout]    = note: the macro `$crate::impl_dyn_cast_config` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]    = note: this warning originates in the macro `$crate::impl_dyn_cast_config` which comes from the expansion of the attribute macro `dyn_upcast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> external_tests/src/lib.rs:84:5
[INFO] [stdout]    |
[INFO] [stdout] 84 |     #[dyn_upcast]
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = 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
[INFO] [stdout]    = 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>
[INFO] [stdout]    = note: the macro `$crate::impl_dyn_cast_config` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]    = note: this warning originates in the macro `$crate::impl_dyn_cast_config` which comes from the expansion of the attribute macro `dyn_upcast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> external_tests/src/lib.rs:89:5
[INFO] [stdout]    |
[INFO] [stdout] 89 |     #[dyn_upcast(Super)]
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current closure `<unnameable>` and up 4 bodies
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = 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
[INFO] [stdout]    = 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>
[INFO] [stdout]    = note: the macro `$crate::impl_dyn_cast` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]    = note: this warning originates in the macro `$crate::impl_dyn_cast` which comes from the expansion of the attribute macro `dyn_upcast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> external_tests/src/lib.rs:88:5
[INFO] [stdout]    |
[INFO] [stdout] 88 |     #[dyn_cast(Super => Sub)]
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current closure `<unnameable>` and up 4 bodies
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = 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
[INFO] [stdout]    = 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>
[INFO] [stdout]    = note: the macro `$crate::impl_dyn_cast` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]    = note: this warning originates in the macro `$crate::impl_dyn_cast` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> external_tests/src/lib.rs:94:5
[INFO] [stdout]    |
[INFO] [stdout] 94 |     #[dyn_upcast(Super)]
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current closure `<unnameable>` and up 4 bodies
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = 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
[INFO] [stdout]    = 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>
[INFO] [stdout]    = note: the macro `$crate::impl_dyn_cast` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]    = note: this warning originates in the macro `$crate::impl_dyn_cast` which comes from the expansion of the attribute macro `dyn_upcast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> external_tests/src/lib.rs:93:5
[INFO] [stdout]    |
[INFO] [stdout] 93 |     #[dyn_cast(Super => Sub)]
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current closure `<unnameable>` and up 4 bodies
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = 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
[INFO] [stdout]    = 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>
[INFO] [stdout]    = note: the macro `$crate::impl_dyn_cast` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]    = note: this warning originates in the macro `$crate::impl_dyn_cast` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]    --> external_tests/src/lib.rs:110:9
[INFO] [stdout]     |
[INFO] [stdout] 110 |         #[dyn_upcast]
[INFO] [stdout]     |         ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stdout]     = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = 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
[INFO] [stdout]     = 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>
[INFO] [stdout]     = note: the macro `$crate::impl_dyn_cast_config` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]     = note: this warning originates in the macro `$crate::impl_dyn_cast_config` which comes from the expansion of the attribute macro `dyn_upcast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]    --> external_tests/src/lib.rs:110:9
[INFO] [stdout]     |
[INFO] [stdout] 110 |         #[dyn_upcast]
[INFO] [stdout]     |         ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stdout]     = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = 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
[INFO] [stdout]     = 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>
[INFO] [stdout]     = note: the macro `$crate::impl_dyn_cast_config` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]     = note: this warning originates in the macro `$crate::impl_dyn_cast_config` which comes from the expansion of the attribute macro `dyn_upcast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]    --> external_tests/src/lib.rs:110:9
[INFO] [stdout]     |
[INFO] [stdout] 110 |         #[dyn_upcast]
[INFO] [stdout]     |         ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stdout]     = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = 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
[INFO] [stdout]     = 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>
[INFO] [stdout]     = note: the macro `$crate::impl_dyn_cast_config` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]     = note: this warning originates in the macro `$crate::impl_dyn_cast_config` which comes from the expansion of the attribute macro `dyn_upcast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]    --> external_tests/src/lib.rs:111:9
[INFO] [stdout]     |
[INFO] [stdout] 111 |         #[dyn_cast(Sub<T>)]
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stdout]     = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = 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
[INFO] [stdout]     = 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>
[INFO] [stdout]     = note: the macro `$crate::impl_dyn_cast_config` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]     = note: this warning originates in the macro `$crate::impl_dyn_cast_config` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]    --> external_tests/src/lib.rs:111:9
[INFO] [stdout]     |
[INFO] [stdout] 111 |         #[dyn_cast(Sub<T>)]
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stdout]     = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = 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
[INFO] [stdout]     = 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>
[INFO] [stdout]     = note: the macro `$crate::impl_dyn_cast_config` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]     = note: this warning originates in the macro `$crate::impl_dyn_cast_config` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]    --> external_tests/src/lib.rs:111:9
[INFO] [stdout]     |
[INFO] [stdout] 111 |         #[dyn_cast(Sub<T>)]
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stdout]     = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = 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
[INFO] [stdout]     = 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>
[INFO] [stdout]     = note: the macro `$crate::impl_dyn_cast_config` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]     = note: this warning originates in the macro `$crate::impl_dyn_cast_config` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]    --> external_tests/src/lib.rs:125:9
[INFO] [stdout]     |
[INFO] [stdout] 125 |         #[dyn_cast(Sub<T>)]
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stdout]     = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = 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
[INFO] [stdout]     = 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>
[INFO] [stdout]     = note: the macro `::cast_trait_object::impl_dyn_cast` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]     = note: this warning originates in the macro `::cast_trait_object::impl_dyn_cast` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]    --> external_tests/src/lib.rs:124:9
[INFO] [stdout]     |
[INFO] [stdout] 124 |         #[dyn_upcast]
[INFO] [stdout]     |         ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stdout]     = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = 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
[INFO] [stdout]     = 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>
[INFO] [stdout]     = note: the macro `::cast_trait_object::impl_dyn_cast` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]     = note: this warning originates in the macro `::cast_trait_object::impl_dyn_cast` which comes from the expansion of the attribute macro `dyn_upcast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]    --> external_tests/src/lib.rs:130:9
[INFO] [stdout]     |
[INFO] [stdout] 130 |         #[dyn_cast(Sub<T>)]
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stdout]     = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = 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
[INFO] [stdout]     = 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>
[INFO] [stdout]     = note: the macro `::cast_trait_object::impl_dyn_cast` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]     = note: this warning originates in the macro `::cast_trait_object::impl_dyn_cast` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]    --> external_tests/src/lib.rs:129:9
[INFO] [stdout]     |
[INFO] [stdout] 129 |         #[dyn_upcast]
[INFO] [stdout]     |         ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stdout]     = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = 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
[INFO] [stdout]     = 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>
[INFO] [stdout]     = note: the macro `::cast_trait_object::impl_dyn_cast` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]     = note: this warning originates in the macro `::cast_trait_object::impl_dyn_cast` which comes from the expansion of the attribute macro `dyn_upcast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]    --> external_tests/src/lib.rs:139:9
[INFO] [stdout]     |
[INFO] [stdout] 139 |         #[dyn_cast(Sub<Item = Test>)]
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stdout]     = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = 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
[INFO] [stdout]     = 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>
[INFO] [stdout]     = note: the macro `$crate::impl_dyn_cast_config` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]     = note: this warning originates in the macro `$crate::impl_dyn_cast_config` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]    --> external_tests/src/lib.rs:139:9
[INFO] [stdout]     |
[INFO] [stdout] 139 |         #[dyn_cast(Sub<Item = Test>)]
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stdout]     = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = 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
[INFO] [stdout]     = 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>
[INFO] [stdout]     = note: the macro `$crate::impl_dyn_cast_config` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]     = note: this warning originates in the macro `$crate::impl_dyn_cast_config` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]    --> external_tests/src/lib.rs:139:9
[INFO] [stdout]     |
[INFO] [stdout] 139 |         #[dyn_cast(Sub<Item = Test>)]
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stdout]     = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = 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
[INFO] [stdout]     = 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>
[INFO] [stdout]     = note: the macro `$crate::impl_dyn_cast_config` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]     = note: this warning originates in the macro `$crate::impl_dyn_cast_config` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]    --> external_tests/src/lib.rs:140:9
[INFO] [stdout]     |
[INFO] [stdout] 140 |         #[dyn_cast(Sub<Item = ()>)]
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stdout]     = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = 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
[INFO] [stdout]     = 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>
[INFO] [stdout]     = note: the macro `$crate::impl_dyn_cast_config` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]     = note: this warning originates in the macro `$crate::impl_dyn_cast_config` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]    --> external_tests/src/lib.rs:140:9
[INFO] [stdout]     |
[INFO] [stdout] 140 |         #[dyn_cast(Sub<Item = ()>)]
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stdout]     = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = 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
[INFO] [stdout]     = 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>
[INFO] [stdout]     = note: the macro `$crate::impl_dyn_cast_config` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]     = note: this warning originates in the macro `$crate::impl_dyn_cast_config` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]    --> external_tests/src/lib.rs:140:9
[INFO] [stdout]     |
[INFO] [stdout] 140 |         #[dyn_cast(Sub<Item = ()>)]
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stdout]     = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = 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
[INFO] [stdout]     = 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>
[INFO] [stdout]     = note: the macro `$crate::impl_dyn_cast_config` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]     = note: this warning originates in the macro `$crate::impl_dyn_cast_config` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]    --> external_tests/src/lib.rs:143:9
[INFO] [stdout]     |
[INFO] [stdout] 143 |         #[dyn_cast(Sub<Item = ()>)]
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: move this `impl` block outside the of the current closure `<unnameable>` and up 4 bodies
[INFO] [stdout]     = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = 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
[INFO] [stdout]     = 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>
[INFO] [stdout]     = note: the macro `$crate::impl_dyn_cast` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]     = note: this warning originates in the macro `$crate::impl_dyn_cast` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]    --> external_tests/src/lib.rs:142:9
[INFO] [stdout]     |
[INFO] [stdout] 142 |         #[dyn_cast(Sub<Item = Test>)]
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: move this `impl` block outside the of the current closure `<unnameable>` and up 4 bodies
[INFO] [stdout]     = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = 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
[INFO] [stdout]     = 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>
[INFO] [stdout]     = note: the macro `$crate::impl_dyn_cast` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]     = note: this warning originates in the macro `$crate::impl_dyn_cast` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 56 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 8.72s
[INFO] running `Command { std: "docker" "inspect" "1444f9ed22c1d6880d1a0f2e3fc4fe5c60ceb43a54af806814868aed14f3a611", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "1444f9ed22c1d6880d1a0f2e3fc4fe5c60ceb43a54af806814868aed14f3a611", kill_on_drop: false }`
[INFO] [stdout] 1444f9ed22c1d6880d1a0f2e3fc4fe5c60ceb43a54af806814868aed14f3a611
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:59a85a07ab18ca8720692f8e61effa1c651d9e2ca591e072c2b212bb91a6b8b5" "/opt/rustwide/cargo-home/bin/cargo" "+1871252fc8bb672d40787e67404e6eaae7059369" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 58b3376d8a369d2ed2d3e98f86b3d67ecd1e29e690f933e90442846fe2b4c37e
[INFO] running `Command { std: "docker" "start" "-a" "58b3376d8a369d2ed2d3e98f86b3d67ecd1e29e690f933e90442846fe2b4c37e", kill_on_drop: false }`
[INFO] [stderr]    Compiling cast_trait_object_macros v0.1.3 (/opt/rustwide/workdir/cast_trait_object_macros)
[INFO] [stderr]    Compiling cast_trait_object v0.1.3 (/opt/rustwide/workdir/cast_trait_object)
[INFO] [stderr]    Compiling external_tests v0.1.0 (/opt/rustwide/workdir/external_tests)
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> external_tests/src/lib.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 25 |     #[dyn_cast(Sub, Sub2, SubSub)]
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = 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
[INFO] [stdout]    = 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>
[INFO] [stdout]    = note: the macro `::cast_trait_object::impl_dyn_cast_config` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]    = note: `#[warn(non_local_definitions)]` on by default
[INFO] [stdout]    = note: this warning originates in the macro `::cast_trait_object::impl_dyn_cast_config` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> external_tests/src/lib.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 25 |     #[dyn_cast(Sub, Sub2, SubSub)]
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = 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
[INFO] [stdout]    = 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>
[INFO] [stdout]    = note: the macro `::cast_trait_object::impl_dyn_cast_config` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]    = note: this warning originates in the macro `::cast_trait_object::impl_dyn_cast_config` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> external_tests/src/lib.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 25 |     #[dyn_cast(Sub, Sub2, SubSub)]
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = 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
[INFO] [stdout]    = 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>
[INFO] [stdout]    = note: the macro `::cast_trait_object::impl_dyn_cast_config` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]    = note: this warning originates in the macro `::cast_trait_object::impl_dyn_cast_config` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> external_tests/src/lib.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 25 |     #[dyn_cast(Sub, Sub2, SubSub)]
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = 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
[INFO] [stdout]    = 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>
[INFO] [stdout]    = note: the macro `::cast_trait_object::impl_dyn_cast_config` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]    = note: this warning originates in the macro `::cast_trait_object::impl_dyn_cast_config` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> external_tests/src/lib.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 25 |     #[dyn_cast(Sub, Sub2, SubSub)]
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = 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
[INFO] [stdout]    = 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>
[INFO] [stdout]    = note: the macro `::cast_trait_object::impl_dyn_cast_config` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]    = note: this warning originates in the macro `::cast_trait_object::impl_dyn_cast_config` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> external_tests/src/lib.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 25 |     #[dyn_cast(Sub, Sub2, SubSub)]
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = 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
[INFO] [stdout]    = 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>
[INFO] [stdout]    = note: the macro `::cast_trait_object::impl_dyn_cast_config` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]    = note: this warning originates in the macro `::cast_trait_object::impl_dyn_cast_config` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> external_tests/src/lib.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 25 |     #[dyn_cast(Sub, Sub2, SubSub)]
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = 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
[INFO] [stdout]    = 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>
[INFO] [stdout]    = note: the macro `::cast_trait_object::impl_dyn_cast_config` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]    = note: this warning originates in the macro `::cast_trait_object::impl_dyn_cast_config` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> external_tests/src/lib.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 25 |     #[dyn_cast(Sub, Sub2, SubSub)]
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = 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
[INFO] [stdout]    = 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>
[INFO] [stdout]    = note: the macro `::cast_trait_object::impl_dyn_cast_config` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]    = note: this warning originates in the macro `::cast_trait_object::impl_dyn_cast_config` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> external_tests/src/lib.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 25 |     #[dyn_cast(Sub, Sub2, SubSub)]
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = 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
[INFO] [stdout]    = 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>
[INFO] [stdout]    = note: the macro `::cast_trait_object::impl_dyn_cast_config` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]    = note: this warning originates in the macro `::cast_trait_object::impl_dyn_cast_config` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> external_tests/src/lib.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 26 |     #[dyn_upcast]
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = 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
[INFO] [stdout]    = 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>
[INFO] [stdout]    = note: the macro `::cast_trait_object::impl_dyn_cast_config` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]    = note: this warning originates in the macro `::cast_trait_object::impl_dyn_cast_config` which comes from the expansion of the attribute macro `dyn_upcast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> external_tests/src/lib.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 26 |     #[dyn_upcast]
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = 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
[INFO] [stdout]    = 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>
[INFO] [stdout]    = note: the macro `::cast_trait_object::impl_dyn_cast_config` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]    = note: this warning originates in the macro `::cast_trait_object::impl_dyn_cast_config` which comes from the expansion of the attribute macro `dyn_upcast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> external_tests/src/lib.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 26 |     #[dyn_upcast]
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = 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
[INFO] [stdout]    = 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>
[INFO] [stdout]    = note: the macro `::cast_trait_object::impl_dyn_cast_config` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]    = note: this warning originates in the macro `::cast_trait_object::impl_dyn_cast_config` which comes from the expansion of the attribute macro `dyn_upcast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> external_tests/src/lib.rs:48:5
[INFO] [stdout]    |
[INFO] [stdout] 48 |     #[cfg_attr(feature = "proc-macros", dyn_upcast)]
[INFO] [stdout]    |     ^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current closure `<unnameable>` and up 4 bodies
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = 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
[INFO] [stdout]    = 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>
[INFO] [stdout]    = note: the macro `$crate::impl_dyn_cast` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]    = note: this warning originates in the macro `$crate::impl_dyn_cast` which comes from the expansion of the attribute macro `dyn_upcast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> external_tests/src/lib.rs:47:41
[INFO] [stdout]    |
[INFO] [stdout] 47 |     #[cfg_attr(feature = "proc-macros", dyn_cast(Sub, Sub2, SubSub))]
[INFO] [stdout]    |                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current closure `<unnameable>` and up 4 bodies
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = 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
[INFO] [stdout]    = 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>
[INFO] [stdout]    = note: the macro `$crate::impl_dyn_cast` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]    = note: this warning originates in the macro `$crate::impl_dyn_cast` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> external_tests/src/lib.rs:47:41
[INFO] [stdout]    |
[INFO] [stdout] 47 |     #[cfg_attr(feature = "proc-macros", dyn_cast(Sub, Sub2, SubSub))]
[INFO] [stdout]    |                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current closure `<unnameable>` and up 4 bodies
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = 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
[INFO] [stdout]    = 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>
[INFO] [stdout]    = note: the macro `$crate::impl_dyn_cast` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]    = note: this warning originates in the macro `$crate::impl_dyn_cast` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> external_tests/src/lib.rs:47:41
[INFO] [stdout]    |
[INFO] [stdout] 47 |     #[cfg_attr(feature = "proc-macros", dyn_cast(Sub, Sub2, SubSub))]
[INFO] [stdout]    |                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current closure `<unnameable>` and up 4 bodies
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = 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
[INFO] [stdout]    = 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>
[INFO] [stdout]    = note: the macro `$crate::impl_dyn_cast` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]    = note: this warning originates in the macro `$crate::impl_dyn_cast` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> external_tests/src/lib.rs:54:41
[INFO] [stdout]    |
[INFO] [stdout] 54 |     #[cfg_attr(feature = "proc-macros", dyn_cast(Sub, Sub2, SubSub, Super))]
[INFO] [stdout]    |                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current closure `<unnameable>` and up 4 bodies
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = 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
[INFO] [stdout]    = 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>
[INFO] [stdout]    = note: the macro `$crate::impl_dyn_cast` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]    = note: this warning originates in the macro `$crate::impl_dyn_cast` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> external_tests/src/lib.rs:54:41
[INFO] [stdout]    |
[INFO] [stdout] 54 |     #[cfg_attr(feature = "proc-macros", dyn_cast(Sub, Sub2, SubSub, Super))]
[INFO] [stdout]    |                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current closure `<unnameable>` and up 4 bodies
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = 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
[INFO] [stdout]    = 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>
[INFO] [stdout]    = note: the macro `$crate::impl_dyn_cast` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]    = note: this warning originates in the macro `$crate::impl_dyn_cast` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> external_tests/src/lib.rs:54:41
[INFO] [stdout]    |
[INFO] [stdout] 54 |     #[cfg_attr(feature = "proc-macros", dyn_cast(Sub, Sub2, SubSub, Super))]
[INFO] [stdout]    |                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current closure `<unnameable>` and up 4 bodies
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = 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
[INFO] [stdout]    = 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>
[INFO] [stdout]    = note: the macro `$crate::impl_dyn_cast` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]    = note: this warning originates in the macro `$crate::impl_dyn_cast` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> external_tests/src/lib.rs:54:41
[INFO] [stdout]    |
[INFO] [stdout] 54 |     #[cfg_attr(feature = "proc-macros", dyn_cast(Sub, Sub2, SubSub, Super))]
[INFO] [stdout]    |                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current closure `<unnameable>` and up 4 bodies
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = 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
[INFO] [stdout]    = 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>
[INFO] [stdout]    = note: the macro `$crate::impl_dyn_cast` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]    = note: this warning originates in the macro `$crate::impl_dyn_cast` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> external_tests/src/lib.rs:61:5
[INFO] [stdout]    |
[INFO] [stdout] 61 |     #[cfg_attr(feature = "proc-macros", dyn_upcast(Super))]
[INFO] [stdout]    |     ^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current closure `<unnameable>` and up 4 bodies
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = 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
[INFO] [stdout]    = 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>
[INFO] [stdout]    = note: the macro `$crate::impl_dyn_cast` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]    = note: this warning originates in the macro `$crate::impl_dyn_cast` which comes from the expansion of the attribute macro `dyn_upcast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> external_tests/src/lib.rs:60:41
[INFO] [stdout]    |
[INFO] [stdout] 60 |     #[cfg_attr(feature = "proc-macros", dyn_cast(Super => Sub, Sub2, SubSub))]
[INFO] [stdout]    |                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current closure `<unnameable>` and up 4 bodies
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = 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
[INFO] [stdout]    = 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>
[INFO] [stdout]    = note: the macro `$crate::impl_dyn_cast` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]    = note: this warning originates in the macro `$crate::impl_dyn_cast` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> external_tests/src/lib.rs:60:41
[INFO] [stdout]    |
[INFO] [stdout] 60 |     #[cfg_attr(feature = "proc-macros", dyn_cast(Super => Sub, Sub2, SubSub))]
[INFO] [stdout]    |                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current closure `<unnameable>` and up 4 bodies
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = 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
[INFO] [stdout]    = 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>
[INFO] [stdout]    = note: the macro `$crate::impl_dyn_cast` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]    = note: this warning originates in the macro `$crate::impl_dyn_cast` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> external_tests/src/lib.rs:60:41
[INFO] [stdout]    |
[INFO] [stdout] 60 |     #[cfg_attr(feature = "proc-macros", dyn_cast(Super => Sub, Sub2, SubSub))]
[INFO] [stdout]    |                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current closure `<unnameable>` and up 4 bodies
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = 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
[INFO] [stdout]    = 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>
[INFO] [stdout]    = note: the macro `$crate::impl_dyn_cast` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]    = note: this warning originates in the macro `$crate::impl_dyn_cast` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> external_tests/src/lib.rs:69:41
[INFO] [stdout]    |
[INFO] [stdout] 69 |     #[cfg_attr(feature = "proc-macros", dyn_cast(Super => Sub, Sub2, SubSub, Super))]
[INFO] [stdout]    |                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current closure `<unnameable>` and up 4 bodies
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = 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
[INFO] [stdout]    = 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>
[INFO] [stdout]    = note: the macro `$crate::impl_dyn_cast` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]    = note: this warning originates in the macro `$crate::impl_dyn_cast` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> external_tests/src/lib.rs:69:41
[INFO] [stdout]    |
[INFO] [stdout] 69 |     #[cfg_attr(feature = "proc-macros", dyn_cast(Super => Sub, Sub2, SubSub, Super))]
[INFO] [stdout]    |                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current closure `<unnameable>` and up 4 bodies
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = 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
[INFO] [stdout]    = 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>
[INFO] [stdout]    = note: the macro `$crate::impl_dyn_cast` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]    = note: this warning originates in the macro `$crate::impl_dyn_cast` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> external_tests/src/lib.rs:69:41
[INFO] [stdout]    |
[INFO] [stdout] 69 |     #[cfg_attr(feature = "proc-macros", dyn_cast(Super => Sub, Sub2, SubSub, Super))]
[INFO] [stdout]    |                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current closure `<unnameable>` and up 4 bodies
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = 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
[INFO] [stdout]    = 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>
[INFO] [stdout]    = note: the macro `$crate::impl_dyn_cast` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]    = note: this warning originates in the macro `$crate::impl_dyn_cast` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> external_tests/src/lib.rs:69:41
[INFO] [stdout]    |
[INFO] [stdout] 69 |     #[cfg_attr(feature = "proc-macros", dyn_cast(Super => Sub, Sub2, SubSub, Super))]
[INFO] [stdout]    |                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current closure `<unnameable>` and up 4 bodies
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = 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
[INFO] [stdout]    = 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>
[INFO] [stdout]    = note: the macro `$crate::impl_dyn_cast` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]    = note: this warning originates in the macro `$crate::impl_dyn_cast` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> external_tests/src/lib.rs:83:5
[INFO] [stdout]    |
[INFO] [stdout] 83 |     #[dyn_cast(Sub)]
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = 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
[INFO] [stdout]    = 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>
[INFO] [stdout]    = note: the macro `$crate::impl_dyn_cast_config` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]    = note: this warning originates in the macro `$crate::impl_dyn_cast_config` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> external_tests/src/lib.rs:83:5
[INFO] [stdout]    |
[INFO] [stdout] 83 |     #[dyn_cast(Sub)]
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = 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
[INFO] [stdout]    = 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>
[INFO] [stdout]    = note: the macro `$crate::impl_dyn_cast_config` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]    = note: this warning originates in the macro `$crate::impl_dyn_cast_config` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> external_tests/src/lib.rs:83:5
[INFO] [stdout]    |
[INFO] [stdout] 83 |     #[dyn_cast(Sub)]
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = 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
[INFO] [stdout]    = 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>
[INFO] [stdout]    = note: the macro `$crate::impl_dyn_cast_config` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]    = note: this warning originates in the macro `$crate::impl_dyn_cast_config` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> external_tests/src/lib.rs:84:5
[INFO] [stdout]    |
[INFO] [stdout] 84 |     #[dyn_upcast]
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = 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
[INFO] [stdout]    = 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>
[INFO] [stdout]    = note: the macro `$crate::impl_dyn_cast_config` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]    = note: this warning originates in the macro `$crate::impl_dyn_cast_config` which comes from the expansion of the attribute macro `dyn_upcast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> external_tests/src/lib.rs:84:5
[INFO] [stdout]    |
[INFO] [stdout] 84 |     #[dyn_upcast]
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = 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
[INFO] [stdout]    = 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>
[INFO] [stdout]    = note: the macro `$crate::impl_dyn_cast_config` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]    = note: this warning originates in the macro `$crate::impl_dyn_cast_config` which comes from the expansion of the attribute macro `dyn_upcast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> external_tests/src/lib.rs:84:5
[INFO] [stdout]    |
[INFO] [stdout] 84 |     #[dyn_upcast]
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = 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
[INFO] [stdout]    = 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>
[INFO] [stdout]    = note: the macro `$crate::impl_dyn_cast_config` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]    = note: this warning originates in the macro `$crate::impl_dyn_cast_config` which comes from the expansion of the attribute macro `dyn_upcast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> external_tests/src/lib.rs:89:5
[INFO] [stdout]    |
[INFO] [stdout] 89 |     #[dyn_upcast(Super)]
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current closure `<unnameable>` and up 4 bodies
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = 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
[INFO] [stdout]    = 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>
[INFO] [stdout]    = note: the macro `$crate::impl_dyn_cast` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]    = note: this warning originates in the macro `$crate::impl_dyn_cast` which comes from the expansion of the attribute macro `dyn_upcast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> external_tests/src/lib.rs:88:5
[INFO] [stdout]    |
[INFO] [stdout] 88 |     #[dyn_cast(Super => Sub)]
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current closure `<unnameable>` and up 4 bodies
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = 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
[INFO] [stdout]    = 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>
[INFO] [stdout]    = note: the macro `$crate::impl_dyn_cast` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]    = note: this warning originates in the macro `$crate::impl_dyn_cast` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> external_tests/src/lib.rs:94:5
[INFO] [stdout]    |
[INFO] [stdout] 94 |     #[dyn_upcast(Super)]
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current closure `<unnameable>` and up 4 bodies
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = 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
[INFO] [stdout]    = 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>
[INFO] [stdout]    = note: the macro `$crate::impl_dyn_cast` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]    = note: this warning originates in the macro `$crate::impl_dyn_cast` which comes from the expansion of the attribute macro `dyn_upcast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> external_tests/src/lib.rs:93:5
[INFO] [stdout]    |
[INFO] [stdout] 93 |     #[dyn_cast(Super => Sub)]
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current closure `<unnameable>` and up 4 bodies
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = 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
[INFO] [stdout]    = 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>
[INFO] [stdout]    = note: the macro `$crate::impl_dyn_cast` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]    = note: this warning originates in the macro `$crate::impl_dyn_cast` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]    --> external_tests/src/lib.rs:110:9
[INFO] [stdout]     |
[INFO] [stdout] 110 |         #[dyn_upcast]
[INFO] [stdout]     |         ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stdout]     = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = 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
[INFO] [stdout]     = 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>
[INFO] [stdout]     = note: the macro `$crate::impl_dyn_cast_config` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]     = note: this warning originates in the macro `$crate::impl_dyn_cast_config` which comes from the expansion of the attribute macro `dyn_upcast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]    --> external_tests/src/lib.rs:110:9
[INFO] [stdout]     |
[INFO] [stdout] 110 |         #[dyn_upcast]
[INFO] [stdout]     |         ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stdout]     = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = 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
[INFO] [stdout]     = 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>
[INFO] [stdout]     = note: the macro `$crate::impl_dyn_cast_config` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]     = note: this warning originates in the macro `$crate::impl_dyn_cast_config` which comes from the expansion of the attribute macro `dyn_upcast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]    --> external_tests/src/lib.rs:110:9
[INFO] [stdout]     |
[INFO] [stdout] 110 |         #[dyn_upcast]
[INFO] [stdout]     |         ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stdout]     = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = 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
[INFO] [stdout]     = 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>
[INFO] [stdout]     = note: the macro `$crate::impl_dyn_cast_config` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]     = note: this warning originates in the macro `$crate::impl_dyn_cast_config` which comes from the expansion of the attribute macro `dyn_upcast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]    --> external_tests/src/lib.rs:111:9
[INFO] [stdout]     |
[INFO] [stdout] 111 |         #[dyn_cast(Sub<T>)]
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stdout]     = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = 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
[INFO] [stdout]     = 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>
[INFO] [stdout]     = note: the macro `$crate::impl_dyn_cast_config` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]     = note: this warning originates in the macro `$crate::impl_dyn_cast_config` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]    --> external_tests/src/lib.rs:111:9
[INFO] [stdout]     |
[INFO] [stdout] 111 |         #[dyn_cast(Sub<T>)]
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stdout]     = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = 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
[INFO] [stdout]     = 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>
[INFO] [stdout]     = note: the macro `$crate::impl_dyn_cast_config` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]     = note: this warning originates in the macro `$crate::impl_dyn_cast_config` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]    --> external_tests/src/lib.rs:111:9
[INFO] [stdout]     |
[INFO] [stdout] 111 |         #[dyn_cast(Sub<T>)]
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stdout]     = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = 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
[INFO] [stdout]     = 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>
[INFO] [stdout]     = note: the macro `$crate::impl_dyn_cast_config` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]     = note: this warning originates in the macro `$crate::impl_dyn_cast_config` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]    --> external_tests/src/lib.rs:125:9
[INFO] [stdout]     |
[INFO] [stdout] 125 |         #[dyn_cast(Sub<T>)]
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stdout]     = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = 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
[INFO] [stdout]     = 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>
[INFO] [stdout]     = note: the macro `::cast_trait_object::impl_dyn_cast` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]     = note: this warning originates in the macro `::cast_trait_object::impl_dyn_cast` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]    --> external_tests/src/lib.rs:124:9
[INFO] [stdout]     |
[INFO] [stdout] 124 |         #[dyn_upcast]
[INFO] [stdout]     |         ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stdout]     = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = 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
[INFO] [stdout]     = 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>
[INFO] [stdout]     = note: the macro `::cast_trait_object::impl_dyn_cast` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]     = note: this warning originates in the macro `::cast_trait_object::impl_dyn_cast` which comes from the expansion of the attribute macro `dyn_upcast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]    --> external_tests/src/lib.rs:130:9
[INFO] [stdout]     |
[INFO] [stdout] 130 |         #[dyn_cast(Sub<T>)]
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stdout]     = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = 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
[INFO] [stdout]     = 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>
[INFO] [stdout]     = note: the macro `::cast_trait_object::impl_dyn_cast` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]     = note: this warning originates in the macro `::cast_trait_object::impl_dyn_cast` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]    --> external_tests/src/lib.rs:129:9
[INFO] [stdout]     |
[INFO] [stdout] 129 |         #[dyn_upcast]
[INFO] [stdout]     |         ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stdout]     = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = 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
[INFO] [stdout]     = 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>
[INFO] [stdout]     = note: the macro `::cast_trait_object::impl_dyn_cast` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]     = note: this warning originates in the macro `::cast_trait_object::impl_dyn_cast` which comes from the expansion of the attribute macro `dyn_upcast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]    --> external_tests/src/lib.rs:139:9
[INFO] [stdout]     |
[INFO] [stdout] 139 |         #[dyn_cast(Sub<Item = Test>)]
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stdout]     = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = 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
[INFO] [stdout]     = 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>
[INFO] [stdout]     = note: the macro `$crate::impl_dyn_cast_config` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]     = note: this warning originates in the macro `$crate::impl_dyn_cast_config` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]     --> cast_trait_object/src/lib.rs:1641:13
[INFO] [stdout]      |
[INFO] [stdout] 1641 | /             impl< $($lifetime,)* $($generics,)* >
[INFO] [stdout] 1642 | |             $crate::DynCastConfig
[INFO] [stdout] 1643 | |             for
[INFO] [stdout] 1644 | |             $config_type
[INFO] [stdout] ...    |
[INFO] [stdout] 1648 | |                 type Source = dyn $source_trait;
[INFO] [stdout] 1649 | |             }
[INFO] [stdout]      | |_____________^
[INFO] [stdout] ...
[INFO] [stdout] 1680 | /     create_dyn_cast_config!(
[INFO] [stdout] 1681 | |         /// Can have attributes on the generated config struct.
[INFO] [stdout] 1682 | |         #[derive(Clone)]
[INFO] [stdout] 1683 | |         UpcastConfig = Super => Super
[INFO] [stdout] 1684 | |     );
[INFO] [stdout]      | |_____- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = help: move this `impl` block outside the of the current closure `<unnameable>` and up 4 bodies
[INFO] [stdout]      = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]      = 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
[INFO] [stdout]      = 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>
[INFO] [stdout]      = note: `#[warn(non_local_definitions)]` on by default
[INFO] [stdout]      = note: this warning originates in the macro `$crate::impl_dyn_cast_config` which comes from the expansion of the macro `create_dyn_cast_config` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]    --> external_tests/src/lib.rs:139:9
[INFO] [stdout]     |
[INFO] [stdout] 139 |         #[dyn_cast(Sub<Item = Test>)]
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stdout]     = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = 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
[INFO] [stdout]     = 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>
[INFO] [stdout]     = note: the macro `$crate::impl_dyn_cast_config` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]     = note: this warning originates in the macro `$crate::impl_dyn_cast_config` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]     --> cast_trait_object/src/lib.rs:1651:13
[INFO] [stdout]      |
[INFO] [stdout] 1651 | /             impl< $($lifetime,)* $($generics,)*  __T>
[INFO] [stdout] 1652 | |             $crate::DynCastConfigTargetTest<__T>
[INFO] [stdout] 1653 | |             for
[INFO] [stdout] 1654 | |             $config_type
[INFO] [stdout] ...    |
[INFO] [stdout] 1657 | |                 $($($where)*)?
[INFO] [stdout] 1658 | |             {}
[INFO] [stdout]      | |______________^
[INFO] [stdout] ...
[INFO] [stdout] 1680 | /     create_dyn_cast_config!(
[INFO] [stdout] 1681 | |         /// Can have attributes on the generated config struct.
[INFO] [stdout] 1682 | |         #[derive(Clone)]
[INFO] [stdout] 1683 | |         UpcastConfig = Super => Super
[INFO] [stdout] 1684 | |     );
[INFO] [stdout]      | |_____- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = help: move this `impl` block outside the of the current closure `<unnameable>` and up 4 bodies
[INFO] [stdout]      = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]      = 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
[INFO] [stdout]      = 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>
[INFO] [stdout]      = note: this warning originates in the macro `$crate::impl_dyn_cast_config` which comes from the expansion of the macro `create_dyn_cast_config` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]    --> external_tests/src/lib.rs:139:9
[INFO] [stdout]     |
[INFO] [stdout] 139 |         #[dyn_cast(Sub<Item = Test>)]
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stdout]     = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = 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
[INFO] [stdout]     = 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>
[INFO] [stdout]     = note: the macro `$crate::impl_dyn_cast_config` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]     = note: this warning originates in the macro `$crate::impl_dyn_cast_config` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]     --> cast_trait_object/src/lib.rs:1660:13
[INFO] [stdout]      |
[INFO] [stdout] 1660 | /             impl< $($lifetime,)* $($generics,)* >
[INFO] [stdout] 1661 | |             $crate::GetDynCastConfig<dyn $target_trait>
[INFO] [stdout] 1662 | |             for
[INFO] [stdout] 1663 | |             dyn $source_trait
[INFO] [stdout] ...    |
[INFO] [stdout] 1666 | |                 type Config = $config_type;
[INFO] [stdout] 1667 | |             }
[INFO] [stdout]      | |_____________^
[INFO] [stdout] ...
[INFO] [stdout] 1680 | /     create_dyn_cast_config!(
[INFO] [stdout] 1681 | |         /// Can have attributes on the generated config struct.
[INFO] [stdout] 1682 | |         #[derive(Clone)]
[INFO] [stdout] 1683 | |         UpcastConfig = Super => Super
[INFO] [stdout] 1684 | |     );
[INFO] [stdout]      | |_____- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = help: move this `impl` block outside the of the current closure `<unnameable>` and up 4 bodies
[INFO] [stdout]      = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]      = 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
[INFO] [stdout]      = 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>
[INFO] [stdout]      = note: this warning originates in the macro `$crate::impl_dyn_cast_config` which comes from the expansion of the macro `create_dyn_cast_config` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]     --> cast_trait_object/src/lib.rs:1641:13
[INFO] [stdout]      |
[INFO] [stdout] 1641 | /             impl< $($lifetime,)* $($generics,)* >
[INFO] [stdout] 1642 | |             $crate::DynCastConfig
[INFO] [stdout] 1643 | |             for
[INFO] [stdout] 1644 | |             $config_type
[INFO] [stdout] ...    |
[INFO] [stdout] 1648 | |                 type Source = dyn $source_trait;
[INFO] [stdout] 1649 | |             }
[INFO] [stdout]      | |_____________^
[INFO] [stdout] ...
[INFO] [stdout] 1685 | /     create_dyn_cast_config!(
[INFO] [stdout] 1686 | |         /// Can have attributes on the generated config struct.
[INFO] [stdout] 1687 | |         #[derive(Clone)]
[INFO] [stdout] 1688 | |         SuperConfig = Super => Sub
[INFO] [stdout] 1689 | |     );
[INFO] [stdout]      | |_____- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = help: move this `impl` block outside the of the current closure `<unnameable>` and up 4 bodies
[INFO] [stdout]      = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]      = 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
[INFO] [stdout]      = 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>
[INFO] [stdout]      = note: this warning originates in the macro `$crate::impl_dyn_cast_config` which comes from the expansion of the macro `create_dyn_cast_config` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]    --> external_tests/src/lib.rs:140:9
[INFO] [stdout]     |
[INFO] [stdout] 140 |         #[dyn_cast(Sub<Item = ()>)]
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stdout]     = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = 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
[INFO] [stdout]     = 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>
[INFO] [stdout]     = note: the macro `$crate::impl_dyn_cast_config` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]     = note: this warning originates in the macro `$crate::impl_dyn_cast_config` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]     --> cast_trait_object/src/lib.rs:1651:13
[INFO] [stdout]      |
[INFO] [stdout] 1651 | /             impl< $($lifetime,)* $($generics,)*  __T>
[INFO] [stdout] 1652 | |             $crate::DynCastConfigTargetTest<__T>
[INFO] [stdout] 1653 | |             for
[INFO] [stdout] 1654 | |             $config_type
[INFO] [stdout] ...    |
[INFO] [stdout] 1657 | |                 $($($where)*)?
[INFO] [stdout] 1658 | |             {}
[INFO] [stdout]      | |______________^
[INFO] [stdout] ...
[INFO] [stdout] 1685 | /     create_dyn_cast_config!(
[INFO] [stdout] 1686 | |         /// Can have attributes on the generated config struct.
[INFO] [stdout] 1687 | |         #[derive(Clone)]
[INFO] [stdout] 1688 | |         SuperConfig = Super => Sub
[INFO] [stdout] 1689 | |     );
[INFO] [stdout]      | |_____- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = help: move this `impl` block outside the of the current closure `<unnameable>` and up 4 bodies
[INFO] [stdout]      = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]      = 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
[INFO] [stdout]      = 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>
[INFO] [stdout]      = note: this warning originates in the macro `$crate::impl_dyn_cast_config` which comes from the expansion of the macro `create_dyn_cast_config` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]     --> cast_trait_object/src/lib.rs:1660:13
[INFO] [stdout]      |
[INFO] [stdout] 1660 | /             impl< $($lifetime,)* $($generics,)* >
[INFO] [stdout] 1661 | |             $crate::GetDynCastConfig<dyn $target_trait>
[INFO] [stdout] 1662 | |             for
[INFO] [stdout] 1663 | |             dyn $source_trait
[INFO] [stdout] ...    |
[INFO] [stdout] 1666 | |                 type Config = $config_type;
[INFO] [stdout] 1667 | |             }
[INFO] [stdout]      | |_____________^
[INFO] [stdout] ...
[INFO] [stdout] 1685 | /     create_dyn_cast_config!(
[INFO] [stdout] 1686 | |         /// Can have attributes on the generated config struct.
[INFO] [stdout] 1687 | |         #[derive(Clone)]
[INFO] [stdout] 1688 | |         SuperConfig = Super => Sub
[INFO] [stdout] 1689 | |     );
[INFO] [stdout]      | |_____- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = help: move this `impl` block outside the of the current closure `<unnameable>` and up 4 bodies
[INFO] [stdout]      = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]      = 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
[INFO] [stdout]      = 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>
[INFO] [stdout]      = note: this warning originates in the macro `$crate::impl_dyn_cast_config` which comes from the expansion of the macro `create_dyn_cast_config` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]    --> external_tests/src/lib.rs:140:9
[INFO] [stdout]     |
[INFO] [stdout] 140 |         #[dyn_cast(Sub<Item = ()>)]
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stdout]     = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = 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
[INFO] [stdout]     = 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>
[INFO] [stdout]     = note: the macro `$crate::impl_dyn_cast_config` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]     = note: this warning originates in the macro `$crate::impl_dyn_cast_config` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]     --> cast_trait_object/src/lib.rs:1458:13
[INFO] [stdout]      |
[INFO] [stdout] 1458 | /             impl< $($lifetime,)* $($generics,)* >
[INFO] [stdout] 1459 | |             $crate::DynCast<  $config_type  >
[INFO] [stdout] 1460 | |             for
[INFO] [stdout] 1461 | |             $self_type
[INFO] [stdout] ...    |
[INFO] [stdout] 1555 | |                 }
[INFO] [stdout] 1556 | |             }
[INFO] [stdout]      | |_____________^
[INFO] [stdout] ...
[INFO] [stdout] 1695 |       impl_dyn_cast!(TestSuper => SuperConfig, UpcastConfig);
[INFO] [stdout]      |       ------------------------------------------------------ in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = help: move this `impl` block outside the of the current closure `<unnameable>` and up 4 bodies
[INFO] [stdout]      = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]      = 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
[INFO] [stdout]      = 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>
[INFO] [stdout]      = note: this warning originates in the macro `$crate::impl_dyn_cast` which comes from the expansion of the macro `impl_dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]    --> external_tests/src/lib.rs:140:9
[INFO] [stdout]     |
[INFO] [stdout] 140 |         #[dyn_cast(Sub<Item = ()>)]
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stdout]     = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = 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
[INFO] [stdout]     = 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>
[INFO] [stdout]     = note: the macro `$crate::impl_dyn_cast_config` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]     = note: this warning originates in the macro `$crate::impl_dyn_cast_config` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]    --> external_tests/src/lib.rs:143:9
[INFO] [stdout]     |
[INFO] [stdout] 143 |         #[dyn_cast(Sub<Item = ()>)]
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: move this `impl` block outside the of the current closure `<unnameable>` and up 4 bodies
[INFO] [stdout]     = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = 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
[INFO] [stdout]     = 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>
[INFO] [stdout]     = note: the macro `$crate::impl_dyn_cast` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]     = note: this warning originates in the macro `$crate::impl_dyn_cast` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]    --> external_tests/src/lib.rs:142:9
[INFO] [stdout]     |
[INFO] [stdout] 142 |         #[dyn_cast(Sub<Item = Test>)]
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: move this `impl` block outside the of the current closure `<unnameable>` and up 4 bodies
[INFO] [stdout]     = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = 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
[INFO] [stdout]     = 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>
[INFO] [stdout]     = note: the macro `$crate::impl_dyn_cast` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]     = note: this warning originates in the macro `$crate::impl_dyn_cast` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]     --> cast_trait_object/src/lib.rs:1458:13
[INFO] [stdout]      |
[INFO] [stdout] 1458 | /             impl< $($lifetime,)* $($generics,)* >
[INFO] [stdout] 1459 | |             $crate::DynCast<  $config_type  >
[INFO] [stdout] 1460 | |             for
[INFO] [stdout] 1461 | |             $self_type
[INFO] [stdout] ...    |
[INFO] [stdout] 1555 | |                 }
[INFO] [stdout] 1556 | |             }
[INFO] [stdout]      | |_____________^
[INFO] [stdout] ...
[INFO] [stdout] 1695 |       impl_dyn_cast!(TestSuper => SuperConfig, UpcastConfig);
[INFO] [stdout]      |       ------------------------------------------------------ in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = help: move this `impl` block outside the of the current closure `<unnameable>` and up 4 bodies
[INFO] [stdout]      = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]      = 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
[INFO] [stdout]      = 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>
[INFO] [stdout]      = note: this warning originates in the macro `$crate::impl_dyn_cast` which comes from the expansion of the macro `impl_dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]     --> cast_trait_object/src/lib.rs:1458:13
[INFO] [stdout]      |
[INFO] [stdout] 1458 | /             impl< $($lifetime,)* $($generics,)* >
[INFO] [stdout] 1459 | |             $crate::DynCast<  $config_type  >
[INFO] [stdout] 1460 | |             for
[INFO] [stdout] 1461 | |             $self_type
[INFO] [stdout] ...    |
[INFO] [stdout] 1555 | |                 }
[INFO] [stdout] 1556 | |             }
[INFO] [stdout]      | |_____________^
[INFO] [stdout] ...
[INFO] [stdout] 1700 |       impl_dyn_cast! {TestSub as Super => Sub, Super}
[INFO] [stdout]      |       ----------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = help: move this `impl` block outside the of the current closure `<unnameable>` and up 4 bodies
[INFO] [stdout]      = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]      = 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
[INFO] [stdout]      = 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>
[INFO] [stdout]      = note: this warning originates in the macro `$crate::impl_dyn_cast` which comes from the expansion of the macro `impl_dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]     --> cast_trait_object/src/lib.rs:1458:13
[INFO] [stdout]      |
[INFO] [stdout] 1458 | /             impl< $($lifetime,)* $($generics,)* >
[INFO] [stdout] 1459 | |             $crate::DynCast<  $config_type  >
[INFO] [stdout] 1460 | |             for
[INFO] [stdout] 1461 | |             $self_type
[INFO] [stdout] ...    |
[INFO] [stdout] 1555 | |                 }
[INFO] [stdout] 1556 | |             }
[INFO] [stdout]      | |_____________^
[INFO] [stdout] ...
[INFO] [stdout] 1700 |       impl_dyn_cast! {TestSub as Super => Sub, Super}
[INFO] [stdout]      |       ----------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = help: move this `impl` block outside the of the current closure `<unnameable>` and up 4 bodies
[INFO] [stdout]      = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]      = 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
[INFO] [stdout]      = 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>
[INFO] [stdout]      = note: this warning originates in the macro `$crate::impl_dyn_cast` which comes from the expansion of the macro `impl_dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]     --> cast_trait_object/src/lib.rs:1458:13
[INFO] [stdout]      |
[INFO] [stdout] 1458 | /             impl< $($lifetime,)* $($generics,)* >
[INFO] [stdout] 1459 | |             $crate::DynCast<  $config_type  >
[INFO] [stdout] 1460 | |             for
[INFO] [stdout] 1461 | |             $self_type
[INFO] [stdout] ...    |
[INFO] [stdout] 1555 | |                 }
[INFO] [stdout] 1556 | |             }
[INFO] [stdout]      | |_____________^
[INFO] [stdout] ...
[INFO] [stdout] 1706 |       impl_dyn_cast! {TestSubMixed as Super => Sub}
[INFO] [stdout]      |       --------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = help: move this `impl` block outside the of the current closure `<unnameable>` and up 4 bodies
[INFO] [stdout]      = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]      = 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
[INFO] [stdout]      = 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>
[INFO] [stdout]      = note: this warning originates in the macro `$crate::impl_dyn_cast` which comes from the expansion of the macro `impl_dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]     --> cast_trait_object/src/lib.rs:1458:13
[INFO] [stdout]      |
[INFO] [stdout] 1458 | /             impl< $($lifetime,)* $($generics,)* >
[INFO] [stdout] 1459 | |             $crate::DynCast<  $config_type  >
[INFO] [stdout] 1460 | |             for
[INFO] [stdout] 1461 | |             $self_type
[INFO] [stdout] ...    |
[INFO] [stdout] 1555 | |                 }
[INFO] [stdout] 1556 | |             }
[INFO] [stdout]      | |_____________^
[INFO] [stdout] ...
[INFO] [stdout] 1707 |       impl_dyn_cast! {TestSubMixed => UpcastConfig}
[INFO] [stdout]      |       --------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = help: move this `impl` block outside the of the current closure `<unnameable>` and up 4 bodies
[INFO] [stdout]      = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]      = 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
[INFO] [stdout]      = 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>
[INFO] [stdout]      = note: this warning originates in the macro `$crate::impl_dyn_cast` which comes from the expansion of the macro `impl_dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]     --> cast_trait_object/src/lib.rs:1335:13
[INFO] [stdout]      |
[INFO] [stdout] 1335 | /             impl< $($lifetime,)* $($generics,)* >
[INFO] [stdout] 1336 | |             $crate::DerivedDynCast<
[INFO] [stdout] 1337 | |                 $crate::ConcreteDynCastConfig<
[INFO] [stdout] 1338 | |                     dyn $source_trait,
[INFO] [stdout] ...    |
[INFO] [stdout] 1438 | |                 }
[INFO] [stdout] 1439 | |             }
[INFO] [stdout]      | |_____________^
[INFO] [stdout] ...
[INFO] [stdout] 1725 |       impl_dyn_cast!(for<T> TestGeneric<T> as Super where {T: 'static} => Sub);
[INFO] [stdout]      |       ------------------------------------------------------------------------ in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stdout]      = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]      = 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
[INFO] [stdout]      = 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>
[INFO] [stdout]      = note: this warning originates in the macro `impl_dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]     --> cast_trait_object/src/lib.rs:1335:13
[INFO] [stdout]      |
[INFO] [stdout] 1335 | /             impl< $($lifetime,)* $($generics,)* >
[INFO] [stdout] 1336 | |             $crate::DerivedDynCast<
[INFO] [stdout] 1337 | |                 $crate::ConcreteDynCastConfig<
[INFO] [stdout] 1338 | |                     dyn $source_trait,
[INFO] [stdout] ...    |
[INFO] [stdout] 1438 | |                 }
[INFO] [stdout] 1439 | |             }
[INFO] [stdout]      | |_____________^
[INFO] [stdout] ...
[INFO] [stdout] 1726 |       impl_dyn_cast!(for<T> TestGeneric<T> as Super where {T: 'static} => Super);
[INFO] [stdout]      |       -------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stdout]      = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]      = 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
[INFO] [stdout]      = 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>
[INFO] [stdout]      = note: this warning originates in the macro `impl_dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]     --> cast_trait_object/src/lib.rs:1335:13
[INFO] [stdout]      |
[INFO] [stdout] 1335 | /             impl< $($lifetime,)* $($generics,)* >
[INFO] [stdout] 1336 | |             $crate::DerivedDynCast<
[INFO] [stdout] 1337 | |                 $crate::ConcreteDynCastConfig<
[INFO] [stdout] 1338 | |                     dyn $source_trait,
[INFO] [stdout] ...    |
[INFO] [stdout] 1438 | |                 }
[INFO] [stdout] 1439 | |             }
[INFO] [stdout]      | |_____________^
[INFO] [stdout] ...
[INFO] [stdout] 1732 |       impl_dyn_cast!(for<T> TestGenericMixed<T> as Super where {T: 'static} => Sub);
[INFO] [stdout]      |       ----------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stdout]      = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]      = 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
[INFO] [stdout]      = 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>
[INFO] [stdout]      = note: this warning originates in the macro `impl_dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]     --> cast_trait_object/src/lib.rs:1458:13
[INFO] [stdout]      |
[INFO] [stdout] 1458 | /             impl< $($lifetime,)* $($generics,)* >
[INFO] [stdout] 1459 | |             $crate::DynCast<  $config_type  >
[INFO] [stdout] 1460 | |             for
[INFO] [stdout] 1461 | |             $self_type
[INFO] [stdout] ...    |
[INFO] [stdout] 1555 | |                 }
[INFO] [stdout] 1556 | |             }
[INFO] [stdout]      | |_____________^
[INFO] [stdout] ...
[INFO] [stdout] 1733 |       impl_dyn_cast!(for<T> TestGenericMixed<T> where {T: 'static} => UpcastConfig);
[INFO] [stdout]      |       ----------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stdout]      = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]      = 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
[INFO] [stdout]      = 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>
[INFO] [stdout]      = note: this warning originates in the macro `impl_dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]     --> cast_trait_object/src/lib.rs:1335:13
[INFO] [stdout]      |
[INFO] [stdout] 1335 | /             impl< $($lifetime,)* $($generics,)* >
[INFO] [stdout] 1336 | |             $crate::DerivedDynCast<
[INFO] [stdout] 1337 | |                 $crate::ConcreteDynCastConfig<
[INFO] [stdout] 1338 | |                     dyn $source_trait,
[INFO] [stdout] ...    |
[INFO] [stdout] 1438 | |                 }
[INFO] [stdout] 1439 | |             }
[INFO] [stdout]      | |_____________^
[INFO] [stdout] ...
[INFO] [stdout] 1740 |       impl_dyn_cast!(for<T> OnlyDisplayGeneric<T> as Super where {T: 'static} => Sub);
[INFO] [stdout]      |       ------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stdout]      = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]      = 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
[INFO] [stdout]      = 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>
[INFO] [stdout]      = note: this warning originates in the macro `impl_dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]     --> cast_trait_object/src/lib.rs:1335:13
[INFO] [stdout]      |
[INFO] [stdout] 1335 | /             impl< $($lifetime,)* $($generics,)* >
[INFO] [stdout] 1336 | |             $crate::DerivedDynCast<
[INFO] [stdout] 1337 | |                 $crate::ConcreteDynCastConfig<
[INFO] [stdout] 1338 | |                     dyn $source_trait,
[INFO] [stdout] ...    |
[INFO] [stdout] 1438 | |                 }
[INFO] [stdout] 1439 | |             }
[INFO] [stdout]      | |_____________^
[INFO] [stdout] ...
[INFO] [stdout] 1741 |       impl_dyn_cast!(for<T> OnlyDisplayGeneric<T> as Super where {T: 'static} => Super);
[INFO] [stdout]      |       --------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stdout]      = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]      = 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
[INFO] [stdout]      = 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>
[INFO] [stdout]      = note: this warning originates in the macro `impl_dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]     --> cast_trait_object/src/lib.rs:1641:13
[INFO] [stdout]      |
[INFO] [stdout] 1641 | /             impl< $($lifetime,)* $($generics,)* >
[INFO] [stdout] 1642 | |             $crate::DynCastConfig
[INFO] [stdout] 1643 | |             for
[INFO] [stdout] 1644 | |             $config_type
[INFO] [stdout] ...    |
[INFO] [stdout] 1648 | |                 type Source = dyn $source_trait;
[INFO] [stdout] 1649 | |             }
[INFO] [stdout]      | |_____________^
[INFO] [stdout] ...
[INFO] [stdout] 1769 | /         create_dyn_cast_config!(
[INFO] [stdout] 1770 | |             /// Can have attributes on the generated config struct.
[INFO] [stdout] 1771 | |             #[derive(Clone)]
[INFO] [stdout] 1772 | |             SuperConfig<T, U> = Super<T> => Sub<U>
[INFO] [stdout] 1773 | |         );
[INFO] [stdout]      | |_________- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stdout]      = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]      = 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
[INFO] [stdout]      = 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>
[INFO] [stdout]      = note: this warning originates in the macro `$crate::impl_dyn_cast_config` which comes from the expansion of the macro `create_dyn_cast_config` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]     --> cast_trait_object/src/lib.rs:1651:13
[INFO] [stdout]      |
[INFO] [stdout] 1651 | /             impl< $($lifetime,)* $($generics,)*  __T>
[INFO] [stdout] 1652 | |             $crate::DynCastConfigTargetTest<__T>
[INFO] [stdout] 1653 | |             for
[INFO] [stdout] 1654 | |             $config_type
[INFO] [stdout] ...    |
[INFO] [stdout] 1657 | |                 $($($where)*)?
[INFO] [stdout] 1658 | |             {}
[INFO] [stdout]      | |______________^
[INFO] [stdout] ...
[INFO] [stdout] 1769 | /         create_dyn_cast_config!(
[INFO] [stdout] 1770 | |             /// Can have attributes on the generated config struct.
[INFO] [stdout] 1771 | |             #[derive(Clone)]
[INFO] [stdout] 1772 | |             SuperConfig<T, U> = Super<T> => Sub<U>
[INFO] [stdout] 1773 | |         );
[INFO] [stdout]      | |_________- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stdout]      = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]      = 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
[INFO] [stdout]      = 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>
[INFO] [stdout]      = note: this warning originates in the macro `$crate::impl_dyn_cast_config` which comes from the expansion of the macro `create_dyn_cast_config` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]     --> cast_trait_object/src/lib.rs:1660:13
[INFO] [stdout]      |
[INFO] [stdout] 1660 | /             impl< $($lifetime,)* $($generics,)* >
[INFO] [stdout] 1661 | |             $crate::GetDynCastConfig<dyn $target_trait>
[INFO] [stdout] 1662 | |             for
[INFO] [stdout] 1663 | |             dyn $source_trait
[INFO] [stdout] ...    |
[INFO] [stdout] 1666 | |                 type Config = $config_type;
[INFO] [stdout] 1667 | |             }
[INFO] [stdout]      | |_____________^
[INFO] [stdout] ...
[INFO] [stdout] 1769 | /         create_dyn_cast_config!(
[INFO] [stdout] 1770 | |             /// Can have attributes on the generated config struct.
[INFO] [stdout] 1771 | |             #[derive(Clone)]
[INFO] [stdout] 1772 | |             SuperConfig<T, U> = Super<T> => Sub<U>
[INFO] [stdout] 1773 | |         );
[INFO] [stdout]      | |_________- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stdout]      = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]      = 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
[INFO] [stdout]      = 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>
[INFO] [stdout]      = note: this warning originates in the macro `$crate::impl_dyn_cast_config` which comes from the expansion of the macro `create_dyn_cast_config` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]     --> cast_trait_object/src/lib.rs:1458:13
[INFO] [stdout]      |
[INFO] [stdout] 1458 | /             impl< $($lifetime,)* $($generics,)* >
[INFO] [stdout] 1459 | |             $crate::DynCast<  $config_type  >
[INFO] [stdout] 1460 | |             for
[INFO] [stdout] 1461 | |             $self_type
[INFO] [stdout] ...    |
[INFO] [stdout] 1555 | |                 }
[INFO] [stdout] 1556 | |             }
[INFO] [stdout]      | |_____________^
[INFO] [stdout] ...
[INFO] [stdout] 1776 |           impl_dyn_cast!(for<T> () => SuperConfig<T, T>);
[INFO] [stdout]      |           ---------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stdout]      = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]      = 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
[INFO] [stdout]      = 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>
[INFO] [stdout]      = note: this warning originates in the macro `impl_dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]     --> cast_trait_object/src/lib.rs:1458:13
[INFO] [stdout]      |
[INFO] [stdout] 1458 | /             impl< $($lifetime,)* $($generics,)* >
[INFO] [stdout] 1459 | |             $crate::DynCast<  $config_type  >
[INFO] [stdout] 1460 | |             for
[INFO] [stdout] 1461 | |             $self_type
[INFO] [stdout] ...    |
[INFO] [stdout] 1555 | |                 }
[INFO] [stdout] 1556 | |             }
[INFO] [stdout]      | |_____________^
[INFO] [stdout] ...
[INFO] [stdout] 1780 |           impl_dyn_cast!(for<T> TestSuper => SuperConfig<T, T>);
[INFO] [stdout]      |           ----------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stdout]      = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]      = 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
[INFO] [stdout]      = 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>
[INFO] [stdout]      = note: this warning originates in the macro `impl_dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]     --> cast_trait_object/src/lib.rs:1335:13
[INFO] [stdout]      |
[INFO] [stdout] 1335 | /             impl< $($lifetime,)* $($generics,)* >
[INFO] [stdout] 1336 | |             $crate::DerivedDynCast<
[INFO] [stdout] 1337 | |                 $crate::ConcreteDynCastConfig<
[INFO] [stdout] 1338 | |                     dyn $source_trait,
[INFO] [stdout] ...    |
[INFO] [stdout] 1438 | |                 }
[INFO] [stdout] 1439 | |             }
[INFO] [stdout]      | |_____________^
[INFO] [stdout] ...
[INFO] [stdout] 1785 |           impl_dyn_cast! {for<T> TestSub as Super<T> where {T: core::fmt::Display} => Sub<T>}
[INFO] [stdout]      |           ----------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stdout]      = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]      = 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
[INFO] [stdout]      = 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>
[INFO] [stdout]      = note: this warning originates in the macro `impl_dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]     --> cast_trait_object/src/lib.rs:1641:13
[INFO] [stdout]      |
[INFO] [stdout] 1641 | /             impl< $($lifetime,)* $($generics,)* >
[INFO] [stdout] 1642 | |             $crate::DynCastConfig
[INFO] [stdout] 1643 | |             for
[INFO] [stdout] 1644 | |             $config_type
[INFO] [stdout] ...    |
[INFO] [stdout] 1648 | |                 type Source = dyn $source_trait;
[INFO] [stdout] 1649 | |             }
[INFO] [stdout]      | |_____________^
[INFO] [stdout] ...
[INFO] [stdout] 1815 |           #[dyn_cast(Sub)]
[INFO] [stdout]      |           ---------------- in this procedural macro expansion
[INFO] [stdout]      |
[INFO] [stdout]      = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stdout]      = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]      = 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
[INFO] [stdout]      = 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>
[INFO] [stdout]      = note: this warning originates in the macro `$crate::impl_dyn_cast_config` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]     --> cast_trait_object/src/lib.rs:1651:13
[INFO] [stdout]      |
[INFO] [stdout] 1651 | /             impl< $($lifetime,)* $($generics,)*  __T>
[INFO] [stdout] 1652 | |             $crate::DynCastConfigTargetTest<__T>
[INFO] [stdout] 1653 | |             for
[INFO] [stdout] 1654 | |             $config_type
[INFO] [stdout] ...    |
[INFO] [stdout] 1657 | |                 $($($where)*)?
[INFO] [stdout] 1658 | |             {}
[INFO] [stdout]      | |______________^
[INFO] [stdout] ...
[INFO] [stdout] 1815 |           #[dyn_cast(Sub)]
[INFO] [stdout]      |           ---------------- in this procedural macro expansion
[INFO] [stdout]      |
[INFO] [stdout]      = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stdout]      = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]      = 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
[INFO] [stdout]      = 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>
[INFO] [stdout]      = note: this warning originates in the macro `$crate::impl_dyn_cast_config` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]     --> cast_trait_object/src/lib.rs:1660:13
[INFO] [stdout]      |
[INFO] [stdout] 1660 | /             impl< $($lifetime,)* $($generics,)* >
[INFO] [stdout] 1661 | |             $crate::GetDynCastConfig<dyn $target_trait>
[INFO] [stdout] 1662 | |             for
[INFO] [stdout] 1663 | |             dyn $source_trait
[INFO] [stdout] ...    |
[INFO] [stdout] 1666 | |                 type Config = $config_type;
[INFO] [stdout] 1667 | |             }
[INFO] [stdout]      | |_____________^
[INFO] [stdout] ...
[INFO] [stdout] 1815 |           #[dyn_cast(Sub)]
[INFO] [stdout]      |           ---------------- in this procedural macro expansion
[INFO] [stdout]      |
[INFO] [stdout]      = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stdout]      = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]      = 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
[INFO] [stdout]      = 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>
[INFO] [stdout]      = note: this warning originates in the macro `$crate::impl_dyn_cast_config` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]     --> cast_trait_object/src/lib.rs:1641:13
[INFO] [stdout]      |
[INFO] [stdout] 1641 | /             impl< $($lifetime,)* $($generics,)* >
[INFO] [stdout] 1642 | |             $crate::DynCastConfig
[INFO] [stdout] 1643 | |             for
[INFO] [stdout] 1644 | |             $config_type
[INFO] [stdout] ...    |
[INFO] [stdout] 1648 | |                 type Source = dyn $source_trait;
[INFO] [stdout] 1649 | |             }
[INFO] [stdout]      | |_____________^
[INFO] [stdout] ...
[INFO] [stdout] 1816 |           #[dyn_upcast]
[INFO] [stdout]      |           ------------- in this procedural macro expansion
[INFO] [stdout]      |
[INFO] [stdout]      = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stdout]      = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]      = 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
[INFO] [stdout]      = 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>
[INFO] [stdout]      = note: this warning originates in the macro `$crate::impl_dyn_cast_config` which comes from the expansion of the attribute macro `dyn_upcast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]     --> cast_trait_object/src/lib.rs:1651:13
[INFO] [stdout]      |
[INFO] [stdout] 1651 | /             impl< $($lifetime,)* $($generics,)*  __T>
[INFO] [stdout] 1652 | |             $crate::DynCastConfigTargetTest<__T>
[INFO] [stdout] 1653 | |             for
[INFO] [stdout] 1654 | |             $config_type
[INFO] [stdout] ...    |
[INFO] [stdout] 1657 | |                 $($($where)*)?
[INFO] [stdout] 1658 | |             {}
[INFO] [stdout]      | |______________^
[INFO] [stdout] ...
[INFO] [stdout] 1816 |           #[dyn_upcast]
[INFO] [stdout]      |           ------------- in this procedural macro expansion
[INFO] [stdout]      |
[INFO] [stdout]      = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stdout]      = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]      = 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
[INFO] [stdout]      = 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>
[INFO] [stdout]      = note: this warning originates in the macro `$crate::impl_dyn_cast_config` which comes from the expansion of the attribute macro `dyn_upcast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]     --> cast_trait_object/src/lib.rs:1660:13
[INFO] [stdout]      |
[INFO] [stdout] 1660 | /             impl< $($lifetime,)* $($generics,)* >
[INFO] [stdout] 1661 | |             $crate::GetDynCastConfig<dyn $target_trait>
[INFO] [stdout] 1662 | |             for
[INFO] [stdout] 1663 | |             dyn $source_trait
[INFO] [stdout] ...    |
[INFO] [stdout] 1666 | |                 type Config = $config_type;
[INFO] [stdout] 1667 | |             }
[INFO] [stdout]      | |_____________^
[INFO] [stdout] ...
[INFO] [stdout] 1816 |           #[dyn_upcast]
[INFO] [stdout]      |           ------------- in this procedural macro expansion
[INFO] [stdout]      |
[INFO] [stdout]      = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stdout]      = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]      = 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
[INFO] [stdout]      = 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>
[INFO] [stdout]      = note: this warning originates in the macro `$crate::impl_dyn_cast_config` which comes from the expansion of the attribute macro `dyn_upcast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]     --> cast_trait_object/src/lib.rs:1458:13
[INFO] [stdout]      |
[INFO] [stdout] 1458 | /             impl< $($lifetime,)* $($generics,)* >
[INFO] [stdout] 1459 | |             $crate::DynCast<  $config_type  >
[INFO] [stdout] 1460 | |             for
[INFO] [stdout] 1461 | |             $self_type
[INFO] [stdout] ...    |
[INFO] [stdout] 1555 | |                 }
[INFO] [stdout] 1556 | |             }
[INFO] [stdout]      | |_____________^
[INFO] [stdout] ...
[INFO] [stdout] 1821 |           #[dyn_upcast(Super)]
[INFO] [stdout]      |           -------------------- in this procedural macro expansion
[INFO] [stdout]      |
[INFO] [stdout]      = help: move this `impl` block outside the of the current closure `<unnameable>` and up 4 bodies
[INFO] [stdout]      = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]      = 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
[INFO] [stdout]      = 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>
[INFO] [stdout]      = note: this warning originates in the macro `$crate::impl_dyn_cast` which comes from the expansion of the attribute macro `dyn_upcast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]     --> cast_trait_object/src/lib.rs:1458:13
[INFO] [stdout]      |
[INFO] [stdout] 1458 | /             impl< $($lifetime,)* $($generics,)* >
[INFO] [stdout] 1459 | |             $crate::DynCast<  $config_type  >
[INFO] [stdout] 1460 | |             for
[INFO] [stdout] 1461 | |             $self_type
[INFO] [stdout] ...    |
[INFO] [stdout] 1555 | |                 }
[INFO] [stdout] 1556 | |             }
[INFO] [stdout]      | |_____________^
[INFO] [stdout] ...
[INFO] [stdout] 1820 |           #[dyn_cast(Super => Sub)]
[INFO] [stdout]      |           ------------------------- in this procedural macro expansion
[INFO] [stdout]      |
[INFO] [stdout]      = help: move this `impl` block outside the of the current closure `<unnameable>` and up 4 bodies
[INFO] [stdout]      = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]      = 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
[INFO] [stdout]      = 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>
[INFO] [stdout]      = note: this warning originates in the macro `$crate::impl_dyn_cast` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]     --> cast_trait_object/src/lib.rs:1458:13
[INFO] [stdout]      |
[INFO] [stdout] 1458 | /             impl< $($lifetime,)* $($generics,)* >
[INFO] [stdout] 1459 | |             $crate::DynCast<  $config_type  >
[INFO] [stdout] 1460 | |             for
[INFO] [stdout] 1461 | |             $self_type
[INFO] [stdout] ...    |
[INFO] [stdout] 1555 | |                 }
[INFO] [stdout] 1556 | |             }
[INFO] [stdout]      | |_____________^
[INFO] [stdout] ...
[INFO] [stdout] 1826 |           #[dyn_upcast(Super)]
[INFO] [stdout]      |           -------------------- in this procedural macro expansion
[INFO] [stdout]      |
[INFO] [stdout]      = help: move this `impl` block outside the of the current closure `<unnameable>` and up 4 bodies
[INFO] [stdout]      = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]      = 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
[INFO] [stdout]      = 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>
[INFO] [stdout]      = note: this warning originates in the macro `$crate::impl_dyn_cast` which comes from the expansion of the attribute macro `dyn_upcast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]     --> cast_trait_object/src/lib.rs:1458:13
[INFO] [stdout]      |
[INFO] [stdout] 1458 | /             impl< $($lifetime,)* $($generics,)* >
[INFO] [stdout] 1459 | |             $crate::DynCast<  $config_type  >
[INFO] [stdout] 1460 | |             for
[INFO] [stdout] 1461 | |             $self_type
[INFO] [stdout] ...    |
[INFO] [stdout] 1555 | |                 }
[INFO] [stdout] 1556 | |             }
[INFO] [stdout]      | |_____________^
[INFO] [stdout] ...
[INFO] [stdout] 1825 |           #[dyn_cast(Super => Sub)]
[INFO] [stdout]      |           ------------------------- in this procedural macro expansion
[INFO] [stdout]      |
[INFO] [stdout]      = help: move this `impl` block outside the of the current closure `<unnameable>` and up 4 bodies
[INFO] [stdout]      = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]      = 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
[INFO] [stdout]      = 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>
[INFO] [stdout]      = note: this warning originates in the macro `$crate::impl_dyn_cast` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]     --> cast_trait_object/src/lib.rs:1641:13
[INFO] [stdout]      |
[INFO] [stdout] 1641 | /             impl< $($lifetime,)* $($generics,)* >
[INFO] [stdout] 1642 | |             $crate::DynCastConfig
[INFO] [stdout] 1643 | |             for
[INFO] [stdout] 1644 | |             $config_type
[INFO] [stdout] ...    |
[INFO] [stdout] 1648 | |                 type Source = dyn $source_trait;
[INFO] [stdout] 1649 | |             }
[INFO] [stdout]      | |_____________^
[INFO] [stdout] ...
[INFO] [stdout] 1834 |               #[dyn_upcast]
[INFO] [stdout]      |               ------------- in this procedural macro expansion
[INFO] [stdout]      |
[INFO] [stdout]      = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stdout]      = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]      = 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
[INFO] [stdout]      = 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>
[INFO] [stdout]      = note: this warning originates in the macro `$crate::impl_dyn_cast_config` which comes from the expansion of the attribute macro `dyn_upcast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]     --> cast_trait_object/src/lib.rs:1651:13
[INFO] [stdout]      |
[INFO] [stdout] 1651 | /             impl< $($lifetime,)* $($generics,)*  __T>
[INFO] [stdout] 1652 | |             $crate::DynCastConfigTargetTest<__T>
[INFO] [stdout] 1653 | |             for
[INFO] [stdout] 1654 | |             $config_type
[INFO] [stdout] ...    |
[INFO] [stdout] 1657 | |                 $($($where)*)?
[INFO] [stdout] 1658 | |             {}
[INFO] [stdout]      | |______________^
[INFO] [stdout] ...
[INFO] [stdout] 1834 |               #[dyn_upcast]
[INFO] [stdout]      |               ------------- in this procedural macro expansion
[INFO] [stdout]      |
[INFO] [stdout]      = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stdout]      = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]      = 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
[INFO] [stdout]      = 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>
[INFO] [stdout]      = note: this warning originates in the macro `$crate::impl_dyn_cast_config` which comes from the expansion of the attribute macro `dyn_upcast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]     --> cast_trait_object/src/lib.rs:1660:13
[INFO] [stdout]      |
[INFO] [stdout] 1660 | /             impl< $($lifetime,)* $($generics,)* >
[INFO] [stdout] 1661 | |             $crate::GetDynCastConfig<dyn $target_trait>
[INFO] [stdout] 1662 | |             for
[INFO] [stdout] 1663 | |             dyn $source_trait
[INFO] [stdout] ...    |
[INFO] [stdout] 1666 | |                 type Config = $config_type;
[INFO] [stdout] 1667 | |             }
[INFO] [stdout]      | |_____________^
[INFO] [stdout] ...
[INFO] [stdout] 1834 |               #[dyn_upcast]
[INFO] [stdout]      |               ------------- in this procedural macro expansion
[INFO] [stdout]      |
[INFO] [stdout]      = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stdout]      = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]      = 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
[INFO] [stdout]      = 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>
[INFO] [stdout]      = note: this warning originates in the macro `$crate::impl_dyn_cast_config` which comes from the expansion of the attribute macro `dyn_upcast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]     --> cast_trait_object/src/lib.rs:1641:13
[INFO] [stdout]      |
[INFO] [stdout] 1641 | /             impl< $($lifetime,)* $($generics,)* >
[INFO] [stdout] 1642 | |             $crate::DynCastConfig
[INFO] [stdout] 1643 | |             for
[INFO] [stdout] 1644 | |             $config_type
[INFO] [stdout] ...    |
[INFO] [stdout] 1648 | |                 type Source = dyn $source_trait;
[INFO] [stdout] 1649 | |             }
[INFO] [stdout]      | |_____________^
[INFO] [stdout] ...
[INFO] [stdout] 1835 |               #[dyn_cast(Sub<T>)]
[INFO] [stdout]      |               ------------------- in this procedural macro expansion
[INFO] [stdout]      |
[INFO] [stdout]      = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stdout]      = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]      = 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
[INFO] [stdout]      = 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>
[INFO] [stdout]      = note: this warning originates in the macro `$crate::impl_dyn_cast_config` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]     --> cast_trait_object/src/lib.rs:1651:13
[INFO] [stdout]      |
[INFO] [stdout] 1651 | /             impl< $($lifetime,)* $($generics,)*  __T>
[INFO] [stdout] 1652 | |             $crate::DynCastConfigTargetTest<__T>
[INFO] [stdout] 1653 | |             for
[INFO] [stdout] 1654 | |             $config_type
[INFO] [stdout] ...    |
[INFO] [stdout] 1657 | |                 $($($where)*)?
[INFO] [stdout] 1658 | |             {}
[INFO] [stdout]      | |______________^
[INFO] [stdout] ...
[INFO] [stdout] 1835 |               #[dyn_cast(Sub<T>)]
[INFO] [stdout]      |               ------------------- in this procedural macro expansion
[INFO] [stdout]      |
[INFO] [stdout]      = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stdout]      = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]      = 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
[INFO] [stdout]      = 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>
[INFO] [stdout]      = note: this warning originates in the macro `$crate::impl_dyn_cast_config` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]     --> cast_trait_object/src/lib.rs:1660:13
[INFO] [stdout]      |
[INFO] [stdout] 1660 | /             impl< $($lifetime,)* $($generics,)* >
[INFO] [stdout] 1661 | |             $crate::GetDynCastConfig<dyn $target_trait>
[INFO] [stdout] 1662 | |             for
[INFO] [stdout] 1663 | |             dyn $source_trait
[INFO] [stdout] ...    |
[INFO] [stdout] 1666 | |                 type Config = $config_type;
[INFO] [stdout] 1667 | |             }
[INFO] [stdout]      | |_____________^
[INFO] [stdout] ...
[INFO] [stdout] 1835 |               #[dyn_cast(Sub<T>)]
[INFO] [stdout]      |               ------------------- in this procedural macro expansion
[INFO] [stdout]      |
[INFO] [stdout]      = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stdout]      = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]      = 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
[INFO] [stdout]      = 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>
[INFO] [stdout]      = note: this warning originates in the macro `$crate::impl_dyn_cast_config` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]     --> cast_trait_object/src/lib.rs:1335:13
[INFO] [stdout]      |
[INFO] [stdout] 1335 | /             impl< $($lifetime,)* $($generics,)* >
[INFO] [stdout] 1336 | |             $crate::DerivedDynCast<
[INFO] [stdout] 1337 | |                 $crate::ConcreteDynCastConfig<
[INFO] [stdout] 1338 | |                     dyn $source_trait,
[INFO] [stdout] ...    |
[INFO] [stdout] 1438 | |                 }
[INFO] [stdout] 1439 | |             }
[INFO] [stdout]      | |_____________^
[INFO] [stdout] ...
[INFO] [stdout] 1840 |               #[dyn_upcast]
[INFO] [stdout]      |               ------------- in this procedural macro expansion
[INFO] [stdout]      |
[INFO] [stdout]      = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stdout]      = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]      = 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
[INFO] [stdout]      = 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>
[INFO] [stdout]      = note: this warning originates in the macro `crate::impl_dyn_cast` which comes from the expansion of the attribute macro `dyn_upcast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]     --> cast_trait_object/src/lib.rs:1335:13
[INFO] [stdout]      |
[INFO] [stdout] 1335 | /             impl< $($lifetime,)* $($generics,)* >
[INFO] [stdout] 1336 | |             $crate::DerivedDynCast<
[INFO] [stdout] 1337 | |                 $crate::ConcreteDynCastConfig<
[INFO] [stdout] 1338 | |                     dyn $source_trait,
[INFO] [stdout] ...    |
[INFO] [stdout] 1438 | |                 }
[INFO] [stdout] 1439 | |             }
[INFO] [stdout]      | |_____________^
[INFO] [stdout] ...
[INFO] [stdout] 1839 |               #[dyn_cast(Sub<T>)]
[INFO] [stdout]      |               ------------------- in this procedural macro expansion
[INFO] [stdout]      |
[INFO] [stdout]      = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stdout]      = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]      = 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
[INFO] [stdout]      = 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>
[INFO] [stdout]      = note: this warning originates in the macro `crate::impl_dyn_cast` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]     --> cast_trait_object/src/lib.rs:1335:13
[INFO] [stdout]      |
[INFO] [stdout] 1335 | /             impl< $($lifetime,)* $($generics,)* >
[INFO] [stdout] 1336 | |             $crate::DerivedDynCast<
[INFO] [stdout] 1337 | |                 $crate::ConcreteDynCastConfig<
[INFO] [stdout] 1338 | |                     dyn $source_trait,
[INFO] [stdout] ...    |
[INFO] [stdout] 1438 | |                 }
[INFO] [stdout] 1439 | |             }
[INFO] [stdout]      | |_____________^
[INFO] [stdout] ...
[INFO] [stdout] 1846 |               #[dyn_cast(Sub<T>)]
[INFO] [stdout]      |               ------------------- in this procedural macro expansion
[INFO] [stdout]      |
[INFO] [stdout]      = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stdout]      = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]      = 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
[INFO] [stdout]      = 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>
[INFO] [stdout]      = note: this warning originates in the macro `crate::impl_dyn_cast` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]     --> cast_trait_object/src/lib.rs:1335:13
[INFO] [stdout]      |
[INFO] [stdout] 1335 | /             impl< $($lifetime,)* $($generics,)* >
[INFO] [stdout] 1336 | |             $crate::DerivedDynCast<
[INFO] [stdout] 1337 | |                 $crate::ConcreteDynCastConfig<
[INFO] [stdout] 1338 | |                     dyn $source_trait,
[INFO] [stdout] ...    |
[INFO] [stdout] 1438 | |                 }
[INFO] [stdout] 1439 | |             }
[INFO] [stdout]      | |_____________^
[INFO] [stdout] ...
[INFO] [stdout] 1845 |               #[dyn_upcast]
[INFO] [stdout]      |               ------------- in this procedural macro expansion
[INFO] [stdout]      |
[INFO] [stdout]      = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stdout]      = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]      = 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
[INFO] [stdout]      = 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>
[INFO] [stdout]      = note: this warning originates in the macro `crate::impl_dyn_cast` which comes from the expansion of the attribute macro `dyn_upcast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]     --> cast_trait_object/src/lib.rs:1335:13
[INFO] [stdout]      |
[INFO] [stdout] 1335 | /             impl< $($lifetime,)* $($generics,)* >
[INFO] [stdout] 1336 | |             $crate::DerivedDynCast<
[INFO] [stdout] 1337 | |                 $crate::ConcreteDynCastConfig<
[INFO] [stdout] 1338 | |                     dyn $source_trait,
[INFO] [stdout] ...    |
[INFO] [stdout] 1438 | |                 }
[INFO] [stdout] 1439 | |             }
[INFO] [stdout]      | |_____________^
[INFO] [stdout] ...
[INFO] [stdout] 1851 |               #[dyn_cast(Sub<T>)]
[INFO] [stdout]      |               ------------------- in this procedural macro expansion
[INFO] [stdout]      |
[INFO] [stdout]      = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stdout]      = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]      = 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
[INFO] [stdout]      = 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>
[INFO] [stdout]      = note: this warning originates in the macro `crate::impl_dyn_cast` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]     --> cast_trait_object/src/lib.rs:1335:13
[INFO] [stdout]      |
[INFO] [stdout] 1335 | /             impl< $($lifetime,)* $($generics,)* >
[INFO] [stdout] 1336 | |             $crate::DerivedDynCast<
[INFO] [stdout] 1337 | |                 $crate::ConcreteDynCastConfig<
[INFO] [stdout] 1338 | |                     dyn $source_trait,
[INFO] [stdout] ...    |
[INFO] [stdout] 1438 | |                 }
[INFO] [stdout] 1439 | |             }
[INFO] [stdout]      | |_____________^
[INFO] [stdout] ...
[INFO] [stdout] 1850 |               #[dyn_upcast]
[INFO] [stdout]      |               ------------- in this procedural macro expansion
[INFO] [stdout]      |
[INFO] [stdout]      = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stdout]      = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]      = 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
[INFO] [stdout]      = 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>
[INFO] [stdout]      = note: this warning originates in the macro `crate::impl_dyn_cast` which comes from the expansion of the attribute macro `dyn_upcast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> external_tests/src/lib.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 25 |     #[dyn_cast(Sub, Sub2, SubSub)]
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = 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
[INFO] [stdout]    = 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>
[INFO] [stdout]    = note: the macro `::cast_trait_object::impl_dyn_cast_config` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]    = note: `#[warn(non_local_definitions)]` on by default
[INFO] [stdout]    = note: this warning originates in the macro `::cast_trait_object::impl_dyn_cast_config` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> external_tests/src/lib.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 25 |     #[dyn_cast(Sub, Sub2, SubSub)]
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = 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
[INFO] [stdout]    = 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>
[INFO] [stdout]    = note: the macro `::cast_trait_object::impl_dyn_cast_config` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]    = note: this warning originates in the macro `::cast_trait_object::impl_dyn_cast_config` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> external_tests/src/lib.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 25 |     #[dyn_cast(Sub, Sub2, SubSub)]
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = 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
[INFO] [stdout]    = 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>
[INFO] [stdout]    = note: the macro `::cast_trait_object::impl_dyn_cast_config` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]    = note: this warning originates in the macro `::cast_trait_object::impl_dyn_cast_config` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> external_tests/src/lib.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 25 |     #[dyn_cast(Sub, Sub2, SubSub)]
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = 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
[INFO] [stdout]    = 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>
[INFO] [stdout]    = note: the macro `::cast_trait_object::impl_dyn_cast_config` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]    = note: this warning originates in the macro `::cast_trait_object::impl_dyn_cast_config` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> external_tests/src/lib.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 25 |     #[dyn_cast(Sub, Sub2, SubSub)]
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = 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
[INFO] [stdout]    = 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>
[INFO] [stdout]    = note: the macro `::cast_trait_object::impl_dyn_cast_config` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]    = note: this warning originates in the macro `::cast_trait_object::impl_dyn_cast_config` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> external_tests/src/lib.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 25 |     #[dyn_cast(Sub, Sub2, SubSub)]
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = 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
[INFO] [stdout]    = 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>
[INFO] [stdout]    = note: the macro `::cast_trait_object::impl_dyn_cast_config` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]    = note: this warning originates in the macro `::cast_trait_object::impl_dyn_cast_config` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> external_tests/src/lib.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 25 |     #[dyn_cast(Sub, Sub2, SubSub)]
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = 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
[INFO] [stdout]    = 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>
[INFO] [stdout]    = note: the macro `::cast_trait_object::impl_dyn_cast_config` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]    = note: this warning originates in the macro `::cast_trait_object::impl_dyn_cast_config` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> external_tests/src/lib.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 25 |     #[dyn_cast(Sub, Sub2, SubSub)]
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = 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
[INFO] [stdout]    = 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>
[INFO] [stdout]    = note: the macro `::cast_trait_object::impl_dyn_cast_config` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]    = note: this warning originates in the macro `::cast_trait_object::impl_dyn_cast_config` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> external_tests/src/lib.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 25 |     #[dyn_cast(Sub, Sub2, SubSub)]
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = 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
[INFO] [stdout]    = 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>
[INFO] [stdout]    = note: the macro `::cast_trait_object::impl_dyn_cast_config` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]    = note: this warning originates in the macro `::cast_trait_object::impl_dyn_cast_config` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> external_tests/src/lib.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 26 |     #[dyn_upcast]
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = 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
[INFO] [stdout]    = 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>
[INFO] [stdout]    = note: the macro `::cast_trait_object::impl_dyn_cast_config` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]    = note: this warning originates in the macro `::cast_trait_object::impl_dyn_cast_config` which comes from the expansion of the attribute macro `dyn_upcast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> external_tests/src/lib.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 26 |     #[dyn_upcast]
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = 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
[INFO] [stdout]    = 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>
[INFO] [stdout]    = note: the macro `::cast_trait_object::impl_dyn_cast_config` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]    = note: this warning originates in the macro `::cast_trait_object::impl_dyn_cast_config` which comes from the expansion of the attribute macro `dyn_upcast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> external_tests/src/lib.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 26 |     #[dyn_upcast]
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = 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
[INFO] [stdout]    = 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>
[INFO] [stdout]    = note: the macro `::cast_trait_object::impl_dyn_cast_config` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]    = note: this warning originates in the macro `::cast_trait_object::impl_dyn_cast_config` which comes from the expansion of the attribute macro `dyn_upcast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> external_tests/src/lib.rs:48:5
[INFO] [stdout]    |
[INFO] [stdout] 48 |     #[cfg_attr(feature = "proc-macros", dyn_upcast)]
[INFO] [stdout]    |     ^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current closure `<unnameable>` and up 4 bodies
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = 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
[INFO] [stdout]    = 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>
[INFO] [stdout]    = note: the macro `$crate::impl_dyn_cast` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]    = note: this warning originates in the macro `$crate::impl_dyn_cast` which comes from the expansion of the attribute macro `dyn_upcast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> external_tests/src/lib.rs:47:41
[INFO] [stdout]    |
[INFO] [stdout] 47 |     #[cfg_attr(feature = "proc-macros", dyn_cast(Sub, Sub2, SubSub))]
[INFO] [stdout]    |                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current closure `<unnameable>` and up 4 bodies
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = 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
[INFO] [stdout]    = 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>
[INFO] [stdout]    = note: the macro `$crate::impl_dyn_cast` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]    = note: this warning originates in the macro `$crate::impl_dyn_cast` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> external_tests/src/lib.rs:47:41
[INFO] [stdout]    |
[INFO] [stdout] 47 |     #[cfg_attr(feature = "proc-macros", dyn_cast(Sub, Sub2, SubSub))]
[INFO] [stdout]    |                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current closure `<unnameable>` and up 4 bodies
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = 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
[INFO] [stdout]    = 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>
[INFO] [stdout]    = note: the macro `$crate::impl_dyn_cast` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]    = note: this warning originates in the macro `$crate::impl_dyn_cast` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> external_tests/src/lib.rs:47:41
[INFO] [stdout]    |
[INFO] [stdout] 47 |     #[cfg_attr(feature = "proc-macros", dyn_cast(Sub, Sub2, SubSub))]
[INFO] [stdout]    |                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current closure `<unnameable>` and up 4 bodies
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = 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
[INFO] [stdout]    = 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>
[INFO] [stdout]    = note: the macro `$crate::impl_dyn_cast` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]    = note: this warning originates in the macro `$crate::impl_dyn_cast` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> external_tests/src/lib.rs:54:41
[INFO] [stdout]    |
[INFO] [stdout] 54 |     #[cfg_attr(feature = "proc-macros", dyn_cast(Sub, Sub2, SubSub, Super))]
[INFO] [stdout]    |                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current closure `<unnameable>` and up 4 bodies
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = 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
[INFO] [stdout]    = 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>
[INFO] [stdout]    = note: the macro `$crate::impl_dyn_cast` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]    = note: this warning originates in the macro `$crate::impl_dyn_cast` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> external_tests/src/lib.rs:54:41
[INFO] [stdout]    |
[INFO] [stdout] 54 |     #[cfg_attr(feature = "proc-macros", dyn_cast(Sub, Sub2, SubSub, Super))]
[INFO] [stdout]    |                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current closure `<unnameable>` and up 4 bodies
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = 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
[INFO] [stdout]    = 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>
[INFO] [stdout]    = note: the macro `$crate::impl_dyn_cast` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]    = note: this warning originates in the macro `$crate::impl_dyn_cast` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> external_tests/src/lib.rs:54:41
[INFO] [stdout]    |
[INFO] [stdout] 54 |     #[cfg_attr(feature = "proc-macros", dyn_cast(Sub, Sub2, SubSub, Super))]
[INFO] [stdout]    |                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current closure `<unnameable>` and up 4 bodies
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = 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
[INFO] [stdout]    = 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>
[INFO] [stdout]    = note: the macro `$crate::impl_dyn_cast` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]    = note: this warning originates in the macro `$crate::impl_dyn_cast` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> external_tests/src/lib.rs:54:41
[INFO] [stdout]    |
[INFO] [stdout] 54 |     #[cfg_attr(feature = "proc-macros", dyn_cast(Sub, Sub2, SubSub, Super))]
[INFO] [stdout]    |                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current closure `<unnameable>` and up 4 bodies
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = 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
[INFO] [stdout]    = 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>
[INFO] [stdout]    = note: the macro `$crate::impl_dyn_cast` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]    = note: this warning originates in the macro `$crate::impl_dyn_cast` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> external_tests/src/lib.rs:61:5
[INFO] [stdout]    |
[INFO] [stdout] 61 |     #[cfg_attr(feature = "proc-macros", dyn_upcast(Super))]
[INFO] [stdout]    |     ^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current closure `<unnameable>` and up 4 bodies
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = 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
[INFO] [stdout]    = 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>
[INFO] [stdout]    = note: the macro `$crate::impl_dyn_cast` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]    = note: this warning originates in the macro `$crate::impl_dyn_cast` which comes from the expansion of the attribute macro `dyn_upcast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> external_tests/src/lib.rs:60:41
[INFO] [stdout]    |
[INFO] [stdout] 60 |     #[cfg_attr(feature = "proc-macros", dyn_cast(Super => Sub, Sub2, SubSub))]
[INFO] [stdout]    |                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current closure `<unnameable>` and up 4 bodies
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = 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
[INFO] [stdout]    = 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>
[INFO] [stdout]    = note: the macro `$crate::impl_dyn_cast` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]    = note: this warning originates in the macro `$crate::impl_dyn_cast` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> external_tests/src/lib.rs:60:41
[INFO] [stdout]    |
[INFO] [stdout] 60 |     #[cfg_attr(feature = "proc-macros", dyn_cast(Super => Sub, Sub2, SubSub))]
[INFO] [stdout]    |                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current closure `<unnameable>` and up 4 bodies
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = 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
[INFO] [stdout]    = 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>
[INFO] [stdout]    = note: the macro `$crate::impl_dyn_cast` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]    = note: this warning originates in the macro `$crate::impl_dyn_cast` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> external_tests/src/lib.rs:60:41
[INFO] [stdout]    |
[INFO] [stdout] 60 |     #[cfg_attr(feature = "proc-macros", dyn_cast(Super => Sub, Sub2, SubSub))]
[INFO] [stdout]    |                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current closure `<unnameable>` and up 4 bodies
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = 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
[INFO] [stdout]    = 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>
[INFO] [stdout]    = note: the macro `$crate::impl_dyn_cast` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]    = note: this warning originates in the macro `$crate::impl_dyn_cast` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> external_tests/src/lib.rs:69:41
[INFO] [stdout]    |
[INFO] [stdout] 69 |     #[cfg_attr(feature = "proc-macros", dyn_cast(Super => Sub, Sub2, SubSub, Super))]
[INFO] [stdout]    |                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current closure `<unnameable>` and up 4 bodies
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = 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
[INFO] [stdout]    = 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>
[INFO] [stdout]    = note: the macro `$crate::impl_dyn_cast` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]    = note: this warning originates in the macro `$crate::impl_dyn_cast` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> external_tests/src/lib.rs:69:41
[INFO] [stdout]    |
[INFO] [stdout] 69 |     #[cfg_attr(feature = "proc-macros", dyn_cast(Super => Sub, Sub2, SubSub, Super))]
[INFO] [stdout]    |                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current closure `<unnameable>` and up 4 bodies
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = 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
[INFO] [stdout]    = 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>
[INFO] [stdout]    = note: the macro `$crate::impl_dyn_cast` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]    = note: this warning originates in the macro `$crate::impl_dyn_cast` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> external_tests/src/lib.rs:69:41
[INFO] [stdout]    |
[INFO] [stdout] 69 |     #[cfg_attr(feature = "proc-macros", dyn_cast(Super => Sub, Sub2, SubSub, Super))]
[INFO] [stdout]    |                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current closure `<unnameable>` and up 4 bodies
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = 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
[INFO] [stdout]    = 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>
[INFO] [stdout]    = note: the macro `$crate::impl_dyn_cast` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]    = note: this warning originates in the macro `$crate::impl_dyn_cast` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> external_tests/src/lib.rs:69:41
[INFO] [stdout]    |
[INFO] [stdout] 69 |     #[cfg_attr(feature = "proc-macros", dyn_cast(Super => Sub, Sub2, SubSub, Super))]
[INFO] [stdout]    |                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current closure `<unnameable>` and up 4 bodies
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = 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
[INFO] [stdout]    = 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>
[INFO] [stdout]    = note: the macro `$crate::impl_dyn_cast` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]    = note: this warning originates in the macro `$crate::impl_dyn_cast` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> external_tests/src/lib.rs:83:5
[INFO] [stdout]    |
[INFO] [stdout] 83 |     #[dyn_cast(Sub)]
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = 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
[INFO] [stdout]    = 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>
[INFO] [stdout]    = note: the macro `$crate::impl_dyn_cast_config` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]    = note: this warning originates in the macro `$crate::impl_dyn_cast_config` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> external_tests/src/lib.rs:83:5
[INFO] [stdout]    |
[INFO] [stdout] 83 |     #[dyn_cast(Sub)]
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = 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
[INFO] [stdout]    = 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>
[INFO] [stdout]    = note: the macro `$crate::impl_dyn_cast_config` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]    = note: this warning originates in the macro `$crate::impl_dyn_cast_config` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> external_tests/src/lib.rs:83:5
[INFO] [stdout]    |
[INFO] [stdout] 83 |     #[dyn_cast(Sub)]
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = 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
[INFO] [stdout]    = 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>
[INFO] [stdout]    = note: the macro `$crate::impl_dyn_cast_config` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]    = note: this warning originates in the macro `$crate::impl_dyn_cast_config` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> external_tests/src/lib.rs:84:5
[INFO] [stdout]    |
[INFO] [stdout] 84 |     #[dyn_upcast]
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = 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
[INFO] [stdout]    = 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>
[INFO] [stdout]    = note: the macro `$crate::impl_dyn_cast_config` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]    = note: this warning originates in the macro `$crate::impl_dyn_cast_config` which comes from the expansion of the attribute macro `dyn_upcast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> external_tests/src/lib.rs:84:5
[INFO] [stdout]    |
[INFO] [stdout] 84 |     #[dyn_upcast]
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = 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
[INFO] [stdout]    = 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>
[INFO] [stdout]    = note: the macro `$crate::impl_dyn_cast_config` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]    = note: this warning originates in the macro `$crate::impl_dyn_cast_config` which comes from the expansion of the attribute macro `dyn_upcast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> external_tests/src/lib.rs:84:5
[INFO] [stdout]    |
[INFO] [stdout] 84 |     #[dyn_upcast]
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = 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
[INFO] [stdout]    = 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>
[INFO] [stdout]    = note: the macro `$crate::impl_dyn_cast_config` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]    = note: this warning originates in the macro `$crate::impl_dyn_cast_config` which comes from the expansion of the attribute macro `dyn_upcast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> external_tests/src/lib.rs:89:5
[INFO] [stdout]    |
[INFO] [stdout] 89 |     #[dyn_upcast(Super)]
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current closure `<unnameable>` and up 4 bodies
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = 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
[INFO] [stdout]    = 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>
[INFO] [stdout]    = note: the macro `$crate::impl_dyn_cast` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]    = note: this warning originates in the macro `$crate::impl_dyn_cast` which comes from the expansion of the attribute macro `dyn_upcast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> external_tests/src/lib.rs:88:5
[INFO] [stdout]    |
[INFO] [stdout] 88 |     #[dyn_cast(Super => Sub)]
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current closure `<unnameable>` and up 4 bodies
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = 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
[INFO] [stdout]    = 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>
[INFO] [stdout]    = note: the macro `$crate::impl_dyn_cast` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]    = note: this warning originates in the macro `$crate::impl_dyn_cast` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> external_tests/src/lib.rs:94:5
[INFO] [stdout]    |
[INFO] [stdout] 94 |     #[dyn_upcast(Super)]
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current closure `<unnameable>` and up 4 bodies
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = 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
[INFO] [stdout]    = 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>
[INFO] [stdout]    = note: the macro `$crate::impl_dyn_cast` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]    = note: this warning originates in the macro `$crate::impl_dyn_cast` which comes from the expansion of the attribute macro `dyn_upcast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> external_tests/src/lib.rs:93:5
[INFO] [stdout]    |
[INFO] [stdout] 93 |     #[dyn_cast(Super => Sub)]
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current closure `<unnameable>` and up 4 bodies
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = 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
[INFO] [stdout]    = 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>
[INFO] [stdout]    = note: the macro `$crate::impl_dyn_cast` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]    = note: this warning originates in the macro `$crate::impl_dyn_cast` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]    --> external_tests/src/lib.rs:110:9
[INFO] [stdout]     |
[INFO] [stdout] 110 |         #[dyn_upcast]
[INFO] [stdout]     |         ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stdout]     = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = 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
[INFO] [stdout]     = 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>
[INFO] [stdout]     = note: the macro `$crate::impl_dyn_cast_config` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]     = note: this warning originates in the macro `$crate::impl_dyn_cast_config` which comes from the expansion of the attribute macro `dyn_upcast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]    --> external_tests/src/lib.rs:110:9
[INFO] [stdout]     |
[INFO] [stdout] 110 |         #[dyn_upcast]
[INFO] [stdout]     |         ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stdout]     = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = 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
[INFO] [stdout]     = 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>
[INFO] [stdout]     = note: the macro `$crate::impl_dyn_cast_config` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]     = note: this warning originates in the macro `$crate::impl_dyn_cast_config` which comes from the expansion of the attribute macro `dyn_upcast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]    --> external_tests/src/lib.rs:110:9
[INFO] [stdout]     |
[INFO] [stdout] 110 |         #[dyn_upcast]
[INFO] [stdout]     |         ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stdout]     = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = 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
[INFO] [stdout]     = 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>
[INFO] [stdout]     = note: the macro `$crate::impl_dyn_cast_config` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]     = note: this warning originates in the macro `$crate::impl_dyn_cast_config` which comes from the expansion of the attribute macro `dyn_upcast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]    --> external_tests/src/lib.rs:111:9
[INFO] [stdout]     |
[INFO] [stdout] 111 |         #[dyn_cast(Sub<T>)]
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stdout]     = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = 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
[INFO] [stdout]     = 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>
[INFO] [stdout]     = note: the macro `$crate::impl_dyn_cast_config` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]     = note: this warning originates in the macro `$crate::impl_dyn_cast_config` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]    --> external_tests/src/lib.rs:111:9
[INFO] [stdout]     |
[INFO] [stdout] 111 |         #[dyn_cast(Sub<T>)]
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stdout]     = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = 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
[INFO] [stdout]     = 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>
[INFO] [stdout]     = note: the macro `$crate::impl_dyn_cast_config` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]     = note: this warning originates in the macro `$crate::impl_dyn_cast_config` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]    --> external_tests/src/lib.rs:111:9
[INFO] [stdout]     |
[INFO] [stdout] 111 |         #[dyn_cast(Sub<T>)]
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stdout]     = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = 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
[INFO] [stdout]     = 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>
[INFO] [stdout]     = note: the macro `$crate::impl_dyn_cast_config` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]     = note: this warning originates in the macro `$crate::impl_dyn_cast_config` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]    --> external_tests/src/lib.rs:125:9
[INFO] [stdout]     |
[INFO] [stdout] 125 |         #[dyn_cast(Sub<T>)]
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stdout]     = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = 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
[INFO] [stdout]     = 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>
[INFO] [stdout]     = note: the macro `::cast_trait_object::impl_dyn_cast` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]     = note: this warning originates in the macro `::cast_trait_object::impl_dyn_cast` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]    --> external_tests/src/lib.rs:124:9
[INFO] [stdout]     |
[INFO] [stdout] 124 |         #[dyn_upcast]
[INFO] [stdout]     |         ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stdout]     = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = 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
[INFO] [stdout]     = 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>
[INFO] [stdout]     = note: the macro `::cast_trait_object::impl_dyn_cast` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]     = note: this warning originates in the macro `::cast_trait_object::impl_dyn_cast` which comes from the expansion of the attribute macro `dyn_upcast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]    --> external_tests/src/lib.rs:130:9
[INFO] [stdout]     |
[INFO] [stdout] 130 |         #[dyn_cast(Sub<T>)]
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stdout]     = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = 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
[INFO] [stdout]     = 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>
[INFO] [stdout]     = note: the macro `::cast_trait_object::impl_dyn_cast` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]     = note: this warning originates in the macro `::cast_trait_object::impl_dyn_cast` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]    --> external_tests/src/lib.rs:129:9
[INFO] [stdout]     |
[INFO] [stdout] 129 |         #[dyn_upcast]
[INFO] [stdout]     |         ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stdout]     = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = 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
[INFO] [stdout]     = 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>
[INFO] [stdout]     = note: the macro `::cast_trait_object::impl_dyn_cast` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]     = note: this warning originates in the macro `::cast_trait_object::impl_dyn_cast` which comes from the expansion of the attribute macro `dyn_upcast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]    --> external_tests/src/lib.rs:139:9
[INFO] [stdout]     |
[INFO] [stdout] 139 |         #[dyn_cast(Sub<Item = Test>)]
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stdout]     = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = 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
[INFO] [stdout]     = 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>
[INFO] [stdout]     = note: the macro `$crate::impl_dyn_cast_config` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]     = note: this warning originates in the macro `$crate::impl_dyn_cast_config` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]    --> external_tests/src/lib.rs:139:9
[INFO] [stdout]     |
[INFO] [stdout] 139 |         #[dyn_cast(Sub<Item = Test>)]
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stdout]     = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = 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
[INFO] [stdout]     = 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>
[INFO] [stdout]     = note: the macro `$crate::impl_dyn_cast_config` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]     = note: this warning originates in the macro `$crate::impl_dyn_cast_config` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]    --> external_tests/src/lib.rs:139:9
[INFO] [stdout]     |
[INFO] [stdout] 139 |         #[dyn_cast(Sub<Item = Test>)]
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stdout]     = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = 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
[INFO] [stdout]     = 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>
[INFO] [stdout]     = note: the macro `$crate::impl_dyn_cast_config` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]     = note: this warning originates in the macro `$crate::impl_dyn_cast_config` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]    --> external_tests/src/lib.rs:140:9
[INFO] [stdout]     |
[INFO] [stdout] 140 |         #[dyn_cast(Sub<Item = ()>)]
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stdout]     = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = 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
[INFO] [stdout]     = 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>
[INFO] [stdout]     = note: the macro `$crate::impl_dyn_cast_config` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]     = note: this warning originates in the macro `$crate::impl_dyn_cast_config` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]    --> external_tests/src/lib.rs:140:9
[INFO] [stdout]     |
[INFO] [stdout] 140 |         #[dyn_cast(Sub<Item = ()>)]
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stdout]     = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = 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
[INFO] [stdout]     = 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>
[INFO] [stdout]     = note: the macro `$crate::impl_dyn_cast_config` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]     = note: this warning originates in the macro `$crate::impl_dyn_cast_config` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]    --> external_tests/src/lib.rs:140:9
[INFO] [stdout]     |
[INFO] [stdout] 140 |         #[dyn_cast(Sub<Item = ()>)]
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stdout]     = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = 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
[INFO] [stdout]     = 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>
[INFO] [stdout]     = note: the macro `$crate::impl_dyn_cast_config` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]     = note: this warning originates in the macro `$crate::impl_dyn_cast_config` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]    --> external_tests/src/lib.rs:143:9
[INFO] [stdout]     |
[INFO] [stdout] 143 |         #[dyn_cast(Sub<Item = ()>)]
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: move this `impl` block outside the of the current closure `<unnameable>` and up 4 bodies
[INFO] [stdout]     = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = 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
[INFO] [stdout]     = 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>
[INFO] [stdout]     = note: the macro `$crate::impl_dyn_cast` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]     = note: this warning originates in the macro `$crate::impl_dyn_cast` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]    --> external_tests/src/lib.rs:142:9
[INFO] [stdout]     |
[INFO] [stdout] 142 |         #[dyn_cast(Sub<Item = Test>)]
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: move this `impl` block outside the of the current closure `<unnameable>` and up 4 bodies
[INFO] [stdout]     = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = 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
[INFO] [stdout]     = 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>
[INFO] [stdout]     = note: the macro `$crate::impl_dyn_cast` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]     = note: this warning originates in the macro `$crate::impl_dyn_cast` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 56 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 46 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 56 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 1.98s
[INFO] running `Command { std: "docker" "inspect" "58b3376d8a369d2ed2d3e98f86b3d67ecd1e29e690f933e90442846fe2b4c37e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "58b3376d8a369d2ed2d3e98f86b3d67ecd1e29e690f933e90442846fe2b4c37e", kill_on_drop: false }`
[INFO] [stdout] 58b3376d8a369d2ed2d3e98f86b3d67ecd1e29e690f933e90442846fe2b4c37e
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:59a85a07ab18ca8720692f8e61effa1c651d9e2ca591e072c2b212bb91a6b8b5" "/opt/rustwide/cargo-home/bin/cargo" "+1871252fc8bb672d40787e67404e6eaae7059369" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] f408475b02ad370e9b5ecb846508624f5ab916f2e9e443e1e31b7de1bf9d4fe7
[INFO] running `Command { std: "docker" "start" "-a" "f408475b02ad370e9b5ecb846508624f5ab916f2e9e443e1e31b7de1bf9d4fe7", kill_on_drop: false }`
[INFO] [stderr] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stderr]     --> cast_trait_object/src/lib.rs:1641:13
[INFO] [stderr]      |
[INFO] [stderr] 1641 | /             impl< $($lifetime,)* $($generics,)* >
[INFO] [stderr] 1642 | |             $crate::DynCastConfig
[INFO] [stderr] 1643 | |             for
[INFO] [stderr] 1644 | |             $config_type
[INFO] [stderr] ...    |
[INFO] [stderr] 1648 | |                 type Source = dyn $source_trait;
[INFO] [stderr] 1649 | |             }
[INFO] [stderr]      | |_____________^
[INFO] [stderr] ...
[INFO] [stderr] 1680 | /     create_dyn_cast_config!(
[INFO] [stderr] 1681 | |         /// Can have attributes on the generated config struct.
[INFO] [stderr] 1682 | |         #[derive(Clone)]
[INFO] [stderr] 1683 | |         UpcastConfig = Super => Super
[INFO] [stderr] 1684 | |     );
[INFO] [stderr]      | |_____- in this macro invocation
[INFO] [stderr]      |
[INFO] [stderr]      = help: move this `impl` block outside the of the current closure `<unnameable>` and up 4 bodies
[INFO] [stderr]      = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]      = 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
[INFO] [stderr]      = 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>
[INFO] [stderr]      = note: `#[warn(non_local_definitions)]` on by default
[INFO] [stderr]      = note: this warning originates in the macro `$crate::impl_dyn_cast_config` which comes from the expansion of the macro `create_dyn_cast_config` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stderr]     --> cast_trait_object/src/lib.rs:1651:13
[INFO] [stderr]      |
[INFO] [stderr] 1651 | /             impl< $($lifetime,)* $($generics,)*  __T>
[INFO] [stderr] 1652 | |             $crate::DynCastConfigTargetTest<__T>
[INFO] [stderr] 1653 | |             for
[INFO] [stderr] 1654 | |             $config_type
[INFO] [stderr] ...    |
[INFO] [stderr] 1657 | |                 $($($where)*)?
[INFO] [stderr] 1658 | |             {}
[INFO] [stderr]      | |______________^
[INFO] [stderr] ...
[INFO] [stderr] 1680 | /     create_dyn_cast_config!(
[INFO] [stderr] 1681 | |         /// Can have attributes on the generated config struct.
[INFO] [stderr] 1682 | |         #[derive(Clone)]
[INFO] [stderr] 1683 | |         UpcastConfig = Super => Super
[INFO] [stderr] 1684 | |     );
[INFO] [stderr]      | |_____- in this macro invocation
[INFO] [stderr]      |
[INFO] [stderr]      = help: move this `impl` block outside the of the current closure `<unnameable>` and up 4 bodies
[INFO] [stderr]      = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]      = 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
[INFO] [stderr]      = 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>
[INFO] [stderr]      = note: this warning originates in the macro `$crate::impl_dyn_cast_config` which comes from the expansion of the macro `create_dyn_cast_config` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stderr]     --> cast_trait_object/src/lib.rs:1660:13
[INFO] [stderr]      |
[INFO] [stderr] 1660 | /             impl< $($lifetime,)* $($generics,)* >
[INFO] [stderr] 1661 | |             $crate::GetDynCastConfig<dyn $target_trait>
[INFO] [stderr] 1662 | |             for
[INFO] [stderr] 1663 | |             dyn $source_trait
[INFO] [stderr] ...    |
[INFO] [stderr] 1666 | |                 type Config = $config_type;
[INFO] [stderr] 1667 | |             }
[INFO] [stderr]      | |_____________^
[INFO] [stderr] ...
[INFO] [stderr] 1680 | /     create_dyn_cast_config!(
[INFO] [stderr] 1681 | |         /// Can have attributes on the generated config struct.
[INFO] [stderr] 1682 | |         #[derive(Clone)]
[INFO] [stderr] 1683 | |         UpcastConfig = Super => Super
[INFO] [stderr] 1684 | |     );
[INFO] [stderr]      | |_____- in this macro invocation
[INFO] [stderr]      |
[INFO] [stderr]      = help: move this `impl` block outside the of the current closure `<unnameable>` and up 4 bodies
[INFO] [stderr]      = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]      = 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
[INFO] [stderr]      = 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>
[INFO] [stderr]      = note: this warning originates in the macro `$crate::impl_dyn_cast_config` which comes from the expansion of the macro `create_dyn_cast_config` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stderr]     --> cast_trait_object/src/lib.rs:1641:13
[INFO] [stderr]      |
[INFO] [stderr] 1641 | /             impl< $($lifetime,)* $($generics,)* >
[INFO] [stderr] 1642 | |             $crate::DynCastConfig
[INFO] [stderr] 1643 | |             for
[INFO] [stderr] 1644 | |             $config_type
[INFO] [stderr] ...    |
[INFO] [stderr] 1648 | |                 type Source = dyn $source_trait;
[INFO] [stderr] 1649 | |             }
[INFO] [stderr]      | |_____________^
[INFO] [stderr] ...
[INFO] [stderr] 1685 | /     create_dyn_cast_config!(
[INFO] [stderr] 1686 | |         /// Can have attributes on the generated config struct.
[INFO] [stderr] 1687 | |         #[derive(Clone)]
[INFO] [stderr] 1688 | |         SuperConfig = Super => Sub
[INFO] [stderr] 1689 | |     );
[INFO] [stderr]      | |_____- in this macro invocation
[INFO] [stderr]      |
[INFO] [stderr]      = help: move this `impl` block outside the of the current closure `<unnameable>` and up 4 bodies
[INFO] [stderr]      = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]      = 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
[INFO] [stderr]      = 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>
[INFO] [stderr]      = note: this warning originates in the macro `$crate::impl_dyn_cast_config` which comes from the expansion of the macro `create_dyn_cast_config` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stderr]     --> cast_trait_object/src/lib.rs:1651:13
[INFO] [stderr]      |
[INFO] [stderr] 1651 | /             impl< $($lifetime,)* $($generics,)*  __T>
[INFO] [stderr] 1652 | |             $crate::DynCastConfigTargetTest<__T>
[INFO] [stderr] 1653 | |             for
[INFO] [stderr] 1654 | |             $config_type
[INFO] [stderr] ...    |
[INFO] [stderr] 1657 | |                 $($($where)*)?
[INFO] [stderr] 1658 | |             {}
[INFO] [stderr]      | |______________^
[INFO] [stderr] ...
[INFO] [stderr] 1685 | /     create_dyn_cast_config!(
[INFO] [stderr] 1686 | |         /// Can have attributes on the generated config struct.
[INFO] [stderr] 1687 | |         #[derive(Clone)]
[INFO] [stderr] 1688 | |         SuperConfig = Super => Sub
[INFO] [stderr] 1689 | |     );
[INFO] [stderr]      | |_____- in this macro invocation
[INFO] [stderr]      |
[INFO] [stderr]      = help: move this `impl` block outside the of the current closure `<unnameable>` and up 4 bodies
[INFO] [stderr]      = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]      = 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
[INFO] [stderr]      = 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>
[INFO] [stderr]      = note: this warning originates in the macro `$crate::impl_dyn_cast_config` which comes from the expansion of the macro `create_dyn_cast_config` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stderr]     --> cast_trait_object/src/lib.rs:1660:13
[INFO] [stderr]      |
[INFO] [stderr] 1660 | /             impl< $($lifetime,)* $($generics,)* >
[INFO] [stderr] 1661 | |             $crate::GetDynCastConfig<dyn $target_trait>
[INFO] [stderr] 1662 | |             for
[INFO] [stderr] 1663 | |             dyn $source_trait
[INFO] [stderr] ...    |
[INFO] [stderr] 1666 | |                 type Config = $config_type;
[INFO] [stderr] 1667 | |             }
[INFO] [stderr]      | |_____________^
[INFO] [stderr] ...
[INFO] [stderr] 1685 | /     create_dyn_cast_config!(
[INFO] [stderr] 1686 | |         /// Can have attributes on the generated config struct.
[INFO] [stderr] 1687 | |         #[derive(Clone)]
[INFO] [stderr] 1688 | |         SuperConfig = Super => Sub
[INFO] [stderr] 1689 | |     );
[INFO] [stderr]      | |_____- in this macro invocation
[INFO] [stderr]      |
[INFO] [stderr]      = help: move this `impl` block outside the of the current closure `<unnameable>` and up 4 bodies
[INFO] [stderr]      = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]      = 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
[INFO] [stderr]      = 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>
[INFO] [stderr]      = note: this warning originates in the macro `$crate::impl_dyn_cast_config` which comes from the expansion of the macro `create_dyn_cast_config` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stderr]     --> cast_trait_object/src/lib.rs:1458:13
[INFO] [stderr]      |
[INFO] [stderr] 1458 | /             impl< $($lifetime,)* $($generics,)* >
[INFO] [stderr] 1459 | |             $crate::DynCast<  $config_type  >
[INFO] [stderr] 1460 | |             for
[INFO] [stderr] 1461 | |             $self_type
[INFO] [stderr] ...    |
[INFO] [stderr] 1555 | |                 }
[INFO] [stderr] 1556 | |             }
[INFO] [stderr]      | |_____________^
[INFO] [stderr] ...
[INFO] [stderr] 1695 |       impl_dyn_cast!(TestSuper => SuperConfig, UpcastConfig);
[INFO] [stderr]      |       ------------------------------------------------------ in this macro invocation
[INFO] [stderr]      |
[INFO] [stderr]      = help: move this `impl` block outside the of the current closure `<unnameable>` and up 4 bodies
[INFO] [stderr]      = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]      = 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
[INFO] [stderr]      = 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>
[INFO] [stderr]      = note: this warning originates in the macro `$crate::impl_dyn_cast` which comes from the expansion of the macro `impl_dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stderr]     --> cast_trait_object/src/lib.rs:1458:13
[INFO] [stderr]      |
[INFO] [stderr] 1458 | /             impl< $($lifetime,)* $($generics,)* >
[INFO] [stderr] 1459 | |             $crate::DynCast<  $config_type  >
[INFO] [stderr] 1460 | |             for
[INFO] [stderr] 1461 | |             $self_type
[INFO] [stderr] ...    |
[INFO] [stderr] 1555 | |                 }
[INFO] [stderr] 1556 | |             }
[INFO] [stderr]      | |_____________^
[INFO] [stderr] ...
[INFO] [stderr] 1700 |       impl_dyn_cast! {TestSub as Super => Sub, Super}
[INFO] [stderr]      |       ----------------------------------------------- in this macro invocation
[INFO] [stderr]      |
[INFO] [stderr]      = help: move this `impl` block outside the of the current closure `<unnameable>` and up 4 bodies
[INFO] [stderr]      = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]      = 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
[INFO] [stderr]      = 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>
[INFO] [stderr]      = note: this warning originates in the macro `$crate::impl_dyn_cast` which comes from the expansion of the macro `impl_dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stderr]     --> cast_trait_object/src/lib.rs:1458:13
[INFO] [stderr]      |
[INFO] [stderr] 1458 | /             impl< $($lifetime,)* $($generics,)* >
[INFO] [stderr] 1459 | |             $crate::DynCast<  $config_type  >
[INFO] [stderr] 1460 | |             for
[INFO] [stderr] 1461 | |             $self_type
[INFO] [stderr] ...    |
[INFO] [stderr] 1555 | |                 }
[INFO] [stderr] 1556 | |             }
[INFO] [stderr]      | |_____________^
[INFO] [stderr] ...
[INFO] [stderr] 1706 |       impl_dyn_cast! {TestSubMixed as Super => Sub}
[INFO] [stderr]      |       --------------------------------------------- in this macro invocation
[INFO] [stderr]      |
[INFO] [stderr]      = help: move this `impl` block outside the of the current closure `<unnameable>` and up 4 bodies
[INFO] [stderr]      = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]      = 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
[INFO] [stderr]      = 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>
[INFO] [stderr]      = note: this warning originates in the macro `$crate::impl_dyn_cast` which comes from the expansion of the macro `impl_dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stderr]     --> cast_trait_object/src/lib.rs:1458:13
[INFO] [stderr]      |
[INFO] [stderr] 1458 | /             impl< $($lifetime,)* $($generics,)* >
[INFO] [stderr] 1459 | |             $crate::DynCast<  $config_type  >
[INFO] [stderr] 1460 | |             for
[INFO] [stderr] 1461 | |             $self_type
[INFO] [stderr] ...    |
[INFO] [stderr] 1555 | |                 }
[INFO] [stderr] 1556 | |             }
[INFO] [stderr]      | |_____________^
[INFO] [stderr] ...
[INFO] [stderr] 1707 |       impl_dyn_cast! {TestSubMixed => UpcastConfig}
[INFO] [stderr]      |       --------------------------------------------- in this macro invocation
[INFO] [stderr]      |
[INFO] [stderr]      = help: move this `impl` block outside the of the current closure `<unnameable>` and up 4 bodies
[INFO] [stderr]      = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]      = 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
[INFO] [stderr]      = 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>
[INFO] [stderr]      = note: this warning originates in the macro `$crate::impl_dyn_cast` which comes from the expansion of the macro `impl_dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stderr]     --> cast_trait_object/src/lib.rs:1335:13
[INFO] [stderr]      |
[INFO] [stderr] 1335 | /             impl< $($lifetime,)* $($generics,)* >
[INFO] [stderr] 1336 | |             $crate::DerivedDynCast<
[INFO] [stderr] 1337 | |                 $crate::ConcreteDynCastConfig<
[INFO] [stderr] 1338 | |                     dyn $source_trait,
[INFO] [stderr] ...    |
[INFO] [stderr] 1438 | |                 }
[INFO] [stderr] 1439 | |             }
[INFO] [stderr]      | |_____________^
[INFO] [stderr] ...
[INFO] [stderr] 1725 |       impl_dyn_cast!(for<T> TestGeneric<T> as Super where {T: 'static} => Sub);
[INFO] [stderr]      |       ------------------------------------------------------------------------ in this macro invocation
[INFO] [stderr]      |
[INFO] [stderr]      = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stderr]      = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]      = 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
[INFO] [stderr]      = 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>
[INFO] [stderr]      = note: this warning originates in the macro `impl_dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stderr]     --> cast_trait_object/src/lib.rs:1335:13
[INFO] [stderr]      |
[INFO] [stderr] 1335 | /             impl< $($lifetime,)* $($generics,)* >
[INFO] [stderr] 1336 | |             $crate::DerivedDynCast<
[INFO] [stderr] 1337 | |                 $crate::ConcreteDynCastConfig<
[INFO] [stderr] 1338 | |                     dyn $source_trait,
[INFO] [stderr] ...    |
[INFO] [stderr] 1438 | |                 }
[INFO] [stderr] 1439 | |             }
[INFO] [stderr]      | |_____________^
[INFO] [stderr] ...
[INFO] [stderr] 1726 |       impl_dyn_cast!(for<T> TestGeneric<T> as Super where {T: 'static} => Super);
[INFO] [stderr]      |       -------------------------------------------------------------------------- in this macro invocation
[INFO] [stderr]      |
[INFO] [stderr]      = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stderr]      = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]      = 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
[INFO] [stderr]      = 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>
[INFO] [stderr]      = note: this warning originates in the macro `impl_dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stderr]     --> cast_trait_object/src/lib.rs:1335:13
[INFO] [stderr]      |
[INFO] [stderr] 1335 | /             impl< $($lifetime,)* $($generics,)* >
[INFO] [stderr] 1336 | |             $crate::DerivedDynCast<
[INFO] [stderr] 1337 | |                 $crate::ConcreteDynCastConfig<
[INFO] [stderr] 1338 | |                     dyn $source_trait,
[INFO] [stderr] ...    |
[INFO] [stderr] 1438 | |                 }
[INFO] [stderr] 1439 | |             }
[INFO] [stderr]      | |_____________^
[INFO] [stderr] ...
[INFO] [stderr] 1732 |       impl_dyn_cast!(for<T> TestGenericMixed<T> as Super where {T: 'static} => Sub);
[INFO] [stderr]      |       ----------------------------------------------------------------------------- in this macro invocation
[INFO] [stderr]      |
[INFO] [stderr]      = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stderr]      = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]      = 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
[INFO] [stderr]      = 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>
[INFO] [stderr]      = note: this warning originates in the macro `impl_dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stderr]     --> cast_trait_object/src/lib.rs:1458:13
[INFO] [stderr]      |
[INFO] [stderr] 1458 | /             impl< $($lifetime,)* $($generics,)* >
[INFO] [stderr] 1459 | |             $crate::DynCast<  $config_type  >
[INFO] [stderr] 1460 | |             for
[INFO] [stderr] 1461 | |             $self_type
[INFO] [stderr] ...    |
[INFO] [stderr] 1555 | |                 }
[INFO] [stderr] 1556 | |             }
[INFO] [stderr]      | |_____________^
[INFO] [stderr] ...
[INFO] [stderr] 1733 |       impl_dyn_cast!(for<T> TestGenericMixed<T> where {T: 'static} => UpcastConfig);
[INFO] [stderr]      |       ----------------------------------------------------------------------------- in this macro invocation
[INFO] [stderr]      |
[INFO] [stderr]      = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stderr]      = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]      = 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
[INFO] [stderr]      = 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>
[INFO] [stderr]      = note: this warning originates in the macro `impl_dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stderr]     --> cast_trait_object/src/lib.rs:1335:13
[INFO] [stderr]      |
[INFO] [stderr] 1335 | /             impl< $($lifetime,)* $($generics,)* >
[INFO] [stderr] 1336 | |             $crate::DerivedDynCast<
[INFO] [stderr] 1337 | |                 $crate::ConcreteDynCastConfig<
[INFO] [stderr] 1338 | |                     dyn $source_trait,
[INFO] [stderr] ...    |
[INFO] [stderr] 1438 | |                 }
[INFO] [stderr] 1439 | |             }
[INFO] [stderr]      | |_____________^
[INFO] [stderr] ...
[INFO] [stderr] 1740 |       impl_dyn_cast!(for<T> OnlyDisplayGeneric<T> as Super where {T: 'static} => Sub);
[INFO] [stderr]      |       ------------------------------------------------------------------------------- in this macro invocation
[INFO] [stderr]      |
[INFO] [stderr]      = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stderr]      = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]      = 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
[INFO] [stderr]      = 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>
[INFO] [stderr]      = note: this warning originates in the macro `impl_dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stderr]     --> cast_trait_object/src/lib.rs:1335:13
[INFO] [stderr]      |
[INFO] [stderr] 1335 | /             impl< $($lifetime,)* $($generics,)* >
[INFO] [stderr] 1336 | |             $crate::DerivedDynCast<
[INFO] [stderr] 1337 | |                 $crate::ConcreteDynCastConfig<
[INFO] [stderr] 1338 | |                     dyn $source_trait,
[INFO] [stderr] ...    |
[INFO] [stderr] 1438 | |                 }
[INFO] [stderr] 1439 | |             }
[INFO] [stderr]      | |_____________^
[INFO] [stderr] ...
[INFO] [stderr] 1741 |       impl_dyn_cast!(for<T> OnlyDisplayGeneric<T> as Super where {T: 'static} => Super);
[INFO] [stderr]      |       --------------------------------------------------------------------------------- in this macro invocation
[INFO] [stderr]      |
[INFO] [stderr]      = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stderr]      = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]      = 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
[INFO] [stderr]      = 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>
[INFO] [stderr]      = note: this warning originates in the macro `impl_dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stderr]     --> cast_trait_object/src/lib.rs:1641:13
[INFO] [stderr]      |
[INFO] [stderr] 1641 | /             impl< $($lifetime,)* $($generics,)* >
[INFO] [stderr] 1642 | |             $crate::DynCastConfig
[INFO] [stderr] 1643 | |             for
[INFO] [stderr] 1644 | |             $config_type
[INFO] [stderr] ...    |
[INFO] [stderr] 1648 | |                 type Source = dyn $source_trait;
[INFO] [stderr] 1649 | |             }
[INFO] [stderr]      | |_____________^
[INFO] [stderr] ...
[INFO] [stderr] 1769 | /         create_dyn_cast_config!(
[INFO] [stderr] 1770 | |             /// Can have attributes on the generated config struct.
[INFO] [stderr] 1771 | |             #[derive(Clone)]
[INFO] [stderr] 1772 | |             SuperConfig<T, U> = Super<T> => Sub<U>
[INFO] [stderr] 1773 | |         );
[INFO] [stderr]      | |_________- in this macro invocation
[INFO] [stderr]      |
[INFO] [stderr]      = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stderr]      = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]      = 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
[INFO] [stderr]      = 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>
[INFO] [stderr]      = note: this warning originates in the macro `$crate::impl_dyn_cast_config` which comes from the expansion of the macro `create_dyn_cast_config` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stderr]     --> cast_trait_object/src/lib.rs:1651:13
[INFO] [stderr]      |
[INFO] [stderr] 1651 | /             impl< $($lifetime,)* $($generics,)*  __T>
[INFO] [stderr] 1652 | |             $crate::DynCastConfigTargetTest<__T>
[INFO] [stderr] 1653 | |             for
[INFO] [stderr] 1654 | |             $config_type
[INFO] [stderr] ...    |
[INFO] [stderr] 1657 | |                 $($($where)*)?
[INFO] [stderr] 1658 | |             {}
[INFO] [stderr]      | |______________^
[INFO] [stderr] ...
[INFO] [stderr] 1769 | /         create_dyn_cast_config!(
[INFO] [stderr] 1770 | |             /// Can have attributes on the generated config struct.
[INFO] [stderr] 1771 | |             #[derive(Clone)]
[INFO] [stderr] 1772 | |             SuperConfig<T, U> = Super<T> => Sub<U>
[INFO] [stderr] 1773 | |         );
[INFO] [stderr]      | |_________- in this macro invocation
[INFO] [stderr]      |
[INFO] [stderr]      = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stderr]      = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]      = 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
[INFO] [stderr]      = 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>
[INFO] [stderr]      = note: this warning originates in the macro `$crate::impl_dyn_cast_config` which comes from the expansion of the macro `create_dyn_cast_config` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stderr]     --> cast_trait_object/src/lib.rs:1660:13
[INFO] [stderr]      |
[INFO] [stderr] 1660 | /             impl< $($lifetime,)* $($generics,)* >
[INFO] [stderr] 1661 | |             $crate::GetDynCastConfig<dyn $target_trait>
[INFO] [stderr] 1662 | |             for
[INFO] [stderr] 1663 | |             dyn $source_trait
[INFO] [stderr] ...    |
[INFO] [stderr] 1666 | |                 type Config = $config_type;
[INFO] [stderr] 1667 | |             }
[INFO] [stderr]      | |_____________^
[INFO] [stderr] ...
[INFO] [stderr] 1769 | /         create_dyn_cast_config!(
[INFO] [stderr] 1770 | |             /// Can have attributes on the generated config struct.
[INFO] [stderr] 1771 | |             #[derive(Clone)]
[INFO] [stderr] 1772 | |             SuperConfig<T, U> = Super<T> => Sub<U>
[INFO] [stderr] 1773 | |         );
[INFO] [stderr]      | |_________- in this macro invocation
[INFO] [stderr]      |
[INFO] [stderr]      = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stderr]      = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]      = 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
[INFO] [stderr]      = 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>
[INFO] [stderr]      = note: this warning originates in the macro `$crate::impl_dyn_cast_config` which comes from the expansion of the macro `create_dyn_cast_config` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stderr]     --> cast_trait_object/src/lib.rs:1458:13
[INFO] [stderr]      |
[INFO] [stderr] 1458 | /             impl< $($lifetime,)* $($generics,)* >
[INFO] [stderr] 1459 | |             $crate::DynCast<  $config_type  >
[INFO] [stderr] 1460 | |             for
[INFO] [stderr] 1461 | |             $self_type
[INFO] [stderr] ...    |
[INFO] [stderr] 1555 | |                 }
[INFO] [stderr] 1556 | |             }
[INFO] [stderr]      | |_____________^
[INFO] [stderr] ...
[INFO] [stderr] 1776 |           impl_dyn_cast!(for<T> () => SuperConfig<T, T>);
[INFO] [stderr]      |           ---------------------------------------------- in this macro invocation
[INFO] [stderr]      |
[INFO] [stderr]      = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stderr]      = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]      = 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
[INFO] [stderr]      = 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>
[INFO] [stderr]      = note: this warning originates in the macro `impl_dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stderr]     --> cast_trait_object/src/lib.rs:1458:13
[INFO] [stderr]      |
[INFO] [stderr] 1458 | /             impl< $($lifetime,)* $($generics,)* >
[INFO] [stderr] 1459 | |             $crate::DynCast<  $config_type  >
[INFO] [stderr] 1460 | |             for
[INFO] [stderr] 1461 | |             $self_type
[INFO] [stderr] ...    |
[INFO] [stderr] 1555 | |                 }
[INFO] [stderr] 1556 | |             }
[INFO] [stderr]      | |_____________^
[INFO] [stderr] ...
[INFO] [stderr] 1780 |           impl_dyn_cast!(for<T> TestSuper => SuperConfig<T, T>);
[INFO] [stderr]      |           ----------------------------------------------------- in this macro invocation
[INFO] [stderr]      |
[INFO] [stderr]      = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stderr]      = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]      = 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
[INFO] [stderr]      = 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>
[INFO] [stderr]      = note: this warning originates in the macro `impl_dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stderr]     --> cast_trait_object/src/lib.rs:1335:13
[INFO] [stderr]      |
[INFO] [stderr] 1335 | /             impl< $($lifetime,)* $($generics,)* >
[INFO] [stderr] 1336 | |             $crate::DerivedDynCast<
[INFO] [stderr] 1337 | |                 $crate::ConcreteDynCastConfig<
[INFO] [stderr] 1338 | |                     dyn $source_trait,
[INFO] [stderr] ...    |
[INFO] [stderr] 1438 | |                 }
[INFO] [stderr] 1439 | |             }
[INFO] [stderr]      | |_____________^
[INFO] [stderr] ...
[INFO] [stderr] 1785 |           impl_dyn_cast! {for<T> TestSub as Super<T> where {T: core::fmt::Display} => Sub<T>}
[INFO] [stderr]      |           ----------------------------------------------------------------------------------- in this macro invocation
[INFO] [stderr]      |
[INFO] [stderr]      = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stderr]      = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]      = 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
[INFO] [stderr]      = 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>
[INFO] [stderr]      = note: this warning originates in the macro `impl_dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stderr]     --> cast_trait_object/src/lib.rs:1641:13
[INFO] [stderr]      |
[INFO] [stderr] 1641 | /             impl< $($lifetime,)* $($generics,)* >
[INFO] [stderr] 1642 | |             $crate::DynCastConfig
[INFO] [stderr] 1643 | |             for
[INFO] [stderr] 1644 | |             $config_type
[INFO] [stderr] ...    |
[INFO] [stderr] 1648 | |                 type Source = dyn $source_trait;
[INFO] [stderr] 1649 | |             }
[INFO] [stderr]      | |_____________^
[INFO] [stderr] ...
[INFO] [stderr] 1815 |           #[dyn_cast(Sub)]
[INFO] [stderr]      |           ---------------- in this procedural macro expansion
[INFO] [stderr]      |
[INFO] [stderr]      = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stderr]      = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]      = 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
[INFO] [stderr]      = 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>
[INFO] [stderr]      = note: this warning originates in the macro `$crate::impl_dyn_cast_config` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stderr]     --> cast_trait_object/src/lib.rs:1651:13
[INFO] [stderr]      |
[INFO] [stderr] 1651 | /             impl< $($lifetime,)* $($generics,)*  __T>
[INFO] [stderr] 1652 | |             $crate::DynCastConfigTargetTest<__T>
[INFO] [stderr] 1653 | |             for
[INFO] [stderr] 1654 | |             $config_type
[INFO] [stderr] ...    |
[INFO] [stderr] 1657 | |                 $($($where)*)?
[INFO] [stderr] 1658 | |             {}
[INFO] [stderr]      | |______________^
[INFO] [stderr] ...
[INFO] [stderr] 1815 |           #[dyn_cast(Sub)]
[INFO] [stderr]      |           ---------------- in this procedural macro expansion
[INFO] [stderr]      |
[INFO] [stderr]      = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stderr]      = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]      = 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
[INFO] [stderr]      = 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>
[INFO] [stderr]      = note: this warning originates in the macro `$crate::impl_dyn_cast_config` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stderr]     --> cast_trait_object/src/lib.rs:1660:13
[INFO] [stderr]      |
[INFO] [stderr] 1660 | /             impl< $($lifetime,)* $($generics,)* >
[INFO] [stderr] 1661 | |             $crate::GetDynCastConfig<dyn $target_trait>
[INFO] [stderr] 1662 | |             for
[INFO] [stderr] 1663 | |             dyn $source_trait
[INFO] [stderr] ...    |
[INFO] [stderr] 1666 | |                 type Config = $config_type;
[INFO] [stderr] 1667 | |             }
[INFO] [stderr]      | |_____________^
[INFO] [stderr] ...
[INFO] [stderr] 1815 |           #[dyn_cast(Sub)]
[INFO] [stderr]      |           ---------------- in this procedural macro expansion
[INFO] [stderr]      |
[INFO] [stderr]      = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stderr]      = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]      = 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
[INFO] [stderr]      = 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>
[INFO] [stderr]      = note: this warning originates in the macro `$crate::impl_dyn_cast_config` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stderr]     --> cast_trait_object/src/lib.rs:1641:13
[INFO] [stderr]      |
[INFO] [stderr] 1641 | /             impl< $($lifetime,)* $($generics,)* >
[INFO] [stderr] 1642 | |             $crate::DynCastConfig
[INFO] [stderr] 1643 | |             for
[INFO] [stderr] 1644 | |             $config_type
[INFO] [stderr] ...    |
[INFO] [stderr] 1648 | |                 type Source = dyn $source_trait;
[INFO] [stderr] 1649 | |             }
[INFO] [stderr]      | |_____________^
[INFO] [stderr] ...
[INFO] [stderr] 1816 |           #[dyn_upcast]
[INFO] [stderr]      |           ------------- in this procedural macro expansion
[INFO] [stderr]      |
[INFO] [stderr]      = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stderr]      = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]      = 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
[INFO] [stderr]      = 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>
[INFO] [stderr]      = note: this warning originates in the macro `$crate::impl_dyn_cast_config` which comes from the expansion of the attribute macro `dyn_upcast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stderr]     --> cast_trait_object/src/lib.rs:1651:13
[INFO] [stderr]      |
[INFO] [stderr] 1651 | /             impl< $($lifetime,)* $($generics,)*  __T>
[INFO] [stderr] 1652 | |             $crate::DynCastConfigTargetTest<__T>
[INFO] [stderr] 1653 | |             for
[INFO] [stderr] 1654 | |             $config_type
[INFO] [stderr] ...    |
[INFO] [stderr] 1657 | |                 $($($where)*)?
[INFO] [stderr] 1658 | |             {}
[INFO] [stderr]      | |______________^
[INFO] [stderr] ...
[INFO] [stderr] 1816 |           #[dyn_upcast]
[INFO] [stderr]      |           ------------- in this procedural macro expansion
[INFO] [stderr]      |
[INFO] [stderr]      = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stderr]      = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]      = 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
[INFO] [stderr]      = 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>
[INFO] [stderr]      = note: this warning originates in the macro `$crate::impl_dyn_cast_config` which comes from the expansion of the attribute macro `dyn_upcast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stderr]     --> cast_trait_object/src/lib.rs:1660:13
[INFO] [stderr]      |
[INFO] [stderr] 1660 | /             impl< $($lifetime,)* $($generics,)* >
[INFO] [stderr] 1661 | |             $crate::GetDynCastConfig<dyn $target_trait>
[INFO] [stderr] 1662 | |             for
[INFO] [stderr] 1663 | |             dyn $source_trait
[INFO] [stderr] ...    |
[INFO] [stderr] 1666 | |                 type Config = $config_type;
[INFO] [stderr] 1667 | |             }
[INFO] [stderr]      | |_____________^
[INFO] [stderr] ...
[INFO] [stderr] 1816 |           #[dyn_upcast]
[INFO] [stderr]      |           ------------- in this procedural macro expansion
[INFO] [stderr]      |
[INFO] [stderr]      = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stderr]      = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]      = 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
[INFO] [stderr]      = 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>
[INFO] [stderr]      = note: this warning originates in the macro `$crate::impl_dyn_cast_config` which comes from the expansion of the attribute macro `dyn_upcast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stderr]     --> cast_trait_object/src/lib.rs:1458:13
[INFO] [stderr]      |
[INFO] [stderr] 1458 | /             impl< $($lifetime,)* $($generics,)* >
[INFO] [stderr] 1459 | |             $crate::DynCast<  $config_type  >
[INFO] [stderr] 1460 | |             for
[INFO] [stderr] 1461 | |             $self_type
[INFO] [stderr] ...    |
[INFO] [stderr] 1555 | |                 }
[INFO] [stderr] 1556 | |             }
[INFO] [stderr]      | |_____________^
[INFO] [stderr] ...
[INFO] [stderr] 1821 |           #[dyn_upcast(Super)]
[INFO] [stderr]      |           -------------------- in this procedural macro expansion
[INFO] [stderr]      |
[INFO] [stderr]      = help: move this `impl` block outside the of the current closure `<unnameable>` and up 4 bodies
[INFO] [stderr]      = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]      = 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
[INFO] [stderr]      = 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>
[INFO] [stderr]      = note: this warning originates in the macro `$crate::impl_dyn_cast` which comes from the expansion of the attribute macro `dyn_upcast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stderr]     --> cast_trait_object/src/lib.rs:1458:13
[INFO] [stderr]      |
[INFO] [stderr] 1458 | /             impl< $($lifetime,)* $($generics,)* >
[INFO] [stderr] 1459 | |             $crate::DynCast<  $config_type  >
[INFO] [stderr] 1460 | |             for
[INFO] [stderr] 1461 | |             $self_type
[INFO] [stderr] ...    |
[INFO] [stderr] 1555 | |                 }
[INFO] [stderr] 1556 | |             }
[INFO] [stderr]      | |_____________^
[INFO] [stderr] ...
[INFO] [stderr] 1820 |           #[dyn_cast(Super => Sub)]
[INFO] [stderr]      |           ------------------------- in this procedural macro expansion
[INFO] [stderr]      |
[INFO] [stderr]      = help: move this `impl` block outside the of the current closure `<unnameable>` and up 4 bodies
[INFO] [stderr]      = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]      = 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
[INFO] [stderr]      = 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>
[INFO] [stderr]      = note: this warning originates in the macro `$crate::impl_dyn_cast` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stderr]     --> cast_trait_object/src/lib.rs:1458:13
[INFO] [stderr]      |
[INFO] [stderr] 1458 | /             impl< $($lifetime,)* $($generics,)* >
[INFO] [stderr] 1459 | |             $crate::DynCast<  $config_type  >
[INFO] [stderr] 1460 | |             for
[INFO] [stderr] 1461 | |             $self_type
[INFO] [stderr] ...    |
[INFO] [stderr] 1555 | |                 }
[INFO] [stderr] 1556 | |             }
[INFO] [stderr]      | |_____________^
[INFO] [stderr] ...
[INFO] [stderr] 1826 |           #[dyn_upcast(Super)]
[INFO] [stderr]      |           -------------------- in this procedural macro expansion
[INFO] [stderr]      |
[INFO] [stderr]      = help: move this `impl` block outside the of the current closure `<unnameable>` and up 4 bodies
[INFO] [stderr]      = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]      = 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
[INFO] [stderr]      = 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>
[INFO] [stderr]      = note: this warning originates in the macro `$crate::impl_dyn_cast` which comes from the expansion of the attribute macro `dyn_upcast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stderr]     --> cast_trait_object/src/lib.rs:1458:13
[INFO] [stderr]      |
[INFO] [stderr] 1458 | /             impl< $($lifetime,)* $($generics,)* >
[INFO] [stderr] 1459 | |             $crate::DynCast<  $config_type  >
[INFO] [stderr] 1460 | |             for
[INFO] [stderr] 1461 | |             $self_type
[INFO] [stderr] ...    |
[INFO] [stderr] 1555 | |                 }
[INFO] [stderr] 1556 | |             }
[INFO] [stderr]      | |_____________^
[INFO] [stderr] ...
[INFO] [stderr] 1825 |           #[dyn_cast(Super => Sub)]
[INFO] [stderr]      |           ------------------------- in this procedural macro expansion
[INFO] [stderr]      |
[INFO] [stderr]      = help: move this `impl` block outside the of the current closure `<unnameable>` and up 4 bodies
[INFO] [stderr]      = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]      = 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
[INFO] [stderr]      = 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>
[INFO] [stderr]      = note: this warning originates in the macro `$crate::impl_dyn_cast` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stderr]     --> cast_trait_object/src/lib.rs:1641:13
[INFO] [stderr]      |
[INFO] [stderr] 1641 | /             impl< $($lifetime,)* $($generics,)* >
[INFO] [stderr] 1642 | |             $crate::DynCastConfig
[INFO] [stderr] 1643 | |             for
[INFO] [stderr] 1644 | |             $config_type
[INFO] [stderr] ...    |
[INFO] [stderr] 1648 | |                 type Source = dyn $source_trait;
[INFO] [stderr] 1649 | |             }
[INFO] [stderr]      | |_____________^
[INFO] [stderr] ...
[INFO] [stderr] 1834 |               #[dyn_upcast]
[INFO] [stderr]      |               ------------- in this procedural macro expansion
[INFO] [stderr]      |
[INFO] [stderr]      = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stderr]      = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]      = 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
[INFO] [stderr]      = 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>
[INFO] [stderr]      = note: this warning originates in the macro `$crate::impl_dyn_cast_config` which comes from the expansion of the attribute macro `dyn_upcast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stderr]     --> cast_trait_object/src/lib.rs:1651:13
[INFO] [stderr]      |
[INFO] [stderr] 1651 | /             impl< $($lifetime,)* $($generics,)*  __T>
[INFO] [stderr] 1652 | |             $crate::DynCastConfigTargetTest<__T>
[INFO] [stderr] 1653 | |             for
[INFO] [stderr] 1654 | |             $config_type
[INFO] [stderr] ...    |
[INFO] [stderr] 1657 | |                 $($($where)*)?
[INFO] [stderr] 1658 | |             {}
[INFO] [stderr]      | |______________^
[INFO] [stderr] ...
[INFO] [stderr] 1834 |               #[dyn_upcast]
[INFO] [stderr]      |               ------------- in this procedural macro expansion
[INFO] [stderr]      |
[INFO] [stderr]      = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stderr]      = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]      = 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
[INFO] [stderr]      = 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>
[INFO] [stderr]      = note: this warning originates in the macro `$crate::impl_dyn_cast_config` which comes from the expansion of the attribute macro `dyn_upcast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stderr]     --> cast_trait_object/src/lib.rs:1660:13
[INFO] [stderr]      |
[INFO] [stderr] 1660 | /             impl< $($lifetime,)* $($generics,)* >
[INFO] [stderr] 1661 | |             $crate::GetDynCastConfig<dyn $target_trait>
[INFO] [stderr] 1662 | |             for
[INFO] [stderr] 1663 | |             dyn $source_trait
[INFO] [stderr] ...    |
[INFO] [stderr] 1666 | |                 type Config = $config_type;
[INFO] [stderr] 1667 | |             }
[INFO] [stderr]      | |_____________^
[INFO] [stderr] ...
[INFO] [stderr] 1834 |               #[dyn_upcast]
[INFO] [stderr]      |               ------------- in this procedural macro expansion
[INFO] [stderr]      |
[INFO] [stderr]      = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stderr]      = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]      = 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
[INFO] [stderr]      = 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>
[INFO] [stderr]      = note: this warning originates in the macro `$crate::impl_dyn_cast_config` which comes from the expansion of the attribute macro `dyn_upcast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stderr]     --> cast_trait_object/src/lib.rs:1641:13
[INFO] [stderr]      |
[INFO] [stderr] 1641 | /             impl< $($lifetime,)* $($generics,)* >
[INFO] [stderr] 1642 | |             $crate::DynCastConfig
[INFO] [stderr] 1643 | |             for
[INFO] [stderr] 1644 | |             $config_type
[INFO] [stderr] ...    |
[INFO] [stderr] 1648 | |                 type Source = dyn $source_trait;
[INFO] [stderr] 1649 | |             }
[INFO] [stderr]      | |_____________^
[INFO] [stderr] ...
[INFO] [stderr] 1835 |               #[dyn_cast(Sub<T>)]
[INFO] [stderr]      |               ------------------- in this procedural macro expansion
[INFO] [stderr]      |
[INFO] [stderr]      = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stderr]      = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]      = 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
[INFO] [stderr]      = 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>
[INFO] [stderr]      = note: this warning originates in the macro `$crate::impl_dyn_cast_config` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stderr]     --> cast_trait_object/src/lib.rs:1651:13
[INFO] [stderr]      |
[INFO] [stderr] 1651 | /             impl< $($lifetime,)* $($generics,)*  __T>
[INFO] [stderr] 1652 | |             $crate::DynCastConfigTargetTest<__T>
[INFO] [stderr] 1653 | |             for
[INFO] [stderr] 1654 | |             $config_type
[INFO] [stderr] ...    |
[INFO] [stderr] 1657 | |                 $($($where)*)?
[INFO] [stderr] 1658 | |             {}
[INFO] [stderr]      | |______________^
[INFO] [stderr] ...
[INFO] [stderr] 1835 |               #[dyn_cast(Sub<T>)]
[INFO] [stderr]      |               ------------------- in this procedural macro expansion
[INFO] [stderr]      |
[INFO] [stderr]      = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stderr]      = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]      = 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
[INFO] [stderr]      = 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>
[INFO] [stderr]      = note: this warning originates in the macro `$crate::impl_dyn_cast_config` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stderr]     --> cast_trait_object/src/lib.rs:1660:13
[INFO] [stderr]      |
[INFO] [stderr] 1660 | /             impl< $($lifetime,)* $($generics,)* >
[INFO] [stderr] 1661 | |             $crate::GetDynCastConfig<dyn $target_trait>
[INFO] [stderr] 1662 | |             for
[INFO] [stderr] 1663 | |             dyn $source_trait
[INFO] [stderr] ...    |
[INFO] [stderr] 1666 | |                 type Config = $config_type;
[INFO] [stderr] 1667 | |             }
[INFO] [stderr]      | |_____________^
[INFO] [stderr] ...
[INFO] [stderr] 1835 |               #[dyn_cast(Sub<T>)]
[INFO] [stderr]      |               ------------------- in this procedural macro expansion
[INFO] [stderr]      |
[INFO] [stderr]      = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stderr]      = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]      = 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
[INFO] [stderr]      = 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>
[INFO] [stderr]      = note: this warning originates in the macro `$crate::impl_dyn_cast_config` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stderr]     --> cast_trait_object/src/lib.rs:1335:13
[INFO] [stderr]      |
[INFO] [stderr] 1335 | /             impl< $($lifetime,)* $($generics,)* >
[INFO] [stderr] 1336 | |             $crate::DerivedDynCast<
[INFO] [stderr] 1337 | |                 $crate::ConcreteDynCastConfig<
[INFO] [stderr] 1338 | |                     dyn $source_trait,
[INFO] [stderr] ...    |
[INFO] [stderr] 1438 | |                 }
[INFO] [stderr] 1439 | |             }
[INFO] [stderr]      | |_____________^
[INFO] [stderr] ...
[INFO] [stderr] 1840 |               #[dyn_upcast]
[INFO] [stderr]      |               ------------- in this procedural macro expansion
[INFO] [stderr]      |
[INFO] [stderr]      = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stderr]      = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]      = 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
[INFO] [stderr]      = 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>
[INFO] [stderr]      = note: this warning originates in the macro `crate::impl_dyn_cast` which comes from the expansion of the attribute macro `dyn_upcast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stderr]     --> cast_trait_object/src/lib.rs:1335:13
[INFO] [stderr]      |
[INFO] [stderr] 1335 | /             impl< $($lifetime,)* $($generics,)* >
[INFO] [stderr] 1336 | |             $crate::DerivedDynCast<
[INFO] [stderr] 1337 | |                 $crate::ConcreteDynCastConfig<
[INFO] [stderr] 1338 | |                     dyn $source_trait,
[INFO] [stderr] ...    |
[INFO] [stderr] 1438 | |                 }
[INFO] [stderr] 1439 | |             }
[INFO] [stderr]      | |_____________^
[INFO] [stderr] ...
[INFO] [stderr] 1839 |               #[dyn_cast(Sub<T>)]
[INFO] [stderr]      |               ------------------- in this procedural macro expansion
[INFO] [stderr]      |
[INFO] [stderr]      = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stderr]      = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]      = 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
[INFO] [stderr]      = 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>
[INFO] [stderr]      = note: this warning originates in the macro `crate::impl_dyn_cast` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stderr]     --> cast_trait_object/src/lib.rs:1335:13
[INFO] [stderr]      |
[INFO] [stderr] 1335 | /             impl< $($lifetime,)* $($generics,)* >
[INFO] [stderr] 1336 | |             $crate::DerivedDynCast<
[INFO] [stderr] 1337 | |                 $crate::ConcreteDynCastConfig<
[INFO] [stderr] 1338 | |                     dyn $source_trait,
[INFO] [stderr] ...    |
[INFO] [stderr] 1438 | |                 }
[INFO] [stderr] 1439 | |             }
[INFO] [stderr]      | |_____________^
[INFO] [stderr] ...
[INFO] [stderr] 1846 |               #[dyn_cast(Sub<T>)]
[INFO] [stderr]      |               ------------------- in this procedural macro expansion
[INFO] [stderr]      |
[INFO] [stderr]      = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stderr]      = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]      = 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
[INFO] [stderr]      = 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>
[INFO] [stderr]      = note: this warning originates in the macro `crate::impl_dyn_cast` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stderr]     --> cast_trait_object/src/lib.rs:1335:13
[INFO] [stderr]      |
[INFO] [stderr] 1335 | /             impl< $($lifetime,)* $($generics,)* >
[INFO] [stderr] 1336 | |             $crate::DerivedDynCast<
[INFO] [stderr] 1337 | |                 $crate::ConcreteDynCastConfig<
[INFO] [stderr] 1338 | |                     dyn $source_trait,
[INFO] [stderr] ...    |
[INFO] [stderr] 1438 | |                 }
[INFO] [stderr] 1439 | |             }
[INFO] [stderr]      | |_____________^
[INFO] [stderr] ...
[INFO] [stderr] 1845 |               #[dyn_upcast]
[INFO] [stderr]      |               ------------- in this procedural macro expansion
[INFO] [stderr]      |
[INFO] [stderr]      = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stderr]      = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]      = 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
[INFO] [stderr]      = 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>
[INFO] [stderr]      = note: this warning originates in the macro `crate::impl_dyn_cast` which comes from the expansion of the attribute macro `dyn_upcast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stderr]     --> cast_trait_object/src/lib.rs:1335:13
[INFO] [stderr]      |
[INFO] [stderr] 1335 | /             impl< $($lifetime,)* $($generics,)* >
[INFO] [stderr] 1336 | |             $crate::DerivedDynCast<
[INFO] [stderr] 1337 | |                 $crate::ConcreteDynCastConfig<
[INFO] [stderr] 1338 | |                     dyn $source_trait,
[INFO] [stderr] ...    |
[INFO] [stderr] 1438 | |                 }
[INFO] [stderr] 1439 | |             }
[INFO] [stderr]      | |_____________^
[INFO] [stderr] ...
[INFO] [stderr] 1851 |               #[dyn_cast(Sub<T>)]
[INFO] [stderr]      |               ------------------- in this procedural macro expansion
[INFO] [stderr]      |
[INFO] [stderr]      = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stderr]      = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]      = 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
[INFO] [stderr]      = 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>
[INFO] [stderr]      = note: this warning originates in the macro `crate::impl_dyn_cast` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stderr]     --> cast_trait_object/src/lib.rs:1335:13
[INFO] [stderr]      |
[INFO] [stderr] 1335 | /             impl< $($lifetime,)* $($generics,)* >
[INFO] [stderr] 1336 | |             $crate::DerivedDynCast<
[INFO] [stderr] 1337 | |                 $crate::ConcreteDynCastConfig<
[INFO] [stderr] 1338 | |                     dyn $source_trait,
[INFO] [stderr] ...    |
[INFO] [stderr] 1438 | |                 }
[INFO] [stderr] 1439 | |             }
[INFO] [stderr]      | |_____________^
[INFO] [stderr] ...
[INFO] [stderr] 1850 |               #[dyn_upcast]
[INFO] [stderr]      |               ------------- in this procedural macro expansion
[INFO] [stderr]      |
[INFO] [stderr]      = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stderr]      = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]      = 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
[INFO] [stderr]      = 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>
[INFO] [stderr]      = note: this warning originates in the macro `crate::impl_dyn_cast` which comes from the expansion of the attribute macro `dyn_upcast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: `cast_trait_object` (lib test) generated 46 warnings (2 duplicates)
[INFO] [stderr] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stderr]   --> external_tests/src/lib.rs:25:5
[INFO] [stderr]    |
[INFO] [stderr] 25 |     #[dyn_cast(Sub, Sub2, SubSub)]
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stderr]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = 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
[INFO] [stderr]    = 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>
[INFO] [stderr]    = note: the macro `::cast_trait_object::impl_dyn_cast_config` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stderr]    = note: `#[warn(non_local_definitions)]` on by default
[INFO] [stderr]    = note: this warning originates in the macro `::cast_trait_object::impl_dyn_cast_config` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stderr]   --> external_tests/src/lib.rs:25:5
[INFO] [stderr]    |
[INFO] [stderr] 25 |     #[dyn_cast(Sub, Sub2, SubSub)]
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stderr]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = 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
[INFO] [stderr]    = 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>
[INFO] [stderr]    = note: the macro `::cast_trait_object::impl_dyn_cast_config` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stderr]    = note: this warning originates in the macro `::cast_trait_object::impl_dyn_cast_config` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stderr]   --> external_tests/src/lib.rs:26:5
[INFO] [stderr]    |
[INFO] [stderr] 26 |     #[dyn_upcast]
[INFO] [stderr]    |     ^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stderr]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = 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
[INFO] [stderr]    = 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>
[INFO] [stderr]    = note: the macro `::cast_trait_object::impl_dyn_cast_config` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stderr]    = note: this warning originates in the macro `::cast_trait_object::impl_dyn_cast_config` which comes from the expansion of the attribute macro `dyn_upcast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stderr]   --> external_tests/src/lib.rs:48:5
[INFO] [stderr]    |
[INFO] [stderr] 48 |     #[cfg_attr(feature = "proc-macros", dyn_upcast)]
[INFO] [stderr]    |     ^
[INFO] [stderr]    |
[INFO] [stderr]    = help: move this `impl` block outside the of the current closure `<unnameable>` and up 4 bodies
[INFO] [stderr]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = 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
[INFO] [stderr]    = 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>
[INFO] [stderr]    = note: the macro `$crate::impl_dyn_cast` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stderr]    = note: this warning originates in the macro `$crate::impl_dyn_cast` which comes from the expansion of the attribute macro `dyn_upcast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stderr]   --> external_tests/src/lib.rs:47:41
[INFO] [stderr]    |
[INFO] [stderr] 47 |     #[cfg_attr(feature = "proc-macros", dyn_cast(Sub, Sub2, SubSub))]
[INFO] [stderr]    |                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = help: move this `impl` block outside the of the current closure `<unnameable>` and up 4 bodies
[INFO] [stderr]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = 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
[INFO] [stderr]    = 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>
[INFO] [stderr]    = note: the macro `$crate::impl_dyn_cast` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stderr]    = note: this warning originates in the macro `$crate::impl_dyn_cast` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stderr]   --> external_tests/src/lib.rs:54:41
[INFO] [stderr]    |
[INFO] [stderr] 54 |     #[cfg_attr(feature = "proc-macros", dyn_cast(Sub, Sub2, SubSub, Super))]
[INFO] [stderr]    |                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = help: move this `impl` block outside the of the current closure `<unnameable>` and up 4 bodies
[INFO] [stderr]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = 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
[INFO] [stderr]    = 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>
[INFO] [stderr]    = note: the macro `$crate::impl_dyn_cast` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stderr]    = note: this warning originates in the macro `$crate::impl_dyn_cast` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stderr]   --> external_tests/src/lib.rs:61:5
[INFO] [stderr]    |
[INFO] [stderr] 61 |     #[cfg_attr(feature = "proc-macros", dyn_upcast(Super))]
[INFO] [stderr]    |     ^
[INFO] [stderr]    |
[INFO] [stderr]    = help: move this `impl` block outside the of the current closure `<unnameable>` and up 4 bodies
[INFO] [stderr]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = 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
[INFO] [stderr]    = 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>
[INFO] [stderr]    = note: the macro `$crate::impl_dyn_cast` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stderr]    = note: this warning originates in the macro `$crate::impl_dyn_cast` which comes from the expansion of the attribute macro `dyn_upcast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stderr]   --> external_tests/src/lib.rs:60:41
[INFO] [stderr]    |
[INFO] [stderr] 60 |     #[cfg_attr(feature = "proc-macros", dyn_cast(Super => Sub, Sub2, SubSub))]
[INFO] [stderr]    |                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = help: move this `impl` block outside the of the current closure `<unnameable>` and up 4 bodies
[INFO] [stderr]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = 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
[INFO] [stderr]    = 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>
[INFO] [stderr]    = note: the macro `$crate::impl_dyn_cast` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stderr]    = note: this warning originates in the macro `$crate::impl_dyn_cast` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stderr]   --> external_tests/src/lib.rs:69:41
[INFO] [stderr]    |
[INFO] [stderr] 69 |     #[cfg_attr(feature = "proc-macros", dyn_cast(Super => Sub, Sub2, SubSub, Super))]
[INFO] [stderr]    |                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = help: move this `impl` block outside the of the current closure `<unnameable>` and up 4 bodies
[INFO] [stderr]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = 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
[INFO] [stderr]    = 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>
[INFO] [stderr]    = note: the macro `$crate::impl_dyn_cast` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stderr]    = note: this warning originates in the macro `$crate::impl_dyn_cast` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stderr]   --> external_tests/src/lib.rs:83:5
[INFO] [stderr]    |
[INFO] [stderr] 83 |     #[dyn_cast(Sub)]
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stderr]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = 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
[INFO] [stderr]    = 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>
[INFO] [stderr]    = note: the macro `$crate::impl_dyn_cast_config` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stderr]    = note: this warning originates in the macro `$crate::impl_dyn_cast_config` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stderr]   --> external_tests/src/lib.rs:84:5
[INFO] [stderr]    |
[INFO] [stderr] 84 |     #[dyn_upcast]
[INFO] [stderr]    |     ^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stderr]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = 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
[INFO] [stderr]    = 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>
[INFO] [stderr]    = note: the macro `$crate::impl_dyn_cast_config` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stderr]    = note: this warning originates in the macro `$crate::impl_dyn_cast_config` which comes from the expansion of the attribute macro `dyn_upcast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stderr]   --> external_tests/src/lib.rs:89:5
[INFO] [stderr]    |
[INFO] [stderr] 89 |     #[dyn_upcast(Super)]
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = help: move this `impl` block outside the of the current closure `<unnameable>` and up 4 bodies
[INFO] [stderr]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = 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
[INFO] [stderr]    = 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>
[INFO] [stderr]    = note: the macro `$crate::impl_dyn_cast` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stderr]    = note: this warning originates in the macro `$crate::impl_dyn_cast` which comes from the expansion of the attribute macro `dyn_upcast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stderr]   --> external_tests/src/lib.rs:88:5
[INFO] [stderr]    |
[INFO] [stderr] 88 |     #[dyn_cast(Super => Sub)]
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = help: move this `impl` block outside the of the current closure `<unnameable>` and up 4 bodies
[INFO] [stderr]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = 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
[INFO] [stderr]    = 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>
[INFO] [stderr]    = note: the macro `$crate::impl_dyn_cast` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stderr]    = note: this warning originates in the macro `$crate::impl_dyn_cast` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stderr]   --> external_tests/src/lib.rs:94:5
[INFO] [stderr]    |
[INFO] [stderr] 94 |     #[dyn_upcast(Super)]
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = help: move this `impl` block outside the of the current closure `<unnameable>` and up 4 bodies
[INFO] [stderr]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = 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
[INFO] [stderr]    = 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>
[INFO] [stderr]    = note: the macro `$crate::impl_dyn_cast` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stderr]    = note: this warning originates in the macro `$crate::impl_dyn_cast` which comes from the expansion of the attribute macro `dyn_upcast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stderr]   --> external_tests/src/lib.rs:93:5
[INFO] [stderr]    |
[INFO] [stderr] 93 |     #[dyn_cast(Super => Sub)]
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = help: move this `impl` block outside the of the current closure `<unnameable>` and up 4 bodies
[INFO] [stderr]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = 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
[INFO] [stderr]    = 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>
[INFO] [stderr]    = note: the macro `$crate::impl_dyn_cast` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stderr]    = note: this warning originates in the macro `$crate::impl_dyn_cast` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stderr]    --> external_tests/src/lib.rs:110:9
[INFO] [stderr]     |
[INFO] [stderr] 110 |         #[dyn_upcast]
[INFO] [stderr]     |         ^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stderr]     = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]     = 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
[INFO] [stderr]     = 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>
[INFO] [stderr]     = note: the macro `$crate::impl_dyn_cast_config` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stderr]     = note: this warning originates in the macro `$crate::impl_dyn_cast_config` which comes from the expansion of the attribute macro `dyn_upcast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stderr]    --> external_tests/src/lib.rs:111:9
[INFO] [stderr]     |
[INFO] [stderr] 111 |         #[dyn_cast(Sub<T>)]
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stderr]     = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]     = 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
[INFO] [stderr]     = 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>
[INFO] [stderr]     = note: the macro `$crate::impl_dyn_cast_config` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stderr]     = note: this warning originates in the macro `$crate::impl_dyn_cast_config` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stderr]    --> external_tests/src/lib.rs:125:9
[INFO] [stderr]     |
[INFO] [stderr] 125 |         #[dyn_cast(Sub<T>)]
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stderr]     = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]     = 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
[INFO] [stderr]     = 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>
[INFO] [stderr]     = note: the macro `::cast_trait_object::impl_dyn_cast` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stderr]     = note: this warning originates in the macro `::cast_trait_object::impl_dyn_cast` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stderr]    --> external_tests/src/lib.rs:124:9
[INFO] [stderr]     |
[INFO] [stderr] 124 |         #[dyn_upcast]
[INFO] [stderr]     |         ^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stderr]     = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]     = 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
[INFO] [stderr]     = 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>
[INFO] [stderr]     = note: the macro `::cast_trait_object::impl_dyn_cast` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stderr]     = note: this warning originates in the macro `::cast_trait_object::impl_dyn_cast` which comes from the expansion of the attribute macro `dyn_upcast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stderr]    --> external_tests/src/lib.rs:130:9
[INFO] [stderr]     |
[INFO] [stderr] 130 |         #[dyn_cast(Sub<T>)]
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stderr]     = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]     = 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
[INFO] [stderr]     = 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>
[INFO] [stderr]     = note: the macro `::cast_trait_object::impl_dyn_cast` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stderr]     = note: this warning originates in the macro `::cast_trait_object::impl_dyn_cast` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stderr]    --> external_tests/src/lib.rs:129:9
[INFO] [stderr]     |
[INFO] [stderr] 129 |         #[dyn_upcast]
[INFO] [stderr]     |         ^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stderr]     = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]     = 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
[INFO] [stderr]     = 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>
[INFO] [stderr]     = note: the macro `::cast_trait_object::impl_dyn_cast` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stderr]     = note: this warning originates in the macro `::cast_trait_object::impl_dyn_cast` which comes from the expansion of the attribute macro `dyn_upcast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stderr]    --> external_tests/src/lib.rs:139:9
[INFO] [stderr]     |
[INFO] [stderr] 139 |         #[dyn_cast(Sub<Item = Test>)]
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stderr]     = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]     = 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
[INFO] [stderr]     = 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>
[INFO] [stderr]     = note: the macro `$crate::impl_dyn_cast_config` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stderr]     = note: this warning originates in the macro `$crate::impl_dyn_cast_config` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stderr]    --> external_tests/src/lib.rs:140:9
[INFO] [stderr]     |
[INFO] [stderr] 140 |         #[dyn_cast(Sub<Item = ()>)]
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stderr]     = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]     = 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
[INFO] [stderr]     = 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>
[INFO] [stderr]     = note: the macro `$crate::impl_dyn_cast_config` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stderr]     = note: this warning originates in the macro `$crate::impl_dyn_cast_config` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stderr]    --> external_tests/src/lib.rs:143:9
[INFO] [stderr]     |
[INFO] [stderr] 143 |         #[dyn_cast(Sub<Item = ()>)]
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = help: move this `impl` block outside the of the current closure `<unnameable>` and up 4 bodies
[INFO] [stderr]     = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]     = 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
[INFO] [stderr]     = 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>
[INFO] [stderr]     = note: the macro `$crate::impl_dyn_cast` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stderr]     = note: this warning originates in the macro `$crate::impl_dyn_cast` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stderr]    --> external_tests/src/lib.rs:142:9
[INFO] [stderr]     |
[INFO] [stderr] 142 |         #[dyn_cast(Sub<Item = Test>)]
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = help: move this `impl` block outside the of the current closure `<unnameable>` and up 4 bodies
[INFO] [stderr]     = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]     = 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
[INFO] [stderr]     = 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>
[INFO] [stderr]     = note: the macro `$crate::impl_dyn_cast` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stderr]     = note: this warning originates in the macro `$crate::impl_dyn_cast` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: `external_tests` (lib) generated 56 warnings (31 duplicates)
[INFO] [stderr] warning: `external_tests` (lib test) generated 56 warnings (56 duplicates)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.11s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/cast_trait_object-d3c3c4f0479ffc5e)
[INFO] [stdout] 
[INFO] [stdout] running 2 tests
[INFO] [stdout] test tests::cast_to_generic_trait_object ... ok
[INFO] [stdout] test tests::generic_impl ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/cast_trait_object_macros-9fb9bf338150a7dd)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/external_tests-2d4091e2fa281c3e)
[INFO] [stdout] 
[INFO] [stdout] running 7 tests
[INFO] [stdout] test tests::sub_to_super ... ok
[INFO] [stdout] test tests::super_to_sub ... ok
[INFO] [stdout] test tests::test_super_to_sub ... ok
[INFO] [stdout] test tests::super_to_sub_alloc ... ok
[INFO] [stdout] test tests::super_to_sub2_fail ... ok
[INFO] [stdout] test tests::super_to_sub2 ... ok
[INFO] [stdout] test with_macros::associated_type::it_works ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 7 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests cast_trait_object
[INFO] [stderr] warning: lint `broken_intra_doc_links` has been renamed to `rustdoc::broken_intra_doc_links`
[INFO] [stderr]    --> cast_trait_object/src/lib.rs:408:9
[INFO] [stderr]     |
[INFO] [stderr] 408 | #![deny(broken_intra_doc_links)]
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^^^^^^ help: use the new name: `rustdoc::broken_intra_doc_links`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(renamed_and_removed_lints)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: 1 warning emitted
[INFO] [stderr] 
[INFO] [stdout] 
[INFO] [stdout] running 16 tests
[INFO] [stdout] test cast_trait_object/src/lib.rs - (line 22) ... FAILED
[INFO] [stdout] test cast_trait_object/src/lib.rs - (line 143) ... FAILED
[INFO] [stdout] test cast_trait_object/src/lib.rs - (line 48) ... FAILED
[INFO] [stdout] test cast_trait_object/src/lib.rs - (line 69) ... FAILED
[INFO] [stdout] test cast_trait_object/src/lib.rs - (line 193) ... FAILED
[INFO] [stdout] test cast_trait_object/src/lib.rs - (line 104) ... FAILED
[INFO] [stdout] test cast_trait_object/src/lib.rs - DynCastExt::dyn_cast (line 734) ... FAILED
[INFO] [stdout] test cast_trait_object/src/lib.rs - DynCastExt::dyn_cast_adv (line 796) ... FAILED
[INFO] [stdout] test cast_trait_object/src/lib.rs - DynCastExt::dyn_upcast (line 765) ... FAILED
[INFO] [stdout] test cast_trait_object/src/lib.rs - dyn_cast (line 509) ... FAILED
[INFO] [stdout] test cast_trait_object/src/lib.rs - DynCastExt::dyn_cast_with_config (line 837) ... FAILED
[INFO] [stdout] test cast_trait_object/src/lib.rs - dyn_cast (line 532) ... FAILED
[INFO] [stdout] test cast_trait_object/src/lib.rs - dyn_upcast (line 457) ... FAILED
[INFO] [stdout] test cast_trait_object/src/lib.rs - dyn_upcast (line 480) ... FAILED
[INFO] [stdout] test cast_trait_object/src/lib.rs - (line 297) ... ok
[INFO] [stdout] test cast_trait_object/src/lib.rs - (line 244) ... ok
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- cast_trait_object/src/lib.rs - (line 22) stdout ----
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]  --> cast_trait_object/src/lib.rs:25:1
[INFO] [stdout]   |
[INFO] [stdout] 6 | create_dyn_cast_config!(SuperToSubCast = Super => Sub);
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = help: move this `impl` block outside the of the current closure `<unnameable>` and up 6 bodies
[INFO] [stdout]   = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]   = 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
[INFO] [stdout]   = 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>
[INFO] [stdout]   = note: the macro `$crate::impl_dyn_cast_config` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout] note: the lint level is defined here
[INFO] [stdout]  --> cast_trait_object/src/lib.rs:20:9
[INFO] [stdout]   |
[INFO] [stdout] 1 | #![deny(warnings, rust_2018_idioms)]
[INFO] [stdout]   |         ^^^^^^^^
[INFO] [stdout]   = note: `#[deny(non_local_definitions)]` implied by `#[deny(warnings)]`
[INFO] [stdout]   = note: this error originates in the macro `$crate::impl_dyn_cast_config` which comes from the expansion of the macro `create_dyn_cast_config` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]  --> cast_trait_object/src/lib.rs:25:1
[INFO] [stdout]   |
[INFO] [stdout] 6 | create_dyn_cast_config!(SuperToSubCast = Super => Sub);
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = help: move this `impl` block outside the of the current closure `<unnameable>` and up 6 bodies
[INFO] [stdout]   = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]   = 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
[INFO] [stdout]   = 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>
[INFO] [stdout]   = note: the macro `$crate::impl_dyn_cast_config` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]   = note: this error originates in the macro `$crate::impl_dyn_cast_config` which comes from the expansion of the macro `create_dyn_cast_config` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]  --> cast_trait_object/src/lib.rs:25:1
[INFO] [stdout]   |
[INFO] [stdout] 6 | create_dyn_cast_config!(SuperToSubCast = Super => Sub);
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = help: move this `impl` block outside the of the current closure `<unnameable>` and up 6 bodies
[INFO] [stdout]   = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]   = 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
[INFO] [stdout]   = 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>
[INFO] [stdout]   = note: the macro `$crate::impl_dyn_cast_config` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]   = note: this error originates in the macro `$crate::impl_dyn_cast_config` which comes from the expansion of the macro `create_dyn_cast_config` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]  --> cast_trait_object/src/lib.rs:26:1
[INFO] [stdout]   |
[INFO] [stdout] 7 | create_dyn_cast_config!(SuperUpcast = Super => Super);
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = help: move this `impl` block outside the of the current closure `<unnameable>` and up 6 bodies
[INFO] [stdout]   = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]   = 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
[INFO] [stdout]   = 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>
[INFO] [stdout]   = note: the macro `$crate::impl_dyn_cast_config` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]   = note: this error originates in the macro `$crate::impl_dyn_cast_config` which comes from the expansion of the macro `create_dyn_cast_config` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]  --> cast_trait_object/src/lib.rs:26:1
[INFO] [stdout]   |
[INFO] [stdout] 7 | create_dyn_cast_config!(SuperUpcast = Super => Super);
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = help: move this `impl` block outside the of the current closure `<unnameable>` and up 6 bodies
[INFO] [stdout]   = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]   = 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
[INFO] [stdout]   = 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>
[INFO] [stdout]   = note: the macro `$crate::impl_dyn_cast_config` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]   = note: this error originates in the macro `$crate::impl_dyn_cast_config` which comes from the expansion of the macro `create_dyn_cast_config` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]  --> cast_trait_object/src/lib.rs:26:1
[INFO] [stdout]   |
[INFO] [stdout] 7 | create_dyn_cast_config!(SuperUpcast = Super => Super);
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = help: move this `impl` block outside the of the current closure `<unnameable>` and up 6 bodies
[INFO] [stdout]   = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]   = 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
[INFO] [stdout]   = 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>
[INFO] [stdout]   = note: the macro `$crate::impl_dyn_cast_config` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]   = note: this error originates in the macro `$crate::impl_dyn_cast_config` which comes from the expansion of the macro `create_dyn_cast_config` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> cast_trait_object/src/lib.rs:33:1
[INFO] [stdout]    |
[INFO] [stdout] 14 | impl_dyn_cast!(Foo as Super => Sub, Super);
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current closure `<unnameable>` and up 6 bodies
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = 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
[INFO] [stdout]    = 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>
[INFO] [stdout]    = note: the macro `$crate::impl_dyn_cast` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]    = note: this error originates in the macro `$crate::impl_dyn_cast` which comes from the expansion of the macro `impl_dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> cast_trait_object/src/lib.rs:33:1
[INFO] [stdout]    |
[INFO] [stdout] 14 | impl_dyn_cast!(Foo as Super => Sub, Super);
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current closure `<unnameable>` and up 6 bodies
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = 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
[INFO] [stdout]    = 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>
[INFO] [stdout]    = note: the macro `$crate::impl_dyn_cast` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]    = note: this error originates in the macro `$crate::impl_dyn_cast` which comes from the expansion of the macro `impl_dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 8 previous errors
[INFO] [stdout] 
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- cast_trait_object/src/lib.rs - (line 143) stdout ----
[INFO] [stdout] error: fields `0`, `1`, and `2` are never read
[INFO] [stdout]   --> cast_trait_object/src/lib.rs:165:14
[INFO] [stdout]    |
[INFO] [stdout] 24 | struct Color(u8, u8, u8);
[INFO] [stdout]    |        ----- ^^  ^^  ^^
[INFO] [stdout]    |        |
[INFO] [stdout]    |        fields in this struct
[INFO] [stdout]    |
[INFO] [stdout] note: the lint level is defined here
[INFO] [stdout]   --> cast_trait_object/src/lib.rs:142:9
[INFO] [stdout]    |
[INFO] [stdout] 1  | #![deny(warnings, rust_2018_idioms)]
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout]    = note: `#[deny(dead_code)]` implied by `#[deny(warnings)]`
[INFO] [stdout] help: consider changing the fields to be of unit type to suppress this warning while preserving the field numbering, or remove the fields
[INFO] [stdout]    |
[INFO] [stdout] 24 | struct Color((), (), ());
[INFO] [stdout]    |              ~~  ~~  ~~
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> cast_trait_object/src/lib.rs:159:1
[INFO] [stdout]    |
[INFO] [stdout] 18 | #[dyn_cast(Sub<T>)]
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current closure `<unnameable>` and up 3 bodies
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = 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
[INFO] [stdout]    = 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>
[INFO] [stdout]    = note: the macro `$crate::impl_dyn_cast_config` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]    = note: `#[deny(non_local_definitions)]` implied by `#[deny(warnings)]`
[INFO] [stdout]    = note: this error originates in the macro `$crate::impl_dyn_cast_config` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> cast_trait_object/src/lib.rs:159:1
[INFO] [stdout]    |
[INFO] [stdout] 18 | #[dyn_cast(Sub<T>)]
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current closure `<unnameable>` and up 3 bodies
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = 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
[INFO] [stdout]    = 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>
[INFO] [stdout]    = note: the macro `$crate::impl_dyn_cast_config` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]    = note: this error originates in the macro `$crate::impl_dyn_cast_config` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> cast_trait_object/src/lib.rs:159:1
[INFO] [stdout]    |
[INFO] [stdout] 18 | #[dyn_cast(Sub<T>)]
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current closure `<unnameable>` and up 3 bodies
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = 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
[INFO] [stdout]    = 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>
[INFO] [stdout]    = note: the macro `$crate::impl_dyn_cast_config` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]    = note: this error originates in the macro `$crate::impl_dyn_cast_config` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> cast_trait_object/src/lib.rs:160:1
[INFO] [stdout]    |
[INFO] [stdout] 19 | #[dyn_upcast]
[INFO] [stdout]    | ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current closure `<unnameable>` and up 3 bodies
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = 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
[INFO] [stdout]    = 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>
[INFO] [stdout]    = note: the macro `$crate::impl_dyn_cast_config` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]    = note: this error originates in the macro `$crate::impl_dyn_cast_config` which comes from the expansion of the attribute macro `dyn_upcast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> cast_trait_object/src/lib.rs:160:1
[INFO] [stdout]    |
[INFO] [stdout] 19 | #[dyn_upcast]
[INFO] [stdout]    | ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current closure `<unnameable>` and up 3 bodies
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = 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
[INFO] [stdout]    = 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>
[INFO] [stdout]    = note: the macro `$crate::impl_dyn_cast_config` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]    = note: this error originates in the macro `$crate::impl_dyn_cast_config` which comes from the expansion of the attribute macro `dyn_upcast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> cast_trait_object/src/lib.rs:160:1
[INFO] [stdout]    |
[INFO] [stdout] 19 | #[dyn_upcast]
[INFO] [stdout]    | ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current closure `<unnameable>` and up 3 bodies
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = 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
[INFO] [stdout]    = 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>
[INFO] [stdout]    = note: the macro `$crate::impl_dyn_cast_config` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]    = note: this error originates in the macro `$crate::impl_dyn_cast_config` which comes from the expansion of the attribute macro `dyn_upcast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> cast_trait_object/src/lib.rs:167:1
[INFO] [stdout]    |
[INFO] [stdout] 26 | #[dyn_upcast]
[INFO] [stdout]    | ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current closure `<unnameable>` and up 3 bodies
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = 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
[INFO] [stdout]    = 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>
[INFO] [stdout]    = note: the macro `crate::impl_dyn_cast` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]    = note: this error originates in the macro `crate::impl_dyn_cast` which comes from the expansion of the attribute macro `dyn_upcast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> cast_trait_object/src/lib.rs:166:1
[INFO] [stdout]    |
[INFO] [stdout] 25 | #[dyn_cast(Sub<T>)]
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current closure `<unnameable>` and up 3 bodies
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = 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
[INFO] [stdout]    = 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>
[INFO] [stdout]    = note: the macro `crate::impl_dyn_cast` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]    = note: this error originates in the macro `crate::impl_dyn_cast` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> cast_trait_object/src/lib.rs:173:1
[INFO] [stdout]    |
[INFO] [stdout] 32 | #[dyn_upcast]
[INFO] [stdout]    | ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current closure `<unnameable>` and up 3 bodies
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = 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
[INFO] [stdout]    = 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>
[INFO] [stdout]    = note: the macro `crate::impl_dyn_cast` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]    = note: this error originates in the macro `crate::impl_dyn_cast` which comes from the expansion of the attribute macro `dyn_upcast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> cast_trait_object/src/lib.rs:172:1
[INFO] [stdout]    |
[INFO] [stdout] 31 | #[dyn_cast(Sub<T>)]
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current closure `<unnameable>` and up 3 bodies
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = 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
[INFO] [stdout]    = 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>
[INFO] [stdout]    = note: the macro `crate::impl_dyn_cast` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]    = note: this error originates in the macro `crate::impl_dyn_cast` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 11 previous errors
[INFO] [stdout] 
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- cast_trait_object/src/lib.rs - (line 48) stdout ----
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]  --> cast_trait_object/src/lib.rs:51:1
[INFO] [stdout]   |
[INFO] [stdout] 6 | create_dyn_cast_config!(SuperToSubCast = Super => Sub);
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = help: move this `impl` block outside the of the current closure `<unnameable>` and up 6 bodies
[INFO] [stdout]   = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]   = 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
[INFO] [stdout]   = 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>
[INFO] [stdout]   = note: the macro `$crate::impl_dyn_cast_config` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout] note: the lint level is defined here
[INFO] [stdout]  --> cast_trait_object/src/lib.rs:46:9
[INFO] [stdout]   |
[INFO] [stdout] 1 | #![deny(warnings, rust_2018_idioms)]
[INFO] [stdout]   |         ^^^^^^^^
[INFO] [stdout]   = note: `#[deny(non_local_definitions)]` implied by `#[deny(warnings)]`
[INFO] [stdout]   = note: this error originates in the macro `$crate::impl_dyn_cast_config` which comes from the expansion of the macro `create_dyn_cast_config` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]  --> cast_trait_object/src/lib.rs:51:1
[INFO] [stdout]   |
[INFO] [stdout] 6 | create_dyn_cast_config!(SuperToSubCast = Super => Sub);
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = help: move this `impl` block outside the of the current closure `<unnameable>` and up 6 bodies
[INFO] [stdout]   = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]   = 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
[INFO] [stdout]   = 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>
[INFO] [stdout]   = note: the macro `$crate::impl_dyn_cast_config` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]   = note: this error originates in the macro `$crate::impl_dyn_cast_config` which comes from the expansion of the macro `create_dyn_cast_config` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]  --> cast_trait_object/src/lib.rs:51:1
[INFO] [stdout]   |
[INFO] [stdout] 6 | create_dyn_cast_config!(SuperToSubCast = Super => Sub);
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = help: move this `impl` block outside the of the current closure `<unnameable>` and up 6 bodies
[INFO] [stdout]   = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]   = 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
[INFO] [stdout]   = 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>
[INFO] [stdout]   = note: the macro `$crate::impl_dyn_cast_config` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]   = note: this error originates in the macro `$crate::impl_dyn_cast_config` which comes from the expansion of the macro `create_dyn_cast_config` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]  --> cast_trait_object/src/lib.rs:52:1
[INFO] [stdout]   |
[INFO] [stdout] 7 | create_dyn_cast_config!(SuperUpcast = Super => Super);
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = help: move this `impl` block outside the of the current closure `<unnameable>` and up 6 bodies
[INFO] [stdout]   = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]   = 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
[INFO] [stdout]   = 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>
[INFO] [stdout]   = note: the macro `$crate::impl_dyn_cast_config` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]   = note: this error originates in the macro `$crate::impl_dyn_cast_config` which comes from the expansion of the macro `create_dyn_cast_config` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]  --> cast_trait_object/src/lib.rs:52:1
[INFO] [stdout]   |
[INFO] [stdout] 7 | create_dyn_cast_config!(SuperUpcast = Super => Super);
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = help: move this `impl` block outside the of the current closure `<unnameable>` and up 6 bodies
[INFO] [stdout]   = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]   = 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
[INFO] [stdout]   = 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>
[INFO] [stdout]   = note: the macro `$crate::impl_dyn_cast_config` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]   = note: this error originates in the macro `$crate::impl_dyn_cast_config` which comes from the expansion of the macro `create_dyn_cast_config` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]  --> cast_trait_object/src/lib.rs:52:1
[INFO] [stdout]   |
[INFO] [stdout] 7 | create_dyn_cast_config!(SuperUpcast = Super => Super);
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = help: move this `impl` block outside the of the current closure `<unnameable>` and up 6 bodies
[INFO] [stdout]   = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]   = 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
[INFO] [stdout]   = 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>
[INFO] [stdout]   = note: the macro `$crate::impl_dyn_cast_config` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]   = note: this error originates in the macro `$crate::impl_dyn_cast_config` which comes from the expansion of the macro `create_dyn_cast_config` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> cast_trait_object/src/lib.rs:59:1
[INFO] [stdout]    |
[INFO] [stdout] 14 | impl_dyn_cast!(Foo => SuperToSubCast, SuperUpcast);
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current closure `<unnameable>` and up 6 bodies
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = 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
[INFO] [stdout]    = 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>
[INFO] [stdout]    = note: the macro `$crate::impl_dyn_cast` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]    = note: this error originates in the macro `$crate::impl_dyn_cast` which comes from the expansion of the macro `impl_dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> cast_trait_object/src/lib.rs:59:1
[INFO] [stdout]    |
[INFO] [stdout] 14 | impl_dyn_cast!(Foo => SuperToSubCast, SuperUpcast);
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current closure `<unnameable>` and up 6 bodies
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = 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
[INFO] [stdout]    = 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>
[INFO] [stdout]    = note: the macro `$crate::impl_dyn_cast` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]    = note: this error originates in the macro `$crate::impl_dyn_cast` which comes from the expansion of the macro `impl_dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 8 previous errors
[INFO] [stdout] 
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- cast_trait_object/src/lib.rs - (line 69) stdout ----
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> cast_trait_object/src/lib.rs:84:1
[INFO] [stdout]    |
[INFO] [stdout] 17 | #[dyn_cast(Sub)]
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current closure `<unnameable>` and up 3 bodies
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = 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
[INFO] [stdout]    = 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>
[INFO] [stdout]    = note: the macro `$crate::impl_dyn_cast_config` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout] note: the lint level is defined here
[INFO] [stdout]   --> cast_trait_object/src/lib.rs:68:9
[INFO] [stdout]    |
[INFO] [stdout] 1  | #![deny(warnings, rust_2018_idioms)]
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout]    = note: `#[deny(non_local_definitions)]` implied by `#[deny(warnings)]`
[INFO] [stdout]    = note: this error originates in the macro `$crate::impl_dyn_cast_config` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> cast_trait_object/src/lib.rs:84:1
[INFO] [stdout]    |
[INFO] [stdout] 17 | #[dyn_cast(Sub)]
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current closure `<unnameable>` and up 3 bodies
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = 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
[INFO] [stdout]    = 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>
[INFO] [stdout]    = note: the macro `$crate::impl_dyn_cast_config` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]    = note: this error originates in the macro `$crate::impl_dyn_cast_config` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> cast_trait_object/src/lib.rs:84:1
[INFO] [stdout]    |
[INFO] [stdout] 17 | #[dyn_cast(Sub)]
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current closure `<unnameable>` and up 3 bodies
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = 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
[INFO] [stdout]    = 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>
[INFO] [stdout]    = note: the macro `$crate::impl_dyn_cast_config` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]    = note: this error originates in the macro `$crate::impl_dyn_cast_config` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> cast_trait_object/src/lib.rs:85:1
[INFO] [stdout]    |
[INFO] [stdout] 18 | #[dyn_upcast]
[INFO] [stdout]    | ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current closure `<unnameable>` and up 3 bodies
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = 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
[INFO] [stdout]    = 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>
[INFO] [stdout]    = note: the macro `$crate::impl_dyn_cast_config` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]    = note: this error originates in the macro `$crate::impl_dyn_cast_config` which comes from the expansion of the attribute macro `dyn_upcast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> cast_trait_object/src/lib.rs:85:1
[INFO] [stdout]    |
[INFO] [stdout] 18 | #[dyn_upcast]
[INFO] [stdout]    | ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current closure `<unnameable>` and up 3 bodies
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = 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
[INFO] [stdout]    = 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>
[INFO] [stdout]    = note: the macro `$crate::impl_dyn_cast_config` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]    = note: this error originates in the macro `$crate::impl_dyn_cast_config` which comes from the expansion of the attribute macro `dyn_upcast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> cast_trait_object/src/lib.rs:85:1
[INFO] [stdout]    |
[INFO] [stdout] 18 | #[dyn_upcast]
[INFO] [stdout]    | ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current closure `<unnameable>` and up 3 bodies
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = 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
[INFO] [stdout]    = 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>
[INFO] [stdout]    = note: the macro `$crate::impl_dyn_cast_config` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]    = note: this error originates in the macro `$crate::impl_dyn_cast_config` which comes from the expansion of the attribute macro `dyn_upcast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> cast_trait_object/src/lib.rs:91:1
[INFO] [stdout]    |
[INFO] [stdout] 24 | #[dyn_upcast]
[INFO] [stdout]    | ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current closure `<unnameable>` and up 5 bodies
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = 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
[INFO] [stdout]    = 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>
[INFO] [stdout]    = note: the macro `$crate::impl_dyn_cast` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]    = note: this error originates in the macro `$crate::impl_dyn_cast` which comes from the expansion of the attribute macro `dyn_upcast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> cast_trait_object/src/lib.rs:90:1
[INFO] [stdout]    |
[INFO] [stdout] 23 | #[dyn_cast(Sub)]
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current closure `<unnameable>` and up 5 bodies
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = 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
[INFO] [stdout]    = 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>
[INFO] [stdout]    = note: the macro `$crate::impl_dyn_cast` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]    = note: this error originates in the macro `$crate::impl_dyn_cast` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 8 previous errors
[INFO] [stdout] 
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- cast_trait_object/src/lib.rs - (line 193) stdout ----
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]  --> cast_trait_object/src/lib.rs:197:1
[INFO] [stdout]   |
[INFO] [stdout] 7 | create_dyn_cast_config!(UpcastConfig = Super => Super);
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = help: move this `impl` block outside the of the current closure `<unnameable>` and up 6 bodies
[INFO] [stdout]   = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]   = 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
[INFO] [stdout]   = 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>
[INFO] [stdout]   = note: the macro `$crate::impl_dyn_cast_config` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout] note: the lint level is defined here
[INFO] [stdout]  --> cast_trait_object/src/lib.rs:191:9
[INFO] [stdout]   |
[INFO] [stdout] 1 | #![deny(warnings, rust_2018_idioms)]
[INFO] [stdout]   |         ^^^^^^^^
[INFO] [stdout]   = note: `#[deny(non_local_definitions)]` implied by `#[deny(warnings)]`
[INFO] [stdout]   = note: this error originates in the macro `$crate::impl_dyn_cast_config` which comes from the expansion of the macro `create_dyn_cast_config` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]  --> cast_trait_object/src/lib.rs:197:1
[INFO] [stdout]   |
[INFO] [stdout] 7 | create_dyn_cast_config!(UpcastConfig = Super => Super);
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = help: move this `impl` block outside the of the current closure `<unnameable>` and up 6 bodies
[INFO] [stdout]   = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]   = 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
[INFO] [stdout]   = 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>
[INFO] [stdout]   = note: the macro `$crate::impl_dyn_cast_config` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]   = note: this error originates in the macro `$crate::impl_dyn_cast_config` which comes from the expansion of the macro `create_dyn_cast_config` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]  --> cast_trait_object/src/lib.rs:197:1
[INFO] [stdout]   |
[INFO] [stdout] 7 | create_dyn_cast_config!(UpcastConfig = Super => Super);
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = help: move this `impl` block outside the of the current closure `<unnameable>` and up 6 bodies
[INFO] [stdout]   = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]   = 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
[INFO] [stdout]   = 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>
[INFO] [stdout]   = note: the macro `$crate::impl_dyn_cast_config` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]   = note: this error originates in the macro `$crate::impl_dyn_cast_config` which comes from the expansion of the macro `create_dyn_cast_config` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]  --> cast_trait_object/src/lib.rs:198:1
[INFO] [stdout]   |
[INFO] [stdout] 8 | create_dyn_cast_config!(SuperConfig = Super => Sub);
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = help: move this `impl` block outside the of the current closure `<unnameable>` and up 6 bodies
[INFO] [stdout]   = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]   = 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
[INFO] [stdout]   = 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>
[INFO] [stdout]   = note: the macro `$crate::impl_dyn_cast_config` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]   = note: this error originates in the macro `$crate::impl_dyn_cast_config` which comes from the expansion of the macro `create_dyn_cast_config` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]  --> cast_trait_object/src/lib.rs:198:1
[INFO] [stdout]   |
[INFO] [stdout] 8 | create_dyn_cast_config!(SuperConfig = Super => Sub);
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = help: move this `impl` block outside the of the current closure `<unnameable>` and up 6 bodies
[INFO] [stdout]   = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]   = 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
[INFO] [stdout]   = 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>
[INFO] [stdout]   = note: the macro `$crate::impl_dyn_cast_config` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]   = note: this error originates in the macro `$crate::impl_dyn_cast_config` which comes from the expansion of the macro `create_dyn_cast_config` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]  --> cast_trait_object/src/lib.rs:198:1
[INFO] [stdout]   |
[INFO] [stdout] 8 | create_dyn_cast_config!(SuperConfig = Super => Sub);
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = help: move this `impl` block outside the of the current closure `<unnameable>` and up 6 bodies
[INFO] [stdout]   = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]   = 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
[INFO] [stdout]   = 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>
[INFO] [stdout]   = note: the macro `$crate::impl_dyn_cast_config` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]   = note: this error originates in the macro `$crate::impl_dyn_cast_config` which comes from the expansion of the macro `create_dyn_cast_config` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> cast_trait_object/src/lib.rs:208:1
[INFO] [stdout]    |
[INFO] [stdout] 18 | impl_dyn_cast!(for<T> OnlyDisplayGeneric<T> as Super where {T: 'static} => Sub);
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current closure `<unnameable>` and up 4 bodies
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = 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
[INFO] [stdout]    = 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>
[INFO] [stdout]    = note: the macro `impl_dyn_cast` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]    = note: this error originates in the macro `impl_dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> cast_trait_object/src/lib.rs:209:1
[INFO] [stdout]    |
[INFO] [stdout] 19 | impl_dyn_cast!(for<T> OnlyDisplayGeneric<T> as Super where {T: 'static} => Super);
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current closure `<unnameable>` and up 4 bodies
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = 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
[INFO] [stdout]    = 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>
[INFO] [stdout]    = note: the macro `impl_dyn_cast` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]    = note: this error originates in the macro `impl_dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 8 previous errors
[INFO] [stdout] 
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- cast_trait_object/src/lib.rs - (line 104) stdout ----
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> cast_trait_object/src/lib.rs:119:1
[INFO] [stdout]    |
[INFO] [stdout] 17 | #[dyn_cast(Super, Sub)]
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current closure `<unnameable>` and up 3 bodies
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = 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
[INFO] [stdout]    = 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>
[INFO] [stdout]    = note: the macro `$crate::impl_dyn_cast_config` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout] note: the lint level is defined here
[INFO] [stdout]   --> cast_trait_object/src/lib.rs:103:9
[INFO] [stdout]    |
[INFO] [stdout] 1  | #![deny(warnings, rust_2018_idioms)]
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout]    = note: `#[deny(non_local_definitions)]` implied by `#[deny(warnings)]`
[INFO] [stdout]    = note: this error originates in the macro `$crate::impl_dyn_cast_config` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> cast_trait_object/src/lib.rs:119:1
[INFO] [stdout]    |
[INFO] [stdout] 17 | #[dyn_cast(Super, Sub)]
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current closure `<unnameable>` and up 3 bodies
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = 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
[INFO] [stdout]    = 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>
[INFO] [stdout]    = note: the macro `$crate::impl_dyn_cast_config` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]    = note: this error originates in the macro `$crate::impl_dyn_cast_config` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> cast_trait_object/src/lib.rs:119:1
[INFO] [stdout]    |
[INFO] [stdout] 17 | #[dyn_cast(Super, Sub)]
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current closure `<unnameable>` and up 3 bodies
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = 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
[INFO] [stdout]    = 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>
[INFO] [stdout]    = note: the macro `$crate::impl_dyn_cast_config` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]    = note: this error originates in the macro `$crate::impl_dyn_cast_config` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> cast_trait_object/src/lib.rs:119:1
[INFO] [stdout]    |
[INFO] [stdout] 17 | #[dyn_cast(Super, Sub)]
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current closure `<unnameable>` and up 3 bodies
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = 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
[INFO] [stdout]    = 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>
[INFO] [stdout]    = note: the macro `$crate::impl_dyn_cast_config` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]    = note: this error originates in the macro `$crate::impl_dyn_cast_config` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> cast_trait_object/src/lib.rs:119:1
[INFO] [stdout]    |
[INFO] [stdout] 17 | #[dyn_cast(Super, Sub)]
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current closure `<unnameable>` and up 3 bodies
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = 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
[INFO] [stdout]    = 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>
[INFO] [stdout]    = note: the macro `$crate::impl_dyn_cast_config` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]    = note: this error originates in the macro `$crate::impl_dyn_cast_config` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> cast_trait_object/src/lib.rs:119:1
[INFO] [stdout]    |
[INFO] [stdout] 17 | #[dyn_cast(Super, Sub)]
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current closure `<unnameable>` and up 3 bodies
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = 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
[INFO] [stdout]    = 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>
[INFO] [stdout]    = note: the macro `$crate::impl_dyn_cast_config` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]    = note: this error originates in the macro `$crate::impl_dyn_cast_config` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> cast_trait_object/src/lib.rs:124:1
[INFO] [stdout]    |
[INFO] [stdout] 22 | #[dyn_cast(Super, Sub)]
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current closure `<unnameable>` and up 5 bodies
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = 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
[INFO] [stdout]    = 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>
[INFO] [stdout]    = note: the macro `$crate::impl_dyn_cast` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]    = note: this error originates in the macro `$crate::impl_dyn_cast` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> cast_trait_object/src/lib.rs:124:1
[INFO] [stdout]    |
[INFO] [stdout] 22 | #[dyn_cast(Super, Sub)]
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current closure `<unnameable>` and up 5 bodies
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = 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
[INFO] [stdout]    = 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>
[INFO] [stdout]    = note: the macro `$crate::impl_dyn_cast` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]    = note: this error originates in the macro `$crate::impl_dyn_cast` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 8 previous errors
[INFO] [stdout] 
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- cast_trait_object/src/lib.rs - DynCastExt::dyn_cast (line 734) stdout ----
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]  --> cast_trait_object/src/lib.rs:737:1
[INFO] [stdout]   |
[INFO] [stdout] 6 | create_dyn_cast_config!(SuperToSubCast = Super => Sub);
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = help: move this `impl` block outside the of the current closure `<unnameable>` and up 6 bodies
[INFO] [stdout]   = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]   = 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
[INFO] [stdout]   = 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>
[INFO] [stdout]   = note: the macro `$crate::impl_dyn_cast_config` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout] note: the lint level is defined here
[INFO] [stdout]  --> cast_trait_object/src/lib.rs:732:9
[INFO] [stdout]   |
[INFO] [stdout] 1 | #![deny(warnings, rust_2018_idioms)]
[INFO] [stdout]   |         ^^^^^^^^
[INFO] [stdout]   = note: `#[deny(non_local_definitions)]` implied by `#[deny(warnings)]`
[INFO] [stdout]   = note: this error originates in the macro `$crate::impl_dyn_cast_config` which comes from the expansion of the macro `create_dyn_cast_config` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]  --> cast_trait_object/src/lib.rs:737:1
[INFO] [stdout]   |
[INFO] [stdout] 6 | create_dyn_cast_config!(SuperToSubCast = Super => Sub);
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = help: move this `impl` block outside the of the current closure `<unnameable>` and up 6 bodies
[INFO] [stdout]   = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]   = 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
[INFO] [stdout]   = 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>
[INFO] [stdout]   = note: the macro `$crate::impl_dyn_cast_config` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]   = note: this error originates in the macro `$crate::impl_dyn_cast_config` which comes from the expansion of the macro `create_dyn_cast_config` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]  --> cast_trait_object/src/lib.rs:737:1
[INFO] [stdout]   |
[INFO] [stdout] 6 | create_dyn_cast_config!(SuperToSubCast = Super => Sub);
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = help: move this `impl` block outside the of the current closure `<unnameable>` and up 6 bodies
[INFO] [stdout]   = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]   = 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
[INFO] [stdout]   = 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>
[INFO] [stdout]   = note: the macro `$crate::impl_dyn_cast_config` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]   = note: this error originates in the macro `$crate::impl_dyn_cast_config` which comes from the expansion of the macro `create_dyn_cast_config` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> cast_trait_object/src/lib.rs:744:1
[INFO] [stdout]    |
[INFO] [stdout] 13 | impl_dyn_cast!(Foo as Super => Sub);
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current closure `<unnameable>` and up 6 bodies
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = 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
[INFO] [stdout]    = 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>
[INFO] [stdout]    = note: the macro `$crate::impl_dyn_cast` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]    = note: this error originates in the macro `$crate::impl_dyn_cast` which comes from the expansion of the macro `impl_dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 4 previous errors
[INFO] [stdout] 
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- cast_trait_object/src/lib.rs - DynCastExt::dyn_cast_adv (line 796) stdout ----
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]  --> cast_trait_object/src/lib.rs:799:1
[INFO] [stdout]   |
[INFO] [stdout] 6 | create_dyn_cast_config!(SuperToSub1Cast = Super => Sub1);
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = help: move this `impl` block outside the of the current closure `<unnameable>` and up 6 bodies
[INFO] [stdout]   = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]   = 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
[INFO] [stdout]   = 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>
[INFO] [stdout]   = note: the macro `$crate::impl_dyn_cast_config` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout] note: the lint level is defined here
[INFO] [stdout]  --> cast_trait_object/src/lib.rs:794:9
[INFO] [stdout]   |
[INFO] [stdout] 1 | #![deny(warnings, rust_2018_idioms)]
[INFO] [stdout]   |         ^^^^^^^^
[INFO] [stdout]   = note: `#[deny(non_local_definitions)]` implied by `#[deny(warnings)]`
[INFO] [stdout]   = note: this error originates in the macro `$crate::impl_dyn_cast_config` which comes from the expansion of the macro `create_dyn_cast_config` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]  --> cast_trait_object/src/lib.rs:799:1
[INFO] [stdout]   |
[INFO] [stdout] 6 | create_dyn_cast_config!(SuperToSub1Cast = Super => Sub1);
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = help: move this `impl` block outside the of the current closure `<unnameable>` and up 6 bodies
[INFO] [stdout]   = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]   = 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
[INFO] [stdout]   = 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>
[INFO] [stdout]   = note: the macro `$crate::impl_dyn_cast_config` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]   = note: this error originates in the macro `$crate::impl_dyn_cast_config` which comes from the expansion of the macro `create_dyn_cast_config` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]  --> cast_trait_object/src/lib.rs:799:1
[INFO] [stdout]   |
[INFO] [stdout] 6 | create_dyn_cast_config!(SuperToSub1Cast = Super => Sub1);
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = help: move this `impl` block outside the of the current closure `<unnameable>` and up 6 bodies
[INFO] [stdout]   = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]   = 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
[INFO] [stdout]   = 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>
[INFO] [stdout]   = note: the macro `$crate::impl_dyn_cast_config` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]   = note: this error originates in the macro `$crate::impl_dyn_cast_config` which comes from the expansion of the macro `create_dyn_cast_config` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]  --> cast_trait_object/src/lib.rs:800:1
[INFO] [stdout]   |
[INFO] [stdout] 7 | create_dyn_cast_config!(SuperToSub2Cast = Super => Sub2);
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = help: move this `impl` block outside the of the current closure `<unnameable>` and up 6 bodies
[INFO] [stdout]   = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]   = 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
[INFO] [stdout]   = 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>
[INFO] [stdout]   = note: the macro `$crate::impl_dyn_cast_config` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]   = note: this error originates in the macro `$crate::impl_dyn_cast_config` which comes from the expansion of the macro `create_dyn_cast_config` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]  --> cast_trait_object/src/lib.rs:800:1
[INFO] [stdout]   |
[INFO] [stdout] 7 | create_dyn_cast_config!(SuperToSub2Cast = Super => Sub2);
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = help: move this `impl` block outside the of the current closure `<unnameable>` and up 6 bodies
[INFO] [stdout]   = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]   = 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
[INFO] [stdout]   = 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>
[INFO] [stdout]   = note: the macro `$crate::impl_dyn_cast_config` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]   = note: this error originates in the macro `$crate::impl_dyn_cast_config` which comes from the expansion of the macro `create_dyn_cast_config` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]  --> cast_trait_object/src/lib.rs:800:1
[INFO] [stdout]   |
[INFO] [stdout] 7 | create_dyn_cast_config!(SuperToSub2Cast = Super => Sub2);
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = help: move this `impl` block outside the of the current closure `<unnameable>` and up 6 bodies
[INFO] [stdout]   = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]   = 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
[INFO] [stdout]   = 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>
[INFO] [stdout]   = note: the macro `$crate::impl_dyn_cast_config` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]   = note: this error originates in the macro `$crate::impl_dyn_cast_config` which comes from the expansion of the macro `create_dyn_cast_config` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> cast_trait_object/src/lib.rs:809:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | impl_dyn_cast!(Foo as Super => Sub1, Sub2);
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current closure `<unnameable>` and up 6 bodies
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = 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
[INFO] [stdout]    = 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>
[INFO] [stdout]    = note: the macro `$crate::impl_dyn_cast` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]    = note: this error originates in the macro `$crate::impl_dyn_cast` which comes from the expansion of the macro `impl_dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> cast_trait_object/src/lib.rs:809:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | impl_dyn_cast!(Foo as Super => Sub1, Sub2);
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current closure `<unnameable>` and up 6 bodies
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = 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
[INFO] [stdout]    = 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>
[INFO] [stdout]    = note: the macro `$crate::impl_dyn_cast` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]    = note: this error originates in the macro `$crate::impl_dyn_cast` which comes from the expansion of the macro `impl_dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 8 previous errors
[INFO] [stdout] 
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- cast_trait_object/src/lib.rs - DynCastExt::dyn_upcast (line 765) stdout ----
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]  --> cast_trait_object/src/lib.rs:768:1
[INFO] [stdout]   |
[INFO] [stdout] 6 | create_dyn_cast_config!(SuperUpcast = Super => Super);
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = help: move this `impl` block outside the of the current closure `<unnameable>` and up 6 bodies
[INFO] [stdout]   = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]   = 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
[INFO] [stdout]   = 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>
[INFO] [stdout]   = note: the macro `$crate::impl_dyn_cast_config` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout] note: the lint level is defined here
[INFO] [stdout]  --> cast_trait_object/src/lib.rs:763:9
[INFO] [stdout]   |
[INFO] [stdout] 1 | #![deny(warnings, rust_2018_idioms)]
[INFO] [stdout]   |         ^^^^^^^^
[INFO] [stdout]   = note: `#[deny(non_local_definitions)]` implied by `#[deny(warnings)]`
[INFO] [stdout]   = note: this error originates in the macro `$crate::impl_dyn_cast_config` which comes from the expansion of the macro `create_dyn_cast_config` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]  --> cast_trait_object/src/lib.rs:768:1
[INFO] [stdout]   |
[INFO] [stdout] 6 | create_dyn_cast_config!(SuperUpcast = Super => Super);
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = help: move this `impl` block outside the of the current closure `<unnameable>` and up 6 bodies
[INFO] [stdout]   = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]   = 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
[INFO] [stdout]   = 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>
[INFO] [stdout]   = note: the macro `$crate::impl_dyn_cast_config` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]   = note: this error originates in the macro `$crate::impl_dyn_cast_config` which comes from the expansion of the macro `create_dyn_cast_config` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]  --> cast_trait_object/src/lib.rs:768:1
[INFO] [stdout]   |
[INFO] [stdout] 6 | create_dyn_cast_config!(SuperUpcast = Super => Super);
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = help: move this `impl` block outside the of the current closure `<unnameable>` and up 6 bodies
[INFO] [stdout]   = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]   = 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
[INFO] [stdout]   = 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>
[INFO] [stdout]   = note: the macro `$crate::impl_dyn_cast_config` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]   = note: this error originates in the macro `$crate::impl_dyn_cast_config` which comes from the expansion of the macro `create_dyn_cast_config` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> cast_trait_object/src/lib.rs:775:1
[INFO] [stdout]    |
[INFO] [stdout] 13 | impl_dyn_cast!(Foo as Super => Super);
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current closure `<unnameable>` and up 6 bodies
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = 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
[INFO] [stdout]    = 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>
[INFO] [stdout]    = note: the macro `$crate::impl_dyn_cast` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]    = note: this error originates in the macro `$crate::impl_dyn_cast` which comes from the expansion of the macro `impl_dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 4 previous errors
[INFO] [stdout] 
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- cast_trait_object/src/lib.rs - dyn_cast (line 509) stdout ----
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]  --> cast_trait_object/src/lib.rs:513:1
[INFO] [stdout]   |
[INFO] [stdout] 6 | #[dyn_cast(Sub)]
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = help: move this `impl` block outside the of the current closure `<unnameable>` and up 3 bodies
[INFO] [stdout]   = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]   = 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
[INFO] [stdout]   = 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>
[INFO] [stdout]   = note: the macro `$crate::impl_dyn_cast_config` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout] note: the lint level is defined here
[INFO] [stdout]  --> cast_trait_object/src/lib.rs:508:9
[INFO] [stdout]   |
[INFO] [stdout] 1 | #![deny(warnings, rust_2018_idioms)]
[INFO] [stdout]   |         ^^^^^^^^
[INFO] [stdout]   = note: `#[deny(non_local_definitions)]` implied by `#[deny(warnings)]`
[INFO] [stdout]   = note: this error originates in the macro `$crate::impl_dyn_cast_config` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]  --> cast_trait_object/src/lib.rs:513:1
[INFO] [stdout]   |
[INFO] [stdout] 6 | #[dyn_cast(Sub)]
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = help: move this `impl` block outside the of the current closure `<unnameable>` and up 3 bodies
[INFO] [stdout]   = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]   = 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
[INFO] [stdout]   = 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>
[INFO] [stdout]   = note: the macro `$crate::impl_dyn_cast_config` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]   = note: this error originates in the macro `$crate::impl_dyn_cast_config` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]  --> cast_trait_object/src/lib.rs:513:1
[INFO] [stdout]   |
[INFO] [stdout] 6 | #[dyn_cast(Sub)]
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = help: move this `impl` block outside the of the current closure `<unnameable>` and up 3 bodies
[INFO] [stdout]   = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]   = 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
[INFO] [stdout]   = 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>
[INFO] [stdout]   = note: the macro `$crate::impl_dyn_cast_config` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]   = note: this error originates in the macro `$crate::impl_dyn_cast_config` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> cast_trait_object/src/lib.rs:518:1
[INFO] [stdout]    |
[INFO] [stdout] 11 | #[dyn_cast(Super => Sub)]
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current closure `<unnameable>` and up 5 bodies
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = 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
[INFO] [stdout]    = 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>
[INFO] [stdout]    = note: the macro `$crate::impl_dyn_cast` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]    = note: this error originates in the macro `$crate::impl_dyn_cast` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 4 previous errors
[INFO] [stdout] 
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- cast_trait_object/src/lib.rs - DynCastExt::dyn_cast_with_config (line 837) stdout ----
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]  --> cast_trait_object/src/lib.rs:840:1
[INFO] [stdout]   |
[INFO] [stdout] 6 | create_dyn_cast_config!(SuperToSub1Cast = Super => Sub1);
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = help: move this `impl` block outside the of the current closure `<unnameable>` and up 6 bodies
[INFO] [stdout]   = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]   = 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
[INFO] [stdout]   = 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>
[INFO] [stdout]   = note: the macro `$crate::impl_dyn_cast_config` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout] note: the lint level is defined here
[INFO] [stdout]  --> cast_trait_object/src/lib.rs:835:9
[INFO] [stdout]   |
[INFO] [stdout] 1 | #![deny(warnings, rust_2018_idioms)]
[INFO] [stdout]   |         ^^^^^^^^
[INFO] [stdout]   = note: `#[deny(non_local_definitions)]` implied by `#[deny(warnings)]`
[INFO] [stdout]   = note: this error originates in the macro `$crate::impl_dyn_cast_config` which comes from the expansion of the macro `create_dyn_cast_config` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]  --> cast_trait_object/src/lib.rs:840:1
[INFO] [stdout]   |
[INFO] [stdout] 6 | create_dyn_cast_config!(SuperToSub1Cast = Super => Sub1);
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = help: move this `impl` block outside the of the current closure `<unnameable>` and up 6 bodies
[INFO] [stdout]   = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]   = 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
[INFO] [stdout]   = 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>
[INFO] [stdout]   = note: the macro `$crate::impl_dyn_cast_config` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]   = note: this error originates in the macro `$crate::impl_dyn_cast_config` which comes from the expansion of the macro `create_dyn_cast_config` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]  --> cast_trait_object/src/lib.rs:840:1
[INFO] [stdout]   |
[INFO] [stdout] 6 | create_dyn_cast_config!(SuperToSub1Cast = Super => Sub1);
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = help: move this `impl` block outside the of the current closure `<unnameable>` and up 6 bodies
[INFO] [stdout]   = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]   = 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
[INFO] [stdout]   = 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>
[INFO] [stdout]   = note: the macro `$crate::impl_dyn_cast_config` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]   = note: this error originates in the macro `$crate::impl_dyn_cast_config` which comes from the expansion of the macro `create_dyn_cast_config` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]  --> cast_trait_object/src/lib.rs:841:1
[INFO] [stdout]   |
[INFO] [stdout] 7 | create_dyn_cast_config!(SuperToSub2Cast = Super => Sub2);
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = help: move this `impl` block outside the of the current closure `<unnameable>` and up 6 bodies
[INFO] [stdout]   = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]   = 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
[INFO] [stdout]   = 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>
[INFO] [stdout]   = note: the macro `$crate::impl_dyn_cast_config` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]   = note: this error originates in the macro `$crate::impl_dyn_cast_config` which comes from the expansion of the macro `create_dyn_cast_config` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]  --> cast_trait_object/src/lib.rs:841:1
[INFO] [stdout]   |
[INFO] [stdout] 7 | create_dyn_cast_config!(SuperToSub2Cast = Super => Sub2);
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = help: move this `impl` block outside the of the current closure `<unnameable>` and up 6 bodies
[INFO] [stdout]   = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]   = 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
[INFO] [stdout]   = 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>
[INFO] [stdout]   = note: the macro `$crate::impl_dyn_cast_config` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]   = note: this error originates in the macro `$crate::impl_dyn_cast_config` which comes from the expansion of the macro `create_dyn_cast_config` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]  --> cast_trait_object/src/lib.rs:841:1
[INFO] [stdout]   |
[INFO] [stdout] 7 | create_dyn_cast_config!(SuperToSub2Cast = Super => Sub2);
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stderr] error: doctest failed, to rerun pass `-p cast_trait_object --doc`
[INFO] [stdout]   = help: move this `impl` block outside the of the current closure `<unnameable>` and up 6 bodies
[INFO] [stdout]   = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]   = 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
[INFO] [stdout]   = 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>
[INFO] [stdout]   = note: the macro `$crate::impl_dyn_cast_config` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]   = note: this error originates in the macro `$crate::impl_dyn_cast_config` which comes from the expansion of the macro `create_dyn_cast_config` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> cast_trait_object/src/lib.rs:850:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | impl_dyn_cast!(Foo as Super => Sub1, Sub2);
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current closure `<unnameable>` and up 6 bodies
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = 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
[INFO] [stdout]    = 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>
[INFO] [stdout]    = note: the macro `$crate::impl_dyn_cast` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]    = note: this error originates in the macro `$crate::impl_dyn_cast` which comes from the expansion of the macro `impl_dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> cast_trait_object/src/lib.rs:850:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | impl_dyn_cast!(Foo as Super => Sub1, Sub2);
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current closure `<unnameable>` and up 6 bodies
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = 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
[INFO] [stdout]    = 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>
[INFO] [stdout]    = note: the macro `$crate::impl_dyn_cast` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]    = note: this error originates in the macro `$crate::impl_dyn_cast` which comes from the expansion of the macro `impl_dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 8 previous errors
[INFO] [stdout] 
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- cast_trait_object/src/lib.rs - dyn_cast (line 532) stdout ----
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]  --> cast_trait_object/src/lib.rs:536:1
[INFO] [stdout]   |
[INFO] [stdout] 6 | #[dyn_cast(Sub)]
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = help: move this `impl` block outside the of the current closure `<unnameable>` and up 3 bodies
[INFO] [stdout]   = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]   = 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
[INFO] [stdout]   = 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>
[INFO] [stdout]   = note: the macro `$crate::impl_dyn_cast_config` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout] note: the lint level is defined here
[INFO] [stdout]  --> cast_trait_object/src/lib.rs:531:9
[INFO] [stdout]   |
[INFO] [stdout] 1 | #![deny(warnings, rust_2018_idioms)]
[INFO] [stdout]   |         ^^^^^^^^
[INFO] [stdout]   = note: `#[deny(non_local_definitions)]` implied by `#[deny(warnings)]`
[INFO] [stdout]   = note: this error originates in the macro `$crate::impl_dyn_cast_config` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]  --> cast_trait_object/src/lib.rs:536:1
[INFO] [stdout]   |
[INFO] [stdout] 6 | #[dyn_cast(Sub)]
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = help: move this `impl` block outside the of the current closure `<unnameable>` and up 3 bodies
[INFO] [stdout]   = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]   = 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
[INFO] [stdout]   = 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>
[INFO] [stdout]   = note: the macro `$crate::impl_dyn_cast_config` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]   = note: this error originates in the macro `$crate::impl_dyn_cast_config` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]  --> cast_trait_object/src/lib.rs:536:1
[INFO] [stdout]   |
[INFO] [stdout] 6 | #[dyn_cast(Sub)]
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = help: move this `impl` block outside the of the current closure `<unnameable>` and up 3 bodies
[INFO] [stdout]   = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]   = 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
[INFO] [stdout]   = 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>
[INFO] [stdout]   = note: the macro `$crate::impl_dyn_cast_config` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]   = note: this error originates in the macro `$crate::impl_dyn_cast_config` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> cast_trait_object/src/lib.rs:542:1
[INFO] [stdout]    |
[INFO] [stdout] 12 | #[dyn_cast(Sub)]
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current closure `<unnameable>` and up 5 bodies
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = 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
[INFO] [stdout]    = 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>
[INFO] [stdout]    = note: the macro `$crate::impl_dyn_cast` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]    = note: this error originates in the macro `$crate::impl_dyn_cast` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 4 previous errors
[INFO] [stdout] 
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- cast_trait_object/src/lib.rs - dyn_upcast (line 457) stdout ----
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]  --> cast_trait_object/src/lib.rs:461:1
[INFO] [stdout]   |
[INFO] [stdout] 6 | #[dyn_upcast]
[INFO] [stdout]   | ^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = help: move this `impl` block outside the of the current closure `<unnameable>` and up 3 bodies
[INFO] [stdout]   = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]   = 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
[INFO] [stdout]   = 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>
[INFO] [stdout]   = note: the macro `$crate::impl_dyn_cast_config` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout] note: the lint level is defined here
[INFO] [stdout]  --> cast_trait_object/src/lib.rs:456:9
[INFO] [stdout]   |
[INFO] [stdout] 1 | #![deny(warnings, rust_2018_idioms)]
[INFO] [stdout]   |         ^^^^^^^^
[INFO] [stdout]   = note: `#[deny(non_local_definitions)]` implied by `#[deny(warnings)]`
[INFO] [stdout]   = note: this error originates in the macro `$crate::impl_dyn_cast_config` which comes from the expansion of the attribute macro `dyn_upcast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]  --> cast_trait_object/src/lib.rs:461:1
[INFO] [stdout]   |
[INFO] [stdout] 6 | #[dyn_upcast]
[INFO] [stdout]   | ^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = help: move this `impl` block outside the of the current closure `<unnameable>` and up 3 bodies
[INFO] [stdout]   = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]   = 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
[INFO] [stdout]   = 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>
[INFO] [stdout]   = note: the macro `$crate::impl_dyn_cast_config` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]   = note: this error originates in the macro `$crate::impl_dyn_cast_config` which comes from the expansion of the attribute macro `dyn_upcast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]  --> cast_trait_object/src/lib.rs:461:1
[INFO] [stdout]   |
[INFO] [stdout] 6 | #[dyn_upcast]
[INFO] [stdout]   | ^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = help: move this `impl` block outside the of the current closure `<unnameable>` and up 3 bodies
[INFO] [stdout]   = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]   = 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
[INFO] [stdout]   = 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>
[INFO] [stdout]   = note: the macro `$crate::impl_dyn_cast_config` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]   = note: this error originates in the macro `$crate::impl_dyn_cast_config` which comes from the expansion of the attribute macro `dyn_upcast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> cast_trait_object/src/lib.rs:466:1
[INFO] [stdout]    |
[INFO] [stdout] 11 | #[dyn_upcast(Super)]
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current closure `<unnameable>` and up 5 bodies
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = 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
[INFO] [stdout]    = 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>
[INFO] [stdout]    = note: the macro `$crate::impl_dyn_cast` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]    = note: this error originates in the macro `$crate::impl_dyn_cast` which comes from the expansion of the attribute macro `dyn_upcast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 4 previous errors
[INFO] [stdout] 
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- cast_trait_object/src/lib.rs - dyn_upcast (line 480) stdout ----
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]  --> cast_trait_object/src/lib.rs:484:1
[INFO] [stdout]   |
[INFO] [stdout] 6 | #[dyn_upcast]
[INFO] [stdout]   | ^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = help: move this `impl` block outside the of the current closure `<unnameable>` and up 3 bodies
[INFO] [stdout]   = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]   = 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
[INFO] [stdout]   = 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>
[INFO] [stdout]   = note: the macro `$crate::impl_dyn_cast_config` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout] note: the lint level is defined here
[INFO] [stdout]  --> cast_trait_object/src/lib.rs:479:9
[INFO] [stdout]   |
[INFO] [stdout] 1 | #![deny(warnings, rust_2018_idioms)]
[INFO] [stdout]   |         ^^^^^^^^
[INFO] [stdout]   = note: `#[deny(non_local_definitions)]` implied by `#[deny(warnings)]`
[INFO] [stdout]   = note: this error originates in the macro `$crate::impl_dyn_cast_config` which comes from the expansion of the attribute macro `dyn_upcast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]  --> cast_trait_object/src/lib.rs:484:1
[INFO] [stdout]   |
[INFO] [stdout] 6 | #[dyn_upcast]
[INFO] [stdout]   | ^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = help: move this `impl` block outside the of the current closure `<unnameable>` and up 3 bodies
[INFO] [stdout]   = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]   = 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
[INFO] [stdout]   = 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>
[INFO] [stdout]   = note: the macro `$crate::impl_dyn_cast_config` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]   = note: this error originates in the macro `$crate::impl_dyn_cast_config` which comes from the expansion of the attribute macro `dyn_upcast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]  --> cast_trait_object/src/lib.rs:484:1
[INFO] [stdout]   |
[INFO] [stdout] 6 | #[dyn_upcast]
[INFO] [stdout]   | ^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = help: move this `impl` block outside the of the current closure `<unnameable>` and up 3 bodies
[INFO] [stdout]   = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]   = 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
[INFO] [stdout]   = 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>
[INFO] [stdout]   = note: the macro `$crate::impl_dyn_cast_config` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]   = note: this error originates in the macro `$crate::impl_dyn_cast_config` which comes from the expansion of the attribute macro `dyn_upcast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> cast_trait_object/src/lib.rs:490:1
[INFO] [stdout]    |
[INFO] [stdout] 12 | #[dyn_upcast]
[INFO] [stdout]    | ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current closure `<unnameable>` and up 5 bodies
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = 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
[INFO] [stdout]    = 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>
[INFO] [stdout]    = note: the macro `$crate::impl_dyn_cast` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]    = note: this error originates in the macro `$crate::impl_dyn_cast` which comes from the expansion of the attribute macro `dyn_upcast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 4 previous errors
[INFO] [stdout] 
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     cast_trait_object/src/lib.rs - (line 104)
[INFO] [stdout]     cast_trait_object/src/lib.rs - (line 143)
[INFO] [stdout]     cast_trait_object/src/lib.rs - (line 193)
[INFO] [stdout]     cast_trait_object/src/lib.rs - (line 22)
[INFO] [stdout]     cast_trait_object/src/lib.rs - (line 48)
[INFO] [stdout]     cast_trait_object/src/lib.rs - (line 69)
[INFO] [stdout]     cast_trait_object/src/lib.rs - DynCastExt::dyn_cast (line 734)
[INFO] [stdout]     cast_trait_object/src/lib.rs - DynCastExt::dyn_cast_adv (line 796)
[INFO] [stdout]     cast_trait_object/src/lib.rs - DynCastExt::dyn_cast_with_config (line 837)
[INFO] [stdout]     cast_trait_object/src/lib.rs - DynCastExt::dyn_upcast (line 765)
[INFO] [stdout]     cast_trait_object/src/lib.rs - dyn_cast (line 509)
[INFO] [stdout]     cast_trait_object/src/lib.rs - dyn_cast (line 532)
[INFO] [stdout]     cast_trait_object/src/lib.rs - dyn_upcast (line 457)
[INFO] [stdout]     cast_trait_object/src/lib.rs - dyn_upcast (line 480)
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 2 passed; 14 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.46s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "f408475b02ad370e9b5ecb846508624f5ab916f2e9e443e1e31b7de1bf9d4fe7", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "f408475b02ad370e9b5ecb846508624f5ab916f2e9e443e1e31b7de1bf9d4fe7", kill_on_drop: false }`
[INFO] [stdout] f408475b02ad370e9b5ecb846508624f5ab916f2e9e443e1e31b7de1bf9d4fe7
[INFO] testing Lej77/cast_trait_object against try#b642703cf9526da1e72c0b6755753b939a9c6b6d for pr-125151
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FLej77%2Fcast_trait_object" "/workspace/builds/worker-1-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc2/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/Lej77/cast_trait_object on toolchain b642703cf9526da1e72c0b6755753b939a9c6b6d
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b642703cf9526da1e72c0b6755753b939a9c6b6d" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/Lej77/cast_trait_object
[INFO] finished tweaking git repo https://github.com/Lej77/cast_trait_object
[INFO] tweaked toml for git repo https://github.com/Lej77/cast_trait_object written to /workspace/builds/worker-1-tc2/source/Cargo.toml
[INFO] crate git repo https://github.com/Lej77/cast_trait_object already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b642703cf9526da1e72c0b6755753b939a9c6b6d" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:59a85a07ab18ca8720692f8e61effa1c651d9e2ca591e072c2b212bb91a6b8b5" "/opt/rustwide/cargo-home/bin/cargo" "+b642703cf9526da1e72c0b6755753b939a9c6b6d" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 739f463887fc134f3e367c03fbddafd062d2192509f1bd3ec0f1a0e86a96209e
[INFO] running `Command { std: "docker" "start" "-a" "739f463887fc134f3e367c03fbddafd062d2192509f1bd3ec0f1a0e86a96209e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "739f463887fc134f3e367c03fbddafd062d2192509f1bd3ec0f1a0e86a96209e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "739f463887fc134f3e367c03fbddafd062d2192509f1bd3ec0f1a0e86a96209e", kill_on_drop: false }`
[INFO] [stdout] 739f463887fc134f3e367c03fbddafd062d2192509f1bd3ec0f1a0e86a96209e
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:59a85a07ab18ca8720692f8e61effa1c651d9e2ca591e072c2b212bb91a6b8b5" "/opt/rustwide/cargo-home/bin/cargo" "+b642703cf9526da1e72c0b6755753b939a9c6b6d" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 124c97e48174f67359477b40ccb87a2d6dfcafadb456584c33b2b1f043553824
[INFO] running `Command { std: "docker" "start" "-a" "124c97e48174f67359477b40ccb87a2d6dfcafadb456584c33b2b1f043553824", kill_on_drop: false }`
[INFO] [stderr]    Compiling version_check v0.9.2
[INFO] [stderr]    Compiling proc-macro2 v1.0.24
[INFO] [stderr]    Compiling unicode-xid v0.2.1
[INFO] [stderr]    Compiling serde v1.0.119
[INFO] [stderr]    Compiling syn v1.0.58
[INFO] [stderr]    Compiling either v1.6.1
[INFO] [stderr]    Compiling proc-macro-error-attr v1.0.4
[INFO] [stderr]    Compiling proc-macro-error v1.0.4
[INFO] [stderr]    Compiling quote v1.0.8
[INFO] [stderr]    Compiling toml v0.5.8
[INFO] [stderr]    Compiling proc-macro-crate v0.1.5
[INFO] [stderr]    Compiling cast_trait_object_macros v0.1.3 (/opt/rustwide/workdir/cast_trait_object_macros)
[INFO] [stderr]    Compiling cast_trait_object v0.1.3 (/opt/rustwide/workdir/cast_trait_object)
[INFO] [stderr]    Compiling external_tests v0.1.0 (/opt/rustwide/workdir/external_tests)
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> external_tests/src/lib.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 25 |     #[dyn_cast(Sub, Sub2, SubSub)]
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = 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
[INFO] [stdout]    = 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>
[INFO] [stdout]    = note: the macro `::cast_trait_object::impl_dyn_cast_config` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]    = note: `#[warn(non_local_definitions)]` on by default
[INFO] [stdout]    = note: this warning originates in the macro `::cast_trait_object::impl_dyn_cast_config` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> external_tests/src/lib.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 25 |     #[dyn_cast(Sub, Sub2, SubSub)]
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = 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
[INFO] [stdout]    = 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>
[INFO] [stdout]    = note: the macro `::cast_trait_object::impl_dyn_cast_config` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]    = note: this warning originates in the macro `::cast_trait_object::impl_dyn_cast_config` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> external_tests/src/lib.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 25 |     #[dyn_cast(Sub, Sub2, SubSub)]
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = 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
[INFO] [stdout]    = 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>
[INFO] [stdout]    = note: the macro `::cast_trait_object::impl_dyn_cast_config` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]    = note: this warning originates in the macro `::cast_trait_object::impl_dyn_cast_config` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> external_tests/src/lib.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 25 |     #[dyn_cast(Sub, Sub2, SubSub)]
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = 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
[INFO] [stdout]    = 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>
[INFO] [stdout]    = note: the macro `::cast_trait_object::impl_dyn_cast_config` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]    = note: this warning originates in the macro `::cast_trait_object::impl_dyn_cast_config` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> external_tests/src/lib.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 25 |     #[dyn_cast(Sub, Sub2, SubSub)]
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = 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
[INFO] [stdout]    = 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>
[INFO] [stdout]    = note: the macro `::cast_trait_object::impl_dyn_cast_config` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]    = note: this warning originates in the macro `::cast_trait_object::impl_dyn_cast_config` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> external_tests/src/lib.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 25 |     #[dyn_cast(Sub, Sub2, SubSub)]
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = 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
[INFO] [stdout]    = 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>
[INFO] [stdout]    = note: the macro `::cast_trait_object::impl_dyn_cast_config` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]    = note: this warning originates in the macro `::cast_trait_object::impl_dyn_cast_config` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> external_tests/src/lib.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 25 |     #[dyn_cast(Sub, Sub2, SubSub)]
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = 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
[INFO] [stdout]    = 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>
[INFO] [stdout]    = note: the macro `::cast_trait_object::impl_dyn_cast_config` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]    = note: this warning originates in the macro `::cast_trait_object::impl_dyn_cast_config` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> external_tests/src/lib.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 25 |     #[dyn_cast(Sub, Sub2, SubSub)]
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = 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
[INFO] [stdout]    = 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>
[INFO] [stdout]    = note: the macro `::cast_trait_object::impl_dyn_cast_config` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]    = note: this warning originates in the macro `::cast_trait_object::impl_dyn_cast_config` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> external_tests/src/lib.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 25 |     #[dyn_cast(Sub, Sub2, SubSub)]
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = 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
[INFO] [stdout]    = 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>
[INFO] [stdout]    = note: the macro `::cast_trait_object::impl_dyn_cast_config` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]    = note: this warning originates in the macro `::cast_trait_object::impl_dyn_cast_config` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> external_tests/src/lib.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 26 |     #[dyn_upcast]
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = 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
[INFO] [stdout]    = 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>
[INFO] [stdout]    = note: the macro `::cast_trait_object::impl_dyn_cast_config` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]    = note: this warning originates in the macro `::cast_trait_object::impl_dyn_cast_config` which comes from the expansion of the attribute macro `dyn_upcast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> external_tests/src/lib.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 26 |     #[dyn_upcast]
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = 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
[INFO] [stdout]    = 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>
[INFO] [stdout]    = note: the macro `::cast_trait_object::impl_dyn_cast_config` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]    = note: this warning originates in the macro `::cast_trait_object::impl_dyn_cast_config` which comes from the expansion of the attribute macro `dyn_upcast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> external_tests/src/lib.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 26 |     #[dyn_upcast]
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = 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
[INFO] [stdout]    = 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>
[INFO] [stdout]    = note: the macro `::cast_trait_object::impl_dyn_cast_config` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]    = note: this warning originates in the macro `::cast_trait_object::impl_dyn_cast_config` which comes from the expansion of the attribute macro `dyn_upcast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> external_tests/src/lib.rs:48:5
[INFO] [stdout]    |
[INFO] [stdout] 48 |     #[cfg_attr(feature = "proc-macros", dyn_upcast)]
[INFO] [stdout]    |     ^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current closure `<unnameable>` and up 4 bodies
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = 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
[INFO] [stdout]    = 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>
[INFO] [stdout]    = note: the macro `$crate::impl_dyn_cast` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]    = note: this warning originates in the macro `$crate::impl_dyn_cast` which comes from the expansion of the attribute macro `dyn_upcast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> external_tests/src/lib.rs:47:41
[INFO] [stdout]    |
[INFO] [stdout] 47 |     #[cfg_attr(feature = "proc-macros", dyn_cast(Sub, Sub2, SubSub))]
[INFO] [stdout]    |                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current closure `<unnameable>` and up 4 bodies
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = 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
[INFO] [stdout]    = 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>
[INFO] [stdout]    = note: the macro `$crate::impl_dyn_cast` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]    = note: this warning originates in the macro `$crate::impl_dyn_cast` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> external_tests/src/lib.rs:47:41
[INFO] [stdout]    |
[INFO] [stdout] 47 |     #[cfg_attr(feature = "proc-macros", dyn_cast(Sub, Sub2, SubSub))]
[INFO] [stdout]    |                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current closure `<unnameable>` and up 4 bodies
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = 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
[INFO] [stdout]    = 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>
[INFO] [stdout]    = note: the macro `$crate::impl_dyn_cast` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]    = note: this warning originates in the macro `$crate::impl_dyn_cast` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> external_tests/src/lib.rs:47:41
[INFO] [stdout]    |
[INFO] [stdout] 47 |     #[cfg_attr(feature = "proc-macros", dyn_cast(Sub, Sub2, SubSub))]
[INFO] [stdout]    |                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current closure `<unnameable>` and up 4 bodies
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = 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
[INFO] [stdout]    = 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>
[INFO] [stdout]    = note: the macro `$crate::impl_dyn_cast` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]    = note: this warning originates in the macro `$crate::impl_dyn_cast` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> external_tests/src/lib.rs:54:41
[INFO] [stdout]    |
[INFO] [stdout] 54 |     #[cfg_attr(feature = "proc-macros", dyn_cast(Sub, Sub2, SubSub, Super))]
[INFO] [stdout]    |                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current closure `<unnameable>` and up 4 bodies
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = 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
[INFO] [stdout]    = 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>
[INFO] [stdout]    = note: the macro `$crate::impl_dyn_cast` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]    = note: this warning originates in the macro `$crate::impl_dyn_cast` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> external_tests/src/lib.rs:54:41
[INFO] [stdout]    |
[INFO] [stdout] 54 |     #[cfg_attr(feature = "proc-macros", dyn_cast(Sub, Sub2, SubSub, Super))]
[INFO] [stdout]    |                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current closure `<unnameable>` and up 4 bodies
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = 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
[INFO] [stdout]    = 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>
[INFO] [stdout]    = note: the macro `$crate::impl_dyn_cast` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]    = note: this warning originates in the macro `$crate::impl_dyn_cast` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> external_tests/src/lib.rs:54:41
[INFO] [stdout]    |
[INFO] [stdout] 54 |     #[cfg_attr(feature = "proc-macros", dyn_cast(Sub, Sub2, SubSub, Super))]
[INFO] [stdout]    |                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current closure `<unnameable>` and up 4 bodies
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = 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
[INFO] [stdout]    = 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>
[INFO] [stdout]    = note: the macro `$crate::impl_dyn_cast` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]    = note: this warning originates in the macro `$crate::impl_dyn_cast` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> external_tests/src/lib.rs:54:41
[INFO] [stdout]    |
[INFO] [stdout] 54 |     #[cfg_attr(feature = "proc-macros", dyn_cast(Sub, Sub2, SubSub, Super))]
[INFO] [stdout]    |                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current closure `<unnameable>` and up 4 bodies
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = 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
[INFO] [stdout]    = 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>
[INFO] [stdout]    = note: the macro `$crate::impl_dyn_cast` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]    = note: this warning originates in the macro `$crate::impl_dyn_cast` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> external_tests/src/lib.rs:61:5
[INFO] [stdout]    |
[INFO] [stdout] 61 |     #[cfg_attr(feature = "proc-macros", dyn_upcast(Super))]
[INFO] [stdout]    |     ^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current closure `<unnameable>` and up 4 bodies
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = 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
[INFO] [stdout]    = 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>
[INFO] [stdout]    = note: the macro `$crate::impl_dyn_cast` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]    = note: this warning originates in the macro `$crate::impl_dyn_cast` which comes from the expansion of the attribute macro `dyn_upcast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> external_tests/src/lib.rs:60:41
[INFO] [stdout]    |
[INFO] [stdout] 60 |     #[cfg_attr(feature = "proc-macros", dyn_cast(Super => Sub, Sub2, SubSub))]
[INFO] [stdout]    |                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current closure `<unnameable>` and up 4 bodies
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = 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
[INFO] [stdout]    = 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>
[INFO] [stdout]    = note: the macro `$crate::impl_dyn_cast` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]    = note: this warning originates in the macro `$crate::impl_dyn_cast` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> external_tests/src/lib.rs:60:41
[INFO] [stdout]    |
[INFO] [stdout] 60 |     #[cfg_attr(feature = "proc-macros", dyn_cast(Super => Sub, Sub2, SubSub))]
[INFO] [stdout]    |                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current closure `<unnameable>` and up 4 bodies
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = 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
[INFO] [stdout]    = 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>
[INFO] [stdout]    = note: the macro `$crate::impl_dyn_cast` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]    = note: this warning originates in the macro `$crate::impl_dyn_cast` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> external_tests/src/lib.rs:60:41
[INFO] [stdout]    |
[INFO] [stdout] 60 |     #[cfg_attr(feature = "proc-macros", dyn_cast(Super => Sub, Sub2, SubSub))]
[INFO] [stdout]    |                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current closure `<unnameable>` and up 4 bodies
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = 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
[INFO] [stdout]    = 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>
[INFO] [stdout]    = note: the macro `$crate::impl_dyn_cast` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]    = note: this warning originates in the macro `$crate::impl_dyn_cast` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> external_tests/src/lib.rs:69:41
[INFO] [stdout]    |
[INFO] [stdout] 69 |     #[cfg_attr(feature = "proc-macros", dyn_cast(Super => Sub, Sub2, SubSub, Super))]
[INFO] [stdout]    |                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current closure `<unnameable>` and up 4 bodies
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = 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
[INFO] [stdout]    = 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>
[INFO] [stdout]    = note: the macro `$crate::impl_dyn_cast` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]    = note: this warning originates in the macro `$crate::impl_dyn_cast` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> external_tests/src/lib.rs:69:41
[INFO] [stdout]    |
[INFO] [stdout] 69 |     #[cfg_attr(feature = "proc-macros", dyn_cast(Super => Sub, Sub2, SubSub, Super))]
[INFO] [stdout]    |                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current closure `<unnameable>` and up 4 bodies
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = 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
[INFO] [stdout]    = 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>
[INFO] [stdout]    = note: the macro `$crate::impl_dyn_cast` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]    = note: this warning originates in the macro `$crate::impl_dyn_cast` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> external_tests/src/lib.rs:69:41
[INFO] [stdout]    |
[INFO] [stdout] 69 |     #[cfg_attr(feature = "proc-macros", dyn_cast(Super => Sub, Sub2, SubSub, Super))]
[INFO] [stdout]    |                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current closure `<unnameable>` and up 4 bodies
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = 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
[INFO] [stdout]    = 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>
[INFO] [stdout]    = note: the macro `$crate::impl_dyn_cast` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]    = note: this warning originates in the macro `$crate::impl_dyn_cast` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> external_tests/src/lib.rs:69:41
[INFO] [stdout]    |
[INFO] [stdout] 69 |     #[cfg_attr(feature = "proc-macros", dyn_cast(Super => Sub, Sub2, SubSub, Super))]
[INFO] [stdout]    |                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current closure `<unnameable>` and up 4 bodies
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = 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
[INFO] [stdout]    = 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>
[INFO] [stdout]    = note: the macro `$crate::impl_dyn_cast` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]    = note: this warning originates in the macro `$crate::impl_dyn_cast` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> external_tests/src/lib.rs:83:5
[INFO] [stdout]    |
[INFO] [stdout] 83 |     #[dyn_cast(Sub)]
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = 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
[INFO] [stdout]    = 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>
[INFO] [stdout]    = note: the macro `$crate::impl_dyn_cast_config` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]    = note: this warning originates in the macro `$crate::impl_dyn_cast_config` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> external_tests/src/lib.rs:83:5
[INFO] [stdout]    |
[INFO] [stdout] 83 |     #[dyn_cast(Sub)]
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = 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
[INFO] [stdout]    = 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>
[INFO] [stdout]    = note: the macro `$crate::impl_dyn_cast_config` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]    = note: this warning originates in the macro `$crate::impl_dyn_cast_config` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> external_tests/src/lib.rs:83:5
[INFO] [stdout]    |
[INFO] [stdout] 83 |     #[dyn_cast(Sub)]
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = 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
[INFO] [stdout]    = 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>
[INFO] [stdout]    = note: the macro `$crate::impl_dyn_cast_config` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]    = note: this warning originates in the macro `$crate::impl_dyn_cast_config` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> external_tests/src/lib.rs:84:5
[INFO] [stdout]    |
[INFO] [stdout] 84 |     #[dyn_upcast]
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = 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
[INFO] [stdout]    = 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>
[INFO] [stdout]    = note: the macro `$crate::impl_dyn_cast_config` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]    = note: this warning originates in the macro `$crate::impl_dyn_cast_config` which comes from the expansion of the attribute macro `dyn_upcast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> external_tests/src/lib.rs:84:5
[INFO] [stdout]    |
[INFO] [stdout] 84 |     #[dyn_upcast]
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = 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
[INFO] [stdout]    = 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>
[INFO] [stdout]    = note: the macro `$crate::impl_dyn_cast_config` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]    = note: this warning originates in the macro `$crate::impl_dyn_cast_config` which comes from the expansion of the attribute macro `dyn_upcast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> external_tests/src/lib.rs:84:5
[INFO] [stdout]    |
[INFO] [stdout] 84 |     #[dyn_upcast]
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = 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
[INFO] [stdout]    = 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>
[INFO] [stdout]    = note: the macro `$crate::impl_dyn_cast_config` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]    = note: this warning originates in the macro `$crate::impl_dyn_cast_config` which comes from the expansion of the attribute macro `dyn_upcast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> external_tests/src/lib.rs:89:5
[INFO] [stdout]    |
[INFO] [stdout] 89 |     #[dyn_upcast(Super)]
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current closure `<unnameable>` and up 4 bodies
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = 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
[INFO] [stdout]    = 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>
[INFO] [stdout]    = note: the macro `$crate::impl_dyn_cast` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]    = note: this warning originates in the macro `$crate::impl_dyn_cast` which comes from the expansion of the attribute macro `dyn_upcast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> external_tests/src/lib.rs:88:5
[INFO] [stdout]    |
[INFO] [stdout] 88 |     #[dyn_cast(Super => Sub)]
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current closure `<unnameable>` and up 4 bodies
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = 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
[INFO] [stdout]    = 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>
[INFO] [stdout]    = note: the macro `$crate::impl_dyn_cast` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]    = note: this warning originates in the macro `$crate::impl_dyn_cast` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> external_tests/src/lib.rs:94:5
[INFO] [stdout]    |
[INFO] [stdout] 94 |     #[dyn_upcast(Super)]
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current closure `<unnameable>` and up 4 bodies
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = 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
[INFO] [stdout]    = 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>
[INFO] [stdout]    = note: the macro `$crate::impl_dyn_cast` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]    = note: this warning originates in the macro `$crate::impl_dyn_cast` which comes from the expansion of the attribute macro `dyn_upcast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> external_tests/src/lib.rs:93:5
[INFO] [stdout]    |
[INFO] [stdout] 93 |     #[dyn_cast(Super => Sub)]
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current closure `<unnameable>` and up 4 bodies
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = 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
[INFO] [stdout]    = 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>
[INFO] [stdout]    = note: the macro `$crate::impl_dyn_cast` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]    = note: this warning originates in the macro `$crate::impl_dyn_cast` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]    --> external_tests/src/lib.rs:110:9
[INFO] [stdout]     |
[INFO] [stdout] 110 |         #[dyn_upcast]
[INFO] [stdout]     |         ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stdout]     = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = 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
[INFO] [stdout]     = 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>
[INFO] [stdout]     = note: the macro `$crate::impl_dyn_cast_config` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]     = note: this warning originates in the macro `$crate::impl_dyn_cast_config` which comes from the expansion of the attribute macro `dyn_upcast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]    --> external_tests/src/lib.rs:110:9
[INFO] [stdout]     |
[INFO] [stdout] 110 |         #[dyn_upcast]
[INFO] [stdout]     |         ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stdout]     = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = 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
[INFO] [stdout]     = 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>
[INFO] [stdout]     = note: the macro `$crate::impl_dyn_cast_config` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]     = note: this warning originates in the macro `$crate::impl_dyn_cast_config` which comes from the expansion of the attribute macro `dyn_upcast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]    --> external_tests/src/lib.rs:110:9
[INFO] [stdout]     |
[INFO] [stdout] 110 |         #[dyn_upcast]
[INFO] [stdout]     |         ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stdout]     = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = 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
[INFO] [stdout]     = 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>
[INFO] [stdout]     = note: the macro `$crate::impl_dyn_cast_config` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]     = note: this warning originates in the macro `$crate::impl_dyn_cast_config` which comes from the expansion of the attribute macro `dyn_upcast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]    --> external_tests/src/lib.rs:111:9
[INFO] [stdout]     |
[INFO] [stdout] 111 |         #[dyn_cast(Sub<T>)]
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stdout]     = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = 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
[INFO] [stdout]     = 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>
[INFO] [stdout]     = note: the macro `$crate::impl_dyn_cast_config` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]     = note: this warning originates in the macro `$crate::impl_dyn_cast_config` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]    --> external_tests/src/lib.rs:111:9
[INFO] [stdout]     |
[INFO] [stdout] 111 |         #[dyn_cast(Sub<T>)]
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stdout]     = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = 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
[INFO] [stdout]     = 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>
[INFO] [stdout]     = note: the macro `$crate::impl_dyn_cast_config` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]     = note: this warning originates in the macro `$crate::impl_dyn_cast_config` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]    --> external_tests/src/lib.rs:111:9
[INFO] [stdout]     |
[INFO] [stdout] 111 |         #[dyn_cast(Sub<T>)]
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stdout]     = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = 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
[INFO] [stdout]     = 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>
[INFO] [stdout]     = note: the macro `$crate::impl_dyn_cast_config` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]     = note: this warning originates in the macro `$crate::impl_dyn_cast_config` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]    --> external_tests/src/lib.rs:125:9
[INFO] [stdout]     |
[INFO] [stdout] 125 |         #[dyn_cast(Sub<T>)]
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stdout]     = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = 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
[INFO] [stdout]     = 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>
[INFO] [stdout]     = note: the macro `::cast_trait_object::impl_dyn_cast` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]     = note: this warning originates in the macro `::cast_trait_object::impl_dyn_cast` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]    --> external_tests/src/lib.rs:124:9
[INFO] [stdout]     |
[INFO] [stdout] 124 |         #[dyn_upcast]
[INFO] [stdout]     |         ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stdout]     = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = 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
[INFO] [stdout]     = 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>
[INFO] [stdout]     = note: the macro `::cast_trait_object::impl_dyn_cast` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]     = note: this warning originates in the macro `::cast_trait_object::impl_dyn_cast` which comes from the expansion of the attribute macro `dyn_upcast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]    --> external_tests/src/lib.rs:130:9
[INFO] [stdout]     |
[INFO] [stdout] 130 |         #[dyn_cast(Sub<T>)]
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stdout]     = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = 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
[INFO] [stdout]     = 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>
[INFO] [stdout]     = note: the macro `::cast_trait_object::impl_dyn_cast` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]     = note: this warning originates in the macro `::cast_trait_object::impl_dyn_cast` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]    --> external_tests/src/lib.rs:129:9
[INFO] [stdout]     |
[INFO] [stdout] 129 |         #[dyn_upcast]
[INFO] [stdout]     |         ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stdout]     = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = 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
[INFO] [stdout]     = 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>
[INFO] [stdout]     = note: the macro `::cast_trait_object::impl_dyn_cast` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]     = note: this warning originates in the macro `::cast_trait_object::impl_dyn_cast` which comes from the expansion of the attribute macro `dyn_upcast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]    --> external_tests/src/lib.rs:139:9
[INFO] [stdout]     |
[INFO] [stdout] 139 |         #[dyn_cast(Sub<Item = Test>)]
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stdout]     = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = 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
[INFO] [stdout]     = 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>
[INFO] [stdout]     = note: the macro `$crate::impl_dyn_cast_config` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]     = note: this warning originates in the macro `$crate::impl_dyn_cast_config` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]    --> external_tests/src/lib.rs:139:9
[INFO] [stdout]     |
[INFO] [stdout] 139 |         #[dyn_cast(Sub<Item = Test>)]
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stdout]     = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = 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
[INFO] [stdout]     = 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>
[INFO] [stdout]     = note: the macro `$crate::impl_dyn_cast_config` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]     = note: this warning originates in the macro `$crate::impl_dyn_cast_config` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]    --> external_tests/src/lib.rs:139:9
[INFO] [stdout]     |
[INFO] [stdout] 139 |         #[dyn_cast(Sub<Item = Test>)]
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stdout]     = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = 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
[INFO] [stdout]     = 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>
[INFO] [stdout]     = note: the macro `$crate::impl_dyn_cast_config` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]     = note: this warning originates in the macro `$crate::impl_dyn_cast_config` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]    --> external_tests/src/lib.rs:140:9
[INFO] [stdout]     |
[INFO] [stdout] 140 |         #[dyn_cast(Sub<Item = ()>)]
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stdout]     = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = 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
[INFO] [stdout]     = 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>
[INFO] [stdout]     = note: the macro `$crate::impl_dyn_cast_config` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]     = note: this warning originates in the macro `$crate::impl_dyn_cast_config` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]    --> external_tests/src/lib.rs:140:9
[INFO] [stdout]     |
[INFO] [stdout] 140 |         #[dyn_cast(Sub<Item = ()>)]
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stdout]     = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = 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
[INFO] [stdout]     = 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>
[INFO] [stdout]     = note: the macro `$crate::impl_dyn_cast_config` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]     = note: this warning originates in the macro `$crate::impl_dyn_cast_config` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]    --> external_tests/src/lib.rs:140:9
[INFO] [stdout]     |
[INFO] [stdout] 140 |         #[dyn_cast(Sub<Item = ()>)]
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stdout]     = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = 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
[INFO] [stdout]     = 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>
[INFO] [stdout]     = note: the macro `$crate::impl_dyn_cast_config` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]     = note: this warning originates in the macro `$crate::impl_dyn_cast_config` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]    --> external_tests/src/lib.rs:143:9
[INFO] [stdout]     |
[INFO] [stdout] 143 |         #[dyn_cast(Sub<Item = ()>)]
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: move this `impl` block outside the of the current closure `<unnameable>` and up 4 bodies
[INFO] [stdout]     = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = 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
[INFO] [stdout]     = 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>
[INFO] [stdout]     = note: the macro `$crate::impl_dyn_cast` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]     = note: this warning originates in the macro `$crate::impl_dyn_cast` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]    --> external_tests/src/lib.rs:142:9
[INFO] [stdout]     |
[INFO] [stdout] 142 |         #[dyn_cast(Sub<Item = Test>)]
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: move this `impl` block outside the of the current closure `<unnameable>` and up 4 bodies
[INFO] [stdout]     = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = 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
[INFO] [stdout]     = 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>
[INFO] [stdout]     = note: the macro `$crate::impl_dyn_cast` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]     = note: this warning originates in the macro `$crate::impl_dyn_cast` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 56 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 7.70s
[INFO] running `Command { std: "docker" "inspect" "124c97e48174f67359477b40ccb87a2d6dfcafadb456584c33b2b1f043553824", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "124c97e48174f67359477b40ccb87a2d6dfcafadb456584c33b2b1f043553824", kill_on_drop: false }`
[INFO] [stdout] 124c97e48174f67359477b40ccb87a2d6dfcafadb456584c33b2b1f043553824
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:59a85a07ab18ca8720692f8e61effa1c651d9e2ca591e072c2b212bb91a6b8b5" "/opt/rustwide/cargo-home/bin/cargo" "+b642703cf9526da1e72c0b6755753b939a9c6b6d" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] c44651e57b7393a85c71b199421276db536ea9111354b0aa0555e6c688783897
[INFO] running `Command { std: "docker" "start" "-a" "c44651e57b7393a85c71b199421276db536ea9111354b0aa0555e6c688783897", kill_on_drop: false }`
[INFO] [stderr]    Compiling cast_trait_object_macros v0.1.3 (/opt/rustwide/workdir/cast_trait_object_macros)
[INFO] [stderr]    Compiling cast_trait_object v0.1.3 (/opt/rustwide/workdir/cast_trait_object)
[INFO] [stderr]    Compiling external_tests v0.1.0 (/opt/rustwide/workdir/external_tests)
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]     --> cast_trait_object/src/lib.rs:1641:13
[INFO] [stdout]      |
[INFO] [stdout] 1641 | /             impl< $($lifetime,)* $($generics,)* >
[INFO] [stdout] 1642 | |             $crate::DynCastConfig
[INFO] [stdout] 1643 | |             for
[INFO] [stdout] 1644 | |             $config_type
[INFO] [stdout] ...    |
[INFO] [stdout] 1648 | |                 type Source = dyn $source_trait;
[INFO] [stdout] 1649 | |             }
[INFO] [stdout]      | |_____________^
[INFO] [stdout] ...
[INFO] [stdout] 1680 | /     create_dyn_cast_config!(
[INFO] [stdout] 1681 | |         /// Can have attributes on the generated config struct.
[INFO] [stdout] 1682 | |         #[derive(Clone)]
[INFO] [stdout] 1683 | |         UpcastConfig = Super => Super
[INFO] [stdout] 1684 | |     );
[INFO] [stdout]      | |_____- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = help: move this `impl` block outside the of the current closure `<unnameable>` and up 4 bodies
[INFO] [stdout]      = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]      = 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
[INFO] [stdout]      = 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>
[INFO] [stdout]      = note: `#[warn(non_local_definitions)]` on by default
[INFO] [stdout]      = note: this warning originates in the macro `$crate::impl_dyn_cast_config` which comes from the expansion of the macro `create_dyn_cast_config` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]     --> cast_trait_object/src/lib.rs:1651:13
[INFO] [stdout]      |
[INFO] [stdout] 1651 | /             impl< $($lifetime,)* $($generics,)*  __T>
[INFO] [stdout] 1652 | |             $crate::DynCastConfigTargetTest<__T>
[INFO] [stdout] 1653 | |             for
[INFO] [stdout] 1654 | |             $config_type
[INFO] [stdout] ...    |
[INFO] [stdout] 1657 | |                 $($($where)*)?
[INFO] [stdout] 1658 | |             {}
[INFO] [stdout]      | |______________^
[INFO] [stdout] ...
[INFO] [stdout] 1680 | /     create_dyn_cast_config!(
[INFO] [stdout] 1681 | |         /// Can have attributes on the generated config struct.
[INFO] [stdout] 1682 | |         #[derive(Clone)]
[INFO] [stdout] 1683 | |         UpcastConfig = Super => Super
[INFO] [stdout] 1684 | |     );
[INFO] [stdout]      | |_____- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = help: move this `impl` block outside the of the current closure `<unnameable>` and up 4 bodies
[INFO] [stdout]      = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]      = 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
[INFO] [stdout]      = 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>
[INFO] [stdout]      = note: this warning originates in the macro `$crate::impl_dyn_cast_config` which comes from the expansion of the macro `create_dyn_cast_config` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]     --> cast_trait_object/src/lib.rs:1660:13
[INFO] [stdout]      |
[INFO] [stdout] 1660 | /             impl< $($lifetime,)* $($generics,)* >
[INFO] [stdout] 1661 | |             $crate::GetDynCastConfig<dyn $target_trait>
[INFO] [stdout] 1662 | |             for
[INFO] [stdout] 1663 | |             dyn $source_trait
[INFO] [stdout] ...    |
[INFO] [stdout] 1666 | |                 type Config = $config_type;
[INFO] [stdout] 1667 | |             }
[INFO] [stdout]      | |_____________^
[INFO] [stdout] ...
[INFO] [stdout] 1680 | /     create_dyn_cast_config!(
[INFO] [stdout] 1681 | |         /// Can have attributes on the generated config struct.
[INFO] [stdout] 1682 | |         #[derive(Clone)]
[INFO] [stdout] 1683 | |         UpcastConfig = Super => Super
[INFO] [stdout] 1684 | |     );
[INFO] [stdout]      | |_____- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = help: move this `impl` block outside the of the current closure `<unnameable>` and up 4 bodies
[INFO] [stdout]      = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]      = 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
[INFO] [stdout]      = 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>
[INFO] [stdout]      = note: this warning originates in the macro `$crate::impl_dyn_cast_config` which comes from the expansion of the macro `create_dyn_cast_config` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]     --> cast_trait_object/src/lib.rs:1641:13
[INFO] [stdout]      |
[INFO] [stdout] 1641 | /             impl< $($lifetime,)* $($generics,)* >
[INFO] [stdout] 1642 | |             $crate::DynCastConfig
[INFO] [stdout] 1643 | |             for
[INFO] [stdout] 1644 | |             $config_type
[INFO] [stdout] ...    |
[INFO] [stdout] 1648 | |                 type Source = dyn $source_trait;
[INFO] [stdout] 1649 | |             }
[INFO] [stdout]      | |_____________^
[INFO] [stdout] ...
[INFO] [stdout] 1685 | /     create_dyn_cast_config!(
[INFO] [stdout] 1686 | |         /// Can have attributes on the generated config struct.
[INFO] [stdout] 1687 | |         #[derive(Clone)]
[INFO] [stdout] 1688 | |         SuperConfig = Super => Sub
[INFO] [stdout] 1689 | |     );
[INFO] [stdout]      | |_____- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = help: move this `impl` block outside the of the current closure `<unnameable>` and up 4 bodies
[INFO] [stdout]      = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]      = 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
[INFO] [stdout]      = 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>
[INFO] [stdout]      = note: this warning originates in the macro `$crate::impl_dyn_cast_config` which comes from the expansion of the macro `create_dyn_cast_config` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]     --> cast_trait_object/src/lib.rs:1651:13
[INFO] [stdout]      |
[INFO] [stdout] 1651 | /             impl< $($lifetime,)* $($generics,)*  __T>
[INFO] [stdout] 1652 | |             $crate::DynCastConfigTargetTest<__T>
[INFO] [stdout] 1653 | |             for
[INFO] [stdout] 1654 | |             $config_type
[INFO] [stdout] ...    |
[INFO] [stdout] 1657 | |                 $($($where)*)?
[INFO] [stdout] 1658 | |             {}
[INFO] [stdout]      | |______________^
[INFO] [stdout] ...
[INFO] [stdout] 1685 | /     create_dyn_cast_config!(
[INFO] [stdout] 1686 | |         /// Can have attributes on the generated config struct.
[INFO] [stdout] 1687 | |         #[derive(Clone)]
[INFO] [stdout] 1688 | |         SuperConfig = Super => Sub
[INFO] [stdout] 1689 | |     );
[INFO] [stdout]      | |_____- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = help: move this `impl` block outside the of the current closure `<unnameable>` and up 4 bodies
[INFO] [stdout]      = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]      = 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
[INFO] [stdout]      = 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>
[INFO] [stdout]      = note: this warning originates in the macro `$crate::impl_dyn_cast_config` which comes from the expansion of the macro `create_dyn_cast_config` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]     --> cast_trait_object/src/lib.rs:1660:13
[INFO] [stdout]      |
[INFO] [stdout] 1660 | /             impl< $($lifetime,)* $($generics,)* >
[INFO] [stdout] 1661 | |             $crate::GetDynCastConfig<dyn $target_trait>
[INFO] [stdout] 1662 | |             for
[INFO] [stdout] 1663 | |             dyn $source_trait
[INFO] [stdout] ...    |
[INFO] [stdout] 1666 | |                 type Config = $config_type;
[INFO] [stdout] 1667 | |             }
[INFO] [stdout]      | |_____________^
[INFO] [stdout] ...
[INFO] [stdout] 1685 | /     create_dyn_cast_config!(
[INFO] [stdout] 1686 | |         /// Can have attributes on the generated config struct.
[INFO] [stdout] 1687 | |         #[derive(Clone)]
[INFO] [stdout] 1688 | |         SuperConfig = Super => Sub
[INFO] [stdout] 1689 | |     );
[INFO] [stdout]      | |_____- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = help: move this `impl` block outside the of the current closure `<unnameable>` and up 4 bodies
[INFO] [stdout]      = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]      = 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
[INFO] [stdout]      = 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>
[INFO] [stdout]      = note: this warning originates in the macro `$crate::impl_dyn_cast_config` which comes from the expansion of the macro `create_dyn_cast_config` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]     --> cast_trait_object/src/lib.rs:1458:13
[INFO] [stdout]      |
[INFO] [stdout] 1458 | /             impl< $($lifetime,)* $($generics,)* >
[INFO] [stdout] 1459 | |             $crate::DynCast<  $config_type  >
[INFO] [stdout] 1460 | |             for
[INFO] [stdout] 1461 | |             $self_type
[INFO] [stdout] ...    |
[INFO] [stdout] 1555 | |                 }
[INFO] [stdout] 1556 | |             }
[INFO] [stdout]      | |_____________^
[INFO] [stdout] ...
[INFO] [stdout] 1695 |       impl_dyn_cast!(TestSuper => SuperConfig, UpcastConfig);
[INFO] [stdout]      |       ------------------------------------------------------ in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = help: move this `impl` block outside the of the current closure `<unnameable>` and up 4 bodies
[INFO] [stdout]      = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]      = 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
[INFO] [stdout]      = 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>
[INFO] [stdout]      = note: this warning originates in the macro `$crate::impl_dyn_cast` which comes from the expansion of the macro `impl_dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]     --> cast_trait_object/src/lib.rs:1458:13
[INFO] [stdout]      |
[INFO] [stdout] 1458 | /             impl< $($lifetime,)* $($generics,)* >
[INFO] [stdout] 1459 | |             $crate::DynCast<  $config_type  >
[INFO] [stdout] 1460 | |             for
[INFO] [stdout] 1461 | |             $self_type
[INFO] [stdout] ...    |
[INFO] [stdout] 1555 | |                 }
[INFO] [stdout] 1556 | |             }
[INFO] [stdout]      | |_____________^
[INFO] [stdout] ...
[INFO] [stdout] 1695 |       impl_dyn_cast!(TestSuper => SuperConfig, UpcastConfig);
[INFO] [stdout]      |       ------------------------------------------------------ in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = help: move this `impl` block outside the of the current closure `<unnameable>` and up 4 bodies
[INFO] [stdout]      = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]      = 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
[INFO] [stdout]      = 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>
[INFO] [stdout]      = note: this warning originates in the macro `$crate::impl_dyn_cast` which comes from the expansion of the macro `impl_dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]     --> cast_trait_object/src/lib.rs:1458:13
[INFO] [stdout]      |
[INFO] [stdout] 1458 | /             impl< $($lifetime,)* $($generics,)* >
[INFO] [stdout] 1459 | |             $crate::DynCast<  $config_type  >
[INFO] [stdout] 1460 | |             for
[INFO] [stdout] 1461 | |             $self_type
[INFO] [stdout] ...    |
[INFO] [stdout] 1555 | |                 }
[INFO] [stdout] 1556 | |             }
[INFO] [stdout]      | |_____________^
[INFO] [stdout] ...
[INFO] [stdout] 1700 |       impl_dyn_cast! {TestSub as Super => Sub, Super}
[INFO] [stdout]      |       ----------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = help: move this `impl` block outside the of the current closure `<unnameable>` and up 4 bodies
[INFO] [stdout]      = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]      = 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
[INFO] [stdout]      = 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>
[INFO] [stdout]      = note: this warning originates in the macro `$crate::impl_dyn_cast` which comes from the expansion of the macro `impl_dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]     --> cast_trait_object/src/lib.rs:1458:13
[INFO] [stdout]      |
[INFO] [stdout] 1458 | /             impl< $($lifetime,)* $($generics,)* >
[INFO] [stdout] 1459 | |             $crate::DynCast<  $config_type  >
[INFO] [stdout] 1460 | |             for
[INFO] [stdout] 1461 | |             $self_type
[INFO] [stdout] ...    |
[INFO] [stdout] 1555 | |                 }
[INFO] [stdout] 1556 | |             }
[INFO] [stdout]      | |_____________^
[INFO] [stdout] ...
[INFO] [stdout] 1700 |       impl_dyn_cast! {TestSub as Super => Sub, Super}
[INFO] [stdout]      |       ----------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = help: move this `impl` block outside the of the current closure `<unnameable>` and up 4 bodies
[INFO] [stdout]      = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]      = 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
[INFO] [stdout]      = 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>
[INFO] [stdout]      = note: this warning originates in the macro `$crate::impl_dyn_cast` which comes from the expansion of the macro `impl_dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]     --> cast_trait_object/src/lib.rs:1458:13
[INFO] [stdout]      |
[INFO] [stdout] 1458 | /             impl< $($lifetime,)* $($generics,)* >
[INFO] [stdout] 1459 | |             $crate::DynCast<  $config_type  >
[INFO] [stdout] 1460 | |             for
[INFO] [stdout] 1461 | |             $self_type
[INFO] [stdout] ...    |
[INFO] [stdout] 1555 | |                 }
[INFO] [stdout] 1556 | |             }
[INFO] [stdout]      | |_____________^
[INFO] [stdout] ...
[INFO] [stdout] 1706 |       impl_dyn_cast! {TestSubMixed as Super => Sub}
[INFO] [stdout]      |       --------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = help: move this `impl` block outside the of the current closure `<unnameable>` and up 4 bodies
[INFO] [stdout]      = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]      = 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
[INFO] [stdout]      = 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>
[INFO] [stdout]      = note: this warning originates in the macro `$crate::impl_dyn_cast` which comes from the expansion of the macro `impl_dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]     --> cast_trait_object/src/lib.rs:1458:13
[INFO] [stdout]      |
[INFO] [stdout] 1458 | /             impl< $($lifetime,)* $($generics,)* >
[INFO] [stdout] 1459 | |             $crate::DynCast<  $config_type  >
[INFO] [stdout] 1460 | |             for
[INFO] [stdout] 1461 | |             $self_type
[INFO] [stdout] ...    |
[INFO] [stdout] 1555 | |                 }
[INFO] [stdout] 1556 | |             }
[INFO] [stdout]      | |_____________^
[INFO] [stdout] ...
[INFO] [stdout] 1707 |       impl_dyn_cast! {TestSubMixed => UpcastConfig}
[INFO] [stdout]      |       --------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = help: move this `impl` block outside the of the current closure `<unnameable>` and up 4 bodies
[INFO] [stdout]      = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]      = 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
[INFO] [stdout]      = 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>
[INFO] [stdout]      = note: this warning originates in the macro `$crate::impl_dyn_cast` which comes from the expansion of the macro `impl_dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]     --> cast_trait_object/src/lib.rs:1335:13
[INFO] [stdout]      |
[INFO] [stdout] 1335 | /             impl< $($lifetime,)* $($generics,)* >
[INFO] [stdout] 1336 | |             $crate::DerivedDynCast<
[INFO] [stdout] 1337 | |                 $crate::ConcreteDynCastConfig<
[INFO] [stdout] 1338 | |                     dyn $source_trait,
[INFO] [stdout] ...    |
[INFO] [stdout] 1438 | |                 }
[INFO] [stdout] 1439 | |             }
[INFO] [stdout]      | |_____________^
[INFO] [stdout] ...
[INFO] [stdout] 1725 |       impl_dyn_cast!(for<T> TestGeneric<T> as Super where {T: 'static} => Sub);
[INFO] [stdout]      |       ------------------------------------------------------------------------ in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stdout]      = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]      = 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
[INFO] [stdout]      = 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>
[INFO] [stdout]      = note: this warning originates in the macro `impl_dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]     --> cast_trait_object/src/lib.rs:1335:13
[INFO] [stdout]      |
[INFO] [stdout] 1335 | /             impl< $($lifetime,)* $($generics,)* >
[INFO] [stdout] 1336 | |             $crate::DerivedDynCast<
[INFO] [stdout] 1337 | |                 $crate::ConcreteDynCastConfig<
[INFO] [stdout] 1338 | |                     dyn $source_trait,
[INFO] [stdout] ...    |
[INFO] [stdout] 1438 | |                 }
[INFO] [stdout] 1439 | |             }
[INFO] [stdout]      | |_____________^
[INFO] [stdout] ...
[INFO] [stdout] 1726 |       impl_dyn_cast!(for<T> TestGeneric<T> as Super where {T: 'static} => Super);
[INFO] [stdout]      |       -------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stdout]      = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]      = 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
[INFO] [stdout]      = 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>
[INFO] [stdout]      = note: this warning originates in the macro `impl_dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]     --> cast_trait_object/src/lib.rs:1335:13
[INFO] [stdout]      |
[INFO] [stdout] 1335 | /             impl< $($lifetime,)* $($generics,)* >
[INFO] [stdout] 1336 | |             $crate::DerivedDynCast<
[INFO] [stdout] 1337 | |                 $crate::ConcreteDynCastConfig<
[INFO] [stdout] 1338 | |                     dyn $source_trait,
[INFO] [stdout] ...    |
[INFO] [stdout] 1438 | |                 }
[INFO] [stdout] 1439 | |             }
[INFO] [stdout]      | |_____________^
[INFO] [stdout] ...
[INFO] [stdout] 1732 |       impl_dyn_cast!(for<T> TestGenericMixed<T> as Super where {T: 'static} => Sub);
[INFO] [stdout]      |       ----------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stdout]      = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]      = 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
[INFO] [stdout]      = 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>
[INFO] [stdout]      = note: this warning originates in the macro `impl_dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]     --> cast_trait_object/src/lib.rs:1458:13
[INFO] [stdout]      |
[INFO] [stdout] 1458 | /             impl< $($lifetime,)* $($generics,)* >
[INFO] [stdout] 1459 | |             $crate::DynCast<  $config_type  >
[INFO] [stdout] 1460 | |             for
[INFO] [stdout] 1461 | |             $self_type
[INFO] [stdout] ...    |
[INFO] [stdout] 1555 | |                 }
[INFO] [stdout] 1556 | |             }
[INFO] [stdout]      | |_____________^
[INFO] [stdout] ...
[INFO] [stdout] 1733 |       impl_dyn_cast!(for<T> TestGenericMixed<T> where {T: 'static} => UpcastConfig);
[INFO] [stdout]      |       ----------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stdout]      = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]      = 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
[INFO] [stdout]      = 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>
[INFO] [stdout]      = note: this warning originates in the macro `impl_dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]     --> cast_trait_object/src/lib.rs:1335:13
[INFO] [stdout]      |
[INFO] [stdout] 1335 | /             impl< $($lifetime,)* $($generics,)* >
[INFO] [stdout] 1336 | |             $crate::DerivedDynCast<
[INFO] [stdout] 1337 | |                 $crate::ConcreteDynCastConfig<
[INFO] [stdout] 1338 | |                     dyn $source_trait,
[INFO] [stdout] ...    |
[INFO] [stdout] 1438 | |                 }
[INFO] [stdout] 1439 | |             }
[INFO] [stdout]      | |_____________^
[INFO] [stdout] ...
[INFO] [stdout] 1740 |       impl_dyn_cast!(for<T> OnlyDisplayGeneric<T> as Super where {T: 'static} => Sub);
[INFO] [stdout]      |       ------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stdout]      = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]      = 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
[INFO] [stdout]      = 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>
[INFO] [stdout]      = note: this warning originates in the macro `impl_dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]     --> cast_trait_object/src/lib.rs:1335:13
[INFO] [stdout]      |
[INFO] [stdout] 1335 | /             impl< $($lifetime,)* $($generics,)* >
[INFO] [stdout] 1336 | |             $crate::DerivedDynCast<
[INFO] [stdout] 1337 | |                 $crate::ConcreteDynCastConfig<
[INFO] [stdout] 1338 | |                     dyn $source_trait,
[INFO] [stdout] ...    |
[INFO] [stdout] 1438 | |                 }
[INFO] [stdout] 1439 | |             }
[INFO] [stdout]      | |_____________^
[INFO] [stdout] ...
[INFO] [stdout] 1741 |       impl_dyn_cast!(for<T> OnlyDisplayGeneric<T> as Super where {T: 'static} => Super);
[INFO] [stdout]      |       --------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stdout]      = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]      = 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
[INFO] [stdout]      = 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>
[INFO] [stdout]      = note: this warning originates in the macro `impl_dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]     --> cast_trait_object/src/lib.rs:1641:13
[INFO] [stdout]      |
[INFO] [stdout] 1641 | /             impl< $($lifetime,)* $($generics,)* >
[INFO] [stdout] 1642 | |             $crate::DynCastConfig
[INFO] [stdout] 1643 | |             for
[INFO] [stdout] 1644 | |             $config_type
[INFO] [stdout] ...    |
[INFO] [stdout] 1648 | |                 type Source = dyn $source_trait;
[INFO] [stdout] 1649 | |             }
[INFO] [stdout]      | |_____________^
[INFO] [stdout] ...
[INFO] [stdout] 1769 | /         create_dyn_cast_config!(
[INFO] [stdout] 1770 | |             /// Can have attributes on the generated config struct.
[INFO] [stdout] 1771 | |             #[derive(Clone)]
[INFO] [stdout] 1772 | |             SuperConfig<T, U> = Super<T> => Sub<U>
[INFO] [stdout] 1773 | |         );
[INFO] [stdout]      | |_________- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stdout]      = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]      = 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
[INFO] [stdout]      = 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>
[INFO] [stdout]      = note: this warning originates in the macro `$crate::impl_dyn_cast_config` which comes from the expansion of the macro `create_dyn_cast_config` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]     --> cast_trait_object/src/lib.rs:1651:13
[INFO] [stdout]      |
[INFO] [stdout] 1651 | /             impl< $($lifetime,)* $($generics,)*  __T>
[INFO] [stdout] 1652 | |             $crate::DynCastConfigTargetTest<__T>
[INFO] [stdout] 1653 | |             for
[INFO] [stdout] 1654 | |             $config_type
[INFO] [stdout] ...    |
[INFO] [stdout] 1657 | |                 $($($where)*)?
[INFO] [stdout] 1658 | |             {}
[INFO] [stdout]      | |______________^
[INFO] [stdout] ...
[INFO] [stdout] 1769 | /         create_dyn_cast_config!(
[INFO] [stdout] 1770 | |             /// Can have attributes on the generated config struct.
[INFO] [stdout] 1771 | |             #[derive(Clone)]
[INFO] [stdout] 1772 | |             SuperConfig<T, U> = Super<T> => Sub<U>
[INFO] [stdout] 1773 | |         );
[INFO] [stdout]      | |_________- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stdout]      = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]      = 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
[INFO] [stdout]      = 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>
[INFO] [stdout]      = note: this warning originates in the macro `$crate::impl_dyn_cast_config` which comes from the expansion of the macro `create_dyn_cast_config` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]     --> cast_trait_object/src/lib.rs:1660:13
[INFO] [stdout]      |
[INFO] [stdout] 1660 | /             impl< $($lifetime,)* $($generics,)* >
[INFO] [stdout] 1661 | |             $crate::GetDynCastConfig<dyn $target_trait>
[INFO] [stdout] 1662 | |             for
[INFO] [stdout] 1663 | |             dyn $source_trait
[INFO] [stdout] ...    |
[INFO] [stdout] 1666 | |                 type Config = $config_type;
[INFO] [stdout] 1667 | |             }
[INFO] [stdout]      | |_____________^
[INFO] [stdout] ...
[INFO] [stdout] 1769 | /         create_dyn_cast_config!(
[INFO] [stdout] 1770 | |             /// Can have attributes on the generated config struct.
[INFO] [stdout] 1771 | |             #[derive(Clone)]
[INFO] [stdout] 1772 | |             SuperConfig<T, U> = Super<T> => Sub<U>
[INFO] [stdout] 1773 | |         );
[INFO] [stdout]      | |_________- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stdout]      = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]      = 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
[INFO] [stdout]      = 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>
[INFO] [stdout]      = note: this warning originates in the macro `$crate::impl_dyn_cast_config` which comes from the expansion of the macro `create_dyn_cast_config` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]     --> cast_trait_object/src/lib.rs:1458:13
[INFO] [stdout]      |
[INFO] [stdout] 1458 | /             impl< $($lifetime,)* $($generics,)* >
[INFO] [stdout] 1459 | |             $crate::DynCast<  $config_type  >
[INFO] [stdout] 1460 | |             for
[INFO] [stdout] 1461 | |             $self_type
[INFO] [stdout] ...    |
[INFO] [stdout] 1555 | |                 }
[INFO] [stdout] 1556 | |             }
[INFO] [stdout]      | |_____________^
[INFO] [stdout] ...
[INFO] [stdout] 1776 |           impl_dyn_cast!(for<T> () => SuperConfig<T, T>);
[INFO] [stdout]      |           ---------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stdout]      = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]      = 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
[INFO] [stdout]      = 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>
[INFO] [stdout]      = note: this warning originates in the macro `impl_dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]     --> cast_trait_object/src/lib.rs:1458:13
[INFO] [stdout]      |
[INFO] [stdout] 1458 | /             impl< $($lifetime,)* $($generics,)* >
[INFO] [stdout] 1459 | |             $crate::DynCast<  $config_type  >
[INFO] [stdout] 1460 | |             for
[INFO] [stdout] 1461 | |             $self_type
[INFO] [stdout] ...    |
[INFO] [stdout] 1555 | |                 }
[INFO] [stdout] 1556 | |             }
[INFO] [stdout]      | |_____________^
[INFO] [stdout] ...
[INFO] [stdout] 1780 |           impl_dyn_cast!(for<T> TestSuper => SuperConfig<T, T>);
[INFO] [stdout]      |           ----------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stdout]      = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]      = 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
[INFO] [stdout]      = 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>
[INFO] [stdout]      = note: this warning originates in the macro `impl_dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]     --> cast_trait_object/src/lib.rs:1335:13
[INFO] [stdout]      |
[INFO] [stdout] 1335 | /             impl< $($lifetime,)* $($generics,)* >
[INFO] [stdout] 1336 | |             $crate::DerivedDynCast<
[INFO] [stdout] 1337 | |                 $crate::ConcreteDynCastConfig<
[INFO] [stdout] 1338 | |                     dyn $source_trait,
[INFO] [stdout] ...    |
[INFO] [stdout] 1438 | |                 }
[INFO] [stdout] 1439 | |             }
[INFO] [stdout]      | |_____________^
[INFO] [stdout] ...
[INFO] [stdout] 1785 |           impl_dyn_cast! {for<T> TestSub as Super<T> where {T: core::fmt::Display} => Sub<T>}
[INFO] [stdout]      |           ----------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stdout]      = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]      = 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
[INFO] [stdout]      = 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>
[INFO] [stdout]      = note: this warning originates in the macro `impl_dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]     --> cast_trait_object/src/lib.rs:1641:13
[INFO] [stdout]      |
[INFO] [stdout] 1641 | /             impl< $($lifetime,)* $($generics,)* >
[INFO] [stdout] 1642 | |             $crate::DynCastConfig
[INFO] [stdout] 1643 | |             for
[INFO] [stdout] 1644 | |             $config_type
[INFO] [stdout] ...    |
[INFO] [stdout] 1648 | |                 type Source = dyn $source_trait;
[INFO] [stdout] 1649 | |             }
[INFO] [stdout]      | |_____________^
[INFO] [stdout] ...
[INFO] [stdout] 1815 |           #[dyn_cast(Sub)]
[INFO] [stdout]      |           ---------------- in this procedural macro expansion
[INFO] [stdout]      |
[INFO] [stdout]      = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stdout]      = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]      = 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
[INFO] [stdout]      = 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>
[INFO] [stdout]      = note: this warning originates in the macro `$crate::impl_dyn_cast_config` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]     --> cast_trait_object/src/lib.rs:1651:13
[INFO] [stdout]      |
[INFO] [stdout] 1651 | /             impl< $($lifetime,)* $($generics,)*  __T>
[INFO] [stdout] 1652 | |             $crate::DynCastConfigTargetTest<__T>
[INFO] [stdout] 1653 | |             for
[INFO] [stdout] 1654 | |             $config_type
[INFO] [stdout] ...    |
[INFO] [stdout] 1657 | |                 $($($where)*)?
[INFO] [stdout] 1658 | |             {}
[INFO] [stdout]      | |______________^
[INFO] [stdout] ...
[INFO] [stdout] 1815 |           #[dyn_cast(Sub)]
[INFO] [stdout]      |           ---------------- in this procedural macro expansion
[INFO] [stdout]      |
[INFO] [stdout]      = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stdout]      = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]      = 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
[INFO] [stdout]      = 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>
[INFO] [stdout]      = note: this warning originates in the macro `$crate::impl_dyn_cast_config` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]     --> cast_trait_object/src/lib.rs:1660:13
[INFO] [stdout]      |
[INFO] [stdout] 1660 | /             impl< $($lifetime,)* $($generics,)* >
[INFO] [stdout] 1661 | |             $crate::GetDynCastConfig<dyn $target_trait>
[INFO] [stdout] 1662 | |             for
[INFO] [stdout] 1663 | |             dyn $source_trait
[INFO] [stdout] ...    |
[INFO] [stdout] 1666 | |                 type Config = $config_type;
[INFO] [stdout] 1667 | |             }
[INFO] [stdout]      | |_____________^
[INFO] [stdout] ...
[INFO] [stdout] 1815 |           #[dyn_cast(Sub)]
[INFO] [stdout]      |           ---------------- in this procedural macro expansion
[INFO] [stdout]      |
[INFO] [stdout]      = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stdout]      = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]      = 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
[INFO] [stdout]      = 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>
[INFO] [stdout]      = note: this warning originates in the macro `$crate::impl_dyn_cast_config` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]     --> cast_trait_object/src/lib.rs:1641:13
[INFO] [stdout]      |
[INFO] [stdout] 1641 | /             impl< $($lifetime,)* $($generics,)* >
[INFO] [stdout] 1642 | |             $crate::DynCastConfig
[INFO] [stdout] 1643 | |             for
[INFO] [stdout] 1644 | |             $config_type
[INFO] [stdout] ...    |
[INFO] [stdout] 1648 | |                 type Source = dyn $source_trait;
[INFO] [stdout] 1649 | |             }
[INFO] [stdout]      | |_____________^
[INFO] [stdout] ...
[INFO] [stdout] 1816 |           #[dyn_upcast]
[INFO] [stdout]      |           ------------- in this procedural macro expansion
[INFO] [stdout]      |
[INFO] [stdout]      = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stdout]      = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]      = 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
[INFO] [stdout]      = 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>
[INFO] [stdout]      = note: this warning originates in the macro `$crate::impl_dyn_cast_config` which comes from the expansion of the attribute macro `dyn_upcast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]     --> cast_trait_object/src/lib.rs:1651:13
[INFO] [stdout]      |
[INFO] [stdout] 1651 | /             impl< $($lifetime,)* $($generics,)*  __T>
[INFO] [stdout] 1652 | |             $crate::DynCastConfigTargetTest<__T>
[INFO] [stdout] 1653 | |             for
[INFO] [stdout] 1654 | |             $config_type
[INFO] [stdout] ...    |
[INFO] [stdout] 1657 | |                 $($($where)*)?
[INFO] [stdout] 1658 | |             {}
[INFO] [stdout]      | |______________^
[INFO] [stdout] ...
[INFO] [stdout] 1816 |           #[dyn_upcast]
[INFO] [stdout]      |           ------------- in this procedural macro expansion
[INFO] [stdout]      |
[INFO] [stdout]      = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stdout]      = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]      = 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
[INFO] [stdout]      = 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>
[INFO] [stdout]      = note: this warning originates in the macro `$crate::impl_dyn_cast_config` which comes from the expansion of the attribute macro `dyn_upcast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]     --> cast_trait_object/src/lib.rs:1660:13
[INFO] [stdout]      |
[INFO] [stdout] 1660 | /             impl< $($lifetime,)* $($generics,)* >
[INFO] [stdout] 1661 | |             $crate::GetDynCastConfig<dyn $target_trait>
[INFO] [stdout] 1662 | |             for
[INFO] [stdout] 1663 | |             dyn $source_trait
[INFO] [stdout] ...    |
[INFO] [stdout] 1666 | |                 type Config = $config_type;
[INFO] [stdout] 1667 | |             }
[INFO] [stdout]      | |_____________^
[INFO] [stdout] ...
[INFO] [stdout] 1816 |           #[dyn_upcast]
[INFO] [stdout]      |           ------------- in this procedural macro expansion
[INFO] [stdout]      |
[INFO] [stdout]      = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stdout]      = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]      = 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
[INFO] [stdout]      = 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>
[INFO] [stdout]      = note: this warning originates in the macro `$crate::impl_dyn_cast_config` which comes from the expansion of the attribute macro `dyn_upcast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]     --> cast_trait_object/src/lib.rs:1458:13
[INFO] [stdout]      |
[INFO] [stdout] 1458 | /             impl< $($lifetime,)* $($generics,)* >
[INFO] [stdout] 1459 | |             $crate::DynCast<  $config_type  >
[INFO] [stdout] 1460 | |             for
[INFO] [stdout] 1461 | |             $self_type
[INFO] [stdout] ...    |
[INFO] [stdout] 1555 | |                 }
[INFO] [stdout] 1556 | |             }
[INFO] [stdout]      | |_____________^
[INFO] [stdout] ...
[INFO] [stdout] 1821 |           #[dyn_upcast(Super)]
[INFO] [stdout]      |           -------------------- in this procedural macro expansion
[INFO] [stdout]      |
[INFO] [stdout]      = help: move this `impl` block outside the of the current closure `<unnameable>` and up 4 bodies
[INFO] [stdout]      = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]      = 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
[INFO] [stdout]      = 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>
[INFO] [stdout]      = note: this warning originates in the macro `$crate::impl_dyn_cast` which comes from the expansion of the attribute macro `dyn_upcast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]     --> cast_trait_object/src/lib.rs:1458:13
[INFO] [stdout]      |
[INFO] [stdout] 1458 | /             impl< $($lifetime,)* $($generics,)* >
[INFO] [stdout] 1459 | |             $crate::DynCast<  $config_type  >
[INFO] [stdout] 1460 | |             for
[INFO] [stdout] 1461 | |             $self_type
[INFO] [stdout] ...    |
[INFO] [stdout] 1555 | |                 }
[INFO] [stdout] 1556 | |             }
[INFO] [stdout]      | |_____________^
[INFO] [stdout] ...
[INFO] [stdout] 1820 |           #[dyn_cast(Super => Sub)]
[INFO] [stdout]      |           ------------------------- in this procedural macro expansion
[INFO] [stdout]      |
[INFO] [stdout]      = help: move this `impl` block outside the of the current closure `<unnameable>` and up 4 bodies
[INFO] [stdout]      = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]      = 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
[INFO] [stdout]      = 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>
[INFO] [stdout]      = note: this warning originates in the macro `$crate::impl_dyn_cast` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]     --> cast_trait_object/src/lib.rs:1458:13
[INFO] [stdout]      |
[INFO] [stdout] 1458 | /             impl< $($lifetime,)* $($generics,)* >
[INFO] [stdout] 1459 | |             $crate::DynCast<  $config_type  >
[INFO] [stdout] 1460 | |             for
[INFO] [stdout] 1461 | |             $self_type
[INFO] [stdout] ...    |
[INFO] [stdout] 1555 | |                 }
[INFO] [stdout] 1556 | |             }
[INFO] [stdout]      | |_____________^
[INFO] [stdout] ...
[INFO] [stdout] 1826 |           #[dyn_upcast(Super)]
[INFO] [stdout]      |           -------------------- in this procedural macro expansion
[INFO] [stdout]      |
[INFO] [stdout]      = help: move this `impl` block outside the of the current closure `<unnameable>` and up 4 bodies
[INFO] [stdout]      = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]      = 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
[INFO] [stdout]      = 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>
[INFO] [stdout]      = note: this warning originates in the macro `$crate::impl_dyn_cast` which comes from the expansion of the attribute macro `dyn_upcast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]     --> cast_trait_object/src/lib.rs:1458:13
[INFO] [stdout]      |
[INFO] [stdout] 1458 | /             impl< $($lifetime,)* $($generics,)* >
[INFO] [stdout] 1459 | |             $crate::DynCast<  $config_type  >
[INFO] [stdout] 1460 | |             for
[INFO] [stdout] 1461 | |             $self_type
[INFO] [stdout] ...    |
[INFO] [stdout] 1555 | |                 }
[INFO] [stdout] 1556 | |             }
[INFO] [stdout]      | |_____________^
[INFO] [stdout] ...
[INFO] [stdout] 1825 |           #[dyn_cast(Super => Sub)]
[INFO] [stdout]      |           ------------------------- in this procedural macro expansion
[INFO] [stdout]      |
[INFO] [stdout]      = help: move this `impl` block outside the of the current closure `<unnameable>` and up 4 bodies
[INFO] [stdout]      = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]      = 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
[INFO] [stdout]      = 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>
[INFO] [stdout]      = note: this warning originates in the macro `$crate::impl_dyn_cast` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]     --> cast_trait_object/src/lib.rs:1641:13
[INFO] [stdout]      |
[INFO] [stdout] 1641 | /             impl< $($lifetime,)* $($generics,)* >
[INFO] [stdout] 1642 | |             $crate::DynCastConfig
[INFO] [stdout] 1643 | |             for
[INFO] [stdout] 1644 | |             $config_type
[INFO] [stdout] ...    |
[INFO] [stdout] 1648 | |                 type Source = dyn $source_trait;
[INFO] [stdout] 1649 | |             }
[INFO] [stdout]      | |_____________^
[INFO] [stdout] ...
[INFO] [stdout] 1834 |               #[dyn_upcast]
[INFO] [stdout]      |               ------------- in this procedural macro expansion
[INFO] [stdout]      |
[INFO] [stdout]      = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stdout]      = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]      = 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
[INFO] [stdout]      = 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>
[INFO] [stdout]      = note: this warning originates in the macro `$crate::impl_dyn_cast_config` which comes from the expansion of the attribute macro `dyn_upcast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]     --> cast_trait_object/src/lib.rs:1651:13
[INFO] [stdout]      |
[INFO] [stdout] 1651 | /             impl< $($lifetime,)* $($generics,)*  __T>
[INFO] [stdout] 1652 | |             $crate::DynCastConfigTargetTest<__T>
[INFO] [stdout] 1653 | |             for
[INFO] [stdout] 1654 | |             $config_type
[INFO] [stdout] ...    |
[INFO] [stdout] 1657 | |                 $($($where)*)?
[INFO] [stdout] 1658 | |             {}
[INFO] [stdout]      | |______________^
[INFO] [stdout] ...
[INFO] [stdout] 1834 |               #[dyn_upcast]
[INFO] [stdout]      |               ------------- in this procedural macro expansion
[INFO] [stdout]      |
[INFO] [stdout]      = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stdout]      = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]      = 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
[INFO] [stdout]      = 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>
[INFO] [stdout]      = note: this warning originates in the macro `$crate::impl_dyn_cast_config` which comes from the expansion of the attribute macro `dyn_upcast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]     --> cast_trait_object/src/lib.rs:1660:13
[INFO] [stdout]      |
[INFO] [stdout] 1660 | /             impl< $($lifetime,)* $($generics,)* >
[INFO] [stdout] 1661 | |             $crate::GetDynCastConfig<dyn $target_trait>
[INFO] [stdout] 1662 | |             for
[INFO] [stdout] 1663 | |             dyn $source_trait
[INFO] [stdout] ...    |
[INFO] [stdout] 1666 | |                 type Config = $config_type;
[INFO] [stdout] 1667 | |             }
[INFO] [stdout]      | |_____________^
[INFO] [stdout] ...
[INFO] [stdout] 1834 |               #[dyn_upcast]
[INFO] [stdout]      |               ------------- in this procedural macro expansion
[INFO] [stdout]      |
[INFO] [stdout]      = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stdout]      = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]      = 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
[INFO] [stdout]      = 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>
[INFO] [stdout]      = note: this warning originates in the macro `$crate::impl_dyn_cast_config` which comes from the expansion of the attribute macro `dyn_upcast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]     --> cast_trait_object/src/lib.rs:1641:13
[INFO] [stdout]      |
[INFO] [stdout] 1641 | /             impl< $($lifetime,)* $($generics,)* >
[INFO] [stdout] 1642 | |             $crate::DynCastConfig
[INFO] [stdout] 1643 | |             for
[INFO] [stdout] 1644 | |             $config_type
[INFO] [stdout] ...    |
[INFO] [stdout] 1648 | |                 type Source = dyn $source_trait;
[INFO] [stdout] 1649 | |             }
[INFO] [stdout]      | |_____________^
[INFO] [stdout] ...
[INFO] [stdout] 1835 |               #[dyn_cast(Sub<T>)]
[INFO] [stdout]      |               ------------------- in this procedural macro expansion
[INFO] [stdout]      |
[INFO] [stdout]      = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stdout]      = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]      = 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
[INFO] [stdout]      = 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>
[INFO] [stdout]      = note: this warning originates in the macro `$crate::impl_dyn_cast_config` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]     --> cast_trait_object/src/lib.rs:1651:13
[INFO] [stdout]      |
[INFO] [stdout] 1651 | /             impl< $($lifetime,)* $($generics,)*  __T>
[INFO] [stdout] 1652 | |             $crate::DynCastConfigTargetTest<__T>
[INFO] [stdout] 1653 | |             for
[INFO] [stdout] 1654 | |             $config_type
[INFO] [stdout] ...    |
[INFO] [stdout] 1657 | |                 $($($where)*)?
[INFO] [stdout] 1658 | |             {}
[INFO] [stdout]      | |______________^
[INFO] [stdout] ...
[INFO] [stdout] 1835 |               #[dyn_cast(Sub<T>)]
[INFO] [stdout]      |               ------------------- in this procedural macro expansion
[INFO] [stdout]      |
[INFO] [stdout]      = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stdout]      = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]      = 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
[INFO] [stdout]      = 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>
[INFO] [stdout]      = note: this warning originates in the macro `$crate::impl_dyn_cast_config` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]     --> cast_trait_object/src/lib.rs:1660:13
[INFO] [stdout]      |
[INFO] [stdout] 1660 | /             impl< $($lifetime,)* $($generics,)* >
[INFO] [stdout] 1661 | |             $crate::GetDynCastConfig<dyn $target_trait>
[INFO] [stdout] 1662 | |             for
[INFO] [stdout] 1663 | |             dyn $source_trait
[INFO] [stdout] ...    |
[INFO] [stdout] 1666 | |                 type Config = $config_type;
[INFO] [stdout] 1667 | |             }
[INFO] [stdout]      | |_____________^
[INFO] [stdout] ...
[INFO] [stdout] 1835 |               #[dyn_cast(Sub<T>)]
[INFO] [stdout]      |               ------------------- in this procedural macro expansion
[INFO] [stdout]      |
[INFO] [stdout]      = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stdout]      = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]      = 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
[INFO] [stdout]      = 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>
[INFO] [stdout]      = note: this warning originates in the macro `$crate::impl_dyn_cast_config` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]     --> cast_trait_object/src/lib.rs:1335:13
[INFO] [stdout]      |
[INFO] [stdout] 1335 | /             impl< $($lifetime,)* $($generics,)* >
[INFO] [stdout] 1336 | |             $crate::DerivedDynCast<
[INFO] [stdout] 1337 | |                 $crate::ConcreteDynCastConfig<
[INFO] [stdout] 1338 | |                     dyn $source_trait,
[INFO] [stdout] ...    |
[INFO] [stdout] 1438 | |                 }
[INFO] [stdout] 1439 | |             }
[INFO] [stdout]      | |_____________^
[INFO] [stdout] ...
[INFO] [stdout] 1840 |               #[dyn_upcast]
[INFO] [stdout]      |               ------------- in this procedural macro expansion
[INFO] [stdout]      |
[INFO] [stdout]      = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stdout]      = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]      = 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
[INFO] [stdout]      = 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>
[INFO] [stdout]      = note: this warning originates in the macro `crate::impl_dyn_cast` which comes from the expansion of the attribute macro `dyn_upcast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]     --> cast_trait_object/src/lib.rs:1335:13
[INFO] [stdout]      |
[INFO] [stdout] 1335 | /             impl< $($lifetime,)* $($generics,)* >
[INFO] [stdout] 1336 | |             $crate::DerivedDynCast<
[INFO] [stdout] 1337 | |                 $crate::ConcreteDynCastConfig<
[INFO] [stdout] 1338 | |                     dyn $source_trait,
[INFO] [stdout] ...    |
[INFO] [stdout] 1438 | |                 }
[INFO] [stdout] 1439 | |             }
[INFO] [stdout]      | |_____________^
[INFO] [stdout] ...
[INFO] [stdout] 1839 |               #[dyn_cast(Sub<T>)]
[INFO] [stdout]      |               ------------------- in this procedural macro expansion
[INFO] [stdout]      |
[INFO] [stdout]      = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stdout]      = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]      = 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
[INFO] [stdout]      = 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>
[INFO] [stdout]      = note: this warning originates in the macro `crate::impl_dyn_cast` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]     --> cast_trait_object/src/lib.rs:1335:13
[INFO] [stdout]      |
[INFO] [stdout] 1335 | /             impl< $($lifetime,)* $($generics,)* >
[INFO] [stdout] 1336 | |             $crate::DerivedDynCast<
[INFO] [stdout] 1337 | |                 $crate::ConcreteDynCastConfig<
[INFO] [stdout] 1338 | |                     dyn $source_trait,
[INFO] [stdout] ...    |
[INFO] [stdout] 1438 | |                 }
[INFO] [stdout] 1439 | |             }
[INFO] [stdout]      | |_____________^
[INFO] [stdout] ...
[INFO] [stdout] 1846 |               #[dyn_cast(Sub<T>)]
[INFO] [stdout]      |               ------------------- in this procedural macro expansion
[INFO] [stdout]      |
[INFO] [stdout]      = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stdout]      = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]      = 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
[INFO] [stdout]      = 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>
[INFO] [stdout]      = note: this warning originates in the macro `crate::impl_dyn_cast` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]     --> cast_trait_object/src/lib.rs:1335:13
[INFO] [stdout]      |
[INFO] [stdout] 1335 | /             impl< $($lifetime,)* $($generics,)* >
[INFO] [stdout] 1336 | |             $crate::DerivedDynCast<
[INFO] [stdout] 1337 | |                 $crate::ConcreteDynCastConfig<
[INFO] [stdout] 1338 | |                     dyn $source_trait,
[INFO] [stdout] ...    |
[INFO] [stdout] 1438 | |                 }
[INFO] [stdout] 1439 | |             }
[INFO] [stdout]      | |_____________^
[INFO] [stdout] ...
[INFO] [stdout] 1845 |               #[dyn_upcast]
[INFO] [stdout]      |               ------------- in this procedural macro expansion
[INFO] [stdout]      |
[INFO] [stdout]      = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stdout]      = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]      = 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
[INFO] [stdout]      = 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>
[INFO] [stdout]      = note: this warning originates in the macro `crate::impl_dyn_cast` which comes from the expansion of the attribute macro `dyn_upcast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]     --> cast_trait_object/src/lib.rs:1335:13
[INFO] [stdout]      |
[INFO] [stdout] 1335 | /             impl< $($lifetime,)* $($generics,)* >
[INFO] [stdout] 1336 | |             $crate::DerivedDynCast<
[INFO] [stdout] 1337 | |                 $crate::ConcreteDynCastConfig<
[INFO] [stdout] 1338 | |                     dyn $source_trait,
[INFO] [stdout] ...    |
[INFO] [stdout] 1438 | |                 }
[INFO] [stdout] 1439 | |             }
[INFO] [stdout]      | |_____________^
[INFO] [stdout] ...
[INFO] [stdout] 1851 |               #[dyn_cast(Sub<T>)]
[INFO] [stdout]      |               ------------------- in this procedural macro expansion
[INFO] [stdout]      |
[INFO] [stdout]      = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stdout]      = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]      = 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
[INFO] [stdout]      = 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>
[INFO] [stdout]      = note: this warning originates in the macro `crate::impl_dyn_cast` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]     --> cast_trait_object/src/lib.rs:1335:13
[INFO] [stdout]      |
[INFO] [stdout] 1335 | /             impl< $($lifetime,)* $($generics,)* >
[INFO] [stdout] 1336 | |             $crate::DerivedDynCast<
[INFO] [stdout] 1337 | |                 $crate::ConcreteDynCastConfig<
[INFO] [stdout] 1338 | |                     dyn $source_trait,
[INFO] [stdout] ...    |
[INFO] [stdout] 1438 | |                 }
[INFO] [stdout] 1439 | |             }
[INFO] [stdout]      | |_____________^
[INFO] [stdout] ...
[INFO] [stdout] 1850 |               #[dyn_upcast]
[INFO] [stdout]      |               ------------- in this procedural macro expansion
[INFO] [stdout]      |
[INFO] [stdout]      = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stdout]      = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]      = 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
[INFO] [stdout]      = 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>
[INFO] [stdout]      = note: this warning originates in the macro `crate::impl_dyn_cast` which comes from the expansion of the attribute macro `dyn_upcast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> external_tests/src/lib.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 25 |     #[dyn_cast(Sub, Sub2, SubSub)]
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = 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
[INFO] [stdout]    = 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>
[INFO] [stdout]    = note: the macro `::cast_trait_object::impl_dyn_cast_config` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]    = note: `#[warn(non_local_definitions)]` on by default
[INFO] [stdout]    = note: this warning originates in the macro `::cast_trait_object::impl_dyn_cast_config` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> external_tests/src/lib.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 25 |     #[dyn_cast(Sub, Sub2, SubSub)]
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = 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
[INFO] [stdout]    = 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>
[INFO] [stdout]    = note: the macro `::cast_trait_object::impl_dyn_cast_config` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]    = note: this warning originates in the macro `::cast_trait_object::impl_dyn_cast_config` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> external_tests/src/lib.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 25 |     #[dyn_cast(Sub, Sub2, SubSub)]
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = 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
[INFO] [stdout]    = 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>
[INFO] [stdout]    = note: the macro `::cast_trait_object::impl_dyn_cast_config` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]    = note: this warning originates in the macro `::cast_trait_object::impl_dyn_cast_config` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> external_tests/src/lib.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 25 |     #[dyn_cast(Sub, Sub2, SubSub)]
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = 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
[INFO] [stdout]    = 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>
[INFO] [stdout]    = note: the macro `::cast_trait_object::impl_dyn_cast_config` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]    = note: this warning originates in the macro `::cast_trait_object::impl_dyn_cast_config` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> external_tests/src/lib.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 25 |     #[dyn_cast(Sub, Sub2, SubSub)]
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = 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
[INFO] [stdout]    = 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>
[INFO] [stdout]    = note: the macro `::cast_trait_object::impl_dyn_cast_config` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]    = note: this warning originates in the macro `::cast_trait_object::impl_dyn_cast_config` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> external_tests/src/lib.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 25 |     #[dyn_cast(Sub, Sub2, SubSub)]
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = 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
[INFO] [stdout]    = 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>
[INFO] [stdout]    = note: the macro `::cast_trait_object::impl_dyn_cast_config` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]    = note: this warning originates in the macro `::cast_trait_object::impl_dyn_cast_config` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> external_tests/src/lib.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 25 |     #[dyn_cast(Sub, Sub2, SubSub)]
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = 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
[INFO] [stdout]    = 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>
[INFO] [stdout]    = note: the macro `::cast_trait_object::impl_dyn_cast_config` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]    = note: this warning originates in the macro `::cast_trait_object::impl_dyn_cast_config` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> external_tests/src/lib.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 25 |     #[dyn_cast(Sub, Sub2, SubSub)]
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = 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
[INFO] [stdout]    = 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>
[INFO] [stdout]    = note: the macro `::cast_trait_object::impl_dyn_cast_config` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]    = note: this warning originates in the macro `::cast_trait_object::impl_dyn_cast_config` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> external_tests/src/lib.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 25 |     #[dyn_cast(Sub, Sub2, SubSub)]
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = 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
[INFO] [stdout]    = 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>
[INFO] [stdout]    = note: the macro `::cast_trait_object::impl_dyn_cast_config` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]    = note: this warning originates in the macro `::cast_trait_object::impl_dyn_cast_config` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> external_tests/src/lib.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 26 |     #[dyn_upcast]
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = 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
[INFO] [stdout]    = 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>
[INFO] [stdout]    = note: the macro `::cast_trait_object::impl_dyn_cast_config` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]    = note: this warning originates in the macro `::cast_trait_object::impl_dyn_cast_config` which comes from the expansion of the attribute macro `dyn_upcast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> external_tests/src/lib.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 26 |     #[dyn_upcast]
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = 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
[INFO] [stdout]    = 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>
[INFO] [stdout]    = note: the macro `::cast_trait_object::impl_dyn_cast_config` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]    = note: this warning originates in the macro `::cast_trait_object::impl_dyn_cast_config` which comes from the expansion of the attribute macro `dyn_upcast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> external_tests/src/lib.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 26 |     #[dyn_upcast]
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = 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
[INFO] [stdout]    = 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>
[INFO] [stdout]    = note: the macro `::cast_trait_object::impl_dyn_cast_config` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]    = note: this warning originates in the macro `::cast_trait_object::impl_dyn_cast_config` which comes from the expansion of the attribute macro `dyn_upcast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> external_tests/src/lib.rs:48:5
[INFO] [stdout]    |
[INFO] [stdout] 48 |     #[cfg_attr(feature = "proc-macros", dyn_upcast)]
[INFO] [stdout]    |     ^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current closure `<unnameable>` and up 4 bodies
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = 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
[INFO] [stdout]    = 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>
[INFO] [stdout]    = note: the macro `$crate::impl_dyn_cast` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]    = note: this warning originates in the macro `$crate::impl_dyn_cast` which comes from the expansion of the attribute macro `dyn_upcast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> external_tests/src/lib.rs:47:41
[INFO] [stdout]    |
[INFO] [stdout] 47 |     #[cfg_attr(feature = "proc-macros", dyn_cast(Sub, Sub2, SubSub))]
[INFO] [stdout]    |                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current closure `<unnameable>` and up 4 bodies
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = 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
[INFO] [stdout]    = 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>
[INFO] [stdout]    = note: the macro `$crate::impl_dyn_cast` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]    = note: this warning originates in the macro `$crate::impl_dyn_cast` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> external_tests/src/lib.rs:47:41
[INFO] [stdout]    |
[INFO] [stdout] 47 |     #[cfg_attr(feature = "proc-macros", dyn_cast(Sub, Sub2, SubSub))]
[INFO] [stdout]    |                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current closure `<unnameable>` and up 4 bodies
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = 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
[INFO] [stdout]    = 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>
[INFO] [stdout]    = note: the macro `$crate::impl_dyn_cast` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]    = note: this warning originates in the macro `$crate::impl_dyn_cast` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> external_tests/src/lib.rs:47:41
[INFO] [stdout]    |
[INFO] [stdout] 47 |     #[cfg_attr(feature = "proc-macros", dyn_cast(Sub, Sub2, SubSub))]
[INFO] [stdout]    |                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current closure `<unnameable>` and up 4 bodies
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = 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
[INFO] [stdout]    = 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>
[INFO] [stdout]    = note: the macro `$crate::impl_dyn_cast` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]    = note: this warning originates in the macro `$crate::impl_dyn_cast` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> external_tests/src/lib.rs:54:41
[INFO] [stdout]    |
[INFO] [stdout] 54 |     #[cfg_attr(feature = "proc-macros", dyn_cast(Sub, Sub2, SubSub, Super))]
[INFO] [stdout]    |                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current closure `<unnameable>` and up 4 bodies
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = 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
[INFO] [stdout]    = 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>
[INFO] [stdout]    = note: the macro `$crate::impl_dyn_cast` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]    = note: this warning originates in the macro `$crate::impl_dyn_cast` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> external_tests/src/lib.rs:54:41
[INFO] [stdout]    |
[INFO] [stdout] 54 |     #[cfg_attr(feature = "proc-macros", dyn_cast(Sub, Sub2, SubSub, Super))]
[INFO] [stdout]    |                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current closure `<unnameable>` and up 4 bodies
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = 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
[INFO] [stdout]    = 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>
[INFO] [stdout]    = note: the macro `$crate::impl_dyn_cast` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]    = note: this warning originates in the macro `$crate::impl_dyn_cast` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> external_tests/src/lib.rs:54:41
[INFO] [stdout]    |
[INFO] [stdout] 54 |     #[cfg_attr(feature = "proc-macros", dyn_cast(Sub, Sub2, SubSub, Super))]
[INFO] [stdout]    |                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current closure `<unnameable>` and up 4 bodies
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = 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
[INFO] [stdout]    = 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>
[INFO] [stdout]    = note: the macro `$crate::impl_dyn_cast` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]    = note: this warning originates in the macro `$crate::impl_dyn_cast` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> external_tests/src/lib.rs:54:41
[INFO] [stdout]    |
[INFO] [stdout] 54 |     #[cfg_attr(feature = "proc-macros", dyn_cast(Sub, Sub2, SubSub, Super))]
[INFO] [stdout]    |                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current closure `<unnameable>` and up 4 bodies
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = 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
[INFO] [stdout]    = 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>
[INFO] [stdout]    = note: the macro `$crate::impl_dyn_cast` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]    = note: this warning originates in the macro `$crate::impl_dyn_cast` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> external_tests/src/lib.rs:61:5
[INFO] [stdout]    |
[INFO] [stdout] 61 |     #[cfg_attr(feature = "proc-macros", dyn_upcast(Super))]
[INFO] [stdout]    |     ^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current closure `<unnameable>` and up 4 bodies
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = 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
[INFO] [stdout]    = 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>
[INFO] [stdout]    = note: the macro `$crate::impl_dyn_cast` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]    = note: this warning originates in the macro `$crate::impl_dyn_cast` which comes from the expansion of the attribute macro `dyn_upcast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> external_tests/src/lib.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 25 |     #[dyn_cast(Sub, Sub2, SubSub)]
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = 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
[INFO] [stdout]    = 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>
[INFO] [stdout]    = note: the macro `::cast_trait_object::impl_dyn_cast_config` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]    = note: `#[warn(non_local_definitions)]` on by default
[INFO] [stdout]    = note: this warning originates in the macro `::cast_trait_object::impl_dyn_cast_config` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> external_tests/src/lib.rs:60:41
[INFO] [stdout]    |
[INFO] [stdout] 60 |     #[cfg_attr(feature = "proc-macros", dyn_cast(Super => Sub, Sub2, SubSub))]
[INFO] [stdout]    |                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current closure `<unnameable>` and up 4 bodies
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = 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
[INFO] [stdout]    = 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>
[INFO] [stdout]    = note: the macro `$crate::impl_dyn_cast` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]    = note: this warning originates in the macro `$crate::impl_dyn_cast` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> external_tests/src/lib.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 25 |     #[dyn_cast(Sub, Sub2, SubSub)]
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = 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
[INFO] [stdout]    = 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>
[INFO] [stdout]    = note: the macro `::cast_trait_object::impl_dyn_cast_config` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]    = note: this warning originates in the macro `::cast_trait_object::impl_dyn_cast_config` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> external_tests/src/lib.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 25 |     #[dyn_cast(Sub, Sub2, SubSub)]
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = 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
[INFO] [stdout]    = 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>
[INFO] [stdout]    = note: the macro `::cast_trait_object::impl_dyn_cast_config` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]    = note: this warning originates in the macro `::cast_trait_object::impl_dyn_cast_config` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> external_tests/src/lib.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 25 |     #[dyn_cast(Sub, Sub2, SubSub)]
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = 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
[INFO] [stdout]    = 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>
[INFO] [stdout]    = note: the macro `::cast_trait_object::impl_dyn_cast_config` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]    = note: this warning originates in the macro `::cast_trait_object::impl_dyn_cast_config` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> external_tests/src/lib.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 25 |     #[dyn_cast(Sub, Sub2, SubSub)]
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = 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
[INFO] [stdout]    = 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>
[INFO] [stdout]    = note: the macro `::cast_trait_object::impl_dyn_cast_config` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]    = note: this warning originates in the macro `::cast_trait_object::impl_dyn_cast_config` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> external_tests/src/lib.rs:60:41
[INFO] [stdout]    |
[INFO] [stdout] 60 |     #[cfg_attr(feature = "proc-macros", dyn_cast(Super => Sub, Sub2, SubSub))]
[INFO] [stdout]    |                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current closure `<unnameable>` and up 4 bodies
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = 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
[INFO] [stdout]    = 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>
[INFO] [stdout]    = note: the macro `$crate::impl_dyn_cast` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]    = note: this warning originates in the macro `$crate::impl_dyn_cast` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> external_tests/src/lib.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 25 |     #[dyn_cast(Sub, Sub2, SubSub)]
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = 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
[INFO] [stdout]    = 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>
[INFO] [stdout]    = note: the macro `::cast_trait_object::impl_dyn_cast_config` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]    = note: this warning originates in the macro `::cast_trait_object::impl_dyn_cast_config` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> external_tests/src/lib.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 25 |     #[dyn_cast(Sub, Sub2, SubSub)]
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = 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
[INFO] [stdout]    = 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>
[INFO] [stdout]    = note: the macro `::cast_trait_object::impl_dyn_cast_config` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]    = note: this warning originates in the macro `::cast_trait_object::impl_dyn_cast_config` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> external_tests/src/lib.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 25 |     #[dyn_cast(Sub, Sub2, SubSub)]
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = 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
[INFO] [stdout]    = 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>
[INFO] [stdout]    = note: the macro `::cast_trait_object::impl_dyn_cast_config` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]    = note: this warning originates in the macro `::cast_trait_object::impl_dyn_cast_config` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> external_tests/src/lib.rs:60:41
[INFO] [stdout]    |
[INFO] [stdout] 60 |     #[cfg_attr(feature = "proc-macros", dyn_cast(Super => Sub, Sub2, SubSub))]
[INFO] [stdout]    |                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current closure `<unnameable>` and up 4 bodies
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = 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
[INFO] [stdout]    = 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>
[INFO] [stdout]    = note: the macro `$crate::impl_dyn_cast` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]    = note: this warning originates in the macro `$crate::impl_dyn_cast` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> external_tests/src/lib.rs:69:41
[INFO] [stdout]    |
[INFO] [stdout] 69 |     #[cfg_attr(feature = "proc-macros", dyn_cast(Super => Sub, Sub2, SubSub, Super))]
[INFO] [stdout]    |                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current closure `<unnameable>` and up 4 bodies
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = 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
[INFO] [stdout]    = 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>
[INFO] [stdout]    = note: the macro `$crate::impl_dyn_cast` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]    = note: this warning originates in the macro `$crate::impl_dyn_cast` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> external_tests/src/lib.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 25 |     #[dyn_cast(Sub, Sub2, SubSub)]
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = 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
[INFO] [stdout]    = 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>
[INFO] [stdout]    = note: the macro `::cast_trait_object::impl_dyn_cast_config` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]    = note: this warning originates in the macro `::cast_trait_object::impl_dyn_cast_config` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> external_tests/src/lib.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 26 |     #[dyn_upcast]
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = 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
[INFO] [stdout]    = 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>
[INFO] [stdout]    = note: the macro `::cast_trait_object::impl_dyn_cast_config` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]    = note: this warning originates in the macro `::cast_trait_object::impl_dyn_cast_config` which comes from the expansion of the attribute macro `dyn_upcast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> external_tests/src/lib.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 26 |     #[dyn_upcast]
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = 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
[INFO] [stdout]    = 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>
[INFO] [stdout]    = note: the macro `::cast_trait_object::impl_dyn_cast_config` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]    = note: this warning originates in the macro `::cast_trait_object::impl_dyn_cast_config` which comes from the expansion of the attribute macro `dyn_upcast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> external_tests/src/lib.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 26 |     #[dyn_upcast]
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = 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
[INFO] [stdout]    = 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>
[INFO] [stdout]    = note: the macro `::cast_trait_object::impl_dyn_cast_config` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]    = note: this warning originates in the macro `::cast_trait_object::impl_dyn_cast_config` which comes from the expansion of the attribute macro `dyn_upcast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> external_tests/src/lib.rs:48:5
[INFO] [stdout]    |
[INFO] [stdout] 48 |     #[cfg_attr(feature = "proc-macros", dyn_upcast)]
[INFO] [stdout]    |     ^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current closure `<unnameable>` and up 4 bodies
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = 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
[INFO] [stdout]    = 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>
[INFO] [stdout]    = note: the macro `$crate::impl_dyn_cast` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]    = note: this warning originates in the macro `$crate::impl_dyn_cast` which comes from the expansion of the attribute macro `dyn_upcast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> external_tests/src/lib.rs:47:41
[INFO] [stdout]    |
[INFO] [stdout] 47 |     #[cfg_attr(feature = "proc-macros", dyn_cast(Sub, Sub2, SubSub))]
[INFO] [stdout]    |                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current closure `<unnameable>` and up 4 bodies
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = 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
[INFO] [stdout]    = 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>
[INFO] [stdout]    = note: the macro `$crate::impl_dyn_cast` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]    = note: this warning originates in the macro `$crate::impl_dyn_cast` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> external_tests/src/lib.rs:69:41
[INFO] [stdout]    |
[INFO] [stdout] 69 |     #[cfg_attr(feature = "proc-macros", dyn_cast(Super => Sub, Sub2, SubSub, Super))]
[INFO] [stdout]    |                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current closure `<unnameable>` and up 4 bodies
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = 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
[INFO] [stdout]    = 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>
[INFO] [stdout]    = note: the macro `$crate::impl_dyn_cast` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]    = note: this warning originates in the macro `$crate::impl_dyn_cast` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> external_tests/src/lib.rs:69:41
[INFO] [stdout]    |
[INFO] [stdout] 69 |     #[cfg_attr(feature = "proc-macros", dyn_cast(Super => Sub, Sub2, SubSub, Super))]
[INFO] [stdout]    |                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current closure `<unnameable>` and up 4 bodies
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = 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
[INFO] [stdout]    = 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>
[INFO] [stdout]    = note: the macro `$crate::impl_dyn_cast` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]    = note: this warning originates in the macro `$crate::impl_dyn_cast` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> external_tests/src/lib.rs:69:41
[INFO] [stdout]    |
[INFO] [stdout] 69 |     #[cfg_attr(feature = "proc-macros", dyn_cast(Super => Sub, Sub2, SubSub, Super))]
[INFO] [stdout]    |                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current closure `<unnameable>` and up 4 bodies
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = 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
[INFO] [stdout]    = 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>
[INFO] [stdout]    = note: the macro `$crate::impl_dyn_cast` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]    = note: this warning originates in the macro `$crate::impl_dyn_cast` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> external_tests/src/lib.rs:83:5
[INFO] [stdout]    |
[INFO] [stdout] 83 |     #[dyn_cast(Sub)]
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = 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
[INFO] [stdout]    = 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>
[INFO] [stdout]    = note: the macro `$crate::impl_dyn_cast_config` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]    = note: this warning originates in the macro `$crate::impl_dyn_cast_config` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> external_tests/src/lib.rs:83:5
[INFO] [stdout]    |
[INFO] [stdout] 83 |     #[dyn_cast(Sub)]
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = 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
[INFO] [stdout]    = 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>
[INFO] [stdout]    = note: the macro `$crate::impl_dyn_cast_config` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]    = note: this warning originates in the macro `$crate::impl_dyn_cast_config` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> external_tests/src/lib.rs:83:5
[INFO] [stdout]    |
[INFO] [stdout] 83 |     #[dyn_cast(Sub)]
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = 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
[INFO] [stdout]    = 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>
[INFO] [stdout]    = note: the macro `$crate::impl_dyn_cast_config` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]    = note: this warning originates in the macro `$crate::impl_dyn_cast_config` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> external_tests/src/lib.rs:84:5
[INFO] [stdout]    |
[INFO] [stdout] 84 |     #[dyn_upcast]
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = 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
[INFO] [stdout]    = 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>
[INFO] [stdout]    = note: the macro `$crate::impl_dyn_cast_config` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]    = note: this warning originates in the macro `$crate::impl_dyn_cast_config` which comes from the expansion of the attribute macro `dyn_upcast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> external_tests/src/lib.rs:84:5
[INFO] [stdout]    |
[INFO] [stdout] 84 |     #[dyn_upcast]
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = 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
[INFO] [stdout]    = 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>
[INFO] [stdout]    = note: the macro `$crate::impl_dyn_cast_config` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]    = note: this warning originates in the macro `$crate::impl_dyn_cast_config` which comes from the expansion of the attribute macro `dyn_upcast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> external_tests/src/lib.rs:84:5
[INFO] [stdout]    |
[INFO] [stdout] 84 |     #[dyn_upcast]
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = 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
[INFO] [stdout]    = 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>
[INFO] [stdout]    = note: the macro `$crate::impl_dyn_cast_config` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]    = note: this warning originates in the macro `$crate::impl_dyn_cast_config` which comes from the expansion of the attribute macro `dyn_upcast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> external_tests/src/lib.rs:89:5
[INFO] [stdout]    |
[INFO] [stdout] 89 |     #[dyn_upcast(Super)]
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current closure `<unnameable>` and up 4 bodies
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = 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
[INFO] [stdout]    = 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>
[INFO] [stdout]    = note: the macro `$crate::impl_dyn_cast` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]    = note: this warning originates in the macro `$crate::impl_dyn_cast` which comes from the expansion of the attribute macro `dyn_upcast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> external_tests/src/lib.rs:88:5
[INFO] [stdout]    |
[INFO] [stdout] 88 |     #[dyn_cast(Super => Sub)]
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current closure `<unnameable>` and up 4 bodies
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = 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
[INFO] [stdout]    = 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>
[INFO] [stdout]    = note: the macro `$crate::impl_dyn_cast` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]    = note: this warning originates in the macro `$crate::impl_dyn_cast` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> external_tests/src/lib.rs:47:41
[INFO] [stdout]    |
[INFO] [stdout] 47 |     #[cfg_attr(feature = "proc-macros", dyn_cast(Sub, Sub2, SubSub))]
[INFO] [stdout]    |                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current closure `<unnameable>` and up 4 bodies
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = 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
[INFO] [stdout]    = 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>
[INFO] [stdout]    = note: the macro `$crate::impl_dyn_cast` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]    = note: this warning originates in the macro `$crate::impl_dyn_cast` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> external_tests/src/lib.rs:47:41
[INFO] [stdout]    |
[INFO] [stdout] 47 |     #[cfg_attr(feature = "proc-macros", dyn_cast(Sub, Sub2, SubSub))]
[INFO] [stdout]    |                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current closure `<unnameable>` and up 4 bodies
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = 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
[INFO] [stdout]    = 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>
[INFO] [stdout]    = note: the macro `$crate::impl_dyn_cast` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]    = note: this warning originates in the macro `$crate::impl_dyn_cast` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> external_tests/src/lib.rs:54:41
[INFO] [stdout]    |
[INFO] [stdout] 54 |     #[cfg_attr(feature = "proc-macros", dyn_cast(Sub, Sub2, SubSub, Super))]
[INFO] [stdout]    |                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current closure `<unnameable>` and up 4 bodies
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = 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
[INFO] [stdout]    = 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>
[INFO] [stdout]    = note: the macro `$crate::impl_dyn_cast` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]    = note: this warning originates in the macro `$crate::impl_dyn_cast` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> external_tests/src/lib.rs:54:41
[INFO] [stdout]    |
[INFO] [stdout] 54 |     #[cfg_attr(feature = "proc-macros", dyn_cast(Sub, Sub2, SubSub, Super))]
[INFO] [stdout]    |                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current closure `<unnameable>` and up 4 bodies
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = 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
[INFO] [stdout]    = 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>
[INFO] [stdout]    = note: the macro `$crate::impl_dyn_cast` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]    = note: this warning originates in the macro `$crate::impl_dyn_cast` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> external_tests/src/lib.rs:54:41
[INFO] [stdout]    |
[INFO] [stdout] 54 |     #[cfg_attr(feature = "proc-macros", dyn_cast(Sub, Sub2, SubSub, Super))]
[INFO] [stdout]    |                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current closure `<unnameable>` and up 4 bodies
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = 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
[INFO] [stdout]    = 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>
[INFO] [stdout]    = note: the macro `$crate::impl_dyn_cast` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]    = note: this warning originates in the macro `$crate::impl_dyn_cast` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> external_tests/src/lib.rs:54:41
[INFO] [stdout]    |
[INFO] [stdout] 54 |     #[cfg_attr(feature = "proc-macros", dyn_cast(Sub, Sub2, SubSub, Super))]
[INFO] [stdout]    |                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current closure `<unnameable>` and up 4 bodies
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = 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
[INFO] [stdout]    = 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>
[INFO] [stdout]    = note: the macro `$crate::impl_dyn_cast` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]    = note: this warning originates in the macro `$crate::impl_dyn_cast` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> external_tests/src/lib.rs:61:5
[INFO] [stdout]    |
[INFO] [stdout] 61 |     #[cfg_attr(feature = "proc-macros", dyn_upcast(Super))]
[INFO] [stdout]    |     ^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current closure `<unnameable>` and up 4 bodies
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = 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
[INFO] [stdout]    = 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>
[INFO] [stdout]    = note: the macro `$crate::impl_dyn_cast` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]    = note: this warning originates in the macro `$crate::impl_dyn_cast` which comes from the expansion of the attribute macro `dyn_upcast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> external_tests/src/lib.rs:94:5
[INFO] [stdout]    |
[INFO] [stdout] 94 |     #[dyn_upcast(Super)]
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current closure `<unnameable>` and up 4 bodies
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = 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
[INFO] [stdout]    = 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>
[INFO] [stdout]    = note: the macro `$crate::impl_dyn_cast` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]    = note: this warning originates in the macro `$crate::impl_dyn_cast` which comes from the expansion of the attribute macro `dyn_upcast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> external_tests/src/lib.rs:93:5
[INFO] [stdout]    |
[INFO] [stdout] 93 |     #[dyn_cast(Super => Sub)]
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current closure `<unnameable>` and up 4 bodies
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = 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
[INFO] [stdout]    = 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>
[INFO] [stdout]    = note: the macro `$crate::impl_dyn_cast` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]    = note: this warning originates in the macro `$crate::impl_dyn_cast` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]    --> external_tests/src/lib.rs:110:9
[INFO] [stdout]     |
[INFO] [stdout] 110 |         #[dyn_upcast]
[INFO] [stdout]     |         ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stdout]     = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = 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
[INFO] [stdout]     = 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>
[INFO] [stdout]     = note: the macro `$crate::impl_dyn_cast_config` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]     = note: this warning originates in the macro `$crate::impl_dyn_cast_config` which comes from the expansion of the attribute macro `dyn_upcast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]    --> external_tests/src/lib.rs:110:9
[INFO] [stdout]     |
[INFO] [stdout] 110 |         #[dyn_upcast]
[INFO] [stdout]     |         ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stdout]     = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = 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
[INFO] [stdout]     = 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>
[INFO] [stdout]     = note: the macro `$crate::impl_dyn_cast_config` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]     = note: this warning originates in the macro `$crate::impl_dyn_cast_config` which comes from the expansion of the attribute macro `dyn_upcast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]    --> external_tests/src/lib.rs:110:9
[INFO] [stdout]     |
[INFO] [stdout] 110 |         #[dyn_upcast]
[INFO] [stdout]     |         ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stdout]     = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = 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
[INFO] [stdout]     = 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>
[INFO] [stdout]     = note: the macro `$crate::impl_dyn_cast_config` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]     = note: this warning originates in the macro `$crate::impl_dyn_cast_config` which comes from the expansion of the attribute macro `dyn_upcast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]    --> external_tests/src/lib.rs:111:9
[INFO] [stdout]     |
[INFO] [stdout] 111 |         #[dyn_cast(Sub<T>)]
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stdout]     = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = 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
[INFO] [stdout]     = 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>
[INFO] [stdout]     = note: the macro `$crate::impl_dyn_cast_config` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]     = note: this warning originates in the macro `$crate::impl_dyn_cast_config` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]    --> external_tests/src/lib.rs:111:9
[INFO] [stdout]     |
[INFO] [stdout] 111 |         #[dyn_cast(Sub<T>)]
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stdout]     = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = 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
[INFO] [stdout]     = 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>
[INFO] [stdout]     = note: the macro `$crate::impl_dyn_cast_config` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]     = note: this warning originates in the macro `$crate::impl_dyn_cast_config` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]    --> external_tests/src/lib.rs:111:9
[INFO] [stdout]     |
[INFO] [stdout] 111 |         #[dyn_cast(Sub<T>)]
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stdout]     = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = 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
[INFO] [stdout]     = 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>
[INFO] [stdout]     = note: the macro `$crate::impl_dyn_cast_config` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]     = note: this warning originates in the macro `$crate::impl_dyn_cast_config` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]    --> external_tests/src/lib.rs:125:9
[INFO] [stdout]     |
[INFO] [stdout] 125 |         #[dyn_cast(Sub<T>)]
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stdout]     = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = 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
[INFO] [stdout]     = 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>
[INFO] [stdout]     = note: the macro `::cast_trait_object::impl_dyn_cast` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]     = note: this warning originates in the macro `::cast_trait_object::impl_dyn_cast` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]    --> external_tests/src/lib.rs:124:9
[INFO] [stdout]     |
[INFO] [stdout] 124 |         #[dyn_upcast]
[INFO] [stdout]     |         ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stdout]     = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = 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
[INFO] [stdout]     = 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>
[INFO] [stdout]     = note: the macro `::cast_trait_object::impl_dyn_cast` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]     = note: this warning originates in the macro `::cast_trait_object::impl_dyn_cast` which comes from the expansion of the attribute macro `dyn_upcast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]    --> external_tests/src/lib.rs:130:9
[INFO] [stdout]     |
[INFO] [stdout] 130 |         #[dyn_cast(Sub<T>)]
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stdout]     = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = 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
[INFO] [stdout]     = 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>
[INFO] [stdout]     = note: the macro `::cast_trait_object::impl_dyn_cast` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]     = note: this warning originates in the macro `::cast_trait_object::impl_dyn_cast` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]    --> external_tests/src/lib.rs:129:9
[INFO] [stdout]     |
[INFO] [stdout] 129 |         #[dyn_upcast]
[INFO] [stdout]     |         ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stdout]     = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = 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
[INFO] [stdout]     = 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>
[INFO] [stdout]     = note: the macro `::cast_trait_object::impl_dyn_cast` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]     = note: this warning originates in the macro `::cast_trait_object::impl_dyn_cast` which comes from the expansion of the attribute macro `dyn_upcast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]    --> external_tests/src/lib.rs:139:9
[INFO] [stdout]     |
[INFO] [stdout] 139 |         #[dyn_cast(Sub<Item = Test>)]
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stdout]     = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = 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
[INFO] [stdout]     = 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>
[INFO] [stdout]     = note: the macro `$crate::impl_dyn_cast_config` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]     = note: this warning originates in the macro `$crate::impl_dyn_cast_config` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]    --> external_tests/src/lib.rs:139:9
[INFO] [stdout]     |
[INFO] [stdout] 139 |         #[dyn_cast(Sub<Item = Test>)]
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stdout]     = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = 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
[INFO] [stdout]     = 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>
[INFO] [stdout]     = note: the macro `$crate::impl_dyn_cast_config` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]     = note: this warning originates in the macro `$crate::impl_dyn_cast_config` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]    --> external_tests/src/lib.rs:139:9
[INFO] [stdout]     |
[INFO] [stdout] 139 |         #[dyn_cast(Sub<Item = Test>)]
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stdout]     = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = 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
[INFO] [stdout]     = 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>
[INFO] [stdout]     = note: the macro `$crate::impl_dyn_cast_config` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]     = note: this warning originates in the macro `$crate::impl_dyn_cast_config` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]    --> external_tests/src/lib.rs:140:9
[INFO] [stdout]     |
[INFO] [stdout] 140 |         #[dyn_cast(Sub<Item = ()>)]
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stdout]     = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = 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
[INFO] [stdout]     = 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>
[INFO] [stdout]     = note: the macro `$crate::impl_dyn_cast_config` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]     = note: this warning originates in the macro `$crate::impl_dyn_cast_config` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]    --> external_tests/src/lib.rs:140:9
[INFO] [stdout]     |
[INFO] [stdout] 140 |         #[dyn_cast(Sub<Item = ()>)]
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stdout]     = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = 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
[INFO] [stdout]     = 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>
[INFO] [stdout]     = note: the macro `$crate::impl_dyn_cast_config` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]     = note: this warning originates in the macro `$crate::impl_dyn_cast_config` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> external_tests/src/lib.rs:60:41
[INFO] [stdout]    |
[INFO] [stdout] 60 |     #[cfg_attr(feature = "proc-macros", dyn_cast(Super => Sub, Sub2, SubSub))]
[INFO] [stdout]    |                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current closure `<unnameable>` and up 4 bodies
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = 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
[INFO] [stdout]    = 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>
[INFO] [stdout]    = note: the macro `$crate::impl_dyn_cast` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]    = note: this warning originates in the macro `$crate::impl_dyn_cast` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> external_tests/src/lib.rs:60:41
[INFO] [stdout]    |
[INFO] [stdout] 60 |     #[cfg_attr(feature = "proc-macros", dyn_cast(Super => Sub, Sub2, SubSub))]
[INFO] [stdout]    |                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current closure `<unnameable>` and up 4 bodies
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = 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
[INFO] [stdout]    = 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>
[INFO] [stdout]    = note: the macro `$crate::impl_dyn_cast` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]    = note: this warning originates in the macro `$crate::impl_dyn_cast` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> external_tests/src/lib.rs:60:41
[INFO] [stdout]    |
[INFO] [stdout] 60 |     #[cfg_attr(feature = "proc-macros", dyn_cast(Super => Sub, Sub2, SubSub))]
[INFO] [stdout]    |                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current closure `<unnameable>` and up 4 bodies
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = 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
[INFO] [stdout]    = 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>
[INFO] [stdout]    = note: the macro `$crate::impl_dyn_cast` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]    = note: this warning originates in the macro `$crate::impl_dyn_cast` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]    --> external_tests/src/lib.rs:140:9
[INFO] [stdout]     |
[INFO] [stdout] 140 |         #[dyn_cast(Sub<Item = ()>)]
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stdout]     = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = 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
[INFO] [stdout]     = 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>
[INFO] [stdout]     = note: the macro `$crate::impl_dyn_cast_config` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]     = note: this warning originates in the macro `$crate::impl_dyn_cast_config` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> external_tests/src/lib.rs:69:41
[INFO] [stdout]    |
[INFO] [stdout] 69 |     #[cfg_attr(feature = "proc-macros", dyn_cast(Super => Sub, Sub2, SubSub, Super))]
[INFO] [stdout]    |                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current closure `<unnameable>` and up 4 bodies
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = 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
[INFO] [stdout]    = 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>
[INFO] [stdout]    = note: the macro `$crate::impl_dyn_cast` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]    = note: this warning originates in the macro `$crate::impl_dyn_cast` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]    --> external_tests/src/lib.rs:143:9
[INFO] [stdout]     |
[INFO] [stdout] 143 |         #[dyn_cast(Sub<Item = ()>)]
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: move this `impl` block outside the of the current closure `<unnameable>` and up 4 bodies
[INFO] [stdout]     = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = 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
[INFO] [stdout]     = 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>
[INFO] [stdout]     = note: the macro `$crate::impl_dyn_cast` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]     = note: this warning originates in the macro `$crate::impl_dyn_cast` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]    --> external_tests/src/lib.rs:142:9
[INFO] [stdout]     |
[INFO] [stdout] 142 |         #[dyn_cast(Sub<Item = Test>)]
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: move this `impl` block outside the of the current closure `<unnameable>` and up 4 bodies
[INFO] [stdout]     = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = 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
[INFO] [stdout]     = 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>
[INFO] [stdout]     = note: the macro `$crate::impl_dyn_cast` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]     = note: this warning originates in the macro `$crate::impl_dyn_cast` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> external_tests/src/lib.rs:69:41
[INFO] [stdout]    |
[INFO] [stdout] 69 |     #[cfg_attr(feature = "proc-macros", dyn_cast(Super => Sub, Sub2, SubSub, Super))]
[INFO] [stdout]    |                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current closure `<unnameable>` and up 4 bodies
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = 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
[INFO] [stdout]    = 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>
[INFO] [stdout]    = note: the macro `$crate::impl_dyn_cast` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]    = note: this warning originates in the macro `$crate::impl_dyn_cast` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> external_tests/src/lib.rs:69:41
[INFO] [stdout]    |
[INFO] [stdout] 69 |     #[cfg_attr(feature = "proc-macros", dyn_cast(Super => Sub, Sub2, SubSub, Super))]
[INFO] [stdout]    |                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current closure `<unnameable>` and up 4 bodies
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = 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
[INFO] [stdout]    = 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>
[INFO] [stdout]    = note: the macro `$crate::impl_dyn_cast` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]    = note: this warning originates in the macro `$crate::impl_dyn_cast` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> external_tests/src/lib.rs:69:41
[INFO] [stdout]    |
[INFO] [stdout] 69 |     #[cfg_attr(feature = "proc-macros", dyn_cast(Super => Sub, Sub2, SubSub, Super))]
[INFO] [stdout]    |                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current closure `<unnameable>` and up 4 bodies
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = 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
[INFO] [stdout]    = 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>
[INFO] [stdout]    = note: the macro `$crate::impl_dyn_cast` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]    = note: this warning originates in the macro `$crate::impl_dyn_cast` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> external_tests/src/lib.rs:83:5
[INFO] [stdout]    |
[INFO] [stdout] 83 |     #[dyn_cast(Sub)]
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = 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
[INFO] [stdout]    = 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>
[INFO] [stdout]    = note: the macro `$crate::impl_dyn_cast_config` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]    = note: this warning originates in the macro `$crate::impl_dyn_cast_config` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> external_tests/src/lib.rs:83:5
[INFO] [stdout]    |
[INFO] [stdout] 83 |     #[dyn_cast(Sub)]
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = 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
[INFO] [stdout]    = 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>
[INFO] [stdout]    = note: the macro `$crate::impl_dyn_cast_config` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]    = note: this warning originates in the macro `$crate::impl_dyn_cast_config` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> external_tests/src/lib.rs:83:5
[INFO] [stdout]    |
[INFO] [stdout] 83 |     #[dyn_cast(Sub)]
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = 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
[INFO] [stdout]    = 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>
[INFO] [stdout]    = note: the macro `$crate::impl_dyn_cast_config` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]    = note: this warning originates in the macro `$crate::impl_dyn_cast_config` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> external_tests/src/lib.rs:84:5
[INFO] [stdout]    |
[INFO] [stdout] 84 |     #[dyn_upcast]
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = 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
[INFO] [stdout]    = 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>
[INFO] [stdout]    = note: the macro `$crate::impl_dyn_cast_config` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]    = note: this warning originates in the macro `$crate::impl_dyn_cast_config` which comes from the expansion of the attribute macro `dyn_upcast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> external_tests/src/lib.rs:84:5
[INFO] [stdout]    |
[INFO] [stdout] 84 |     #[dyn_upcast]
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = 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
[INFO] [stdout]    = 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>
[INFO] [stdout]    = note: the macro `$crate::impl_dyn_cast_config` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]    = note: this warning originates in the macro `$crate::impl_dyn_cast_config` which comes from the expansion of the attribute macro `dyn_upcast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> external_tests/src/lib.rs:84:5
[INFO] [stdout]    |
[INFO] [stdout] 84 |     #[dyn_upcast]
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = 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
[INFO] [stdout]    = 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>
[INFO] [stdout]    = note: the macro `$crate::impl_dyn_cast_config` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]    = note: this warning originates in the macro `$crate::impl_dyn_cast_config` which comes from the expansion of the attribute macro `dyn_upcast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> external_tests/src/lib.rs:89:5
[INFO] [stdout]    |
[INFO] [stdout] 89 |     #[dyn_upcast(Super)]
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current closure `<unnameable>` and up 4 bodies
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = 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
[INFO] [stdout]    = 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>
[INFO] [stdout]    = note: the macro `$crate::impl_dyn_cast` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]    = note: this warning originates in the macro `$crate::impl_dyn_cast` which comes from the expansion of the attribute macro `dyn_upcast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> external_tests/src/lib.rs:88:5
[INFO] [stdout]    |
[INFO] [stdout] 88 |     #[dyn_cast(Super => Sub)]
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current closure `<unnameable>` and up 4 bodies
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = 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
[INFO] [stdout]    = 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>
[INFO] [stdout]    = note: the macro `$crate::impl_dyn_cast` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]    = note: this warning originates in the macro `$crate::impl_dyn_cast` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> external_tests/src/lib.rs:94:5
[INFO] [stdout]    |
[INFO] [stdout] 94 |     #[dyn_upcast(Super)]
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current closure `<unnameable>` and up 4 bodies
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = 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
[INFO] [stdout]    = 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>
[INFO] [stdout]    = note: the macro `$crate::impl_dyn_cast` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]    = note: this warning originates in the macro `$crate::impl_dyn_cast` which comes from the expansion of the attribute macro `dyn_upcast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> external_tests/src/lib.rs:93:5
[INFO] [stdout]    |
[INFO] [stdout] 93 |     #[dyn_cast(Super => Sub)]
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current closure `<unnameable>` and up 4 bodies
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = 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
[INFO] [stdout]    = 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>
[INFO] [stdout]    = note: the macro `$crate::impl_dyn_cast` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]    = note: this warning originates in the macro `$crate::impl_dyn_cast` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]    --> external_tests/src/lib.rs:110:9
[INFO] [stdout]     |
[INFO] [stdout] 110 |         #[dyn_upcast]
[INFO] [stdout]     |         ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stdout]     = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = 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
[INFO] [stdout]     = 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>
[INFO] [stdout]     = note: the macro `$crate::impl_dyn_cast_config` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]     = note: this warning originates in the macro `$crate::impl_dyn_cast_config` which comes from the expansion of the attribute macro `dyn_upcast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]    --> external_tests/src/lib.rs:110:9
[INFO] [stdout]     |
[INFO] [stdout] 110 |         #[dyn_upcast]
[INFO] [stdout]     |         ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stdout]     = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = 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
[INFO] [stdout]     = 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>
[INFO] [stdout]     = note: the macro `$crate::impl_dyn_cast_config` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]     = note: this warning originates in the macro `$crate::impl_dyn_cast_config` which comes from the expansion of the attribute macro `dyn_upcast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]    --> external_tests/src/lib.rs:110:9
[INFO] [stdout]     |
[INFO] [stdout] 110 |         #[dyn_upcast]
[INFO] [stdout]     |         ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stdout]     = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = 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
[INFO] [stdout]     = 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>
[INFO] [stdout]     = note: the macro `$crate::impl_dyn_cast_config` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]     = note: this warning originates in the macro `$crate::impl_dyn_cast_config` which comes from the expansion of the attribute macro `dyn_upcast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]    --> external_tests/src/lib.rs:111:9
[INFO] [stdout]     |
[INFO] [stdout] 111 |         #[dyn_cast(Sub<T>)]
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stdout]     = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = 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
[INFO] [stdout]     = 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>
[INFO] [stdout]     = note: the macro `$crate::impl_dyn_cast_config` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]     = note: this warning originates in the macro `$crate::impl_dyn_cast_config` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]    --> external_tests/src/lib.rs:111:9
[INFO] [stdout]     |
[INFO] [stdout] 111 |         #[dyn_cast(Sub<T>)]
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stdout]     = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = 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
[INFO] [stdout]     = 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>
[INFO] [stdout]     = note: the macro `$crate::impl_dyn_cast_config` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]     = note: this warning originates in the macro `$crate::impl_dyn_cast_config` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]    --> external_tests/src/lib.rs:111:9
[INFO] [stdout]     |
[INFO] [stdout] 111 |         #[dyn_cast(Sub<T>)]
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stdout]     = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = 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
[INFO] [stdout]     = 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>
[INFO] [stdout]     = note: the macro `$crate::impl_dyn_cast_config` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]     = note: this warning originates in the macro `$crate::impl_dyn_cast_config` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]    --> external_tests/src/lib.rs:125:9
[INFO] [stdout]     |
[INFO] [stdout] 125 |         #[dyn_cast(Sub<T>)]
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stdout]     = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = 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
[INFO] [stdout]     = 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>
[INFO] [stdout]     = note: the macro `::cast_trait_object::impl_dyn_cast` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]     = note: this warning originates in the macro `::cast_trait_object::impl_dyn_cast` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]    --> external_tests/src/lib.rs:124:9
[INFO] [stdout]     |
[INFO] [stdout] 124 |         #[dyn_upcast]
[INFO] [stdout]     |         ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stdout]     = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = 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
[INFO] [stdout]     = 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>
[INFO] [stdout]     = note: the macro `::cast_trait_object::impl_dyn_cast` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]     = note: this warning originates in the macro `::cast_trait_object::impl_dyn_cast` which comes from the expansion of the attribute macro `dyn_upcast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]    --> external_tests/src/lib.rs:130:9
[INFO] [stdout]     |
[INFO] [stdout] 130 |         #[dyn_cast(Sub<T>)]
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stdout]     = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = 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
[INFO] [stdout]     = 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>
[INFO] [stdout]     = note: the macro `::cast_trait_object::impl_dyn_cast` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]     = note: this warning originates in the macro `::cast_trait_object::impl_dyn_cast` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]    --> external_tests/src/lib.rs:129:9
[INFO] [stdout]     |
[INFO] [stdout] 129 |         #[dyn_upcast]
[INFO] [stdout]     |         ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stdout]     = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = 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
[INFO] [stdout]     = 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>
[INFO] [stdout]     = note: the macro `::cast_trait_object::impl_dyn_cast` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]     = note: this warning originates in the macro `::cast_trait_object::impl_dyn_cast` which comes from the expansion of the attribute macro `dyn_upcast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]    --> external_tests/src/lib.rs:139:9
[INFO] [stdout]     |
[INFO] [stdout] 139 |         #[dyn_cast(Sub<Item = Test>)]
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stdout]     = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = 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
[INFO] [stdout]     = 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>
[INFO] [stdout]     = note: the macro `$crate::impl_dyn_cast_config` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]     = note: this warning originates in the macro `$crate::impl_dyn_cast_config` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]    --> external_tests/src/lib.rs:139:9
[INFO] [stdout]     |
[INFO] [stdout] 139 |         #[dyn_cast(Sub<Item = Test>)]
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stdout]     = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = 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
[INFO] [stdout]     = 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>
[INFO] [stdout]     = note: the macro `$crate::impl_dyn_cast_config` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]     = note: this warning originates in the macro `$crate::impl_dyn_cast_config` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]    --> external_tests/src/lib.rs:139:9
[INFO] [stdout]     |
[INFO] [stdout] 139 |         #[dyn_cast(Sub<Item = Test>)]
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stdout]     = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = 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
[INFO] [stdout]     = 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>
[INFO] [stdout]     = note: the macro `$crate::impl_dyn_cast_config` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]     = note: this warning originates in the macro `$crate::impl_dyn_cast_config` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]    --> external_tests/src/lib.rs:140:9
[INFO] [stdout]     |
[INFO] [stdout] 140 |         #[dyn_cast(Sub<Item = ()>)]
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stdout]     = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = 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
[INFO] [stdout]     = 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>
[INFO] [stdout]     = note: the macro `$crate::impl_dyn_cast_config` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]     = note: this warning originates in the macro `$crate::impl_dyn_cast_config` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]    --> external_tests/src/lib.rs:140:9
[INFO] [stdout]     |
[INFO] [stdout] 140 |         #[dyn_cast(Sub<Item = ()>)]
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stdout]     = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = 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
[INFO] [stdout]     = 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>
[INFO] [stdout]     = note: the macro `$crate::impl_dyn_cast_config` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]     = note: this warning originates in the macro `$crate::impl_dyn_cast_config` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]    --> external_tests/src/lib.rs:140:9
[INFO] [stdout]     |
[INFO] [stdout] 140 |         #[dyn_cast(Sub<Item = ()>)]
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stdout]     = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = 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
[INFO] [stdout]     = 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>
[INFO] [stdout]     = note: the macro `$crate::impl_dyn_cast_config` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]     = note: this warning originates in the macro `$crate::impl_dyn_cast_config` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]    --> external_tests/src/lib.rs:143:9
[INFO] [stdout]     |
[INFO] [stdout] 143 |         #[dyn_cast(Sub<Item = ()>)]
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: move this `impl` block outside the of the current closure `<unnameable>` and up 4 bodies
[INFO] [stdout]     = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = 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
[INFO] [stdout]     = 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>
[INFO] [stdout]     = note: the macro `$crate::impl_dyn_cast` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]     = note: this warning originates in the macro `$crate::impl_dyn_cast` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]    --> external_tests/src/lib.rs:142:9
[INFO] [stdout]     |
[INFO] [stdout] 142 |         #[dyn_cast(Sub<Item = Test>)]
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: move this `impl` block outside the of the current closure `<unnameable>` and up 4 bodies
[INFO] [stdout]     = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = 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
[INFO] [stdout]     = 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>
[INFO] [stdout]     = note: the macro `$crate::impl_dyn_cast` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]     = note: this warning originates in the macro `$crate::impl_dyn_cast` which comes from the expansion of the attribute macro `dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 56 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 46 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 56 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 2.16s
[INFO] running `Command { std: "docker" "inspect" "c44651e57b7393a85c71b199421276db536ea9111354b0aa0555e6c688783897", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "c44651e57b7393a85c71b199421276db536ea9111354b0aa0555e6c688783897", kill_on_drop: false }`
[INFO] [stdout] c44651e57b7393a85c71b199421276db536ea9111354b0aa0555e6c688783897
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:59a85a07ab18ca8720692f8e61effa1c651d9e2ca591e072c2b212bb91a6b8b5" "/opt/rustwide/cargo-home/bin/cargo" "+b642703cf9526da1e72c0b6755753b939a9c6b6d" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] ca86b31e55dac243cf9807368b28c0bafcae2e2b6f4252d9559996e5f8f5a421
[INFO] running `Command { std: "docker" "start" "-a" "ca86b31e55dac243cf9807368b28c0bafcae2e2b6f4252d9559996e5f8f5a421", kill_on_drop: false }`
[INFO] [stderr] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stderr]     --> cast_trait_object/src/lib.rs:1641:13
[INFO] [stderr]      |
[INFO] [stderr] 1641 | /             impl< $($lifetime,)* $($generics,)* >
[INFO] [stderr] 1642 | |             $crate::DynCastConfig
[INFO] [stderr] 1643 | |             for
[INFO] [stderr] 1644 | |             $config_type
[INFO] [stderr] ...    |
[INFO] [stderr] 1648 | |                 type Source = dyn $source_trait;
[INFO] [stderr] 1649 | |             }
[INFO] [stderr]      | |_____________^
[INFO] [stderr] ...
[INFO] [stderr] 1680 | /     create_dyn_cast_config!(
[INFO] [stderr] 1681 | |         /// Can have attributes on the generated config struct.
[INFO] [stderr] 1682 | |         #[derive(Clone)]
[INFO] [stderr] 1683 | |         UpcastConfig = Super => Super
[INFO] [stderr] 1684 | |     );
[INFO] [stderr]      | |_____- in this macro invocation
[INFO] [stderr]      |
[INFO] [stderr]      = help: move this `impl` block outside the of the current closure `<unnameable>` and up 4 bodies
[INFO] [stderr]      = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]      = 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
[INFO] [stderr]      = 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>
[INFO] [stderr]      = note: `#[warn(non_local_definitions)]` on by default
[INFO] [stderr]      = note: this warning originates in the macro `$crate::impl_dyn_cast_config` which comes from the expansion of the macro `create_dyn_cast_config` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stderr]     --> cast_trait_object/src/lib.rs:1651:13
[INFO] [stderr]      |
[INFO] [stderr] 1651 | /             impl< $($lifetime,)* $($generics,)*  __T>
[INFO] [stderr] 1652 | |             $crate::DynCastConfigTargetTest<__T>
[INFO] [stderr] 1653 | |             for
[INFO] [stderr] 1654 | |             $config_type
[INFO] [stderr] ...    |
[INFO] [stderr] 1657 | |                 $($($where)*)?
[INFO] [stderr] 1658 | |             {}
[INFO] [stderr]      | |______________^
[INFO] [stderr] ...
[INFO] [stderr] 1680 | /     create_dyn_cast_config!(
[INFO] [stderr] 1681 | |         /// Can have attributes on the generated config struct.
[INFO] [stderr] 1682 | |         #[derive(Clone)]
[INFO] [stderr] 1683 | |         UpcastConfig = Super => Super
[INFO] [stderr] 1684 | |     );
[INFO] [stderr]      | |_____- in this macro invocation
[INFO] [stderr]      |
[INFO] [stderr]      = help: move this `impl` block outside the of the current closure `<unnameable>` and up 4 bodies
[INFO] [stderr]      = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]      = 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
[INFO] [stderr]      = 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>
[INFO] [stderr]      = note: this warning originates in the macro `$crate::impl_dyn_cast_config` which comes from the expansion of the macro `create_dyn_cast_config` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stderr]     --> cast_trait_object/src/lib.rs:1660:13
[INFO] [stderr]      |
[INFO] [stderr] 1660 | /             impl< $($lifetime,)* $($generics,)* >
[INFO] [stderr] 1661 | |             $crate::GetDynCastConfig<dyn $target_trait>
[INFO] [stderr] 1662 | |             for
[INFO] [stderr] 1663 | |             dyn $source_trait
[INFO] [stderr] ...    |
[INFO] [stderr] 1666 | |                 type Config = $config_type;
[INFO] [stderr] 1667 | |             }
[INFO] [stderr]      | |_____________^
[INFO] [stderr] ...
[INFO] [stderr] 1680 | /     create_dyn_cast_config!(
[INFO] [stderr] 1681 | |         /// Can have attributes on the generated config struct.
[INFO] [stderr] 1682 | |         #[derive(Clone)]
[INFO] [stderr] 1683 | |         UpcastConfig = Super => Super
[INFO] [stderr] 1684 | |     );
[INFO] [stderr]      | |_____- in this macro invocation
[INFO] [stderr]      |
[INFO] [stderr]      = help: move this `impl` block outside the of the current closure `<unnameable>` and up 4 bodies
[INFO] [stderr]      = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]      = 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
[INFO] [stderr]      = 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>
[INFO] [stderr]      = note: this warning originates in the macro `$crate::impl_dyn_cast_config` which comes from the expansion of the macro `create_dyn_cast_config` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stderr]     --> cast_trait_object/src/lib.rs:1641:13
[INFO] [stderr]      |
[INFO] [stderr] 1641 | /             impl< $($lifetime,)* $($generics,)* >
[INFO] [stderr] 1642 | |             $crate::DynCastConfig
[INFO] [stderr] 1643 | |             for
[INFO] [stderr] 1644 | |             $config_type
[INFO] [stderr] ...    |
[INFO] [stderr] 1648 | |                 type Source = dyn $source_trait;
[INFO] [stderr] 1649 | |             }
[INFO] [stderr]      | |_____________^
[INFO] [stderr] ...
[INFO] [stderr] 1685 | /     create_dyn_cast_config!(
[INFO] [stderr] 1686 | |         /// Can have attributes on the generated config struct.
[INFO] [stderr] 1687 | |         #[derive(Clone)]
[INFO] [stderr] 1688 | |         SuperConfig = Super => Sub
[INFO] [stderr] 1689 | |     );
[INFO] [stderr]      | |_____- in this macro invocation
[INFO] [stderr]      |
[INFO] [stderr]      = help: move this `impl` block outside the of the current closure `<unnameable>` and up 4 bodies
[INFO] [stderr]      = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]      = 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
[INFO] [stderr]      = 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>
[INFO] [stderr]      = note: this warning originates in the macro `$crate::impl_dyn_cast_config` which comes from the expansion of the macro `create_dyn_cast_config` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stderr]     --> cast_trait_object/src/lib.rs:1651:13
[INFO] [stderr]      |
[INFO] [stderr] 1651 | /             impl< $($lifetime,)* $($generics,)*  __T>
[INFO] [stderr] 1652 | |             $crate::DynCastConfigTargetTest<__T>
[INFO] [stderr] 1653 | |             for
[INFO] [stderr] 1654 | |             $config_type
[INFO] [stderr] ...    |
[INFO] [stderr] 1657 | |                 $($($where)*)?
[INFO] [stderr] 1658 | |             {}
[INFO] [stderr]      | |______________^
[INFO] [stderr] ...
[INFO] [stderr] 1685 | /     create_dyn_cast_config!(
[INFO] [stderr] 1686 | |         /// Can have attributes on the generated config struct.
[INFO] [stderr] 1687 | |         #[derive(Clone)]
[INFO] [stderr] 1688 | |         SuperConfig = Super => Sub
[INFO] [stderr] 1689 | |     );
[INFO] [stderr]      | |_____- in this macro invocation
[INFO] [stderr]      |
[INFO] [stderr]      = help: move this `impl` block outside the of the current closure `<unnameable>` and up 4 bodies
[INFO] [stderr]      = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]      = 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
[INFO] [stderr]      = 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>
[INFO] [stderr]      = note: this warning originates in the macro `$crate::impl_dyn_cast_config` which comes from the expansion of the macro `create_dyn_cast_config` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stderr]     --> cast_trait_object/src/lib.rs:1660:13
[INFO] [stderr]      |
[INFO] [stderr] 1660 | /             impl< $($lifetime,)* $($generics,)* >
[INFO] [stderr] 1661 | |             $crate::GetDynCastConfig<dyn $target_trait>
[INFO] [stderr] 1662 | |             for
[INFO] [stderr] 1663 | |             dyn $source_trait
[INFO] [stderr] ...    |
[INFO] [stderr] 1666 | |                 type Config = $config_type;
[INFO] [stderr] 1667 | |             }
[INFO] [stderr]      | |_____________^
[INFO] [stderr] ...
[INFO] [stderr] 1685 | /     create_dyn_cast_config!(
[INFO] [stderr] 1686 | |         /// Can have attributes on the generated config struct.
[INFO] [stderr] 1687 | |         #[derive(Clone)]
[INFO] [stderr] 1688 | |         SuperConfig = Super => Sub
[INFO] [stderr] 1689 | |     );
[INFO] [stderr]      | |_____- in this macro invocation
[INFO] [stderr]      |
[INFO] [stderr]      = help: move this `impl` block outside the of the current closure `<unnameable>` and up 4 bodies
[INFO] [stderr]      = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]      = 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
[INFO] [stderr]      = 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>
[INFO] [stderr]      = note: this warning originates in the macro `$crate::impl_dyn_cast_config` which comes from the expansion of the macro `create_dyn_cast_config` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stderr]     --> cast_trait_object/src/lib.rs:1458:13
[INFO] [stderr]      |
[INFO] [stderr] 1458 | /             impl< $($lifetime,)* $($generics,)* >
[INFO] [stderr] 1459 | |             $crate::DynCast<  $config_type  >
[INFO] [stderr] 1460 | |             for
[INFO] [stderr] 1461 | |             $self_type
[INFO] [stderr] ...    |
[INFO] [stderr] 1555 | |                 }
[INFO] [stderr] 1556 | |             }
[INFO] [stderr]      | |_____________^
[INFO] [stderr] ...
[INFO] [stderr] 1695 |       impl_dyn_cast!(TestSuper => SuperConfig, UpcastConfig);
[INFO] [stderr]      |       ------------------------------------------------------ in this macro invocation
[INFO] [stderr]      |
[INFO] [stderr]      = help: move this `impl` block outside the of the current closure `<unnameable>` and up 4 bodies
[INFO] [stderr]      = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]      = 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
[INFO] [stderr]      = 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>
[INFO] [stderr]      = note: this warning originates in the macro `$crate::impl_dyn_cast` which comes from the expansion of the macro `impl_dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stderr]     --> cast_trait_object/src/lib.rs:1458:13
[INFO] [stderr]      |
[INFO] [stderr] 1458 | /             impl< $($lifetime,)* $($generics,)* >
[INFO] [stderr] 1459 | |             $crate::DynCast<  $config_type  >
[INFO] [stderr] 1460 | |             for
[INFO] [stderr] 1461 | |             $self_type
[INFO] [stderr] ...    |
[INFO] [stderr] 1555 | |                 }
[INFO] [stderr] 1556 | |             }
[INFO] [stderr]      | |_____________^
[INFO] [stderr] ...
[INFO] [stderr] 1700 |       impl_dyn_cast! {TestSub as Super => Sub, Super}
[INFO] [stderr]      |       ----------------------------------------------- in this macro invocation
[INFO] [stderr]      |
[INFO] [stderr]      = help: move this `impl` block outside the of the current closure `<unnameable>` and up 4 bodies
[INFO] [stderr]      = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]      = 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
[INFO] [stderr]      = 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>
[INFO] [stderr]      = note: this warning originates in the macro `$crate::impl_dyn_cast` which comes from the expansion of the macro `impl_dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stderr]     --> cast_trait_object/src/lib.rs:1458:13
[INFO] [stderr]      |
[INFO] [stderr] 1458 | /             impl< $($lifetime,)* $($generics,)* >
[INFO] [stderr] 1459 | |             $crate::DynCast<  $config_type  >
[INFO] [stderr] 1460 | |             for
[INFO] [stderr] 1461 | |             $self_type
[INFO] [stderr] ...    |
[INFO] [stderr] 1555 | |                 }
[INFO] [stderr] 1556 | |             }
[INFO] [stderr]      | |_____________^
[INFO] [stderr] ...
[INFO] [stderr] 1706 |       impl_dyn_cast! {TestSubMixed as Super => Sub}
[INFO] [stderr]      |       --------------------------------------------- in this macro invocation
[INFO] [stderr]      |
[INFO] [stderr]      = help: move this `impl` block outside the of the current closure `<unnameable>` and up 4 bodies
[INFO] [stderr]      = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]      = 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
[INFO] [stderr]      = 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>
[INFO] [stderr]      = note: this warning originates in the macro `$crate::impl_dyn_cast` which comes from the expansion of the macro `impl_dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stderr]     --> cast_trait_object/src/lib.rs:1458:13
[INFO] [stderr]      |
[INFO] [stderr] 1458 | /             impl< $($lifetime,)* $($generics,)* >
[INFO] [stderr] 1459 | |             $crate::DynCast<  $config_type  >
[INFO] [stderr] 1460 | |             for
[INFO] [stderr] 1461 | |             $self_type
[INFO] [stderr] ...    |
[INFO] [stderr] 1555 | |                 }
[INFO] [stderr] 1556 | |             }
[INFO] [stderr]      | |_____________^
[INFO] [stderr] ...
[INFO] [stderr] 1707 |       impl_dyn_cast! {TestSubMixed => UpcastConfig}
[INFO] [stderr]      |       --------------------------------------------- in this macro invocation
[INFO] [stderr]      |
[INFO] [stderr]      = help: move this `impl` block outside the of the current closure `<unnameable>` and up 4 bodies
[INFO] [stderr]      = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]      = 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
[INFO] [stderr]      = 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>
[INFO] [stderr]      = note: this warning originates in the macro `$crate::impl_dyn_cast` which comes from the expansion of the macro `impl_dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stderr]     --> cast_trait_object/src/lib.rs:1335:13
[INFO] [stderr]      |
[INFO] [stderr] 1335 | /             impl< $($lifetime,)* $($generics,)* >
[INFO] [stderr] 1336 | |             $crate::DerivedDynCast<
[INFO] [stderr] 1337 | |                 $crate::ConcreteDynCastConfig<
[INFO] [stderr] 1338 | |                     dyn $source_trait,
[INFO] [stderr] ...    |
[INFO] [stderr] 1438 | |                 }
[INFO] [stderr] 1439 | |             }
[INFO] [stderr]      | |_____________^
[INFO] [stderr] ...
[INFO] [stderr] 1725 |       impl_dyn_cast!(for<T> TestGeneric<T> as Super where {T: 'static} => Sub);
[INFO] [stderr]      |       ------------------------------------------------------------------------ in this macro invocation
[INFO] [stderr]      |
[INFO] [stderr]      = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stderr]      = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]      = 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
[INFO] [stderr]      = 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>
[INFO] [stderr]      = note: this warning originates in the macro `impl_dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stderr]     --> cast_trait_object/src/lib.rs:1335:13
[INFO] [stderr]      |
[INFO] [stderr] 1335 | /             impl< $($lifetime,)* $($generics,)* >
[INFO] [stderr] 1336 | |             $crate::DerivedDynCast<
[INFO] [stderr] 1337 | |                 $crate::ConcreteDynCastConfig<
[INFO] [stderr] 1338 | |                     dyn $source_trait,
[INFO] [stderr] ...    |
[INFO] [stderr] 1438 | |                 }
[INFO] [stderr] 1439 | |             }
[INFO] [stderr]      | |_____________^
[INFO] [stderr] ...
[INFO] [stderr] 1726 |       impl_dyn_cast!(for<T> TestGeneric<T> as Super where {T: 'static} => Super);
[INFO] [stderr]      |       -------------------------------------------------------------------------- in this macro invocation
[INFO] [stderr]      |
[INFO] [stderr]      = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stderr]      = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]      = 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
[INFO] [stderr]      = 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>
[INFO] [stderr]      = note: this warning originates in the macro `impl_dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stderr]     --> cast_trait_object/src/lib.rs:1335:13
[INFO] [stderr]      |
[INFO] [stderr] 1335 | /             impl< $($lifetime,)* $($generics,)* >
[INFO] [stderr] 1336 | |             $crate::DerivedDynCast<
[INFO] [stderr] 1337 | |                 $crate::ConcreteDynCastConfig<
[INFO] [stderr] 1338 | |                     dyn $source_trait,
[INFO] [stderr] ...    |
[INFO] [stderr] 1438 | |                 }
[INFO] [stderr] 1439 | |             }
[INFO] [stderr]      | |_____________^
[INFO] [stderr] ...
[INFO] [stderr] 1732 |       impl_dyn_cast!(for<T> TestGenericMixed<T> as Super where {T: 'static} => Sub);
[INFO] [stderr]      |       ----------------------------------------------------------------------------- in this macro invocation
[INFO] [stderr]      |
[INFO] [stderr]      = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stderr]      = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]      = 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
[INFO] [stderr]      = 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>
[INFO] [stderr]      = note: this warning originates in the macro `impl_dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stderr]     --> cast_trait_object/src/lib.rs:1458:13
[INFO] [stderr]      |
[INFO] [stderr] 1458 | /             impl< $($lifetime,)* $($generics,)* >
[INFO] [stderr] 1459 | |             $crate::DynCast<  $config_type  >
[INFO] [stderr] 1460 | |             for
[INFO] [stderr] 1461 | |             $self_type
[INFO] [stderr] ...    |
[INFO] [stderr] 1555 | |                 }
[INFO] [stderr] 1556 | |             }
[INFO] [stderr]      | |_____________^
[INFO] [stderr] ...
[INFO] [stderr] 1733 |       impl_dyn_cast!(for<T> TestGenericMixed<T> where {T: 'static} => UpcastConfig);
[INFO] [stderr]      |       ----------------------------------------------------------------------------- in this macro invocation
[INFO] [stderr]      |
[INFO] [stderr]      = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stderr]      = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]      = 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
[INFO] [stderr]      = 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>
[INFO] [stderr]      = note: this warning originates in the macro `impl_dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stderr]     --> cast_trait_object/src/lib.rs:1335:13
[INFO] [stderr]      |
[INFO] [stderr] 1335 | /             impl< $($lifetime,)* $($generics,)* >
[INFO] [stderr] 1336 | |             $crate::DerivedDynCast<
[INFO] [stderr] 1337 | |                 $crate::ConcreteDynCastConfig<
[INFO] [stderr] 1338 | |                     dyn $source_trait,
[INFO] [stderr] ...    |
[INFO] [stderr] 1438 | |                 }
[INFO] [stderr] 1439 | |             }
[INFO] [stderr]      | |_____________^
[INFO] [stderr] ...
[INFO] [stderr] 1740 |       impl_dyn_cast!(for<T> OnlyDisplayGeneric<T> as Super where {T: 'static} => Sub);
[INFO] [stderr]      |       ------------------------------------------------------------------------------- in this macro invocation
[INFO] [stderr]      |
[INFO] [stderr]      = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stderr]      = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]      = 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
[INFO] [stderr]      = 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>
[INFO] [stderr]      = note: this warning originates in the macro `impl_dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stderr]     --> cast_trait_object/src/lib.rs:1335:13
[INFO] [stderr]      |
[INFO] [stderr] 1335 | /             impl< $($lifetime,)* $($generics,)* >
[INFO] [stderr] 1336 | |             $crate::DerivedDynCast<
[INFO] [stderr] 1337 | |                 $crate::ConcreteDynCastConfig<
[INFO] [stderr] 1338 | |                     dyn $source_trait,
[INFO] [stderr] ...    |
[INFO] [stderr] 1438 | |                 }
[INFO] [stderr] 1439 | |             }
[INFO] [stderr]      | |_____________^
[INFO] [stderr] ...
[INFO] [stderr] 1741 |       impl_dyn_cast!(for<T> OnlyDisplayGeneric<T> as Super where {T: 'static} => Super);
[INFO] [stderr]      |       --------------------------------------------------------------------------------- in this macro invocation
[INFO] [stderr]      |
[INFO] [stderr]      = help: move this `impl` block outside the of the current closure `<unnameable>` and up 2 bodies
[INFO] [stderr]      = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]      = 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
[INFO] [stderr]      = 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>
[INFO] [stderr]      = note: this warning originates in the macro `impl_dyn_cast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stderr]     --> cast_trait_object/src/lib.rs:1641:13
[INFO] [stderr]      |
[WARN] too many lines in the log, truncating it
