[INFO] fetching crate jrsonnet-gc 0.4.2...
[INFO] checking jrsonnet-gc-0.4.2 against try#012cd62c9add58ab3910e44c137d87db3ab70f61 for pr-155915
[INFO] extracting crate jrsonnet-gc 0.4.2 into /workspace/builds/worker-4-tc2/source
[INFO] started tweaking crates.io crate jrsonnet-gc 0.4.2
[INFO] finished tweaking crates.io crate jrsonnet-gc 0.4.2
[INFO] tweaked toml for crates.io crate jrsonnet-gc 0.4.2 written to /workspace/builds/worker-4-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate jrsonnet-gc 0.4.2 on toolchain 012cd62c9add58ab3910e44c137d87db3ab70f61
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+012cd62c9add58ab3910e44c137d87db3ab70f61" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+012cd62c9add58ab3910e44c137d87db3ab70f61" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]      Locking 7 packages to latest compatible versions
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+012cd62c9add58ab3910e44c137d87db3ab70f61" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+012cd62c9add58ab3910e44c137d87db3ab70f61" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 456c1c1d3d4a0da2a25fdb6c57c98467beb4022a895c27f5d90242239b3b2be2
[INFO] running `Command { std: "docker" "start" "-a" "456c1c1d3d4a0da2a25fdb6c57c98467beb4022a895c27f5d90242239b3b2be2", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "456c1c1d3d4a0da2a25fdb6c57c98467beb4022a895c27f5d90242239b3b2be2", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "456c1c1d3d4a0da2a25fdb6c57c98467beb4022a895c27f5d90242239b3b2be2", kill_on_drop: false }`
[INFO] [stdout] 456c1c1d3d4a0da2a25fdb6c57c98467beb4022a895c27f5d90242239b3b2be2
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+012cd62c9add58ab3910e44c137d87db3ab70f61" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 0e9b0b44c3708f726c7a0098b38e12ca95feffde4ecf72aeb8b9a0eaef93b110
[INFO] running `Command { std: "docker" "start" "-a" "0e9b0b44c3708f726c7a0098b38e12ca95feffde4ecf72aeb8b9a0eaef93b110", kill_on_drop: false }`
[INFO] [stderr]     Checking jrsonnet-gc v0.4.2 (/opt/rustwide/workdir)
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]    Compiling synstructure v0.12.6
[INFO] [stderr]    Compiling jrsonnet-gc-derive v0.4.1
[INFO] [stdout] warning: struct `X` is never constructed
[INFO] [stdout]   --> tests/finalize.rs:39:8
[INFO] [stdout]    |
[INFO] [stdout] 39 | struct X(Box<dyn Trace>);
[INFO] [stdout]    |        ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]  --> tests/finalize.rs:8:10
[INFO] [stdout]   |
[INFO] [stdout] 8 | #[derive(Trace)]
[INFO] [stdout]   |          ^----
[INFO] [stdout]   |          |
[INFO] [stdout]   |          `Trace` is not local
[INFO] [stdout]   |          move the `impl` block outside of this constant `_DERIVE_jrsonnet_gc_Trace_FOR_A`
[INFO] [stdout] 9 | struct A {
[INFO] [stdout]   |        - `A` is not local
[INFO] [stdout]   |
[INFO] [stdout]   = note: the derive macro `Trace` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]   = note: the derive macro `Trace` may come from an old version of the `jrsonnet_gc_derive` crate, try updating your dependency with `cargo update -p jrsonnet_gc_derive`
[INFO] [stdout]   = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]   = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]   = note: `#[warn(non_local_definitions)]` on by default
[INFO] [stdout]   = note: this warning originates in the derive macro `Trace` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]  --> tests/finalize.rs:8:10
[INFO] [stdout]   |
[INFO] [stdout] 8 | #[derive(Trace)]
[INFO] [stdout]   |          ^----
[INFO] [stdout]   |          |
[INFO] [stdout]   |          `Drop` is not local
[INFO] [stdout]   |          move the `impl` block outside of this constant `_DERIVE_std_ops_Drop_FOR_A`
[INFO] [stdout] 9 | struct A {
[INFO] [stdout]   |        - `A` is not local
[INFO] [stdout]   |
[INFO] [stdout]   = note: the derive macro `Trace` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]   = note: the derive macro `Trace` may come from an old version of the `jrsonnet_gc_derive` crate, try updating your dependency with `cargo update -p jrsonnet_gc_derive`
[INFO] [stdout]   = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]   = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]   = note: this warning originates in the derive macro `Trace` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> tests/finalize.rs:13:10
[INFO] [stdout]    |
[INFO] [stdout] 13 | #[derive(Trace)]
[INFO] [stdout]    |          ^----
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `Trace` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_DERIVE_jrsonnet_gc_Trace_FOR_B`
[INFO] [stdout] 14 | struct B;
[INFO] [stdout]    |        - `B` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Trace` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Trace` may come from an old version of the `jrsonnet_gc_derive` crate, try updating your dependency with `cargo update -p jrsonnet_gc_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Trace` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> tests/finalize.rs:13:10
[INFO] [stdout]    |
[INFO] [stdout] 13 | #[derive(Trace)]
[INFO] [stdout]    |          ^----
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `Drop` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_DERIVE_std_ops_Drop_FOR_B`
[INFO] [stdout] 14 | struct B;
[INFO] [stdout]    |        - `B` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Trace` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Trace` may come from an old version of the `jrsonnet_gc_derive` crate, try updating your dependency with `cargo update -p jrsonnet_gc_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Trace` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> tests/finalize.rs:38:10
[INFO] [stdout]    |
[INFO] [stdout] 38 | #[derive(Trace, Finalize)]
[INFO] [stdout]    |          ^----
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `Trace` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_DERIVE_jrsonnet_gc_Trace_FOR_X`
[INFO] [stdout] 39 | struct X(Box<dyn Trace>);
[INFO] [stdout]    |        - `X` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Trace` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Trace` may come from an old version of the `jrsonnet_gc_derive` crate, try updating your dependency with `cargo update -p jrsonnet_gc_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Trace` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> tests/finalize.rs:38:10
[INFO] [stdout]    |
[INFO] [stdout] 38 | #[derive(Trace, Finalize)]
[INFO] [stdout]    |          ^----
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `Drop` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_DERIVE_std_ops_Drop_FOR_X`
[INFO] [stdout] 39 | struct X(Box<dyn Trace>);
[INFO] [stdout]    |        - `X` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Trace` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Trace` may come from an old version of the `jrsonnet_gc_derive` crate, try updating your dependency with `cargo update -p jrsonnet_gc_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Trace` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> tests/finalize.rs:38:17
[INFO] [stdout]    |
[INFO] [stdout] 38 | #[derive(Trace, Finalize)]
[INFO] [stdout]    |                 ^-------
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 `Finalize` is not local
[INFO] [stdout]    |                 move the `impl` block outside of this constant `_DERIVE_jrsonnet_gc_Finalize_FOR_X`
[INFO] [stdout] 39 | struct X(Box<dyn Trace>);
[INFO] [stdout]    |        - `X` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Finalize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Finalize` may come from an old version of the `jrsonnet_gc_derive` crate, try updating your dependency with `cargo update -p jrsonnet_gc_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Finalize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `InnerBoxSlice` is never constructed
[INFO] [stdout]   --> tests/trace_impl.rs:33:8
[INFO] [stdout]    |
[INFO] [stdout] 33 | struct InnerBoxSlice {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `InnerBoxStr` is never constructed
[INFO] [stdout]   --> tests/trace_impl.rs:38:8
[INFO] [stdout]    |
[INFO] [stdout] 38 | struct InnerBoxStr {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `InnerRcSlice` is never constructed
[INFO] [stdout]   --> tests/trace_impl.rs:43:8
[INFO] [stdout]    |
[INFO] [stdout] 43 | struct InnerRcSlice {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `InnerRcStr` is never constructed
[INFO] [stdout]   --> tests/trace_impl.rs:48:8
[INFO] [stdout]    |
[INFO] [stdout] 48 | struct InnerRcStr {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> tests/trace_impl.rs:9:23
[INFO] [stdout]    |
[INFO] [stdout]  9 | #[derive(Copy, Clone, Finalize)]
[INFO] [stdout]    |                       ^-------
[INFO] [stdout]    |                       |
[INFO] [stdout]    |                       `Finalize` is not local
[INFO] [stdout]    |                       move the `impl` block outside of this constant `_DERIVE_jrsonnet_gc_Finalize_FOR_Foo`
[INFO] [stdout] 10 | struct Foo;
[INFO] [stdout]    |        --- `Foo` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Finalize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Finalize` may come from an old version of the `jrsonnet_gc_derive` crate, try updating your dependency with `cargo update -p jrsonnet_gc_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: `#[warn(non_local_definitions)]` on by default
[INFO] [stdout]    = note: this warning originates in the derive macro `Finalize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> tests/trace_impl.rs:12:10
[INFO] [stdout]    |
[INFO] [stdout] 12 | #[derive(Trace, Finalize)]
[INFO] [stdout]    |          ^----
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `Trace` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_DERIVE_jrsonnet_gc_Trace_FOR_FooWithoutCopy`
[INFO] [stdout] 13 | struct FooWithoutCopy;
[INFO] [stdout]    |        -------------- `FooWithoutCopy` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Trace` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Trace` may come from an old version of the `jrsonnet_gc_derive` crate, try updating your dependency with `cargo update -p jrsonnet_gc_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Trace` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> tests/trace_impl.rs:12:10
[INFO] [stdout]    |
[INFO] [stdout] 12 | #[derive(Trace, Finalize)]
[INFO] [stdout]    |          ^----
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `Drop` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_DERIVE_std_ops_Drop_FOR_FooWithoutCopy`
[INFO] [stdout] 13 | struct FooWithoutCopy;
[INFO] [stdout]    |        -------------- `FooWithoutCopy` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Trace` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Trace` may come from an old version of the `jrsonnet_gc_derive` crate, try updating your dependency with `cargo update -p jrsonnet_gc_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Trace` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> tests/trace_impl.rs:12:17
[INFO] [stdout]    |
[INFO] [stdout] 12 | #[derive(Trace, Finalize)]
[INFO] [stdout]    |                 ^-------
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 `Finalize` is not local
[INFO] [stdout]    |                 move the `impl` block outside of this constant `_DERIVE_jrsonnet_gc_Finalize_FOR_FooWithoutCopy`
[INFO] [stdout] 13 | struct FooWithoutCopy;
[INFO] [stdout]    |        -------------- `FooWithoutCopy` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Finalize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Finalize` may come from an old version of the `jrsonnet_gc_derive` crate, try updating your dependency with `cargo update -p jrsonnet_gc_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Finalize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> tests/trace_impl.rs:27:10
[INFO] [stdout]    |
[INFO] [stdout] 27 | #[derive(Trace, Clone, Finalize)]
[INFO] [stdout]    |          ^----
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `Trace` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_DERIVE_jrsonnet_gc_Trace_FOR_Bar`
[INFO] [stdout] 28 | struct Bar {
[INFO] [stdout]    |        --- `Bar` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Trace` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Trace` may come from an old version of the `jrsonnet_gc_derive` crate, try updating your dependency with `cargo update -p jrsonnet_gc_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Trace` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> tests/trace_impl.rs:27:10
[INFO] [stdout]    |
[INFO] [stdout] 27 | #[derive(Trace, Clone, Finalize)]
[INFO] [stdout]    |          ^----
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `Drop` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_DERIVE_std_ops_Drop_FOR_Bar`
[INFO] [stdout] 28 | struct Bar {
[INFO] [stdout]    |        --- `Bar` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Trace` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Trace` may come from an old version of the `jrsonnet_gc_derive` crate, try updating your dependency with `cargo update -p jrsonnet_gc_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Trace` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> tests/trace_impl.rs:27:24
[INFO] [stdout]    |
[INFO] [stdout] 27 | #[derive(Trace, Clone, Finalize)]
[INFO] [stdout]    |                        ^-------
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `Finalize` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this constant `_DERIVE_jrsonnet_gc_Finalize_FOR_Bar`
[INFO] [stdout] 28 | struct Bar {
[INFO] [stdout]    |        --- `Bar` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Finalize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Finalize` may come from an old version of the `jrsonnet_gc_derive` crate, try updating your dependency with `cargo update -p jrsonnet_gc_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Finalize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> tests/trace_impl.rs:32:10
[INFO] [stdout]    |
[INFO] [stdout] 32 | #[derive(Trace, Clone, Finalize)]
[INFO] [stdout]    |          ^----
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `Trace` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_DERIVE_jrsonnet_gc_Trace_FOR_InnerBoxSlice`
[INFO] [stdout] 33 | struct InnerBoxSlice {
[INFO] [stdout]    |        ------------- `InnerBoxSlice` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Trace` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Trace` may come from an old version of the `jrsonnet_gc_derive` crate, try updating your dependency with `cargo update -p jrsonnet_gc_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Trace` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> tests/trace_impl.rs:32:10
[INFO] [stdout]    |
[INFO] [stdout] 32 | #[derive(Trace, Clone, Finalize)]
[INFO] [stdout]    |          ^----
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `Drop` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_DERIVE_std_ops_Drop_FOR_InnerBoxSlice`
[INFO] [stdout] 33 | struct InnerBoxSlice {
[INFO] [stdout]    |        ------------- `InnerBoxSlice` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Trace` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Trace` may come from an old version of the `jrsonnet_gc_derive` crate, try updating your dependency with `cargo update -p jrsonnet_gc_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Trace` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> tests/trace_impl.rs:32:24
[INFO] [stdout]    |
[INFO] [stdout] 32 | #[derive(Trace, Clone, Finalize)]
[INFO] [stdout]    |                        ^-------
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `Finalize` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this constant `_DERIVE_jrsonnet_gc_Finalize_FOR_InnerBoxSlice`
[INFO] [stdout] 33 | struct InnerBoxSlice {
[INFO] [stdout]    |        ------------- `InnerBoxSlice` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Finalize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Finalize` may come from an old version of the `jrsonnet_gc_derive` crate, try updating your dependency with `cargo update -p jrsonnet_gc_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Finalize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> tests/trace_impl.rs:37:10
[INFO] [stdout]    |
[INFO] [stdout] 37 | #[derive(Trace, Clone, Finalize)]
[INFO] [stdout]    |          ^----
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `Trace` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_DERIVE_jrsonnet_gc_Trace_FOR_InnerBoxStr`
[INFO] [stdout] 38 | struct InnerBoxStr {
[INFO] [stdout]    |        ----------- `InnerBoxStr` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Trace` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Trace` may come from an old version of the `jrsonnet_gc_derive` crate, try updating your dependency with `cargo update -p jrsonnet_gc_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Trace` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> tests/trace_impl.rs:37:10
[INFO] [stdout]    |
[INFO] [stdout] 37 | #[derive(Trace, Clone, Finalize)]
[INFO] [stdout]    |          ^----
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `Drop` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_DERIVE_std_ops_Drop_FOR_InnerBoxStr`
[INFO] [stdout] 38 | struct InnerBoxStr {
[INFO] [stdout]    |        ----------- `InnerBoxStr` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Trace` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Trace` may come from an old version of the `jrsonnet_gc_derive` crate, try updating your dependency with `cargo update -p jrsonnet_gc_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Trace` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> tests/trace_impl.rs:37:24
[INFO] [stdout]    |
[INFO] [stdout] 37 | #[derive(Trace, Clone, Finalize)]
[INFO] [stdout]    |                        ^-------
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `Finalize` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this constant `_DERIVE_jrsonnet_gc_Finalize_FOR_InnerBoxStr`
[INFO] [stdout] 38 | struct InnerBoxStr {
[INFO] [stdout]    |        ----------- `InnerBoxStr` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Finalize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Finalize` may come from an old version of the `jrsonnet_gc_derive` crate, try updating your dependency with `cargo update -p jrsonnet_gc_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Finalize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> tests/gc_semantics.rs:87:10
[INFO] [stdout]    |
[INFO] [stdout] 87 | #[derive(Trace, Finalize)]
[INFO] [stdout]    |          ^----
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `Trace` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_DERIVE_jrsonnet_gc_Trace_FOR_GcWatchCycle`
[INFO] [stdout] 88 | struct GcWatchCycle {
[INFO] [stdout]    |        ------------ `GcWatchCycle` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Trace` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Trace` may come from an old version of the `jrsonnet_gc_derive` crate, try updating your dependency with `cargo update -p jrsonnet_gc_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: `#[warn(non_local_definitions)]` on by default
[INFO] [stdout]    = note: this warning originates in the derive macro `Trace` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> tests/gc_semantics.rs:87:10
[INFO] [stdout]    |
[INFO] [stdout] 87 | #[derive(Trace, Finalize)]
[INFO] [stdout]    |          ^----
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `Drop` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_DERIVE_std_ops_Drop_FOR_GcWatchCycle`
[INFO] [stdout] 88 | struct GcWatchCycle {
[INFO] [stdout]    |        ------------ `GcWatchCycle` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Trace` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Trace` may come from an old version of the `jrsonnet_gc_derive` crate, try updating your dependency with `cargo update -p jrsonnet_gc_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Trace` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> tests/gc_semantics.rs:87:17
[INFO] [stdout]    |
[INFO] [stdout] 87 | #[derive(Trace, Finalize)]
[INFO] [stdout]    |                 ^-------
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 `Finalize` is not local
[INFO] [stdout]    |                 move the `impl` block outside of this constant `_DERIVE_jrsonnet_gc_Finalize_FOR_GcWatchCycle`
[INFO] [stdout] 88 | struct GcWatchCycle {
[INFO] [stdout]    |        ------------ `GcWatchCycle` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Finalize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Finalize` may come from an old version of the `jrsonnet_gc_derive` crate, try updating your dependency with `cargo update -p jrsonnet_gc_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Finalize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> tests/trace_impl.rs:42:10
[INFO] [stdout]    |
[INFO] [stdout] 42 | #[derive(Trace, Clone, Finalize)]
[INFO] [stdout]    |          ^----
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `Trace` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_DERIVE_jrsonnet_gc_Trace_FOR_InnerRcSlice`
[INFO] [stdout] 43 | struct InnerRcSlice {
[INFO] [stdout]    |        ------------ `InnerRcSlice` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Trace` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Trace` may come from an old version of the `jrsonnet_gc_derive` crate, try updating your dependency with `cargo update -p jrsonnet_gc_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Trace` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]  --> tests/derive_bounds.rs:5:10
[INFO] [stdout]   |
[INFO] [stdout] 5 | #[derive(Finalize, Trace)]
[INFO] [stdout]   |          ^-------
[INFO] [stdout]   |          |
[INFO] [stdout]   |          `Finalize` is not local
[INFO] [stdout]   |          move the `impl` block outside of this constant `_DERIVE_jrsonnet_gc_Finalize_FOR_Thunk`
[INFO] [stdout] 6 | struct Thunk<T>(fn() -> T);
[INFO] [stdout]   |        ----- `Thunk` is not local
[INFO] [stdout]   |
[INFO] [stdout]   = note: the derive macro `Finalize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]   = note: the derive macro `Finalize` may come from an old version of the `jrsonnet_gc_derive` crate, try updating your dependency with `cargo update -p jrsonnet_gc_derive`
[INFO] [stdout]   = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]   = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]   = note: `#[warn(non_local_definitions)]` on by default
[INFO] [stdout]   = note: this warning originates in the derive macro `Finalize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]  --> tests/derive_bounds.rs:5:20
[INFO] [stdout]   |
[INFO] [stdout] 5 | #[derive(Finalize, Trace)]
[INFO] [stdout]   |                    ^----
[INFO] [stdout]   |                    |
[INFO] [stdout]   |                    `Trace` is not local
[INFO] [stdout]   |                    move the `impl` block outside of this constant `_DERIVE_jrsonnet_gc_Trace_FOR_Thunk`
[INFO] [stdout] 6 | struct Thunk<T>(fn() -> T);
[INFO] [stdout]   |        ----- `Thunk` is not local
[INFO] [stdout]   |
[INFO] [stdout]   = note: the derive macro `Trace` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]   = note: the derive macro `Trace` may come from an old version of the `jrsonnet_gc_derive` crate, try updating your dependency with `cargo update -p jrsonnet_gc_derive`
[INFO] [stdout]   = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]   = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]   = note: this warning originates in the derive macro `Trace` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]  --> tests/derive_bounds.rs:5:20
[INFO] [stdout]   |
[INFO] [stdout] 5 | #[derive(Finalize, Trace)]
[INFO] [stdout]   |                    ^----
[INFO] [stdout]   |                    |
[INFO] [stdout]   |                    `Drop` is not local
[INFO] [stdout]   |                    move the `impl` block outside of this constant `_DERIVE_std_ops_Drop_FOR_Thunk`
[INFO] [stdout] 6 | struct Thunk<T>(fn() -> T);
[INFO] [stdout]   |        ----- `Thunk` is not local
[INFO] [stdout]   |
[INFO] [stdout]   = note: the derive macro `Trace` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]   = note: the derive macro `Trace` may come from an old version of the `jrsonnet_gc_derive` crate, try updating your dependency with `cargo update -p jrsonnet_gc_derive`
[INFO] [stdout]   = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]   = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]   = note: this warning originates in the derive macro `Trace` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> tests/trace_impl.rs:42:10
[INFO] [stdout]    |
[INFO] [stdout] 42 | #[derive(Trace, Clone, Finalize)]
[INFO] [stdout]    |          ^----
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `Drop` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_DERIVE_std_ops_Drop_FOR_InnerRcSlice`
[INFO] [stdout] 43 | struct InnerRcSlice {
[INFO] [stdout]    |        ------------ `InnerRcSlice` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Trace` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Trace` may come from an old version of the `jrsonnet_gc_derive` crate, try updating your dependency with `cargo update -p jrsonnet_gc_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Trace` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> tests/trace_impl.rs:42:24
[INFO] [stdout]    |
[INFO] [stdout] 42 | #[derive(Trace, Clone, Finalize)]
[INFO] [stdout]    |                        ^-------
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `Finalize` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this constant `_DERIVE_jrsonnet_gc_Finalize_FOR_InnerRcSlice`
[INFO] [stdout] 43 | struct InnerRcSlice {
[INFO] [stdout]    |        ------------ `InnerRcSlice` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Finalize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Finalize` may come from an old version of the `jrsonnet_gc_derive` crate, try updating your dependency with `cargo update -p jrsonnet_gc_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Finalize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> tests/trace_impl.rs:47:10
[INFO] [stdout]    |
[INFO] [stdout] 47 | #[derive(Trace, Clone, Finalize)]
[INFO] [stdout]    |          ^----
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `Trace` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_DERIVE_jrsonnet_gc_Trace_FOR_InnerRcStr`
[INFO] [stdout] 48 | struct InnerRcStr {
[INFO] [stdout]    |        ---------- `InnerRcStr` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Trace` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Trace` may come from an old version of the `jrsonnet_gc_derive` crate, try updating your dependency with `cargo update -p jrsonnet_gc_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Trace` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> tests/trace_impl.rs:47:10
[INFO] [stdout]    |
[INFO] [stdout] 47 | #[derive(Trace, Clone, Finalize)]
[INFO] [stdout]    |          ^----
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `Drop` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_DERIVE_std_ops_Drop_FOR_InnerRcStr`
[INFO] [stdout] 48 | struct InnerRcStr {
[INFO] [stdout]    |        ---------- `InnerRcStr` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Trace` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Trace` may come from an old version of the `jrsonnet_gc_derive` crate, try updating your dependency with `cargo update -p jrsonnet_gc_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Trace` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> tests/trace_impl.rs:47:24
[INFO] [stdout]    |
[INFO] [stdout] 47 | #[derive(Trace, Clone, Finalize)]
[INFO] [stdout]    |                        ^-------
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `Finalize` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this constant `_DERIVE_jrsonnet_gc_Finalize_FOR_InnerRcStr`
[INFO] [stdout] 48 | struct InnerRcStr {
[INFO] [stdout]    |        ---------- `InnerRcStr` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Finalize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Finalize` may come from an old version of the `jrsonnet_gc_derive` crate, try updating your dependency with `cargo update -p jrsonnet_gc_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Finalize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> tests/gc_semantics.rs:271:14
[INFO] [stdout]     |
[INFO] [stdout] 271 |     #[derive(Finalize, Trace)]
[INFO] [stdout]     |              ^-------
[INFO] [stdout]     |              |
[INFO] [stdout]     |              `Finalize` is not local
[INFO] [stdout]     |              move the `impl` block outside of this constant `_DERIVE_jrsonnet_gc_Finalize_FOR_A` and up 2 bodies
[INFO] [stdout] 272 |     struct A;
[INFO] [stdout]     |            - `A` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Finalize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Finalize` may come from an old version of the `jrsonnet_gc_derive` crate, try updating your dependency with `cargo update -p jrsonnet_gc_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Finalize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> tests/gc_semantics.rs:271:24
[INFO] [stdout]     |
[INFO] [stdout] 271 |     #[derive(Finalize, Trace)]
[INFO] [stdout]     |                        ^----
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        `Trace` is not local
[INFO] [stdout]     |                        move the `impl` block outside of this constant `_DERIVE_jrsonnet_gc_Trace_FOR_A` and up 2 bodies
[INFO] [stdout] 272 |     struct A;
[INFO] [stdout]     |            - `A` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Trace` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Trace` may come from an old version of the `jrsonnet_gc_derive` crate, try updating your dependency with `cargo update -p jrsonnet_gc_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Trace` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> tests/gc_semantics.rs:271:24
[INFO] [stdout]     |
[INFO] [stdout] 271 |     #[derive(Finalize, Trace)]
[INFO] [stdout]     |                        ^----
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        `Drop` is not local
[INFO] [stdout]     |                        move the `impl` block outside of this constant `_DERIVE_std_ops_Drop_FOR_A` and up 2 bodies
[INFO] [stdout] 272 |     struct A;
[INFO] [stdout]     |            - `A` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Trace` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Trace` may come from an old version of the `jrsonnet_gc_derive` crate, try updating your dependency with `cargo update -p jrsonnet_gc_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Trace` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> tests/gc_semantics.rs:273:14
[INFO] [stdout]     |
[INFO] [stdout] 273 |     #[derive(Finalize, Trace)]
[INFO] [stdout]     |              ^-------
[INFO] [stdout]     |              |
[INFO] [stdout]     |              `Finalize` is not local
[INFO] [stdout]     |              move the `impl` block outside of this constant `_DERIVE_jrsonnet_gc_Finalize_FOR_B` and up 2 bodies
[INFO] [stdout] 274 |     struct B(Gc<A>);
[INFO] [stdout]     |            - `B` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Finalize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Finalize` may come from an old version of the `jrsonnet_gc_derive` crate, try updating your dependency with `cargo update -p jrsonnet_gc_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Finalize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> tests/gc_semantics.rs:273:24
[INFO] [stdout]     |
[INFO] [stdout] 273 |     #[derive(Finalize, Trace)]
[INFO] [stdout]     |                        ^----
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        `Trace` is not local
[INFO] [stdout]     |                        move the `impl` block outside of this constant `_DERIVE_jrsonnet_gc_Trace_FOR_B` and up 2 bodies
[INFO] [stdout] 274 |     struct B(Gc<A>);
[INFO] [stdout]     |            - `B` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Trace` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Trace` may come from an old version of the `jrsonnet_gc_derive` crate, try updating your dependency with `cargo update -p jrsonnet_gc_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Trace` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> tests/gc_semantics.rs:273:24
[INFO] [stdout]     |
[INFO] [stdout] 273 |     #[derive(Finalize, Trace)]
[INFO] [stdout]     |                        ^----
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        `Drop` is not local
[INFO] [stdout]     |                        move the `impl` block outside of this constant `_DERIVE_std_ops_Drop_FOR_B` and up 2 bodies
[INFO] [stdout] 274 |     struct B(Gc<A>);
[INFO] [stdout]     |            - `B` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Trace` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Trace` may come from an old version of the `jrsonnet_gc_derive` crate, try updating your dependency with `cargo update -p jrsonnet_gc_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Trace` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> tests/trace_impl.rs:52:10
[INFO] [stdout]    |
[INFO] [stdout] 52 | #[derive(Trace, Finalize)]
[INFO] [stdout]    |          ^----
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `Trace` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_DERIVE_jrsonnet_gc_Trace_FOR_Baz`
[INFO] [stdout] 53 | struct Baz {
[INFO] [stdout]    |        --- `Baz` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Trace` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Trace` may come from an old version of the `jrsonnet_gc_derive` crate, try updating your dependency with `cargo update -p jrsonnet_gc_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Trace` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> tests/trace_impl.rs:52:10
[INFO] [stdout]    |
[INFO] [stdout] 52 | #[derive(Trace, Finalize)]
[INFO] [stdout]    |          ^----
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `Drop` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_DERIVE_std_ops_Drop_FOR_Baz`
[INFO] [stdout] 53 | struct Baz {
[INFO] [stdout]    |        --- `Baz` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Trace` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Trace` may come from an old version of the `jrsonnet_gc_derive` crate, try updating your dependency with `cargo update -p jrsonnet_gc_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Trace` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> tests/trace_impl.rs:52:17
[INFO] [stdout]    |
[INFO] [stdout] 52 | #[derive(Trace, Finalize)]
[INFO] [stdout]    |                 ^-------
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 `Finalize` is not local
[INFO] [stdout]    |                 move the `impl` block outside of this constant `_DERIVE_jrsonnet_gc_Finalize_FOR_Baz`
[INFO] [stdout] 53 | struct Baz {
[INFO] [stdout]    |        --- `Baz` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Finalize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Finalize` may come from an old version of the `jrsonnet_gc_derive` crate, try updating your dependency with `cargo update -p jrsonnet_gc_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Finalize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> tests/trace_impl.rs:58:10
[INFO] [stdout]    |
[INFO] [stdout] 58 | #[derive(Trace)]
[INFO] [stdout]    |          ^----
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `Trace` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_DERIVE_jrsonnet_gc_Trace_FOR_Dereferenced`
[INFO] [stdout] 59 | #[trivially_drop]
[INFO] [stdout] 60 | struct Dereferenced {
[INFO] [stdout]    |        ------------ `Dereferenced` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Trace` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Trace` may come from an old version of the `jrsonnet_gc_derive` crate, try updating your dependency with `cargo update -p jrsonnet_gc_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Trace` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> tests/trace_impl.rs:58:10
[INFO] [stdout]    |
[INFO] [stdout] 58 | #[derive(Trace)]
[INFO] [stdout]    |          ^----
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `Finalize` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_DERIVE_jrsonnet_gc_Finalize_FOR_Dereferenced`
[INFO] [stdout] 59 | #[trivially_drop]
[INFO] [stdout] 60 | struct Dereferenced {
[INFO] [stdout]    |        ------------ `Dereferenced` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Trace` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Trace` may come from an old version of the `jrsonnet_gc_derive` crate, try updating your dependency with `cargo update -p jrsonnet_gc_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Trace` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]  --> tests/unsized.rs:6:10
[INFO] [stdout]   |
[INFO] [stdout] 6 | #[derive(Trace, Finalize)]
[INFO] [stdout]   |          ^----
[INFO] [stdout]   |          |
[INFO] [stdout]   |          `Trace` is not local
[INFO] [stdout]   |          move the `impl` block outside of this constant `_DERIVE_jrsonnet_gc_Trace_FOR_Bar`
[INFO] [stdout] 7 | struct Bar;
[INFO] [stdout]   |        --- `Bar` is not local
[INFO] [stdout]   |
[INFO] [stdout]   = note: the derive macro `Trace` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]   = note: the derive macro `Trace` may come from an old version of the `jrsonnet_gc_derive` crate, try updating your dependency with `cargo update -p jrsonnet_gc_derive`
[INFO] [stdout]   = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]   = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]   = note: `#[warn(non_local_definitions)]` on by default
[INFO] [stdout]   = note: this warning originates in the derive macro `Trace` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]  --> tests/unsized.rs:6:10
[INFO] [stdout]   |
[INFO] [stdout] 6 | #[derive(Trace, Finalize)]
[INFO] [stdout]   |          ^----
[INFO] [stdout]   |          |
[INFO] [stdout]   |          `Drop` is not local
[INFO] [stdout]   |          move the `impl` block outside of this constant `_DERIVE_std_ops_Drop_FOR_Bar`
[INFO] [stdout] 7 | struct Bar;
[INFO] [stdout]   |        --- `Bar` is not local
[INFO] [stdout]   |
[INFO] [stdout]   = note: the derive macro `Trace` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]   = note: the derive macro `Trace` may come from an old version of the `jrsonnet_gc_derive` crate, try updating your dependency with `cargo update -p jrsonnet_gc_derive`
[INFO] [stdout]   = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]   = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]   = note: this warning originates in the derive macro `Trace` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]  --> tests/unsized.rs:6:17
[INFO] [stdout]   |
[INFO] [stdout] 6 | #[derive(Trace, Finalize)]
[INFO] [stdout]   |                 ^-------
[INFO] [stdout]   |                 |
[INFO] [stdout]   |                 `Finalize` is not local
[INFO] [stdout]   |                 move the `impl` block outside of this constant `_DERIVE_jrsonnet_gc_Finalize_FOR_Bar`
[INFO] [stdout] 7 | struct Bar;
[INFO] [stdout]   |        --- `Bar` is not local
[INFO] [stdout]   |
[INFO] [stdout]   = note: the derive macro `Finalize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]   = note: the derive macro `Finalize` may come from an old version of the `jrsonnet_gc_derive` crate, try updating your dependency with `cargo update -p jrsonnet_gc_derive`
[INFO] [stdout]   = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]   = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]   = note: this warning originates in the derive macro `Finalize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> tests/unsized.rs:10:10
[INFO] [stdout]    |
[INFO] [stdout] 10 | #[derive(Trace, Finalize)]
[INFO] [stdout]    |          ^----
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `Trace` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_DERIVE_jrsonnet_gc_Trace_FOR_AnyFoo`
[INFO] [stdout] 11 | struct AnyFoo(dyn Foo);
[INFO] [stdout]    |        ------ `AnyFoo` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Trace` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Trace` may come from an old version of the `jrsonnet_gc_derive` crate, try updating your dependency with `cargo update -p jrsonnet_gc_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Trace` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> tests/unsized.rs:10:10
[INFO] [stdout]    |
[INFO] [stdout] 10 | #[derive(Trace, Finalize)]
[INFO] [stdout]    |          ^----
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `Drop` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_DERIVE_std_ops_Drop_FOR_AnyFoo`
[INFO] [stdout] 11 | struct AnyFoo(dyn Foo);
[INFO] [stdout]    |        ------ `AnyFoo` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Trace` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Trace` may come from an old version of the `jrsonnet_gc_derive` crate, try updating your dependency with `cargo update -p jrsonnet_gc_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Trace` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> tests/unsized.rs:10:17
[INFO] [stdout]    |
[INFO] [stdout] 10 | #[derive(Trace, Finalize)]
[INFO] [stdout]    |                 ^-------
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 `Finalize` is not local
[INFO] [stdout]    |                 move the `impl` block outside of this constant `_DERIVE_jrsonnet_gc_Finalize_FOR_AnyFoo`
[INFO] [stdout] 11 | struct AnyFoo(dyn Foo);
[INFO] [stdout]    |        ------ `AnyFoo` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Finalize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Finalize` may come from an old version of the `jrsonnet_gc_derive` crate, try updating your dependency with `cargo update -p jrsonnet_gc_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Finalize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]  --> tests/gymnastics_cycle.rs:7:10
[INFO] [stdout]   |
[INFO] [stdout] 7 | #[derive(Trace)]
[INFO] [stdout]   |          ^----
[INFO] [stdout]   |          |
[INFO] [stdout]   |          `Trace` is not local
[INFO] [stdout]   |          move the `impl` block outside of this constant `_DERIVE_jrsonnet_gc_Trace_FOR_Cyclic`
[INFO] [stdout] 8 | struct Cyclic {
[INFO] [stdout]   |        ------ `Cyclic` is not local
[INFO] [stdout]   |
[INFO] [stdout]   = note: the derive macro `Trace` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]   = note: the derive macro `Trace` may come from an old version of the `jrsonnet_gc_derive` crate, try updating your dependency with `cargo update -p jrsonnet_gc_derive`
[INFO] [stdout]   = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]   = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]   = note: `#[warn(non_local_definitions)]` on by default
[INFO] [stdout]   = note: this warning originates in the derive macro `Trace` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]  --> tests/gymnastics_cycle.rs:7:10
[INFO] [stdout]   |
[INFO] [stdout] 7 | #[derive(Trace)]
[INFO] [stdout]   |          ^----
[INFO] [stdout]   |          |
[INFO] [stdout]   |          `Drop` is not local
[INFO] [stdout]   |          move the `impl` block outside of this constant `_DERIVE_std_ops_Drop_FOR_Cyclic`
[INFO] [stdout] 8 | struct Cyclic {
[INFO] [stdout]   |        ------ `Cyclic` is not local
[INFO] [stdout]   |
[INFO] [stdout]   = note: the derive macro `Trace` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]   = note: the derive macro `Trace` may come from an old version of the `jrsonnet_gc_derive` crate, try updating your dependency with `cargo update -p jrsonnet_gc_derive`
[INFO] [stdout]   = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]   = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]   = note: this warning originates in the derive macro `Trace` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 5.32s
[INFO] running `Command { std: "docker" "inspect" "0e9b0b44c3708f726c7a0098b38e12ca95feffde4ecf72aeb8b9a0eaef93b110", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "0e9b0b44c3708f726c7a0098b38e12ca95feffde4ecf72aeb8b9a0eaef93b110", kill_on_drop: false }`
[INFO] [stdout] 0e9b0b44c3708f726c7a0098b38e12ca95feffde4ecf72aeb8b9a0eaef93b110
