[INFO] fetching crate jrsonnet-gc 0.4.2...
[INFO] checking jrsonnet-gc-0.4.2 against 1.95.0 for pr-155915
[INFO] extracting crate jrsonnet-gc 0.4.2 into /workspace/builds/worker-4-tc1/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-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate jrsonnet-gc 0.4.2 on toolchain 1.95.0
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.95.0" "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" "+1.95.0" "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" "+1.95.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded jrsonnet-gc-derive v0.4.1
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1.95.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] a42fdb0ce33ac501fca1391e1ae50ba5e0abfd3498b42fd9ec56145870080d30
[INFO] running `Command { std: "docker" "start" "-a" "a42fdb0ce33ac501fca1391e1ae50ba5e0abfd3498b42fd9ec56145870080d30", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "a42fdb0ce33ac501fca1391e1ae50ba5e0abfd3498b42fd9ec56145870080d30", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "a42fdb0ce33ac501fca1391e1ae50ba5e0abfd3498b42fd9ec56145870080d30", kill_on_drop: false }`
[INFO] [stdout] a42fdb0ce33ac501fca1391e1ae50ba5e0abfd3498b42fd9ec56145870080d30
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1.95.0" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 024d1640fc9e48581cad814b162710e4104da0b890d97e63b95804f6362ccf68
[INFO] running `Command { std: "docker" "start" "-a" "024d1640fc9e48581cad814b162710e4104da0b890d97e63b95804f6362ccf68", 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: 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] [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] error[E0554]: `#![feature]` may not be used on the stable release channel
[INFO] [stdout]  --> benches/alloc_in_a_loop.rs:1:1
[INFO] [stdout]   |
[INFO] [stdout] 1 | #![feature(test)]
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0554`.
[INFO] [stdout] 
[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] [stderr] error: could not compile `jrsonnet-gc` (bench "alloc_in_a_loop") due to 1 previous error
[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] [stderr] warning: build failed, waiting for other jobs to finish...
[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: 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: 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/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/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/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/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/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] running `Command { std: "docker" "inspect" "024d1640fc9e48581cad814b162710e4104da0b890d97e63b95804f6362ccf68", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "024d1640fc9e48581cad814b162710e4104da0b890d97e63b95804f6362ccf68", kill_on_drop: false }`
[INFO] [stdout] 024d1640fc9e48581cad814b162710e4104da0b890d97e63b95804f6362ccf68
