[INFO] fetching crate Boa 0.13.1...
[INFO] testing Boa-0.13.1 against 1.90.0 for beta-1.91-2
[INFO] extracting crate Boa 0.13.1 into /workspace/builds/worker-2-tc1/source
[INFO] started tweaking crates.io crate Boa 0.13.1
[INFO] finished tweaking crates.io crate Boa 0.13.1
[INFO] tweaked toml for crates.io crate Boa 0.13.1 written to /workspace/builds/worker-2-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate Boa 0.13.1 on toolchain 1.90.0
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.90.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate Boa 0.13.1 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.90.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded gc_derive v0.4.1
[INFO] [stderr]   Downloaded measureme v9.1.2
[INFO] [stderr]   Downloaded boa_unicode v0.13.0
[INFO] [stderr]   Downloaded gc v0.4.1
[INFO] [stderr]   Downloaded jemallocator v0.3.2
[INFO] [stderr]   Downloaded fs_extra v1.2.0
[INFO] [stderr]   Downloaded fast-float v0.2.0
[INFO] [stderr]   Downloaded serde_cbor v0.11.2
[INFO] [stderr]   Downloaded serde_derive v1.0.145
[INFO] [stderr]   Downloaded regress v0.4.1
[INFO] [stderr]   Downloaded criterion v0.3.6
[INFO] [stderr]   Downloaded syn v1.0.100
[INFO] [stderr]   Downloaded serde v1.0.145
[INFO] [stderr]   Downloaded ryu-js v0.2.2
[INFO] [stderr]   Downloaded proc-macro2 v1.0.44
[INFO] [stderr]   Downloaded criterion-plot v0.4.5
[INFO] [stderr]   Downloaded dyn-clone v1.0.9
[INFO] [stderr]   Downloaded perf-event-open-sys v1.0.1
[INFO] [stderr]   Downloaded bstr v0.2.17
[INFO] [stderr]   Downloaded libc v0.2.133
[INFO] [stderr]   Downloaded jemalloc-sys v0.3.2
[INFO] [stderr]   Downloaded unicode-general-category v0.4.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+1.90.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] b84446850ca6162ab7be25f428b53c141ca13c127f2084d0884143c1d83fd2a3
[INFO] running `Command { std: "docker" "start" "-a" "b84446850ca6162ab7be25f428b53c141ca13c127f2084d0884143c1d83fd2a3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "b84446850ca6162ab7be25f428b53c141ca13c127f2084d0884143c1d83fd2a3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "b84446850ca6162ab7be25f428b53c141ca13c127f2084d0884143c1d83fd2a3", kill_on_drop: false }`
[INFO] [stdout] b84446850ca6162ab7be25f428b53c141ca13c127f2084d0884143c1d83fd2a3
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+1.90.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 21edad6b0236bcff616761690cb480fc84b08f34f4fcef77849aeb5f7fc0fe24
[INFO] running `Command { std: "docker" "start" "-a" "21edad6b0236bcff616761690cb480fc84b08f34f4fcef77849aeb5f7fc0fe24", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.44
[INFO] [stderr]    Compiling quote v1.0.21
[INFO] [stderr]    Compiling unicode-ident v1.0.4
[INFO] [stderr]    Compiling syn v1.0.100
[INFO] [stderr]    Compiling libc v0.2.133
[INFO] [stderr]    Compiling serde_derive v1.0.145
[INFO] [stderr]    Compiling serde v1.0.145
[INFO] [stderr]    Compiling memchr v2.5.0
[INFO] [stderr]    Compiling unicode-general-category v0.4.0
[INFO] [stderr]    Compiling num-bigint v0.4.3
[INFO] [stderr]    Compiling serde_json v1.0.85
[INFO] [stderr]    Compiling tinyvec_macros v0.1.0
[INFO] [stderr]    Compiling tinyvec v1.6.0
[INFO] [stderr]    Compiling iana-time-zone v0.1.50
[INFO] [stderr]    Compiling ryu v1.0.11
[INFO] [stderr]    Compiling itoa v1.0.3
[INFO] [stderr]    Compiling dyn-clone v1.0.9
[INFO] [stderr]    Compiling fast-float v0.2.0
[INFO] [stderr]    Compiling ryu-js v0.2.2
[INFO] [stderr]    Compiling regress v0.4.1
[INFO] [stderr]    Compiling getrandom v0.2.7
[INFO] [stderr]    Compiling time v0.1.44
[INFO] [stderr]    Compiling unicode-normalization v0.1.22
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]    Compiling chrono v0.4.22
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling rand v0.8.5
[INFO] [stderr]    Compiling boa_unicode v0.13.0
[INFO] [stderr]    Compiling synstructure v0.12.6
[INFO] [stderr]    Compiling gc_derive v0.4.1
[INFO] [stderr]    Compiling gc v0.4.1
[INFO] [stderr]    Compiling Boa v0.13.1 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unnecessary qualification
[INFO] [stdout]    --> src/bigint.rs:394:27
[INFO] [stdout]     |
[INFO] [stdout] 394 |     fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] note: the lint level is defined here
[INFO] [stdout]    --> src/lib.rs:17:5
[INFO] [stdout]     |
[INFO] [stdout]  17 |     unused_qualifications,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]     |
[INFO] [stdout] 394 -     fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
[INFO] [stdout] 394 +     fn fmt(&self, f: &mut fmt::Formatter<'_>) -> std::fmt::Result {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary qualification
[INFO] [stdout]    --> src/bigint.rs:394:55
[INFO] [stdout]     |
[INFO] [stdout] 394 |     fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
[INFO] [stdout]     |                                                       ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]     |
[INFO] [stdout] 394 -     fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
[INFO] [stdout] 394 +     fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> fmt::Result {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary qualification
[INFO] [stdout]    --> src/builtins/date/mod.rs:411:51
[INFO] [stdout]     |
[INFO] [stdout] 411 |                 JsValue::String(ref str) => match chrono::DateTime::parse_from_rfc3339(str) {
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]     |
[INFO] [stdout] 411 -                 JsValue::String(ref str) => match chrono::DateTime::parse_from_rfc3339(str) {
[INFO] [stdout] 411 +                 JsValue::String(ref str) => match DateTime::parse_from_rfc3339(str) {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary qualification
[INFO] [stdout]     --> src/builtins/regexp/mod.rs:1787:9
[INFO] [stdout]      |
[INFO] [stdout] 1787 |         crate::builtins::string::code_point_at(s, index as i32).expect("Failed to get code point");
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]      |
[INFO] [stdout] 1787 -         crate::builtins::string::code_point_at(s, index as i32).expect("Failed to get code point");
[INFO] [stdout] 1787 +         string::code_point_at(s, index as i32).expect("Failed to get code point");
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/environment/global_environment_record.rs:38:13
[INFO] [stdout]    |
[INFO] [stdout] 38 | /             /// Object Environment Records created for with statements (13.11)
[INFO] [stdout] 39 | |             /// can provide their binding object as an implicit this value for use in function calls.
[INFO] [stdout] 40 | |             /// The capability is controlled by a withEnvironment Boolean value that is associated
[INFO] [stdout] 41 | |             /// with each object Environment Record. By default, the value of withEnvironment is false
[INFO] [stdout] 42 | |             /// for any object Environment Record.
[INFO] [stdout]    | |__________________________________________________^
[INFO] [stdout] 43 |               with_environment: false,
[INFO] [stdout]    |               ----------------------- rustdoc does not generate documentation for expression fields
[INFO] [stdout]    |
[INFO] [stdout]    = help: use `//` for a plain comment
[INFO] [stdout]    = note: `#[warn(unused_doc_comments)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/environment/object_environment_record.rs:35:13
[INFO] [stdout]    |
[INFO] [stdout] 35 | /             /// Object Environment Records created for with statements (13.11)
[INFO] [stdout] 36 | |             /// can provide their binding object as an implicit this value for use in function calls.
[INFO] [stdout] 37 | |             /// The capability is controlled by a withEnvironment Boolean value that is associated
[INFO] [stdout] 38 | |             /// with each object Environment Record. By default, the value of withEnvironment is false
[INFO] [stdout] 39 | |             /// for any object Environment Record.
[INFO] [stdout]    | |__________________________________________________^
[INFO] [stdout] 40 |               with_environment: false,
[INFO] [stdout]    |               ----------------------- rustdoc does not generate documentation for expression fields
[INFO] [stdout]    |
[INFO] [stdout]    = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary qualification
[INFO] [stdout]     --> src/object/gcobject.rs:1024:50
[INFO] [stdout]      |
[INFO] [stdout] 1024 |     fn fmt(&self, f: &mut fmt::Formatter<'_>) -> std::fmt::Result {
[INFO] [stdout]      |                                                  ^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]      |
[INFO] [stdout] 1024 -     fn fmt(&self, f: &mut fmt::Formatter<'_>) -> std::fmt::Result {
[INFO] [stdout] 1024 +     fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary qualification
[INFO] [stdout]    --> src/syntax/lexer/cursor.rs:161:28
[INFO] [stdout]     |
[INFO] [stdout] 161 |                 return Err(io::Error::new(
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]     |
[INFO] [stdout] 161 -                 return Err(io::Error::new(
[INFO] [stdout] 161 +                 return Err(Error::new(
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary qualification
[INFO] [stdout]    --> src/syntax/lexer/cursor.rs:321:17
[INFO] [stdout]     |
[INFO] [stdout] 321 |                 io::Error::new(
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]     |
[INFO] [stdout] 321 -                 io::Error::new(
[INFO] [stdout] 321 +                 Error::new(
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary qualification
[INFO] [stdout]    --> src/syntax/lexer/cursor.rs:322:21
[INFO] [stdout]     |
[INFO] [stdout] 322 |                     io::ErrorKind::UnexpectedEof,
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]     |
[INFO] [stdout] 322 -                     io::ErrorKind::UnexpectedEof,
[INFO] [stdout] 322 +                     ErrorKind::UnexpectedEof,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary qualification
[INFO] [stdout]    --> src/syntax/parser/mod.rs:160:9
[INFO] [stdout]     |
[INFO] [stdout] 160 |         self::statement::StatementList::new(false, false, false, false, &[]).parse(cursor)
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]     |
[INFO] [stdout] 160 -         self::statement::StatementList::new(false, false, false, false, &[]).parse(cursor)
[INFO] [stdout] 160 +         statement::StatementList::new(false, false, false, false, &[]).parse(cursor)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary qualification
[INFO] [stdout]   --> src/value/conversions.rs:41:27
[INFO] [stdout]    |
[INFO] [stdout] 41 |     fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
[INFO] [stdout]    |                           ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]    |
[INFO] [stdout] 41 -     fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
[INFO] [stdout] 41 +     fn fmt(&self, f: &mut fmt::Formatter<'_>) -> std::fmt::Result {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary qualification
[INFO] [stdout]   --> src/value/conversions.rs:41:55
[INFO] [stdout]    |
[INFO] [stdout] 41 |     fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
[INFO] [stdout]    |                                                       ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]    |
[INFO] [stdout] 41 -     fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
[INFO] [stdout] 41 +     fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> fmt::Result {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary qualification
[INFO] [stdout]    --> src/value/conversions.rs:184:27
[INFO] [stdout]     |
[INFO] [stdout] 184 |     fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]     |
[INFO] [stdout] 184 -     fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
[INFO] [stdout] 184 +     fn fmt(&self, f: &mut fmt::Formatter<'_>) -> std::fmt::Result {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary qualification
[INFO] [stdout]    --> src/value/conversions.rs:184:55
[INFO] [stdout]     |
[INFO] [stdout] 184 |     fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
[INFO] [stdout]     |                                                       ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]     |
[INFO] [stdout] 184 -     fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
[INFO] [stdout] 184 +     fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> fmt::Result {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `equality::*`
[INFO] [stdout]   --> src/value/mod.rs:35:9
[INFO] [stdout]    |
[INFO] [stdout] 35 | pub use equality::*;
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `hash::*`
[INFO] [stdout]   --> src/value/mod.rs:36:9
[INFO] [stdout]    |
[INFO] [stdout] 36 | pub use hash::*;
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[must_use]` has no effect when applied to a type alias
[INFO] [stdout]   --> src/lib.rs:86:1
[INFO] [stdout]    |
[INFO] [stdout] 86 | #[must_use]
[INFO] [stdout]    | ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_attributes)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/builtins/map/mod.rs:42:23
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub(crate) struct Map(OrderedMap<JsValue>);
[INFO] [stdout]    |                   --- ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                   |
[INFO] [stdout]    |                   field in this struct
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider removing this field
[INFO] [stdout]    = note: `Map` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `use_last_index` is never read
[INFO] [stdout]   --> src/builtins/regexp/mod.rs:42:5
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub struct RegExp {
[INFO] [stdout]    |            ------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 42 |     use_last_index: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `RegExp` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/builtins/set/mod.rs:36:23
[INFO] [stdout]    |
[INFO] [stdout] 36 | pub(crate) struct Set(OrderedSet<JsValue>);
[INFO] [stdout]    |                   --- ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                   |
[INFO] [stdout]    |                   field in this struct
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider removing this field
[INFO] [stdout]    = note: `Set` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `is_default` is never read
[INFO] [stdout]   --> src/syntax/parser/statement/declaration/hoistable/function_decl/mod.rs:28:5
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub(super) struct FunctionDeclaration {
[INFO] [stdout]    |                   ------------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 28 |     is_default: AllowDefault,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `FunctionDeclaration` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[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]   --> src/bigint.rs:28:17
[INFO] [stdout]    |
[INFO] [stdout] 28 | #[derive(Debug, Finalize, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
[INFO] [stdout]    |                 ^-------
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 `Finalize` is not local
[INFO] [stdout]    |                 move the `impl` block outside of this constant `_DERIVE_gc_Finalize_FOR_JsBigInt`
[INFO] [stdout] 29 | pub struct JsBigInt {
[INFO] [stdout]    |            -------- `JsBigInt` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/builtins/array/array_iterator.rs:16:24
[INFO] [stdout]    |
[INFO] [stdout] 16 | #[derive(Debug, Clone, Finalize, Trace)]
[INFO] [stdout]    |                        ^-------
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `Finalize` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this constant `_DERIVE_gc_Finalize_FOR_ArrayIterator`
[INFO] [stdout] 17 | pub struct ArrayIterator {
[INFO] [stdout]    |            ------------- `ArrayIterator` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/builtins/array/array_iterator.rs:16:34
[INFO] [stdout]    |
[INFO] [stdout] 16 | #[derive(Debug, Clone, Finalize, Trace)]
[INFO] [stdout]    |                                  ^----
[INFO] [stdout]    |                                  |
[INFO] [stdout]    |                                  `Trace` is not local
[INFO] [stdout]    |                                  move the `impl` block outside of this constant `_DERIVE_gc_Trace_FOR_ArrayIterator`
[INFO] [stdout] 17 | pub struct ArrayIterator {
[INFO] [stdout]    |            ------------- `ArrayIterator` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/builtins/array/array_iterator.rs:16:34
[INFO] [stdout]    |
[INFO] [stdout] 16 | #[derive(Debug, Clone, 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_ArrayIterator`
[INFO] [stdout] 17 | pub struct ArrayIterator {
[INFO] [stdout]    |            ------------- `ArrayIterator` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/builtins/date/mod.rs:65:17
[INFO] [stdout]    |
[INFO] [stdout] 65 | #[derive(Debug, Finalize, Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
[INFO] [stdout]    |                 ^-------
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 `Finalize` is not local
[INFO] [stdout]    |                 move the `impl` block outside of this constant `_DERIVE_gc_Finalize_FOR_Date`
[INFO] [stdout] 66 | pub struct Date(Option<NaiveDateTime>);
[INFO] [stdout]    |            ---- `Date` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/builtins/function/mod.rs:74:23
[INFO] [stdout]    |
[INFO] [stdout] 74 | #[derive(Clone, Copy, Finalize)]
[INFO] [stdout]    |                       ^-------
[INFO] [stdout]    |                       |
[INFO] [stdout]    |                       `Finalize` is not local
[INFO] [stdout]    |                       move the `impl` block outside of this constant `_DERIVE_gc_Finalize_FOR_BuiltInFunction`
[INFO] [stdout] 75 | pub struct BuiltInFunction(pub(crate) NativeFunction);
[INFO] [stdout]    |            --------------- `BuiltInFunction` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/builtins/function/mod.rs:94:14
[INFO] [stdout]    |
[INFO] [stdout] 94 |     #[derive(Finalize, Default)]
[INFO] [stdout]    |              ^-------
[INFO] [stdout]    |              |
[INFO] [stdout]    |              `Finalize` is not local
[INFO] [stdout]    |              move the `impl` block outside of this constant `_DERIVE_gc_Finalize_FOR_FunctionFlags`
[INFO] [stdout] 95 |     pub struct FunctionFlags: u8 {
[INFO] [stdout]    |                ------------- `FunctionFlags` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]    --> src/builtins/function/mod.rs:137:24
[INFO] [stdout]     |
[INFO] [stdout] 137 | #[derive(Debug, Clone, Trace, Finalize)]
[INFO] [stdout]     |                        ^----
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        `Trace` is not local
[INFO] [stdout]     |                        move the `impl` block outside of this constant `_DERIVE_gc_Trace_FOR_Captures`
[INFO] [stdout] 138 | pub struct Captures(Box<dyn CapturesObject>);
[INFO] [stdout]     |            -------- `Captures` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]    --> src/builtins/function/mod.rs:137:24
[INFO] [stdout]     |
[INFO] [stdout] 137 | #[derive(Debug, Clone, 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_Captures`
[INFO] [stdout] 138 | pub struct Captures(Box<dyn CapturesObject>);
[INFO] [stdout]     |            -------- `Captures` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]    --> src/builtins/function/mod.rs:137:31
[INFO] [stdout]     |
[INFO] [stdout] 137 | #[derive(Debug, Clone, Trace, Finalize)]
[INFO] [stdout]     |                               ^-------
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               `Finalize` is not local
[INFO] [stdout]     |                               move the `impl` block outside of this constant `_DERIVE_gc_Finalize_FOR_Captures`
[INFO] [stdout] 138 | pub struct Captures(Box<dyn CapturesObject>);
[INFO] [stdout]     |            -------- `Captures` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]    --> src/builtins/function/mod.rs:199:17
[INFO] [stdout]     |
[INFO] [stdout] 199 | #[derive(Clone, Trace, Finalize)]
[INFO] [stdout]     |                 ^----
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 `Trace` is not local
[INFO] [stdout]     |                 move the `impl` block outside of this constant `_DERIVE_gc_Trace_FOR_Function`
[INFO] [stdout] 200 | pub enum Function {
[INFO] [stdout]     |          -------- `Function` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]    --> src/builtins/function/mod.rs:199:17
[INFO] [stdout]     |
[INFO] [stdout] 199 | #[derive(Clone, 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_Function`
[INFO] [stdout] 200 | pub enum Function {
[INFO] [stdout]     |          -------- `Function` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]    --> src/builtins/function/mod.rs:199:24
[INFO] [stdout]     |
[INFO] [stdout] 199 | #[derive(Clone, Trace, Finalize)]
[INFO] [stdout]     |                        ^-------
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        `Finalize` is not local
[INFO] [stdout]     |                        move the `impl` block outside of this constant `_DERIVE_gc_Finalize_FOR_Function`
[INFO] [stdout] 200 | pub enum Function {
[INFO] [stdout]     |          -------- `Function` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/builtins/map/map_iterator.rs:17:24
[INFO] [stdout]    |
[INFO] [stdout] 17 | #[derive(Debug, Clone, Finalize, Trace)]
[INFO] [stdout]    |                        ^-------
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `Finalize` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this constant `_DERIVE_gc_Finalize_FOR_MapIterator`
[INFO] [stdout] 18 | pub struct MapIterator {
[INFO] [stdout]    |            ----------- `MapIterator` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/builtins/map/map_iterator.rs:17:34
[INFO] [stdout]    |
[INFO] [stdout] 17 | #[derive(Debug, Clone, Finalize, Trace)]
[INFO] [stdout]    |                                  ^----
[INFO] [stdout]    |                                  |
[INFO] [stdout]    |                                  `Trace` is not local
[INFO] [stdout]    |                                  move the `impl` block outside of this constant `_DERIVE_gc_Trace_FOR_MapIterator`
[INFO] [stdout] 18 | pub struct MapIterator {
[INFO] [stdout]    |            ----------- `MapIterator` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/builtins/map/map_iterator.rs:17:34
[INFO] [stdout]    |
[INFO] [stdout] 17 | #[derive(Debug, Clone, 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_MapIterator`
[INFO] [stdout] 18 | pub struct MapIterator {
[INFO] [stdout]    |            ----------- `MapIterator` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]    --> src/builtins/map/ordered_map.rs:211:17
[INFO] [stdout]     |
[INFO] [stdout] 211 | #[derive(Debug, Trace)]
[INFO] [stdout]     |                 ^----
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 `Trace` is not local
[INFO] [stdout]     |                 move the `impl` block outside of this constant `_DERIVE_gc_Trace_FOR_MapLock`
[INFO] [stdout] 212 | pub(crate) struct MapLock(JsObject);
[INFO] [stdout]     |                   ------- `MapLock` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]    --> src/builtins/map/ordered_map.rs:211:17
[INFO] [stdout]     |
[INFO] [stdout] 211 | #[derive(Debug, 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_MapLock`
[INFO] [stdout] 212 | pub(crate) struct MapLock(JsObject);
[INFO] [stdout]     |                   ------- `MapLock` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/builtins/object/for_in_iterator.rs:20:24
[INFO] [stdout]    |
[INFO] [stdout] 20 | #[derive(Debug, Clone, Finalize, Trace)]
[INFO] [stdout]    |                        ^-------
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `Finalize` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this constant `_DERIVE_gc_Finalize_FOR_ForInIterator`
[INFO] [stdout] 21 | pub struct ForInIterator {
[INFO] [stdout]    |            ------------- `ForInIterator` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/builtins/object/for_in_iterator.rs:20:34
[INFO] [stdout]    |
[INFO] [stdout] 20 | #[derive(Debug, Clone, Finalize, Trace)]
[INFO] [stdout]    |                                  ^----
[INFO] [stdout]    |                                  |
[INFO] [stdout]    |                                  `Trace` is not local
[INFO] [stdout]    |                                  move the `impl` block outside of this constant `_DERIVE_gc_Trace_FOR_ForInIterator`
[INFO] [stdout] 21 | pub struct ForInIterator {
[INFO] [stdout]    |            ------------- `ForInIterator` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/builtins/object/for_in_iterator.rs:20:34
[INFO] [stdout]    |
[INFO] [stdout] 20 | #[derive(Debug, Clone, 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_ForInIterator`
[INFO] [stdout] 21 | pub struct ForInIterator {
[INFO] [stdout]    |            ------------- `ForInIterator` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/builtins/regexp/mod.rs:36:24
[INFO] [stdout]    |
[INFO] [stdout] 36 | #[derive(Debug, Clone, Finalize)]
[INFO] [stdout]    |                        ^-------
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `Finalize` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this constant `_DERIVE_gc_Finalize_FOR_RegExp`
[INFO] [stdout] 37 | pub struct RegExp {
[INFO] [stdout]    |            ------ `RegExp` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/builtins/regexp/regexp_string_iterator.rs:24:24
[INFO] [stdout]    |
[INFO] [stdout] 24 | #[derive(Debug, Clone, Finalize, Trace)]
[INFO] [stdout]    |                        ^-------
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `Finalize` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this constant `_DERIVE_gc_Finalize_FOR_RegExpStringIterator`
[INFO] [stdout] 25 | pub struct RegExpStringIterator {
[INFO] [stdout]    |            -------------------- `RegExpStringIterator` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/builtins/regexp/regexp_string_iterator.rs:24:34
[INFO] [stdout]    |
[INFO] [stdout] 24 | #[derive(Debug, Clone, Finalize, Trace)]
[INFO] [stdout]    |                                  ^----
[INFO] [stdout]    |                                  |
[INFO] [stdout]    |                                  `Trace` is not local
[INFO] [stdout]    |                                  move the `impl` block outside of this constant `_DERIVE_gc_Trace_FOR_RegExpStringIterator`
[INFO] [stdout] 25 | pub struct RegExpStringIterator {
[INFO] [stdout]    |            -------------------- `RegExpStringIterator` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/builtins/regexp/regexp_string_iterator.rs:24:34
[INFO] [stdout]    |
[INFO] [stdout] 24 | #[derive(Debug, Clone, 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_RegExpStringIterator`
[INFO] [stdout] 25 | pub struct RegExpStringIterator {
[INFO] [stdout]    |            -------------------- `RegExpStringIterator` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/builtins/set/set_iterator.rs:19:24
[INFO] [stdout]    |
[INFO] [stdout] 19 | #[derive(Debug, Clone, Finalize, Trace)]
[INFO] [stdout]    |                        ^-------
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `Finalize` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this constant `_DERIVE_gc_Finalize_FOR_SetIterator`
[INFO] [stdout] 20 | pub struct SetIterator {
[INFO] [stdout]    |            ----------- `SetIterator` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/builtins/set/set_iterator.rs:19:34
[INFO] [stdout]    |
[INFO] [stdout] 19 | #[derive(Debug, Clone, Finalize, Trace)]
[INFO] [stdout]    |                                  ^----
[INFO] [stdout]    |                                  |
[INFO] [stdout]    |                                  `Trace` is not local
[INFO] [stdout]    |                                  move the `impl` block outside of this constant `_DERIVE_gc_Trace_FOR_SetIterator`
[INFO] [stdout] 20 | pub struct SetIterator {
[INFO] [stdout]    |            ----------- `SetIterator` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/builtins/set/set_iterator.rs:19:34
[INFO] [stdout]    |
[INFO] [stdout] 19 | #[derive(Debug, Clone, 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_SetIterator`
[INFO] [stdout] 20 | pub struct SetIterator {
[INFO] [stdout]    |            ----------- `SetIterator` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/builtins/string/string_iterator.rs:12:24
[INFO] [stdout]    |
[INFO] [stdout] 12 | #[derive(Debug, Clone, Finalize, Trace)]
[INFO] [stdout]    |                        ^-------
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `Finalize` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this constant `_DERIVE_gc_Finalize_FOR_StringIterator`
[INFO] [stdout] 13 | pub struct StringIterator {
[INFO] [stdout]    |            -------------- `StringIterator` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/builtins/string/string_iterator.rs:12:34
[INFO] [stdout]    |
[INFO] [stdout] 12 | #[derive(Debug, Clone, Finalize, Trace)]
[INFO] [stdout]    |                                  ^----
[INFO] [stdout]    |                                  |
[INFO] [stdout]    |                                  `Trace` is not local
[INFO] [stdout]    |                                  move the `impl` block outside of this constant `_DERIVE_gc_Trace_FOR_StringIterator`
[INFO] [stdout] 13 | pub struct StringIterator {
[INFO] [stdout]    |            -------------- `StringIterator` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/builtins/string/string_iterator.rs:12:34
[INFO] [stdout]    |
[INFO] [stdout] 12 | #[derive(Debug, Clone, 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_StringIterator`
[INFO] [stdout] 13 | pub struct StringIterator {
[INFO] [stdout]    |            -------------- `StringIterator` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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: calls to `std::mem::drop` with a value that implements `Copy` does nothing
[INFO] [stdout]    --> src/context.rs:858:9
[INFO] [stdout]     |
[INFO] [stdout] 858 |         drop(main_timer);
[INFO] [stdout]     |         ^^^^^----------^
[INFO] [stdout]     |              |
[INFO] [stdout]     |              argument has type `()`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dropping_copy_types)]` on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the expression or result
[INFO] [stdout]     |
[INFO] [stdout] 858 -         drop(main_timer);
[INFO] [stdout] 858 +         let _ = main_timer;
[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]   --> src/environment/declarative_environment_record.rs:25:10
[INFO] [stdout]    |
[INFO] [stdout] 25 | #[derive(Trace, Finalize, Debug, Clone)]
[INFO] [stdout]    |          ^----
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `Trace` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_DERIVE_gc_Trace_FOR_DeclarativeEnvironmentRecordBinding`
[INFO] [stdout] 26 | pub struct DeclarativeEnvironmentRecordBinding {
[INFO] [stdout]    |            ----------------------------------- `DeclarativeEnvironmentRecordBinding` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/environment/declarative_environment_record.rs:25:10
[INFO] [stdout]    |
[INFO] [stdout] 25 | #[derive(Trace, Finalize, Debug, Clone)]
[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_DeclarativeEnvironmentRecordBinding`
[INFO] [stdout] 26 | pub struct DeclarativeEnvironmentRecordBinding {
[INFO] [stdout]    |            ----------------------------------- `DeclarativeEnvironmentRecordBinding` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/environment/declarative_environment_record.rs:25:17
[INFO] [stdout]    |
[INFO] [stdout] 25 | #[derive(Trace, Finalize, Debug, Clone)]
[INFO] [stdout]    |                 ^-------
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 `Finalize` is not local
[INFO] [stdout]    |                 move the `impl` block outside of this constant `_DERIVE_gc_Finalize_FOR_DeclarativeEnvironmentRecordBinding`
[INFO] [stdout] 26 | pub struct DeclarativeEnvironmentRecordBinding {
[INFO] [stdout]    |            ----------------------------------- `DeclarativeEnvironmentRecordBinding` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/environment/declarative_environment_record.rs:35:17
[INFO] [stdout]    |
[INFO] [stdout] 35 | #[derive(Debug, Trace, Finalize, Clone)]
[INFO] [stdout]    |                 ^----
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 `Trace` is not local
[INFO] [stdout]    |                 move the `impl` block outside of this constant `_DERIVE_gc_Trace_FOR_DeclarativeEnvironmentRecord`
[INFO] [stdout] 36 | pub struct DeclarativeEnvironmentRecord {
[INFO] [stdout]    |            ---------------------------- `DeclarativeEnvironmentRecord` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/environment/declarative_environment_record.rs:35:17
[INFO] [stdout]    |
[INFO] [stdout] 35 | #[derive(Debug, Trace, Finalize, Clone)]
[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_DeclarativeEnvironmentRecord`
[INFO] [stdout] 36 | pub struct DeclarativeEnvironmentRecord {
[INFO] [stdout]    |            ---------------------------- `DeclarativeEnvironmentRecord` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/environment/declarative_environment_record.rs:35:24
[INFO] [stdout]    |
[INFO] [stdout] 35 | #[derive(Debug, Trace, Finalize, Clone)]
[INFO] [stdout]    |                        ^-------
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `Finalize` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this constant `_DERIVE_gc_Finalize_FOR_DeclarativeEnvironmentRecord`
[INFO] [stdout] 36 | pub struct DeclarativeEnvironmentRecord {
[INFO] [stdout]    |            ---------------------------- `DeclarativeEnvironmentRecord` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/environment/function_environment_record.rs:26:16
[INFO] [stdout]    |
[INFO] [stdout] 26 | #[derive(Copy, Finalize, Debug, Clone)]
[INFO] [stdout]    |                ^-------
[INFO] [stdout]    |                |
[INFO] [stdout]    |                `Finalize` is not local
[INFO] [stdout]    |                move the `impl` block outside of this constant `_DERIVE_gc_Finalize_FOR_BindingStatus`
[INFO] [stdout] 27 | pub enum BindingStatus {
[INFO] [stdout]    |          ------------- `BindingStatus` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/environment/function_environment_record.rs:41:17
[INFO] [stdout]    |
[INFO] [stdout] 41 | #[derive(Debug, Trace, Finalize, Clone)]
[INFO] [stdout]    |                 ^----
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 `Trace` is not local
[INFO] [stdout]    |                 move the `impl` block outside of this constant `_DERIVE_gc_Trace_FOR_FunctionEnvironmentRecord`
[INFO] [stdout] 42 | pub struct FunctionEnvironmentRecord {
[INFO] [stdout]    |            ------------------------- `FunctionEnvironmentRecord` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/environment/function_environment_record.rs:41:17
[INFO] [stdout]    |
[INFO] [stdout] 41 | #[derive(Debug, Trace, Finalize, Clone)]
[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_FunctionEnvironmentRecord`
[INFO] [stdout] 42 | pub struct FunctionEnvironmentRecord {
[INFO] [stdout]    |            ------------------------- `FunctionEnvironmentRecord` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/environment/function_environment_record.rs:41:24
[INFO] [stdout]    |
[INFO] [stdout] 41 | #[derive(Debug, Trace, Finalize, Clone)]
[INFO] [stdout]    |                        ^-------
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `Finalize` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this constant `_DERIVE_gc_Finalize_FOR_FunctionEnvironmentRecord`
[INFO] [stdout] 42 | pub struct FunctionEnvironmentRecord {
[INFO] [stdout]    |            ------------------------- `FunctionEnvironmentRecord` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/environment/global_environment_record.rs:25:17
[INFO] [stdout]    |
[INFO] [stdout] 25 | #[derive(Debug, Trace, Finalize, Clone)]
[INFO] [stdout]    |                 ^----
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 `Trace` is not local
[INFO] [stdout]    |                 move the `impl` block outside of this constant `_DERIVE_gc_Trace_FOR_GlobalEnvironmentRecord`
[INFO] [stdout] 26 | pub struct GlobalEnvironmentRecord {
[INFO] [stdout]    |            ----------------------- `GlobalEnvironmentRecord` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/environment/global_environment_record.rs:25:17
[INFO] [stdout]    |
[INFO] [stdout] 25 | #[derive(Debug, Trace, Finalize, Clone)]
[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_GlobalEnvironmentRecord`
[INFO] [stdout] 26 | pub struct GlobalEnvironmentRecord {
[INFO] [stdout]    |            ----------------------- `GlobalEnvironmentRecord` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/environment/global_environment_record.rs:25:24
[INFO] [stdout]    |
[INFO] [stdout] 25 | #[derive(Debug, Trace, Finalize, Clone)]
[INFO] [stdout]    |                        ^-------
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `Finalize` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this constant `_DERIVE_gc_Finalize_FOR_GlobalEnvironmentRecord`
[INFO] [stdout] 26 | pub struct GlobalEnvironmentRecord {
[INFO] [stdout]    |            ----------------------- `GlobalEnvironmentRecord` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/environment/object_environment_record.rs:23:17
[INFO] [stdout]    |
[INFO] [stdout] 23 | #[derive(Debug, Trace, Finalize, Clone)]
[INFO] [stdout]    |                 ^----
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 `Trace` is not local
[INFO] [stdout]    |                 move the `impl` block outside of this constant `_DERIVE_gc_Trace_FOR_ObjectEnvironmentRecord`
[INFO] [stdout] 24 | pub struct ObjectEnvironmentRecord {
[INFO] [stdout]    |            ----------------------- `ObjectEnvironmentRecord` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/environment/object_environment_record.rs:23:17
[INFO] [stdout]    |
[INFO] [stdout] 23 | #[derive(Debug, Trace, Finalize, Clone)]
[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_ObjectEnvironmentRecord`
[INFO] [stdout] 24 | pub struct ObjectEnvironmentRecord {
[INFO] [stdout]    |            ----------------------- `ObjectEnvironmentRecord` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/environment/object_environment_record.rs:23:24
[INFO] [stdout]    |
[INFO] [stdout] 23 | #[derive(Debug, Trace, Finalize, Clone)]
[INFO] [stdout]    |                        ^-------
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `Finalize` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this constant `_DERIVE_gc_Finalize_FOR_ObjectEnvironmentRecord`
[INFO] [stdout] 24 | pub struct ObjectEnvironmentRecord {
[INFO] [stdout]    |            ----------------------- `ObjectEnvironmentRecord` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/object/mod.rs:72:17
[INFO] [stdout]    |
[INFO] [stdout] 72 | #[derive(Debug, Trace, Finalize)]
[INFO] [stdout]    |                 ^----
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 `Trace` is not local
[INFO] [stdout]    |                 move the `impl` block outside of this constant `_DERIVE_gc_Trace_FOR_Object`
[INFO] [stdout] 73 | pub struct Object {
[INFO] [stdout]    |            ------ `Object` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/object/mod.rs:72:17
[INFO] [stdout]    |
[INFO] [stdout] 72 | #[derive(Debug, 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_Object`
[INFO] [stdout] 73 | pub struct Object {
[INFO] [stdout]    |            ------ `Object` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/object/mod.rs:72:24
[INFO] [stdout]    |
[INFO] [stdout] 72 | #[derive(Debug, Trace, Finalize)]
[INFO] [stdout]    |                        ^-------
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `Finalize` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this constant `_DERIVE_gc_Finalize_FOR_Object`
[INFO] [stdout] 73 | pub struct Object {
[INFO] [stdout]    |            ------ `Object` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/object/mod.rs:84:10
[INFO] [stdout]    |
[INFO] [stdout] 84 | #[derive(Trace, Finalize)]
[INFO] [stdout]    |          ^----
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `Trace` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_DERIVE_gc_Trace_FOR_ObjectData`
[INFO] [stdout] 85 | pub struct ObjectData {
[INFO] [stdout]    |            ---------- `ObjectData` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/object/mod.rs:84:10
[INFO] [stdout]    |
[INFO] [stdout] 84 | #[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_ObjectData`
[INFO] [stdout] 85 | pub struct ObjectData {
[INFO] [stdout]    |            ---------- `ObjectData` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/object/mod.rs:84:17
[INFO] [stdout]    |
[INFO] [stdout] 84 | #[derive(Trace, Finalize)]
[INFO] [stdout]    |                 ^-------
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 `Finalize` is not local
[INFO] [stdout]    |                 move the `impl` block outside of this constant `_DERIVE_gc_Finalize_FOR_ObjectData`
[INFO] [stdout] 85 | pub struct ObjectData {
[INFO] [stdout]    |            ---------- `ObjectData` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/object/mod.rs:91:17
[INFO] [stdout]    |
[INFO] [stdout] 91 | #[derive(Debug, Trace, Finalize)]
[INFO] [stdout]    |                 ^----
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 `Trace` is not local
[INFO] [stdout]    |                 move the `impl` block outside of this constant `_DERIVE_gc_Trace_FOR_ObjectKind`
[INFO] [stdout] 92 | pub enum ObjectKind {
[INFO] [stdout]    |          ---------- `ObjectKind` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/object/mod.rs:91:17
[INFO] [stdout]    |
[INFO] [stdout] 91 | #[derive(Debug, 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_ObjectKind`
[INFO] [stdout] 92 | pub enum ObjectKind {
[INFO] [stdout]    |          ---------- `ObjectKind` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/object/mod.rs:91:24
[INFO] [stdout]    |
[INFO] [stdout] 91 | #[derive(Debug, Trace, Finalize)]
[INFO] [stdout]    |                        ^-------
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `Finalize` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this constant `_DERIVE_gc_Finalize_FOR_ObjectKind`
[INFO] [stdout] 92 | pub enum ObjectKind {
[INFO] [stdout]    |          ---------- `ObjectKind` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/object/gcobject.rs:38:10
[INFO] [stdout]    |
[INFO] [stdout] 38 | #[derive(Trace, Finalize, Clone, Default)]
[INFO] [stdout]    |          ^----
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `Trace` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_DERIVE_gc_Trace_FOR_JsObject`
[INFO] [stdout] 39 | pub struct JsObject(Gc<GcCell<Object>>);
[INFO] [stdout]    |            -------- `JsObject` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/object/gcobject.rs:38:10
[INFO] [stdout]    |
[INFO] [stdout] 38 | #[derive(Trace, Finalize, Clone, Default)]
[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_JsObject`
[INFO] [stdout] 39 | pub struct JsObject(Gc<GcCell<Object>>);
[INFO] [stdout]    |            -------- `JsObject` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/object/gcobject.rs:38:17
[INFO] [stdout]    |
[INFO] [stdout] 38 | #[derive(Trace, Finalize, Clone, Default)]
[INFO] [stdout]    |                 ^-------
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 `Finalize` is not local
[INFO] [stdout]    |                 move the `impl` block outside of this constant `_DERIVE_gc_Finalize_FOR_JsObject`
[INFO] [stdout] 39 | pub struct JsObject(Gc<GcCell<Object>>);
[INFO] [stdout]    |            -------- `JsObject` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/object/property_map.rs:11:17
[INFO] [stdout]    |
[INFO] [stdout] 11 | #[derive(Debug, Finalize)]
[INFO] [stdout]    |                 ^-------
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 `Finalize` is not local
[INFO] [stdout]    |                 move the `impl` block outside of this constant `_DERIVE_gc_Finalize_FOR_OrderedHashMap`
[INFO] [stdout] 12 | struct OrderedHashMap<K: Trace>(IndexMap<K, PropertyDescriptor, BuildHasherDefault<FxHasher>>);
[INFO] [stdout]    |        -------------- `OrderedHashMap` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/object/property_map.rs:29:26
[INFO] [stdout]    |
[INFO] [stdout] 29 | #[derive(Default, Debug, Trace, Finalize)]
[INFO] [stdout]    |                          ^----
[INFO] [stdout]    |                          |
[INFO] [stdout]    |                          `Trace` is not local
[INFO] [stdout]    |                          move the `impl` block outside of this constant `_DERIVE_gc_Trace_FOR_PropertyMap`
[INFO] [stdout] 30 | pub struct PropertyMap {
[INFO] [stdout]    |            ----------- `PropertyMap` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/object/property_map.rs:29:26
[INFO] [stdout]    |
[INFO] [stdout] 29 | #[derive(Default, Debug, 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_PropertyMap`
[INFO] [stdout] 30 | pub struct PropertyMap {
[INFO] [stdout]    |            ----------- `PropertyMap` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/object/property_map.rs:29:33
[INFO] [stdout]    |
[INFO] [stdout] 29 | #[derive(Default, Debug, Trace, Finalize)]
[INFO] [stdout]    |                                 ^-------
[INFO] [stdout]    |                                 |
[INFO] [stdout]    |                                 `Finalize` is not local
[INFO] [stdout]    |                                 move the `impl` block outside of this constant `_DERIVE_gc_Finalize_FOR_PropertyMap`
[INFO] [stdout] 30 | pub struct PropertyMap {
[INFO] [stdout]    |            ----------- `PropertyMap` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/property/mod.rs:49:33
[INFO] [stdout]    |
[INFO] [stdout] 49 | #[derive(Default, Debug, Clone, Trace, Finalize)]
[INFO] [stdout]    |                                 ^----
[INFO] [stdout]    |                                 |
[INFO] [stdout]    |                                 `Trace` is not local
[INFO] [stdout]    |                                 move the `impl` block outside of this constant `_DERIVE_gc_Trace_FOR_PropertyDescriptor`
[INFO] [stdout] 50 | pub struct PropertyDescriptor {
[INFO] [stdout]    |            ------------------ `PropertyDescriptor` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/property/mod.rs:49:33
[INFO] [stdout]    |
[INFO] [stdout] 49 | #[derive(Default, Debug, Clone, 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_PropertyDescriptor`
[INFO] [stdout] 50 | pub struct PropertyDescriptor {
[INFO] [stdout]    |            ------------------ `PropertyDescriptor` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/property/mod.rs:49:40
[INFO] [stdout]    |
[INFO] [stdout] 49 | #[derive(Default, Debug, Clone, Trace, Finalize)]
[INFO] [stdout]    |                                        ^-------
[INFO] [stdout]    |                                        |
[INFO] [stdout]    |                                        `Finalize` is not local
[INFO] [stdout]    |                                        move the `impl` block outside of this constant `_DERIVE_gc_Finalize_FOR_PropertyDescriptor`
[INFO] [stdout] 50 | pub struct PropertyDescriptor {
[INFO] [stdout]    |            ------------------ `PropertyDescriptor` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/property/mod.rs:56:24
[INFO] [stdout]    |
[INFO] [stdout] 56 | #[derive(Debug, Clone, Trace, Finalize)]
[INFO] [stdout]    |                        ^----
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `Trace` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this constant `_DERIVE_gc_Trace_FOR_DescriptorKind`
[INFO] [stdout] 57 | pub enum DescriptorKind {
[INFO] [stdout]    |          -------------- `DescriptorKind` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/property/mod.rs:56:24
[INFO] [stdout]    |
[INFO] [stdout] 56 | #[derive(Debug, Clone, 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_DescriptorKind`
[INFO] [stdout] 57 | pub enum DescriptorKind {
[INFO] [stdout]    |          -------------- `DescriptorKind` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/property/mod.rs:56:31
[INFO] [stdout]    |
[INFO] [stdout] 56 | #[derive(Debug, Clone, Trace, Finalize)]
[INFO] [stdout]    |                               ^-------
[INFO] [stdout]    |                               |
[INFO] [stdout]    |                               `Finalize` is not local
[INFO] [stdout]    |                               move the `impl` block outside of this constant `_DERIVE_gc_Finalize_FOR_DescriptorKind`
[INFO] [stdout] 57 | pub enum DescriptorKind {
[INFO] [stdout]    |          -------------- `DescriptorKind` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]    --> src/property/mod.rs:476:10
[INFO] [stdout]     |
[INFO] [stdout] 476 | #[derive(Trace, Finalize, PartialEq, Debug, Clone)]
[INFO] [stdout]     |          ^----
[INFO] [stdout]     |          |
[INFO] [stdout]     |          `Trace` is not local
[INFO] [stdout]     |          move the `impl` block outside of this constant `_DERIVE_gc_Trace_FOR_PropertyKey`
[INFO] [stdout] 477 | pub enum PropertyKey {
[INFO] [stdout]     |          ----------- `PropertyKey` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]    --> src/property/mod.rs:476:10
[INFO] [stdout]     |
[INFO] [stdout] 476 | #[derive(Trace, Finalize, PartialEq, Debug, Clone)]
[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_PropertyKey`
[INFO] [stdout] 477 | pub enum PropertyKey {
[INFO] [stdout]     |          ----------- `PropertyKey` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]    --> src/property/mod.rs:476:17
[INFO] [stdout]     |
[INFO] [stdout] 476 | #[derive(Trace, Finalize, PartialEq, Debug, Clone)]
[INFO] [stdout]     |                 ^-------
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 `Finalize` is not local
[INFO] [stdout]     |                 move the `impl` block outside of this constant `_DERIVE_gc_Finalize_FOR_PropertyKey`
[INFO] [stdout] 477 | pub enum PropertyKey {
[INFO] [stdout]     |          ----------- `PropertyKey` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]    --> src/property/mod.rs:667:30
[INFO] [stdout]     |
[INFO] [stdout] 667 | #[derive(Debug, Clone, Copy, Finalize)]
[INFO] [stdout]     |                              ^-------
[INFO] [stdout]     |                              |
[INFO] [stdout]     |                              `Finalize` is not local
[INFO] [stdout]     |                              move the `impl` block outside of this constant `_DERIVE_gc_Finalize_FOR_PropertyNameKind`
[INFO] [stdout] 668 | pub(crate) enum PropertyNameKind {
[INFO] [stdout]     |                 ---------------- `PropertyNameKind` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/property/attribute/mod.rs:19:14
[INFO] [stdout]    |
[INFO] [stdout] 19 |     #[derive(Finalize)]
[INFO] [stdout]    |              ^-------
[INFO] [stdout]    |              |
[INFO] [stdout]    |              `Finalize` is not local
[INFO] [stdout]    |              move the `impl` block outside of this constant `_DERIVE_gc_Finalize_FOR_Attribute`
[INFO] [stdout] 20 |     pub struct Attribute: u8 {
[INFO] [stdout]    |                --------- `Attribute` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/syntax/ast/constant.rs:30:24
[INFO] [stdout]    |
[INFO] [stdout] 30 | #[derive(Clone, Debug, Trace, Finalize, PartialEq)]
[INFO] [stdout]    |                        ^----
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `Trace` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this constant `_DERIVE_gc_Trace_FOR_Const`
[INFO] [stdout] 31 | pub enum Const {
[INFO] [stdout]    |          ----- `Const` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/syntax/ast/constant.rs:30:24
[INFO] [stdout]    |
[INFO] [stdout] 30 | #[derive(Clone, Debug, Trace, Finalize, PartialEq)]
[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_Const`
[INFO] [stdout] 31 | pub enum Const {
[INFO] [stdout]    |          ----- `Const` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/syntax/ast/constant.rs:30:31
[INFO] [stdout]    |
[INFO] [stdout] 30 | #[derive(Clone, Debug, Trace, Finalize, PartialEq)]
[INFO] [stdout]    |                               ^-------
[INFO] [stdout]    |                               |
[INFO] [stdout]    |                               `Finalize` is not local
[INFO] [stdout]    |                               move the `impl` block outside of this constant `_DERIVE_gc_Finalize_FOR_Const`
[INFO] [stdout] 31 | pub enum Const {
[INFO] [stdout]    |          ----- `Const` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/syntax/ast/node/mod.rs:65:24
[INFO] [stdout]    |
[INFO] [stdout] 65 | #[derive(Clone, Debug, Trace, Finalize, PartialEq)]
[INFO] [stdout]    |                        ^----
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `Trace` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this constant `_DERIVE_gc_Trace_FOR_Node`
[INFO] [stdout] 66 | pub enum Node {
[INFO] [stdout]    |          ---- `Node` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/syntax/ast/node/mod.rs:65:24
[INFO] [stdout]    |
[INFO] [stdout] 65 | #[derive(Clone, Debug, Trace, Finalize, PartialEq)]
[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_Node`
[INFO] [stdout] 66 | pub enum Node {
[INFO] [stdout]    |          ---- `Node` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/syntax/ast/node/mod.rs:65:31
[INFO] [stdout]    |
[INFO] [stdout] 65 | #[derive(Clone, Debug, Trace, Finalize, PartialEq)]
[INFO] [stdout]    |                               ^-------
[INFO] [stdout]    |                               |
[INFO] [stdout]    |                               `Finalize` is not local
[INFO] [stdout]    |                               move the `impl` block outside of this constant `_DERIVE_gc_Finalize_FOR_Node`
[INFO] [stdout] 66 | pub enum Node {
[INFO] [stdout]    |          ---- `Node` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]    --> src/syntax/ast/node/mod.rs:402:35
[INFO] [stdout]     |
[INFO] [stdout] 402 | #[derive(Clone, Debug, PartialEq, Trace, Finalize)]
[INFO] [stdout]     |                                   ^----
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   `Trace` is not local
[INFO] [stdout]     |                                   move the `impl` block outside of this constant `_DERIVE_gc_Trace_FOR_FormalParameter`
[INFO] [stdout] 403 | pub struct FormalParameter {
[INFO] [stdout]     |            --------------- `FormalParameter` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]    --> src/syntax/ast/node/mod.rs:402:35
[INFO] [stdout]     |
[INFO] [stdout] 402 | #[derive(Clone, Debug, PartialEq, 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_FormalParameter`
[INFO] [stdout] 403 | pub struct FormalParameter {
[INFO] [stdout]     |            --------------- `FormalParameter` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]    --> src/syntax/ast/node/mod.rs:402:42
[INFO] [stdout]     |
[INFO] [stdout] 402 | #[derive(Clone, Debug, PartialEq, Trace, Finalize)]
[INFO] [stdout]     |                                          ^-------
[INFO] [stdout]     |                                          |
[INFO] [stdout]     |                                          `Finalize` is not local
[INFO] [stdout]     |                                          move the `impl` block outside of this constant `_DERIVE_gc_Finalize_FOR_FormalParameter`
[INFO] [stdout] 403 | pub struct FormalParameter {
[INFO] [stdout]     |            --------------- `FormalParameter` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]    --> src/syntax/ast/node/mod.rs:465:35
[INFO] [stdout]     |
[INFO] [stdout] 465 | #[derive(Clone, Debug, PartialEq, Trace, Finalize)]
[INFO] [stdout]     |                                   ^----
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   `Trace` is not local
[INFO] [stdout]     |                                   move the `impl` block outside of this constant `_DERIVE_gc_Trace_FOR_PropertyDefinition`
[INFO] [stdout] 466 | pub enum PropertyDefinition {
[INFO] [stdout]     |          ------------------ `PropertyDefinition` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]    --> src/syntax/ast/node/mod.rs:465:35
[INFO] [stdout]     |
[INFO] [stdout] 465 | #[derive(Clone, Debug, PartialEq, 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_PropertyDefinition`
[INFO] [stdout] 466 | pub enum PropertyDefinition {
[INFO] [stdout]     |          ------------------ `PropertyDefinition` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]    --> src/syntax/ast/node/mod.rs:465:42
[INFO] [stdout]     |
[INFO] [stdout] 465 | #[derive(Clone, Debug, PartialEq, Trace, Finalize)]
[INFO] [stdout]     |                                          ^-------
[INFO] [stdout]     |                                          |
[INFO] [stdout]     |                                          `Finalize` is not local
[INFO] [stdout]     |                                          move the `impl` block outside of this constant `_DERIVE_gc_Finalize_FOR_PropertyDefinition`
[INFO] [stdout] 466 | pub enum PropertyDefinition {
[INFO] [stdout]     |          ------------------ `PropertyDefinition` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]    --> src/syntax/ast/node/mod.rs:558:41
[INFO] [stdout]     |
[INFO] [stdout] 558 | #[derive(Clone, Debug, PartialEq, Copy, Finalize)]
[INFO] [stdout]     |                                         ^-------
[INFO] [stdout]     |                                         |
[INFO] [stdout]     |                                         `Finalize` is not local
[INFO] [stdout]     |                                         move the `impl` block outside of this constant `_DERIVE_gc_Finalize_FOR_MethodDefinitionKind`
[INFO] [stdout] 559 | pub enum MethodDefinitionKind {
[INFO] [stdout]     |          -------------------- `MethodDefinitionKind` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]    --> src/syntax/ast/node/mod.rs:614:35
[INFO] [stdout]     |
[INFO] [stdout] 614 | #[derive(Clone, Debug, PartialEq, Finalize)]
[INFO] [stdout]     |                                   ^-------
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   `Finalize` is not local
[INFO] [stdout]     |                                   move the `impl` block outside of this constant `_DERIVE_gc_Finalize_FOR_PropertyName`
[INFO] [stdout] 615 | pub enum PropertyName {
[INFO] [stdout]     |          ------------ `PropertyName` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/syntax/ast/node/array/mod.rs:35:24
[INFO] [stdout]    |
[INFO] [stdout] 35 | #[derive(Clone, Debug, Trace, Finalize, PartialEq)]
[INFO] [stdout]    |                        ^----
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `Trace` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this constant `_DERIVE_gc_Trace_FOR_ArrayDecl`
[INFO] [stdout] 36 | pub struct ArrayDecl {
[INFO] [stdout]    |            --------- `ArrayDecl` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/syntax/ast/node/array/mod.rs:35:24
[INFO] [stdout]    |
[INFO] [stdout] 35 | #[derive(Clone, Debug, Trace, Finalize, PartialEq)]
[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_ArrayDecl`
[INFO] [stdout] 36 | pub struct ArrayDecl {
[INFO] [stdout]    |            --------- `ArrayDecl` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/syntax/ast/node/array/mod.rs:35:31
[INFO] [stdout]    |
[INFO] [stdout] 35 | #[derive(Clone, Debug, Trace, Finalize, PartialEq)]
[INFO] [stdout]    |                               ^-------
[INFO] [stdout]    |                               |
[INFO] [stdout]    |                               `Finalize` is not local
[INFO] [stdout]    |                               move the `impl` block outside of this constant `_DERIVE_gc_Finalize_FOR_ArrayDecl`
[INFO] [stdout] 36 | pub struct ArrayDecl {
[INFO] [stdout]    |            --------- `ArrayDecl` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/syntax/ast/node/await_expr/mod.rs:24:24
[INFO] [stdout]    |
[INFO] [stdout] 24 | #[derive(Clone, Debug, Trace, Finalize, PartialEq)]
[INFO] [stdout]    |                        ^----
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `Trace` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this constant `_DERIVE_gc_Trace_FOR_AwaitExpr`
[INFO] [stdout] 25 | pub struct AwaitExpr {
[INFO] [stdout]    |            --------- `AwaitExpr` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/syntax/ast/node/await_expr/mod.rs:24:24
[INFO] [stdout]    |
[INFO] [stdout] 24 | #[derive(Clone, Debug, Trace, Finalize, PartialEq)]
[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_AwaitExpr`
[INFO] [stdout] 25 | pub struct AwaitExpr {
[INFO] [stdout]    |            --------- `AwaitExpr` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/syntax/ast/node/await_expr/mod.rs:24:31
[INFO] [stdout]    |
[INFO] [stdout] 24 | #[derive(Clone, Debug, Trace, Finalize, PartialEq)]
[INFO] [stdout]    |                               ^-------
[INFO] [stdout]    |                               |
[INFO] [stdout]    |                               `Finalize` is not local
[INFO] [stdout]    |                               move the `impl` block outside of this constant `_DERIVE_gc_Finalize_FOR_AwaitExpr`
[INFO] [stdout] 25 | pub struct AwaitExpr {
[INFO] [stdout]    |            --------- `AwaitExpr` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/syntax/ast/node/block/mod.rs:36:24
[INFO] [stdout]    |
[INFO] [stdout] 36 | #[derive(Clone, Debug, Trace, Finalize, PartialEq)]
[INFO] [stdout]    |                        ^----
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `Trace` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this constant `_DERIVE_gc_Trace_FOR_Block`
[INFO] [stdout] 37 | pub struct Block {
[INFO] [stdout]    |            ----- `Block` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/syntax/ast/node/block/mod.rs:36:24
[INFO] [stdout]    |
[INFO] [stdout] 36 | #[derive(Clone, Debug, Trace, Finalize, PartialEq)]
[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_Block`
[INFO] [stdout] 37 | pub struct Block {
[INFO] [stdout]    |            ----- `Block` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/syntax/ast/node/block/mod.rs:36:31
[INFO] [stdout]    |
[INFO] [stdout] 36 | #[derive(Clone, Debug, Trace, Finalize, PartialEq)]
[INFO] [stdout]    |                               ^-------
[INFO] [stdout]    |                               |
[INFO] [stdout]    |                               `Finalize` is not local
[INFO] [stdout]    |                               move the `impl` block outside of this constant `_DERIVE_gc_Finalize_FOR_Block`
[INFO] [stdout] 37 | pub struct Block {
[INFO] [stdout]    |            ----- `Block` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/syntax/ast/node/break_node/mod.rs:31:24
[INFO] [stdout]    |
[INFO] [stdout] 31 | #[derive(Clone, Debug, Trace, Finalize, PartialEq)]
[INFO] [stdout]    |                        ^----
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `Trace` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this constant `_DERIVE_gc_Trace_FOR_Break`
[INFO] [stdout] 32 | pub struct Break {
[INFO] [stdout]    |            ----- `Break` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/syntax/ast/node/break_node/mod.rs:31:24
[INFO] [stdout]    |
[INFO] [stdout] 31 | #[derive(Clone, Debug, Trace, Finalize, PartialEq)]
[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_Break`
[INFO] [stdout] 32 | pub struct Break {
[INFO] [stdout]    |            ----- `Break` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/syntax/ast/node/break_node/mod.rs:31:31
[INFO] [stdout]    |
[INFO] [stdout] 31 | #[derive(Clone, Debug, Trace, Finalize, PartialEq)]
[INFO] [stdout]    |                               ^-------
[INFO] [stdout]    |                               |
[INFO] [stdout]    |                               `Finalize` is not local
[INFO] [stdout]    |                               move the `impl` block outside of this constant `_DERIVE_gc_Finalize_FOR_Break`
[INFO] [stdout] 32 | pub struct Break {
[INFO] [stdout]    |            ----- `Break` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/syntax/ast/node/call/mod.rs:32:24
[INFO] [stdout]    |
[INFO] [stdout] 32 | #[derive(Clone, Debug, Trace, Finalize, PartialEq)]
[INFO] [stdout]    |                        ^----
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `Trace` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this constant `_DERIVE_gc_Trace_FOR_Call`
[INFO] [stdout] 33 | pub struct Call {
[INFO] [stdout]    |            ---- `Call` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/syntax/ast/node/call/mod.rs:32:24
[INFO] [stdout]    |
[INFO] [stdout] 32 | #[derive(Clone, Debug, Trace, Finalize, PartialEq)]
[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_Call`
[INFO] [stdout] 33 | pub struct Call {
[INFO] [stdout]    |            ---- `Call` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/syntax/ast/node/call/mod.rs:32:31
[INFO] [stdout]    |
[INFO] [stdout] 32 | #[derive(Clone, Debug, Trace, Finalize, PartialEq)]
[INFO] [stdout]    |                               ^-------
[INFO] [stdout]    |                               |
[INFO] [stdout]    |                               `Finalize` is not local
[INFO] [stdout]    |                               move the `impl` block outside of this constant `_DERIVE_gc_Finalize_FOR_Call`
[INFO] [stdout] 33 | pub struct Call {
[INFO] [stdout]    |            ---- `Call` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/syntax/ast/node/conditional/conditional_op/mod.rs:27:24
[INFO] [stdout]    |
[INFO] [stdout] 27 | #[derive(Clone, Debug, Trace, Finalize, PartialEq)]
[INFO] [stdout]    |                        ^----
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `Trace` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this constant `_DERIVE_gc_Trace_FOR_ConditionalOp`
[INFO] [stdout] 28 | pub struct ConditionalOp {
[INFO] [stdout]    |            ------------- `ConditionalOp` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/syntax/ast/node/conditional/conditional_op/mod.rs:27:24
[INFO] [stdout]    |
[INFO] [stdout] 27 | #[derive(Clone, Debug, Trace, Finalize, PartialEq)]
[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_ConditionalOp`
[INFO] [stdout] 28 | pub struct ConditionalOp {
[INFO] [stdout]    |            ------------- `ConditionalOp` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/syntax/ast/node/conditional/conditional_op/mod.rs:27:31
[INFO] [stdout]    |
[INFO] [stdout] 27 | #[derive(Clone, Debug, Trace, Finalize, PartialEq)]
[INFO] [stdout]    |                               ^-------
[INFO] [stdout]    |                               |
[INFO] [stdout]    |                               `Finalize` is not local
[INFO] [stdout]    |                               move the `impl` block outside of this constant `_DERIVE_gc_Finalize_FOR_ConditionalOp`
[INFO] [stdout] 28 | pub struct ConditionalOp {
[INFO] [stdout]    |            ------------- `ConditionalOp` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/syntax/ast/node/conditional/if_node/mod.rs:29:24
[INFO] [stdout]    |
[INFO] [stdout] 29 | #[derive(Clone, Debug, Trace, Finalize, PartialEq)]
[INFO] [stdout]    |                        ^----
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `Trace` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this constant `_DERIVE_gc_Trace_FOR_If`
[INFO] [stdout] 30 | pub struct If {
[INFO] [stdout]    |            -- `If` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/syntax/ast/node/conditional/if_node/mod.rs:29:24
[INFO] [stdout]    |
[INFO] [stdout] 29 | #[derive(Clone, Debug, Trace, Finalize, PartialEq)]
[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_If`
[INFO] [stdout] 30 | pub struct If {
[INFO] [stdout]    |            -- `If` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/syntax/ast/node/conditional/if_node/mod.rs:29:31
[INFO] [stdout]    |
[INFO] [stdout] 29 | #[derive(Clone, Debug, Trace, Finalize, PartialEq)]
[INFO] [stdout]    |                               ^-------
[INFO] [stdout]    |                               |
[INFO] [stdout]    |                               `Finalize` is not local
[INFO] [stdout]    |                               move the `impl` block outside of this constant `_DERIVE_gc_Finalize_FOR_If`
[INFO] [stdout] 30 | pub struct If {
[INFO] [stdout]    |            -- `If` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/syntax/ast/node/declaration/mod.rs:31:24
[INFO] [stdout]    |
[INFO] [stdout] 31 | #[derive(Clone, Debug, Trace, Finalize, PartialEq)]
[INFO] [stdout]    |                        ^----
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `Trace` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this constant `_DERIVE_gc_Trace_FOR_DeclarationList`
[INFO] [stdout] 32 | pub enum DeclarationList {
[INFO] [stdout]    |          --------------- `DeclarationList` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/syntax/ast/node/declaration/mod.rs:31:24
[INFO] [stdout]    |
[INFO] [stdout] 31 | #[derive(Clone, Debug, Trace, Finalize, PartialEq)]
[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_DeclarationList`
[INFO] [stdout] 32 | pub enum DeclarationList {
[INFO] [stdout]    |          --------------- `DeclarationList` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/syntax/ast/node/declaration/mod.rs:31:31
[INFO] [stdout]    |
[INFO] [stdout] 31 | #[derive(Clone, Debug, Trace, Finalize, PartialEq)]
[INFO] [stdout]    |                               ^-------
[INFO] [stdout]    |                               |
[INFO] [stdout]    |                               `Finalize` is not local
[INFO] [stdout]    |                               move the `impl` block outside of this constant `_DERIVE_gc_Finalize_FOR_DeclarationList`
[INFO] [stdout] 32 | pub enum DeclarationList {
[INFO] [stdout]    |          --------------- `DeclarationList` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]    --> src/syntax/ast/node/declaration/mod.rs:243:24
[INFO] [stdout]     |
[INFO] [stdout] 243 | #[derive(Clone, Debug, Trace, Finalize, PartialEq)]
[INFO] [stdout]     |                        ^----
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        `Trace` is not local
[INFO] [stdout]     |                        move the `impl` block outside of this constant `_DERIVE_gc_Trace_FOR_Declaration`
[INFO] [stdout] 244 | pub enum Declaration {
[INFO] [stdout]     |          ----------- `Declaration` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]    --> src/syntax/ast/node/declaration/mod.rs:243:24
[INFO] [stdout]     |
[INFO] [stdout] 243 | #[derive(Clone, Debug, Trace, Finalize, PartialEq)]
[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_Declaration`
[INFO] [stdout] 244 | pub enum Declaration {
[INFO] [stdout]     |          ----------- `Declaration` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]    --> src/syntax/ast/node/declaration/mod.rs:243:31
[INFO] [stdout]     |
[INFO] [stdout] 243 | #[derive(Clone, Debug, Trace, Finalize, PartialEq)]
[INFO] [stdout]     |                               ^-------
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               `Finalize` is not local
[INFO] [stdout]     |                               move the `impl` block outside of this constant `_DERIVE_gc_Finalize_FOR_Declaration`
[INFO] [stdout] 244 | pub enum Declaration {
[INFO] [stdout]     |          ----------- `Declaration` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]    --> src/syntax/ast/node/declaration/mod.rs:332:24
[INFO] [stdout]     |
[INFO] [stdout] 332 | #[derive(Clone, Debug, Trace, Finalize, PartialEq)]
[INFO] [stdout]     |                        ^----
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        `Trace` is not local
[INFO] [stdout]     |                        move the `impl` block outside of this constant `_DERIVE_gc_Trace_FOR_DeclarationPattern`
[INFO] [stdout] 333 | pub enum DeclarationPattern {
[INFO] [stdout]     |          ------------------ `DeclarationPattern` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]    --> src/syntax/ast/node/declaration/mod.rs:332:24
[INFO] [stdout]     |
[INFO] [stdout] 332 | #[derive(Clone, Debug, Trace, Finalize, PartialEq)]
[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_DeclarationPattern`
[INFO] [stdout] 333 | pub enum DeclarationPattern {
[INFO] [stdout]     |          ------------------ `DeclarationPattern` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]    --> src/syntax/ast/node/declaration/mod.rs:332:31
[INFO] [stdout]     |
[INFO] [stdout] 332 | #[derive(Clone, Debug, Trace, Finalize, PartialEq)]
[INFO] [stdout]     |                               ^-------
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               `Finalize` is not local
[INFO] [stdout]     |                               move the `impl` block outside of this constant `_DERIVE_gc_Finalize_FOR_DeclarationPattern`
[INFO] [stdout] 333 | pub enum DeclarationPattern {
[INFO] [stdout]     |          ------------------ `DeclarationPattern` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]    --> src/syntax/ast/node/declaration/mod.rs:399:24
[INFO] [stdout]     |
[INFO] [stdout] 399 | #[derive(Clone, Debug, Trace, Finalize, PartialEq)]
[INFO] [stdout]     |                        ^----
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        `Trace` is not local
[INFO] [stdout]     |                        move the `impl` block outside of this constant `_DERIVE_gc_Trace_FOR_DeclarationPatternObject`
[INFO] [stdout] 400 | pub struct DeclarationPatternObject {
[INFO] [stdout]     |            ------------------------ `DeclarationPatternObject` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]    --> src/syntax/ast/node/declaration/mod.rs:399:24
[INFO] [stdout]     |
[INFO] [stdout] 399 | #[derive(Clone, Debug, Trace, Finalize, PartialEq)]
[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_DeclarationPatternObject`
[INFO] [stdout] 400 | pub struct DeclarationPatternObject {
[INFO] [stdout]     |            ------------------------ `DeclarationPatternObject` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]    --> src/syntax/ast/node/declaration/mod.rs:399:31
[INFO] [stdout]     |
[INFO] [stdout] 399 | #[derive(Clone, Debug, Trace, Finalize, PartialEq)]
[INFO] [stdout]     |                               ^-------
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               `Finalize` is not local
[INFO] [stdout]     |                               move the `impl` block outside of this constant `_DERIVE_gc_Finalize_FOR_DeclarationPatternObject`
[INFO] [stdout] 400 | pub struct DeclarationPatternObject {
[INFO] [stdout]     |            ------------------------ `DeclarationPatternObject` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]    --> src/syntax/ast/node/declaration/mod.rs:604:24
[INFO] [stdout]     |
[INFO] [stdout] 604 | #[derive(Clone, Debug, Trace, Finalize, PartialEq)]
[INFO] [stdout]     |                        ^----
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        `Trace` is not local
[INFO] [stdout]     |                        move the `impl` block outside of this constant `_DERIVE_gc_Trace_FOR_DeclarationPatternArray`
[INFO] [stdout] 605 | pub struct DeclarationPatternArray {
[INFO] [stdout]     |            ----------------------- `DeclarationPatternArray` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]    --> src/syntax/ast/node/declaration/mod.rs:604:24
[INFO] [stdout]     |
[INFO] [stdout] 604 | #[derive(Clone, Debug, Trace, Finalize, PartialEq)]
[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_DeclarationPatternArray`
[INFO] [stdout] 605 | pub struct DeclarationPatternArray {
[INFO] [stdout]     |            ----------------------- `DeclarationPatternArray` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]    --> src/syntax/ast/node/declaration/mod.rs:604:31
[INFO] [stdout]     |
[INFO] [stdout] 604 | #[derive(Clone, Debug, Trace, Finalize, PartialEq)]
[INFO] [stdout]     |                               ^-------
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               `Finalize` is not local
[INFO] [stdout]     |                               move the `impl` block outside of this constant `_DERIVE_gc_Finalize_FOR_DeclarationPatternArray`
[INFO] [stdout] 605 | pub struct DeclarationPatternArray {
[INFO] [stdout]     |            ----------------------- `DeclarationPatternArray` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]    --> src/syntax/ast/node/declaration/mod.rs:879:24
[INFO] [stdout]     |
[INFO] [stdout] 879 | #[derive(Clone, Debug, Trace, Finalize, PartialEq)]
[INFO] [stdout]     |                        ^----
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        `Trace` is not local
[INFO] [stdout]     |                        move the `impl` block outside of this constant `_DERIVE_gc_Trace_FOR_BindingPatternTypeObject`
[INFO] [stdout] 880 | pub enum BindingPatternTypeObject {
[INFO] [stdout]     |          ------------------------ `BindingPatternTypeObject` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]    --> src/syntax/ast/node/declaration/mod.rs:879:24
[INFO] [stdout]     |
[INFO] [stdout] 879 | #[derive(Clone, Debug, Trace, Finalize, PartialEq)]
[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_BindingPatternTypeObject`
[INFO] [stdout] 880 | pub enum BindingPatternTypeObject {
[INFO] [stdout]     |          ------------------------ `BindingPatternTypeObject` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]    --> src/syntax/ast/node/declaration/mod.rs:879:31
[INFO] [stdout]     |
[INFO] [stdout] 879 | #[derive(Clone, Debug, Trace, Finalize, PartialEq)]
[INFO] [stdout]     |                               ^-------
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               `Finalize` is not local
[INFO] [stdout]     |                               move the `impl` block outside of this constant `_DERIVE_gc_Finalize_FOR_BindingPatternTypeObject`
[INFO] [stdout] 880 | pub enum BindingPatternTypeObject {
[INFO] [stdout]     |          ------------------------ `BindingPatternTypeObject` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]    --> src/syntax/ast/node/declaration/mod.rs:977:24
[INFO] [stdout]     |
[INFO] [stdout] 977 | #[derive(Clone, Debug, Trace, Finalize, PartialEq)]
[INFO] [stdout]     |                        ^----
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        `Trace` is not local
[INFO] [stdout]     |                        move the `impl` block outside of this constant `_DERIVE_gc_Trace_FOR_BindingPatternTypeArray`
[INFO] [stdout] 978 | pub enum BindingPatternTypeArray {
[INFO] [stdout]     |          ----------------------- `BindingPatternTypeArray` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]    --> src/syntax/ast/node/declaration/mod.rs:977:24
[INFO] [stdout]     |
[INFO] [stdout] 977 | #[derive(Clone, Debug, Trace, Finalize, PartialEq)]
[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_BindingPatternTypeArray`
[INFO] [stdout] 978 | pub enum BindingPatternTypeArray {
[INFO] [stdout]     |          ----------------------- `BindingPatternTypeArray` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]    --> src/syntax/ast/node/declaration/mod.rs:977:31
[INFO] [stdout]     |
[INFO] [stdout] 977 | #[derive(Clone, Debug, Trace, Finalize, PartialEq)]
[INFO] [stdout]     |                               ^-------
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               `Finalize` is not local
[INFO] [stdout]     |                               move the `impl` block outside of this constant `_DERIVE_gc_Finalize_FOR_BindingPatternTypeArray`
[INFO] [stdout] 978 | pub enum BindingPatternTypeArray {
[INFO] [stdout]     |          ----------------------- `BindingPatternTypeArray` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/syntax/ast/node/declaration/arrow_function_decl/mod.rs:27:24
[INFO] [stdout]    |
[INFO] [stdout] 27 | #[derive(Clone, Debug, Trace, Finalize, PartialEq)]
[INFO] [stdout]    |                        ^----
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `Trace` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this constant `_DERIVE_gc_Trace_FOR_ArrowFunctionDecl`
[INFO] [stdout] 28 | pub struct ArrowFunctionDecl {
[INFO] [stdout]    |            ----------------- `ArrowFunctionDecl` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/syntax/ast/node/declaration/arrow_function_decl/mod.rs:27:24
[INFO] [stdout]    |
[INFO] [stdout] 27 | #[derive(Clone, Debug, Trace, Finalize, PartialEq)]
[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_ArrowFunctionDecl`
[INFO] [stdout] 28 | pub struct ArrowFunctionDecl {
[INFO] [stdout]    |            ----------------- `ArrowFunctionDecl` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/syntax/ast/node/declaration/arrow_function_decl/mod.rs:27:31
[INFO] [stdout]    |
[INFO] [stdout] 27 | #[derive(Clone, Debug, Trace, Finalize, PartialEq)]
[INFO] [stdout]    |                               ^-------
[INFO] [stdout]    |                               |
[INFO] [stdout]    |                               `Finalize` is not local
[INFO] [stdout]    |                               move the `impl` block outside of this constant `_DERIVE_gc_Finalize_FOR_ArrowFunctionDecl`
[INFO] [stdout] 28 | pub struct ArrowFunctionDecl {
[INFO] [stdout]    |            ----------------- `ArrowFunctionDecl` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/syntax/ast/node/declaration/async_function_decl/mod.rs:23:24
[INFO] [stdout]    |
[INFO] [stdout] 23 | #[derive(Clone, Debug, Trace, Finalize, PartialEq)]
[INFO] [stdout]    |                        ^----
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `Trace` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this constant `_DERIVE_gc_Trace_FOR_AsyncFunctionDecl`
[INFO] [stdout] 24 | pub struct AsyncFunctionDecl {
[INFO] [stdout]    |            ----------------- `AsyncFunctionDecl` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/syntax/ast/node/declaration/async_function_decl/mod.rs:23:24
[INFO] [stdout]    |
[INFO] [stdout] 23 | #[derive(Clone, Debug, Trace, Finalize, PartialEq)]
[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_AsyncFunctionDecl`
[INFO] [stdout] 24 | pub struct AsyncFunctionDecl {
[INFO] [stdout]    |            ----------------- `AsyncFunctionDecl` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/syntax/ast/node/declaration/async_function_decl/mod.rs:23:31
[INFO] [stdout]    |
[INFO] [stdout] 23 | #[derive(Clone, Debug, Trace, Finalize, PartialEq)]
[INFO] [stdout]    |                               ^-------
[INFO] [stdout]    |                               |
[INFO] [stdout]    |                               `Finalize` is not local
[INFO] [stdout]    |                               move the `impl` block outside of this constant `_DERIVE_gc_Finalize_FOR_AsyncFunctionDecl`
[INFO] [stdout] 24 | pub struct AsyncFunctionDecl {
[INFO] [stdout]    |            ----------------- `AsyncFunctionDecl` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/syntax/ast/node/declaration/async_function_expr/mod.rs:24:24
[INFO] [stdout]    |
[INFO] [stdout] 24 | #[derive(Clone, Debug, Trace, Finalize, PartialEq)]
[INFO] [stdout]    |                        ^----
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `Trace` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this constant `_DERIVE_gc_Trace_FOR_AsyncFunctionExpr`
[INFO] [stdout] 25 | pub struct AsyncFunctionExpr {
[INFO] [stdout]    |            ----------------- `AsyncFunctionExpr` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/syntax/ast/node/declaration/async_function_expr/mod.rs:24:24
[INFO] [stdout]    |
[INFO] [stdout] 24 | #[derive(Clone, Debug, Trace, Finalize, PartialEq)]
[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_AsyncFunctionExpr`
[INFO] [stdout] 25 | pub struct AsyncFunctionExpr {
[INFO] [stdout]    |            ----------------- `AsyncFunctionExpr` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/syntax/ast/node/declaration/async_function_expr/mod.rs:24:31
[INFO] [stdout]    |
[INFO] [stdout] 24 | #[derive(Clone, Debug, Trace, Finalize, PartialEq)]
[INFO] [stdout]    |                               ^-------
[INFO] [stdout]    |                               |
[INFO] [stdout]    |                               `Finalize` is not local
[INFO] [stdout]    |                               move the `impl` block outside of this constant `_DERIVE_gc_Finalize_FOR_AsyncFunctionExpr`
[INFO] [stdout] 25 | pub struct AsyncFunctionExpr {
[INFO] [stdout]    |            ----------------- `AsyncFunctionExpr` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/syntax/ast/node/declaration/function_decl/mod.rs:33:24
[INFO] [stdout]    |
[INFO] [stdout] 33 | #[derive(Clone, Debug, Trace, Finalize, PartialEq)]
[INFO] [stdout]    |                        ^----
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `Trace` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this constant `_DERIVE_gc_Trace_FOR_FunctionDecl`
[INFO] [stdout] 34 | pub struct FunctionDecl {
[INFO] [stdout]    |            ------------ `FunctionDecl` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/syntax/ast/node/declaration/function_decl/mod.rs:33:24
[INFO] [stdout]    |
[INFO] [stdout] 33 | #[derive(Clone, Debug, Trace, Finalize, PartialEq)]
[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_FunctionDecl`
[INFO] [stdout] 34 | pub struct FunctionDecl {
[INFO] [stdout]    |            ------------ `FunctionDecl` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/syntax/ast/node/declaration/function_decl/mod.rs:33:31
[INFO] [stdout]    |
[INFO] [stdout] 33 | #[derive(Clone, Debug, Trace, Finalize, PartialEq)]
[INFO] [stdout]    |                               ^-------
[INFO] [stdout]    |                               |
[INFO] [stdout]    |                               `Finalize` is not local
[INFO] [stdout]    |                               move the `impl` block outside of this constant `_DERIVE_gc_Finalize_FOR_FunctionDecl`
[INFO] [stdout] 34 | pub struct FunctionDecl {
[INFO] [stdout]    |            ------------ `FunctionDecl` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/syntax/ast/node/declaration/function_expr/mod.rs:30:24
[INFO] [stdout]    |
[INFO] [stdout] 30 | #[derive(Clone, Debug, Trace, Finalize, PartialEq)]
[INFO] [stdout]    |                        ^----
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `Trace` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this constant `_DERIVE_gc_Trace_FOR_FunctionExpr`
[INFO] [stdout] 31 | pub struct FunctionExpr {
[INFO] [stdout]    |            ------------ `FunctionExpr` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/syntax/ast/node/declaration/function_expr/mod.rs:30:24
[INFO] [stdout]    |
[INFO] [stdout] 30 | #[derive(Clone, Debug, Trace, Finalize, PartialEq)]
[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_FunctionExpr`
[INFO] [stdout] 31 | pub struct FunctionExpr {
[INFO] [stdout]    |            ------------ `FunctionExpr` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/syntax/ast/node/declaration/function_expr/mod.rs:30:31
[INFO] [stdout]    |
[INFO] [stdout] 30 | #[derive(Clone, Debug, Trace, Finalize, PartialEq)]
[INFO] [stdout]    |                               ^-------
[INFO] [stdout]    |                               |
[INFO] [stdout]    |                               `Finalize` is not local
[INFO] [stdout]    |                               move the `impl` block outside of this constant `_DERIVE_gc_Finalize_FOR_FunctionExpr`
[INFO] [stdout] 31 | pub struct FunctionExpr {
[INFO] [stdout]    |            ------------ `FunctionExpr` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/syntax/ast/node/field/get_const_field/mod.rs:34:24
[INFO] [stdout]    |
[INFO] [stdout] 34 | #[derive(Clone, Debug, Trace, Finalize, PartialEq)]
[INFO] [stdout]    |                        ^----
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `Trace` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this constant `_DERIVE_gc_Trace_FOR_GetConstField`
[INFO] [stdout] 35 | pub struct GetConstField {
[INFO] [stdout]    |            ------------- `GetConstField` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/syntax/ast/node/field/get_const_field/mod.rs:34:24
[INFO] [stdout]    |
[INFO] [stdout] 34 | #[derive(Clone, Debug, Trace, Finalize, PartialEq)]
[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_GetConstField`
[INFO] [stdout] 35 | pub struct GetConstField {
[INFO] [stdout]    |            ------------- `GetConstField` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/syntax/ast/node/field/get_const_field/mod.rs:34:31
[INFO] [stdout]    |
[INFO] [stdout] 34 | #[derive(Clone, Debug, Trace, Finalize, PartialEq)]
[INFO] [stdout]    |                               ^-------
[INFO] [stdout]    |                               |
[INFO] [stdout]    |                               `Finalize` is not local
[INFO] [stdout]    |                               move the `impl` block outside of this constant `_DERIVE_gc_Finalize_FOR_GetConstField`
[INFO] [stdout] 35 | pub struct GetConstField {
[INFO] [stdout]    |            ------------- `GetConstField` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/syntax/ast/node/field/get_field/mod.rs:35:24
[INFO] [stdout]    |
[INFO] [stdout] 35 | #[derive(Clone, Debug, Trace, Finalize, PartialEq)]
[INFO] [stdout]    |                        ^----
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `Trace` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this constant `_DERIVE_gc_Trace_FOR_GetField`
[INFO] [stdout] 36 | pub struct GetField {
[INFO] [stdout]    |            -------- `GetField` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/syntax/ast/node/field/get_field/mod.rs:35:24
[INFO] [stdout]    |
[INFO] [stdout] 35 | #[derive(Clone, Debug, Trace, Finalize, PartialEq)]
[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_GetField`
[INFO] [stdout] 36 | pub struct GetField {
[INFO] [stdout]    |            -------- `GetField` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/syntax/ast/node/field/get_field/mod.rs:35:31
[INFO] [stdout]    |
[INFO] [stdout] 35 | #[derive(Clone, Debug, Trace, Finalize, PartialEq)]
[INFO] [stdout]    |                               ^-------
[INFO] [stdout]    |                               |
[INFO] [stdout]    |                               `Finalize` is not local
[INFO] [stdout]    |                               move the `impl` block outside of this constant `_DERIVE_gc_Finalize_FOR_GetField`
[INFO] [stdout] 36 | pub struct GetField {
[INFO] [stdout]    |            -------- `GetField` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/syntax/ast/node/identifier/mod.rs:31:24
[INFO] [stdout]    |
[INFO] [stdout] 31 | #[derive(Clone, Debug, Trace, Finalize, PartialEq)]
[INFO] [stdout]    |                        ^----
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `Trace` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this constant `_DERIVE_gc_Trace_FOR_Identifier`
[INFO] [stdout] 32 | pub struct Identifier {
[INFO] [stdout]    |            ---------- `Identifier` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/syntax/ast/node/identifier/mod.rs:31:24
[INFO] [stdout]    |
[INFO] [stdout] 31 | #[derive(Clone, Debug, Trace, Finalize, PartialEq)]
[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_Identifier`
[INFO] [stdout] 32 | pub struct Identifier {
[INFO] [stdout]    |            ---------- `Identifier` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/syntax/ast/node/identifier/mod.rs:31:31
[INFO] [stdout]    |
[INFO] [stdout] 31 | #[derive(Clone, Debug, Trace, Finalize, PartialEq)]
[INFO] [stdout]    |                               ^-------
[INFO] [stdout]    |                               |
[INFO] [stdout]    |                               `Finalize` is not local
[INFO] [stdout]    |                               move the `impl` block outside of this constant `_DERIVE_gc_Finalize_FOR_Identifier`
[INFO] [stdout] 32 | pub struct Identifier {
[INFO] [stdout]    |            ---------- `Identifier` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/syntax/ast/node/iteration/continue_node/mod.rs:26:24
[INFO] [stdout]    |
[INFO] [stdout] 26 | #[derive(Clone, Debug, Trace, Finalize, PartialEq)]
[INFO] [stdout]    |                        ^----
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `Trace` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this constant `_DERIVE_gc_Trace_FOR_Continue`
[INFO] [stdout] 27 | pub struct Continue {
[INFO] [stdout]    |            -------- `Continue` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/syntax/ast/node/iteration/continue_node/mod.rs:26:24
[INFO] [stdout]    |
[INFO] [stdout] 26 | #[derive(Clone, Debug, Trace, Finalize, PartialEq)]
[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_Continue`
[INFO] [stdout] 27 | pub struct Continue {
[INFO] [stdout]    |            -------- `Continue` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/syntax/ast/node/iteration/continue_node/mod.rs:26:31
[INFO] [stdout]    |
[INFO] [stdout] 26 | #[derive(Clone, Debug, Trace, Finalize, PartialEq)]
[INFO] [stdout]    |                               ^-------
[INFO] [stdout]    |                               |
[INFO] [stdout]    |                               `Finalize` is not local
[INFO] [stdout]    |                               move the `impl` block outside of this constant `_DERIVE_gc_Finalize_FOR_Continue`
[INFO] [stdout] 27 | pub struct Continue {
[INFO] [stdout]    |            -------- `Continue` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/syntax/ast/node/iteration/do_while_loop/mod.rs:25:24
[INFO] [stdout]    |
[INFO] [stdout] 25 | #[derive(Clone, Debug, Trace, Finalize, PartialEq)]
[INFO] [stdout]    |                        ^----
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `Trace` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this constant `_DERIVE_gc_Trace_FOR_DoWhileLoop`
[INFO] [stdout] 26 | pub struct DoWhileLoop {
[INFO] [stdout]    |            ----------- `DoWhileLoop` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/syntax/ast/node/iteration/do_while_loop/mod.rs:25:24
[INFO] [stdout]    |
[INFO] [stdout] 25 | #[derive(Clone, Debug, Trace, Finalize, PartialEq)]
[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_DoWhileLoop`
[INFO] [stdout] 26 | pub struct DoWhileLoop {
[INFO] [stdout]    |            ----------- `DoWhileLoop` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/syntax/ast/node/iteration/do_while_loop/mod.rs:25:31
[INFO] [stdout]    |
[INFO] [stdout] 25 | #[derive(Clone, Debug, Trace, Finalize, PartialEq)]
[INFO] [stdout]    |                               ^-------
[INFO] [stdout]    |                               |
[INFO] [stdout]    |                               `Finalize` is not local
[INFO] [stdout]    |                               move the `impl` block outside of this constant `_DERIVE_gc_Finalize_FOR_DoWhileLoop`
[INFO] [stdout] 26 | pub struct DoWhileLoop {
[INFO] [stdout]    |            ----------- `DoWhileLoop` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/syntax/ast/node/iteration/for_in_loop/mod.rs:18:24
[INFO] [stdout]    |
[INFO] [stdout] 18 | #[derive(Clone, Debug, Trace, Finalize, PartialEq)]
[INFO] [stdout]    |                        ^----
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `Trace` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this constant `_DERIVE_gc_Trace_FOR_ForInLoop`
[INFO] [stdout] 19 | pub struct ForInLoop {
[INFO] [stdout]    |            --------- `ForInLoop` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/syntax/ast/node/iteration/for_in_loop/mod.rs:18:24
[INFO] [stdout]    |
[INFO] [stdout] 18 | #[derive(Clone, Debug, Trace, Finalize, PartialEq)]
[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_ForInLoop`
[INFO] [stdout] 19 | pub struct ForInLoop {
[INFO] [stdout]    |            --------- `ForInLoop` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/syntax/ast/node/iteration/for_in_loop/mod.rs:18:31
[INFO] [stdout]    |
[INFO] [stdout] 18 | #[derive(Clone, Debug, Trace, Finalize, PartialEq)]
[INFO] [stdout]    |                               ^-------
[INFO] [stdout]    |                               |
[INFO] [stdout]    |                               `Finalize` is not local
[INFO] [stdout]    |                               move the `impl` block outside of this constant `_DERIVE_gc_Finalize_FOR_ForInLoop`
[INFO] [stdout] 19 | pub struct ForInLoop {
[INFO] [stdout]    |            --------- `ForInLoop` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/syntax/ast/node/iteration/for_loop/mod.rs:25:24
[INFO] [stdout]    |
[INFO] [stdout] 25 | #[derive(Clone, Debug, Trace, Finalize, PartialEq)]
[INFO] [stdout]    |                        ^----
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `Trace` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this constant `_DERIVE_gc_Trace_FOR_ForLoop`
[INFO] [stdout] 26 | pub struct ForLoop {
[INFO] [stdout]    |            ------- `ForLoop` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/syntax/ast/node/iteration/for_loop/mod.rs:25:24
[INFO] [stdout]    |
[INFO] [stdout] 25 | #[derive(Clone, Debug, Trace, Finalize, PartialEq)]
[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_ForLoop`
[INFO] [stdout] 26 | pub struct ForLoop {
[INFO] [stdout]    |            ------- `ForLoop` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/syntax/ast/node/iteration/for_loop/mod.rs:25:31
[INFO] [stdout]    |
[INFO] [stdout] 25 | #[derive(Clone, Debug, Trace, Finalize, PartialEq)]
[INFO] [stdout]    |                               ^-------
[INFO] [stdout]    |                               |
[INFO] [stdout]    |                               `Finalize` is not local
[INFO] [stdout]    |                               move the `impl` block outside of this constant `_DERIVE_gc_Finalize_FOR_ForLoop`
[INFO] [stdout] 26 | pub struct ForLoop {
[INFO] [stdout]    |            ------- `ForLoop` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]    --> src/syntax/ast/node/iteration/for_loop/mod.rs:164:24
[INFO] [stdout]     |
[INFO] [stdout] 164 | #[derive(Clone, Debug, Trace, Finalize, PartialEq)]
[INFO] [stdout]     |                        ^----
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        `Trace` is not local
[INFO] [stdout]     |                        move the `impl` block outside of this constant `_DERIVE_gc_Trace_FOR_InnerForLoop`
[INFO] [stdout] 165 | struct InnerForLoop {
[INFO] [stdout]     |        ------------ `InnerForLoop` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]    --> src/syntax/ast/node/iteration/for_loop/mod.rs:164:24
[INFO] [stdout]     |
[INFO] [stdout] 164 | #[derive(Clone, Debug, Trace, Finalize, PartialEq)]
[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_InnerForLoop`
[INFO] [stdout] 165 | struct InnerForLoop {
[INFO] [stdout]     |        ------------ `InnerForLoop` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]    --> src/syntax/ast/node/iteration/for_loop/mod.rs:164:31
[INFO] [stdout]     |
[INFO] [stdout] 164 | #[derive(Clone, Debug, Trace, Finalize, PartialEq)]
[INFO] [stdout]     |                               ^-------
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               `Finalize` is not local
[INFO] [stdout]     |                               move the `impl` block outside of this constant `_DERIVE_gc_Finalize_FOR_InnerForLoop`
[INFO] [stdout] 165 | struct InnerForLoop {
[INFO] [stdout]     |        ------------ `InnerForLoop` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/syntax/ast/node/iteration/for_of_loop/mod.rs:18:24
[INFO] [stdout]    |
[INFO] [stdout] 18 | #[derive(Clone, Debug, Trace, Finalize, PartialEq)]
[INFO] [stdout]    |                        ^----
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `Trace` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this constant `_DERIVE_gc_Trace_FOR_ForOfLoop`
[INFO] [stdout] 19 | pub struct ForOfLoop {
[INFO] [stdout]    |            --------- `ForOfLoop` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/syntax/ast/node/iteration/for_of_loop/mod.rs:18:24
[INFO] [stdout]    |
[INFO] [stdout] 18 | #[derive(Clone, Debug, Trace, Finalize, PartialEq)]
[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_ForOfLoop`
[INFO] [stdout] 19 | pub struct ForOfLoop {
[INFO] [stdout]    |            --------- `ForOfLoop` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/syntax/ast/node/iteration/for_of_loop/mod.rs:18:31
[INFO] [stdout]    |
[INFO] [stdout] 18 | #[derive(Clone, Debug, Trace, Finalize, PartialEq)]
[INFO] [stdout]    |                               ^-------
[INFO] [stdout]    |                               |
[INFO] [stdout]    |                               `Finalize` is not local
[INFO] [stdout]    |                               move the `impl` block outside of this constant `_DERIVE_gc_Finalize_FOR_ForOfLoop`
[INFO] [stdout] 19 | pub struct ForOfLoop {
[INFO] [stdout]    |            --------- `ForOfLoop` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/syntax/ast/node/iteration/while_loop/mod.rs:24:24
[INFO] [stdout]    |
[INFO] [stdout] 24 | #[derive(Clone, Debug, Trace, Finalize, PartialEq)]
[INFO] [stdout]    |                        ^----
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `Trace` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this constant `_DERIVE_gc_Trace_FOR_WhileLoop`
[INFO] [stdout] 25 | pub struct WhileLoop {
[INFO] [stdout]    |            --------- `WhileLoop` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/syntax/ast/node/iteration/while_loop/mod.rs:24:24
[INFO] [stdout]    |
[INFO] [stdout] 24 | #[derive(Clone, Debug, Trace, Finalize, PartialEq)]
[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_WhileLoop`
[INFO] [stdout] 25 | pub struct WhileLoop {
[INFO] [stdout]    |            --------- `WhileLoop` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/syntax/ast/node/iteration/while_loop/mod.rs:24:31
[INFO] [stdout]    |
[INFO] [stdout] 24 | #[derive(Clone, Debug, Trace, Finalize, PartialEq)]
[INFO] [stdout]    |                               ^-------
[INFO] [stdout]    |                               |
[INFO] [stdout]    |                               `Finalize` is not local
[INFO] [stdout]    |                               move the `impl` block outside of this constant `_DERIVE_gc_Finalize_FOR_WhileLoop`
[INFO] [stdout] 25 | pub struct WhileLoop {
[INFO] [stdout]    |            --------- `WhileLoop` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/syntax/ast/node/new/mod.rs:33:24
[INFO] [stdout]    |
[INFO] [stdout] 33 | #[derive(Clone, Debug, Trace, Finalize, PartialEq)]
[INFO] [stdout]    |                        ^----
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `Trace` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this constant `_DERIVE_gc_Trace_FOR_New`
[INFO] [stdout] 34 | pub struct New {
[INFO] [stdout]    |            --- `New` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/syntax/ast/node/new/mod.rs:33:24
[INFO] [stdout]    |
[INFO] [stdout] 33 | #[derive(Clone, Debug, Trace, Finalize, PartialEq)]
[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_New`
[INFO] [stdout] 34 | pub struct New {
[INFO] [stdout]    |            --- `New` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/syntax/ast/node/new/mod.rs:33:31
[INFO] [stdout]    |
[INFO] [stdout] 33 | #[derive(Clone, Debug, Trace, Finalize, PartialEq)]
[INFO] [stdout]    |                               ^-------
[INFO] [stdout]    |                               |
[INFO] [stdout]    |                               `Finalize` is not local
[INFO] [stdout]    |                               move the `impl` block outside of this constant `_DERIVE_gc_Finalize_FOR_New`
[INFO] [stdout] 34 | pub struct New {
[INFO] [stdout]    |            --- `New` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/syntax/ast/node/object/mod.rs:39:24
[INFO] [stdout]    |
[INFO] [stdout] 39 | #[derive(Clone, Debug, Trace, Finalize, PartialEq)]
[INFO] [stdout]    |                        ^----
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `Trace` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this constant `_DERIVE_gc_Trace_FOR_Object`
[INFO] [stdout] 40 | pub struct Object {
[INFO] [stdout]    |            ------ `Object` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/syntax/ast/node/object/mod.rs:39:24
[INFO] [stdout]    |
[INFO] [stdout] 39 | #[derive(Clone, Debug, Trace, Finalize, PartialEq)]
[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_Object`
[INFO] [stdout] 40 | pub struct Object {
[INFO] [stdout]    |            ------ `Object` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/syntax/ast/node/object/mod.rs:39:31
[INFO] [stdout]    |
[INFO] [stdout] 39 | #[derive(Clone, Debug, Trace, Finalize, PartialEq)]
[INFO] [stdout]    |                               ^-------
[INFO] [stdout]    |                               |
[INFO] [stdout]    |                               `Finalize` is not local
[INFO] [stdout]    |                               move the `impl` block outside of this constant `_DERIVE_gc_Finalize_FOR_Object`
[INFO] [stdout] 40 | pub struct Object {
[INFO] [stdout]    |            ------ `Object` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/syntax/ast/node/operator/assign/mod.rs:25:24
[INFO] [stdout]    |
[INFO] [stdout] 25 | #[derive(Clone, Debug, Trace, Finalize, PartialEq)]
[INFO] [stdout]    |                        ^----
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `Trace` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this constant `_DERIVE_gc_Trace_FOR_Assign`
[INFO] [stdout] 26 | pub struct Assign {
[INFO] [stdout]    |            ------ `Assign` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/syntax/ast/node/operator/assign/mod.rs:25:24
[INFO] [stdout]    |
[INFO] [stdout] 25 | #[derive(Clone, Debug, Trace, Finalize, PartialEq)]
[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_Assign`
[INFO] [stdout] 26 | pub struct Assign {
[INFO] [stdout]    |            ------ `Assign` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/syntax/ast/node/operator/assign/mod.rs:25:31
[INFO] [stdout]    |
[INFO] [stdout] 25 | #[derive(Clone, Debug, Trace, Finalize, PartialEq)]
[INFO] [stdout]    |                               ^-------
[INFO] [stdout]    |                               |
[INFO] [stdout]    |                               `Finalize` is not local
[INFO] [stdout]    |                               move the `impl` block outside of this constant `_DERIVE_gc_Finalize_FOR_Assign`
[INFO] [stdout] 26 | pub struct Assign {
[INFO] [stdout]    |            ------ `Assign` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/syntax/ast/node/operator/bin_op/mod.rs:23:24
[INFO] [stdout]    |
[INFO] [stdout] 23 | #[derive(Clone, Debug, Trace, Finalize, PartialEq)]
[INFO] [stdout]    |                        ^----
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `Trace` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this constant `_DERIVE_gc_Trace_FOR_BinOp`
[INFO] [stdout] 24 | pub struct BinOp {
[INFO] [stdout]    |            ----- `BinOp` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/syntax/ast/node/operator/bin_op/mod.rs:23:24
[INFO] [stdout]    |
[INFO] [stdout] 23 | #[derive(Clone, Debug, Trace, Finalize, PartialEq)]
[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_BinOp`
[INFO] [stdout] 24 | pub struct BinOp {
[INFO] [stdout]    |            ----- `BinOp` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/syntax/ast/node/operator/bin_op/mod.rs:23:31
[INFO] [stdout]    |
[INFO] [stdout] 23 | #[derive(Clone, Debug, Trace, Finalize, PartialEq)]
[INFO] [stdout]    |                               ^-------
[INFO] [stdout]    |                               |
[INFO] [stdout]    |                               `Finalize` is not local
[INFO] [stdout]    |                               move the `impl` block outside of this constant `_DERIVE_gc_Finalize_FOR_BinOp`
[INFO] [stdout] 24 | pub struct BinOp {
[INFO] [stdout]    |            ----- `BinOp` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/syntax/ast/node/operator/unary_op/mod.rs:23:24
[INFO] [stdout]    |
[INFO] [stdout] 23 | #[derive(Clone, Debug, Trace, Finalize, PartialEq)]
[INFO] [stdout]    |                        ^----
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `Trace` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this constant `_DERIVE_gc_Trace_FOR_UnaryOp`
[INFO] [stdout] 24 | pub struct UnaryOp {
[INFO] [stdout]    |            ------- `UnaryOp` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/syntax/ast/node/operator/unary_op/mod.rs:23:24
[INFO] [stdout]    |
[INFO] [stdout] 23 | #[derive(Clone, Debug, Trace, Finalize, PartialEq)]
[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_UnaryOp`
[INFO] [stdout] 24 | pub struct UnaryOp {
[INFO] [stdout]    |            ------- `UnaryOp` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/syntax/ast/node/operator/unary_op/mod.rs:23:31
[INFO] [stdout]    |
[INFO] [stdout] 23 | #[derive(Clone, Debug, Trace, Finalize, PartialEq)]
[INFO] [stdout]    |                               ^-------
[INFO] [stdout]    |                               |
[INFO] [stdout]    |                               `Finalize` is not local
[INFO] [stdout]    |                               move the `impl` block outside of this constant `_DERIVE_gc_Finalize_FOR_UnaryOp`
[INFO] [stdout] 24 | pub struct UnaryOp {
[INFO] [stdout]    |            ------- `UnaryOp` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/syntax/ast/node/return_smt/mod.rs:34:24
[INFO] [stdout]    |
[INFO] [stdout] 34 | #[derive(Clone, Debug, Trace, Finalize, PartialEq)]
[INFO] [stdout]    |                        ^----
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `Trace` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this constant `_DERIVE_gc_Trace_FOR_Return`
[INFO] [stdout] 35 | pub struct Return {
[INFO] [stdout]    |            ------ `Return` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/syntax/ast/node/return_smt/mod.rs:34:24
[INFO] [stdout]    |
[INFO] [stdout] 34 | #[derive(Clone, Debug, Trace, Finalize, PartialEq)]
[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_Return`
[INFO] [stdout] 35 | pub struct Return {
[INFO] [stdout]    |            ------ `Return` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/syntax/ast/node/return_smt/mod.rs:34:31
[INFO] [stdout]    |
[INFO] [stdout] 34 | #[derive(Clone, Debug, Trace, Finalize, PartialEq)]
[INFO] [stdout]    |                               ^-------
[INFO] [stdout]    |                               |
[INFO] [stdout]    |                               `Finalize` is not local
[INFO] [stdout]    |                               move the `impl` block outside of this constant `_DERIVE_gc_Finalize_FOR_Return`
[INFO] [stdout] 35 | pub struct Return {
[INFO] [stdout]    |            ------ `Return` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/syntax/ast/node/spread/mod.rs:33:24
[INFO] [stdout]    |
[INFO] [stdout] 33 | #[derive(Clone, Debug, Trace, Finalize, PartialEq)]
[INFO] [stdout]    |                        ^----
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `Trace` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this constant `_DERIVE_gc_Trace_FOR_Spread`
[INFO] [stdout] 34 | pub struct Spread {
[INFO] [stdout]    |            ------ `Spread` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/syntax/ast/node/spread/mod.rs:33:24
[INFO] [stdout]    |
[INFO] [stdout] 33 | #[derive(Clone, Debug, Trace, Finalize, PartialEq)]
[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_Spread`
[INFO] [stdout] 34 | pub struct Spread {
[INFO] [stdout]    |            ------ `Spread` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/syntax/ast/node/spread/mod.rs:33:31
[INFO] [stdout]    |
[INFO] [stdout] 33 | #[derive(Clone, Debug, Trace, Finalize, PartialEq)]
[INFO] [stdout]    |                               ^-------
[INFO] [stdout]    |                               |
[INFO] [stdout]    |                               `Finalize` is not local
[INFO] [stdout]    |                               move the `impl` block outside of this constant `_DERIVE_gc_Finalize_FOR_Spread`
[INFO] [stdout] 34 | pub struct Spread {
[INFO] [stdout]    |            ------ `Spread` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/syntax/ast/node/statement_list/mod.rs:27:24
[INFO] [stdout]    |
[INFO] [stdout] 27 | #[derive(Clone, Debug, Trace, Finalize, PartialEq)]
[INFO] [stdout]    |                        ^----
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `Trace` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this constant `_DERIVE_gc_Trace_FOR_StatementList`
[INFO] [stdout] 28 | pub struct StatementList {
[INFO] [stdout]    |            ------------- `StatementList` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/syntax/ast/node/statement_list/mod.rs:27:24
[INFO] [stdout]    |
[INFO] [stdout] 27 | #[derive(Clone, Debug, Trace, Finalize, PartialEq)]
[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_StatementList`
[INFO] [stdout] 28 | pub struct StatementList {
[INFO] [stdout]    |            ------------- `StatementList` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/syntax/ast/node/statement_list/mod.rs:27:31
[INFO] [stdout]    |
[INFO] [stdout] 27 | #[derive(Clone, Debug, Trace, Finalize, PartialEq)]
[INFO] [stdout]    |                               ^-------
[INFO] [stdout]    |                               |
[INFO] [stdout]    |                               `Finalize` is not local
[INFO] [stdout]    |                               move the `impl` block outside of this constant `_DERIVE_gc_Finalize_FOR_StatementList`
[INFO] [stdout] 28 | pub struct StatementList {
[INFO] [stdout]    |            ------------- `StatementList` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]    --> src/syntax/ast/node/statement_list/mod.rs:208:24
[INFO] [stdout]     |
[INFO] [stdout] 208 | #[derive(Clone, Debug, Finalize, PartialEq)]
[INFO] [stdout]     |                        ^-------
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        `Finalize` is not local
[INFO] [stdout]     |                        move the `impl` block outside of this constant `_DERIVE_gc_Finalize_FOR_RcStatementList`
[INFO] [stdout] 209 | pub struct RcStatementList(Rc<StatementList>);
[INFO] [stdout]     |            --------------- `RcStatementList` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/syntax/ast/node/switch/mod.rs:20:24
[INFO] [stdout]    |
[INFO] [stdout] 20 | #[derive(Clone, Debug, Trace, Finalize, PartialEq)]
[INFO] [stdout]    |                        ^----
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `Trace` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this constant `_DERIVE_gc_Trace_FOR_Case`
[INFO] [stdout] 21 | pub struct Case {
[INFO] [stdout]    |            ---- `Case` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/syntax/ast/node/switch/mod.rs:20:24
[INFO] [stdout]    |
[INFO] [stdout] 20 | #[derive(Clone, Debug, Trace, Finalize, PartialEq)]
[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_Case`
[INFO] [stdout] 21 | pub struct Case {
[INFO] [stdout]    |            ---- `Case` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/syntax/ast/node/switch/mod.rs:20:31
[INFO] [stdout]    |
[INFO] [stdout] 20 | #[derive(Clone, Debug, Trace, Finalize, PartialEq)]
[INFO] [stdout]    |                               ^-------
[INFO] [stdout]    |                               |
[INFO] [stdout]    |                               `Finalize` is not local
[INFO] [stdout]    |                               move the `impl` block outside of this constant `_DERIVE_gc_Finalize_FOR_Case`
[INFO] [stdout] 21 | pub struct Case {
[INFO] [stdout]    |            ---- `Case` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/syntax/ast/node/switch/mod.rs:67:24
[INFO] [stdout]    |
[INFO] [stdout] 67 | #[derive(Clone, Debug, Trace, Finalize, PartialEq)]
[INFO] [stdout]    |                        ^----
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `Trace` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this constant `_DERIVE_gc_Trace_FOR_Switch`
[INFO] [stdout] 68 | pub struct Switch {
[INFO] [stdout]    |            ------ `Switch` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/syntax/ast/node/switch/mod.rs:67:24
[INFO] [stdout]    |
[INFO] [stdout] 67 | #[derive(Clone, Debug, Trace, Finalize, PartialEq)]
[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_Switch`
[INFO] [stdout] 68 | pub struct Switch {
[INFO] [stdout]    |            ------ `Switch` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/syntax/ast/node/switch/mod.rs:67:31
[INFO] [stdout]    |
[INFO] [stdout] 67 | #[derive(Clone, Debug, Trace, Finalize, PartialEq)]
[INFO] [stdout]    |                               ^-------
[INFO] [stdout]    |                               |
[INFO] [stdout]    |                               `Finalize` is not local
[INFO] [stdout]    |                               move the `impl` block outside of this constant `_DERIVE_gc_Finalize_FOR_Switch`
[INFO] [stdout] 68 | pub struct Switch {
[INFO] [stdout]    |            ------ `Switch` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/syntax/ast/node/template/mod.rs:23:24
[INFO] [stdout]    |
[INFO] [stdout] 23 | #[derive(Clone, Debug, Trace, Finalize, PartialEq)]
[INFO] [stdout]    |                        ^----
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `Trace` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this constant `_DERIVE_gc_Trace_FOR_TemplateLit`
[INFO] [stdout] 24 | pub struct TemplateLit {
[INFO] [stdout]    |            ----------- `TemplateLit` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/syntax/ast/node/template/mod.rs:23:24
[INFO] [stdout]    |
[INFO] [stdout] 23 | #[derive(Clone, Debug, Trace, Finalize, PartialEq)]
[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_TemplateLit`
[INFO] [stdout] 24 | pub struct TemplateLit {
[INFO] [stdout]    |            ----------- `TemplateLit` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/syntax/ast/node/template/mod.rs:23:31
[INFO] [stdout]    |
[INFO] [stdout] 23 | #[derive(Clone, Debug, Trace, Finalize, PartialEq)]
[INFO] [stdout]    |                               ^-------
[INFO] [stdout]    |                               |
[INFO] [stdout]    |                               `Finalize` is not local
[INFO] [stdout]    |                               move the `impl` block outside of this constant `_DERIVE_gc_Finalize_FOR_TemplateLit`
[INFO] [stdout] 24 | pub struct TemplateLit {
[INFO] [stdout]    |            ----------- `TemplateLit` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/syntax/ast/node/template/mod.rs:68:24
[INFO] [stdout]    |
[INFO] [stdout] 68 | #[derive(Clone, Debug, Trace, Finalize, PartialEq)]
[INFO] [stdout]    |                        ^----
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `Trace` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this constant `_DERIVE_gc_Trace_FOR_TaggedTemplate`
[INFO] [stdout] 69 | pub struct TaggedTemplate {
[INFO] [stdout]    |            -------------- `TaggedTemplate` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/syntax/ast/node/template/mod.rs:68:24
[INFO] [stdout]    |
[INFO] [stdout] 68 | #[derive(Clone, Debug, Trace, Finalize, PartialEq)]
[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_TaggedTemplate`
[INFO] [stdout] 69 | pub struct TaggedTemplate {
[INFO] [stdout]    |            -------------- `TaggedTemplate` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/syntax/ast/node/template/mod.rs:68:31
[INFO] [stdout]    |
[INFO] [stdout] 68 | #[derive(Clone, Debug, Trace, Finalize, PartialEq)]
[INFO] [stdout]    |                               ^-------
[INFO] [stdout]    |                               |
[INFO] [stdout]    |                               `Finalize` is not local
[INFO] [stdout]    |                               move the `impl` block outside of this constant `_DERIVE_gc_Finalize_FOR_TaggedTemplate`
[INFO] [stdout] 69 | pub struct TaggedTemplate {
[INFO] [stdout]    |            -------------- `TaggedTemplate` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]    --> src/syntax/ast/node/template/mod.rs:160:24
[INFO] [stdout]     |
[INFO] [stdout] 160 | #[derive(Clone, Debug, Trace, Finalize, PartialEq)]
[INFO] [stdout]     |                        ^----
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        `Trace` is not local
[INFO] [stdout]     |                        move the `impl` block outside of this constant `_DERIVE_gc_Trace_FOR_TemplateElement`
[INFO] [stdout] 161 | pub enum TemplateElement {
[INFO] [stdout]     |          --------------- `TemplateElement` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]    --> src/syntax/ast/node/template/mod.rs:160:24
[INFO] [stdout]     |
[INFO] [stdout] 160 | #[derive(Clone, Debug, Trace, Finalize, PartialEq)]
[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_TemplateElement`
[INFO] [stdout] 161 | pub enum TemplateElement {
[INFO] [stdout]     |          --------------- `TemplateElement` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]    --> src/syntax/ast/node/template/mod.rs:160:31
[INFO] [stdout]     |
[INFO] [stdout] 160 | #[derive(Clone, Debug, Trace, Finalize, PartialEq)]
[INFO] [stdout]     |                               ^-------
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               `Finalize` is not local
[INFO] [stdout]     |                               move the `impl` block outside of this constant `_DERIVE_gc_Finalize_FOR_TemplateElement`
[INFO] [stdout] 161 | pub enum TemplateElement {
[INFO] [stdout]     |          --------------- `TemplateElement` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/syntax/ast/node/throw/mod.rs:30:24
[INFO] [stdout]    |
[INFO] [stdout] 30 | #[derive(Clone, Debug, Trace, Finalize, PartialEq)]
[INFO] [stdout]    |                        ^----
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `Trace` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this constant `_DERIVE_gc_Trace_FOR_Throw`
[INFO] [stdout] 31 | pub struct Throw {
[INFO] [stdout]    |            ----- `Throw` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/syntax/ast/node/throw/mod.rs:30:24
[INFO] [stdout]    |
[INFO] [stdout] 30 | #[derive(Clone, Debug, Trace, Finalize, PartialEq)]
[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_Throw`
[INFO] [stdout] 31 | pub struct Throw {
[INFO] [stdout]    |            ----- `Throw` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/syntax/ast/node/throw/mod.rs:30:31
[INFO] [stdout]    |
[INFO] [stdout] 30 | #[derive(Clone, Debug, Trace, Finalize, PartialEq)]
[INFO] [stdout]    |                               ^-------
[INFO] [stdout]    |                               |
[INFO] [stdout]    |                               `Finalize` is not local
[INFO] [stdout]    |                               move the `impl` block outside of this constant `_DERIVE_gc_Finalize_FOR_Throw`
[INFO] [stdout] 31 | pub struct Throw {
[INFO] [stdout]    |            ----- `Throw` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/syntax/ast/node/try_node/mod.rs:33:24
[INFO] [stdout]    |
[INFO] [stdout] 33 | #[derive(Clone, Debug, Trace, Finalize, PartialEq)]
[INFO] [stdout]    |                        ^----
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `Trace` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this constant `_DERIVE_gc_Trace_FOR_Try`
[INFO] [stdout] 34 | pub struct Try {
[INFO] [stdout]    |            --- `Try` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/syntax/ast/node/try_node/mod.rs:33:24
[INFO] [stdout]    |
[INFO] [stdout] 33 | #[derive(Clone, Debug, Trace, Finalize, PartialEq)]
[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_Try`
[INFO] [stdout] 34 | pub struct Try {
[INFO] [stdout]    |            --- `Try` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/syntax/ast/node/try_node/mod.rs:33:31
[INFO] [stdout]    |
[INFO] [stdout] 33 | #[derive(Clone, Debug, Trace, Finalize, PartialEq)]
[INFO] [stdout]    |                               ^-------
[INFO] [stdout]    |                               |
[INFO] [stdout]    |                               `Finalize` is not local
[INFO] [stdout]    |                               move the `impl` block outside of this constant `_DERIVE_gc_Finalize_FOR_Try`
[INFO] [stdout] 34 | pub struct Try {
[INFO] [stdout]    |            --- `Try` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]    --> src/syntax/ast/node/try_node/mod.rs:148:24
[INFO] [stdout]     |
[INFO] [stdout] 148 | #[derive(Clone, Debug, Trace, Finalize, PartialEq)]
[INFO] [stdout]     |                        ^----
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        `Trace` is not local
[INFO] [stdout]     |                        move the `impl` block outside of this constant `_DERIVE_gc_Trace_FOR_Catch`
[INFO] [stdout] 149 | pub struct Catch {
[INFO] [stdout]     |            ----- `Catch` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]    --> src/syntax/ast/node/try_node/mod.rs:148:24
[INFO] [stdout]     |
[INFO] [stdout] 148 | #[derive(Clone, Debug, Trace, Finalize, PartialEq)]
[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_Catch`
[INFO] [stdout] 149 | pub struct Catch {
[INFO] [stdout]     |            ----- `Catch` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]    --> src/syntax/ast/node/try_node/mod.rs:148:31
[INFO] [stdout]     |
[INFO] [stdout] 148 | #[derive(Clone, Debug, Trace, Finalize, PartialEq)]
[INFO] [stdout]     |                               ^-------
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               `Finalize` is not local
[INFO] [stdout]     |                               move the `impl` block outside of this constant `_DERIVE_gc_Finalize_FOR_Catch`
[INFO] [stdout] 149 | pub struct Catch {
[INFO] [stdout]     |            ----- `Catch` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]    --> src/syntax/ast/node/try_node/mod.rs:197:24
[INFO] [stdout]     |
[INFO] [stdout] 197 | #[derive(Clone, Debug, Trace, Finalize, PartialEq)]
[INFO] [stdout]     |                        ^----
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        `Trace` is not local
[INFO] [stdout]     |                        move the `impl` block outside of this constant `_DERIVE_gc_Trace_FOR_Finally`
[INFO] [stdout] 198 | pub struct Finally {
[INFO] [stdout]     |            ------- `Finally` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]    --> src/syntax/ast/node/try_node/mod.rs:197:24
[INFO] [stdout]     |
[INFO] [stdout] 197 | #[derive(Clone, Debug, Trace, Finalize, PartialEq)]
[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_Finally`
[INFO] [stdout] 198 | pub struct Finally {
[INFO] [stdout]     |            ------- `Finally` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]    --> src/syntax/ast/node/try_node/mod.rs:197:31
[INFO] [stdout]     |
[INFO] [stdout] 197 | #[derive(Clone, Debug, Trace, Finalize, PartialEq)]
[INFO] [stdout]     |                               ^-------
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               `Finalize` is not local
[INFO] [stdout]     |                               move the `impl` block outside of this constant `_DERIVE_gc_Finalize_FOR_Finally`
[INFO] [stdout] 198 | pub struct Finally {
[INFO] [stdout]     |            ------- `Finally` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/syntax/ast/op.rs:17:30
[INFO] [stdout]    |
[INFO] [stdout] 17 | #[derive(Clone, Copy, Debug, Finalize, PartialEq)]
[INFO] [stdout]    |                              ^-------
[INFO] [stdout]    |                              |
[INFO] [stdout]    |                              `Finalize` is not local
[INFO] [stdout]    |                              move the `impl` block outside of this constant `_DERIVE_gc_Finalize_FOR_NumOp`
[INFO] [stdout] 18 | pub enum NumOp {
[INFO] [stdout]    |          ----- `NumOp` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]    --> src/syntax/ast/op.rs:132:30
[INFO] [stdout]     |
[INFO] [stdout] 132 | #[derive(Clone, Copy, Debug, Finalize, PartialEq)]
[INFO] [stdout]     |                              ^-------
[INFO] [stdout]     |                              |
[INFO] [stdout]     |                              `Finalize` is not local
[INFO] [stdout]     |                              move the `impl` block outside of this constant `_DERIVE_gc_Finalize_FOR_UnaryOp`
[INFO] [stdout] 133 | pub enum UnaryOp {
[INFO] [stdout]     |          ------- `UnaryOp` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]    --> src/syntax/ast/op.rs:343:30
[INFO] [stdout]     |
[INFO] [stdout] 343 | #[derive(Clone, Copy, Debug, Finalize, PartialEq)]
[INFO] [stdout]     |                              ^-------
[INFO] [stdout]     |                              |
[INFO] [stdout]     |                              `Finalize` is not local
[INFO] [stdout]     |                              move the `impl` block outside of this constant `_DERIVE_gc_Finalize_FOR_BitOp`
[INFO] [stdout] 344 | pub enum BitOp {
[INFO] [stdout]     |          ----- `BitOp` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]    --> src/syntax/ast/op.rs:466:30
[INFO] [stdout]     |
[INFO] [stdout] 466 | #[derive(Clone, Copy, Debug, Finalize, PartialEq)]
[INFO] [stdout]     |                              ^-------
[INFO] [stdout]     |                              |
[INFO] [stdout]     |                              `Finalize` is not local
[INFO] [stdout]     |                              move the `impl` block outside of this constant `_DERIVE_gc_Finalize_FOR_CompOp`
[INFO] [stdout] 467 | pub enum CompOp {
[INFO] [stdout]     |          ------ `CompOp` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]    --> src/syntax/ast/op.rs:659:30
[INFO] [stdout]     |
[INFO] [stdout] 659 | #[derive(Clone, Copy, Debug, Finalize, PartialEq)]
[INFO] [stdout]     |                              ^-------
[INFO] [stdout]     |                              |
[INFO] [stdout]     |                              `Finalize` is not local
[INFO] [stdout]     |                              move the `impl` block outside of this constant `_DERIVE_gc_Finalize_FOR_LogOp`
[INFO] [stdout] 660 | pub enum LogOp {
[INFO] [stdout]     |          ----- `LogOp` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]    --> src/syntax/ast/op.rs:721:30
[INFO] [stdout]     |
[INFO] [stdout] 721 | #[derive(Clone, Copy, Debug, Finalize, PartialEq)]
[INFO] [stdout]     |                              ^-------
[INFO] [stdout]     |                              |
[INFO] [stdout]     |                              `Finalize` is not local
[INFO] [stdout]     |                              move the `impl` block outside of this constant `_DERIVE_gc_Finalize_FOR_BinOp`
[INFO] [stdout] 722 | pub enum BinOp {
[INFO] [stdout]     |          ----- `BinOp` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]    --> src/syntax/ast/op.rs:817:30
[INFO] [stdout]     |
[INFO] [stdout] 817 | #[derive(Clone, Copy, Debug, Finalize, PartialEq)]
[INFO] [stdout]     |                              ^-------
[INFO] [stdout]     |                              |
[INFO] [stdout]     |                              `Finalize` is not local
[INFO] [stdout]     |                              move the `impl` block outside of this constant `_DERIVE_gc_Finalize_FOR_AssignOp`
[INFO] [stdout] 818 | pub enum AssignOp {
[INFO] [stdout]     |          -------- `AssignOp` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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: unreachable `pub` item
[INFO] [stdout]   --> src/value/mod.rs:35:9
[INFO] [stdout]    |
[INFO] [stdout] 35 | pub use equality::*;
[INFO] [stdout]    | ---     ^^^^^^^^
[INFO] [stdout]    | |
[INFO] [stdout]    | help: consider restricting its visibility: `pub(crate)`
[INFO] [stdout]    |
[INFO] [stdout]    = help: or consider exporting it for use by other crates
[INFO] [stdout] note: the lint level is defined here
[INFO] [stdout]   --> src/lib.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 20 |     unreachable_pub,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable `pub` item
[INFO] [stdout]   --> src/value/mod.rs:36:9
[INFO] [stdout]    |
[INFO] [stdout] 36 | pub use hash::*;
[INFO] [stdout]    | ---     ^^^^
[INFO] [stdout]    | |
[INFO] [stdout]    | help: consider restricting its visibility: `pub(crate)`
[INFO] [stdout]    |
[INFO] [stdout]    = help: or consider exporting it for use by other crates
[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]   --> src/value/mod.rs:41:10
[INFO] [stdout]    |
[INFO] [stdout] 41 | #[derive(Trace, Finalize, Debug, Clone)]
[INFO] [stdout]    |          ^----
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `Trace` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_DERIVE_gc_Trace_FOR_JsValue`
[INFO] [stdout] 42 | pub enum JsValue {
[INFO] [stdout]    |          ------- `JsValue` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/value/mod.rs:41:10
[INFO] [stdout]    |
[INFO] [stdout] 41 | #[derive(Trace, Finalize, Debug, Clone)]
[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_JsValue`
[INFO] [stdout] 42 | pub enum JsValue {
[INFO] [stdout]    |          ------- `JsValue` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/value/mod.rs:41:17
[INFO] [stdout]    |
[INFO] [stdout] 41 | #[derive(Trace, Finalize, Debug, Clone)]
[INFO] [stdout]    |                 ^-------
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 `Finalize` is not local
[INFO] [stdout]    |                 move the `impl` block outside of this constant `_DERIVE_gc_Finalize_FOR_JsValue`
[INFO] [stdout] 42 | pub enum JsValue {
[INFO] [stdout]    |          ------- `JsValue` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 41.41s
[INFO] running `Command { std: "docker" "inspect" "21edad6b0236bcff616761690cb480fc84b08f34f4fcef77849aeb5f7fc0fe24", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "21edad6b0236bcff616761690cb480fc84b08f34f4fcef77849aeb5f7fc0fe24", kill_on_drop: false }`
[INFO] [stdout] 21edad6b0236bcff616761690cb480fc84b08f34f4fcef77849aeb5f7fc0fe24
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+1.90.0" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 15c6849f2cfdca8e1469765fd0ac285d560cda0f981d2e8b6d16487bb20ceec7
[INFO] running `Command { std: "docker" "start" "-a" "15c6849f2cfdca8e1469765fd0ac285d560cda0f981d2e8b6d16487bb20ceec7", kill_on_drop: false }`
[INFO] [stderr]    Compiling crossbeam-utils v0.8.11
[INFO] [stderr]    Compiling memoffset v0.6.5
[INFO] [stderr]    Compiling once_cell v1.15.0
[INFO] [stderr]    Compiling crossbeam-epoch v0.9.10
[INFO] [stderr]    Compiling rayon-core v1.9.3
[INFO] [stderr]    Compiling either v1.8.0
[INFO] [stderr]    Compiling cc v1.0.73
[INFO] [stderr]    Compiling fs_extra v1.2.0
[INFO] [stderr]    Compiling num_cpus v1.13.1
[INFO] [stderr]    Compiling rayon v1.5.3
[INFO] [stderr]    Compiling unicode-width v0.1.10
[INFO] [stderr]    Compiling regex-automata v0.1.10
[INFO] [stderr]    Compiling plotters-backend v0.3.4
[INFO] [stderr]    Compiling textwrap v0.11.0
[INFO] [stderr]    Compiling itertools v0.10.5
[INFO] [stderr]    Compiling plotters-svg v0.3.3
[INFO] [stderr]    Compiling csv-core v0.1.10
[INFO] [stderr]    Compiling bstr v0.2.17
[INFO] [stderr]    Compiling itoa v0.4.8
[INFO] [stderr]    Compiling cast v0.3.0
[INFO] [stderr]    Compiling half v1.8.2
[INFO] [stderr]    Compiling regex-syntax v0.6.27
[INFO] [stderr]    Compiling crossbeam-channel v0.5.6
[INFO] [stderr]    Compiling serde_cbor v0.11.2
[INFO] [stderr]    Compiling plotters v0.3.4
[INFO] [stderr]    Compiling jemalloc-sys v0.3.2
[INFO] [stderr]    Compiling crossbeam-deque v0.8.2
[INFO] [stderr]    Compiling csv v1.1.6
[INFO] [stderr]    Compiling clap v2.34.0
[INFO] [stderr]    Compiling tinytemplate v1.2.1
[INFO] [stderr]    Compiling regex v1.6.0
[INFO] [stderr]    Compiling criterion-plot v0.4.5
[INFO] [stderr]    Compiling atty v0.2.14
[INFO] [stderr]    Compiling oorandom v11.1.3
[INFO] [stderr]    Compiling float-cmp v0.9.0
[INFO] [stdout] warning: unnecessary qualification
[INFO] [stdout]    --> src/bigint.rs:394:27
[INFO] [stdout]     |
[INFO] [stdout] 394 |     fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] note: the lint level is defined here
[INFO] [stdout]    --> src/lib.rs:17:5
[INFO] [stdout]     |
[INFO] [stdout]  17 |     unused_qualifications,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]     |
[INFO] [stdout] 394 -     fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
[INFO] [stdout] 394 +     fn fmt(&self, f: &mut fmt::Formatter<'_>) -> std::fmt::Result {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary qualification
[INFO] [stdout]    --> src/bigint.rs:394:55
[INFO] [stdout]     |
[INFO] [stdout] 394 |     fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
[INFO] [stdout]     |                                                       ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]     |
[INFO] [stdout] 394 -     fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
[INFO] [stdout] 394 +     fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> fmt::Result {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary qualification
[INFO] [stdout]    --> src/builtins/date/mod.rs:411:51
[INFO] [stdout]     |
[INFO] [stdout] 411 |                 JsValue::String(ref str) => match chrono::DateTime::parse_from_rfc3339(str) {
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]     |
[INFO] [stdout] 411 -                 JsValue::String(ref str) => match chrono::DateTime::parse_from_rfc3339(str) {
[INFO] [stdout] 411 +                 JsValue::String(ref str) => match DateTime::parse_from_rfc3339(str) {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary qualification
[INFO] [stdout]     --> src/builtins/regexp/mod.rs:1787:9
[INFO] [stdout]      |
[INFO] [stdout] 1787 |         crate::builtins::string::code_point_at(s, index as i32).expect("Failed to get code point");
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]      |
[INFO] [stdout] 1787 -         crate::builtins::string::code_point_at(s, index as i32).expect("Failed to get code point");
[INFO] [stdout] 1787 +         string::code_point_at(s, index as i32).expect("Failed to get code point");
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/environment/global_environment_record.rs:38:13
[INFO] [stdout]    |
[INFO] [stdout] 38 | /             /// Object Environment Records created for with statements (13.11)
[INFO] [stdout] 39 | |             /// can provide their binding object as an implicit this value for use in function calls.
[INFO] [stdout] 40 | |             /// The capability is controlled by a withEnvironment Boolean value that is associated
[INFO] [stdout] 41 | |             /// with each object Environment Record. By default, the value of withEnvironment is false
[INFO] [stdout] 42 | |             /// for any object Environment Record.
[INFO] [stdout]    | |__________________________________________________^
[INFO] [stdout] 43 |               with_environment: false,
[INFO] [stdout]    |               ----------------------- rustdoc does not generate documentation for expression fields
[INFO] [stdout]    |
[INFO] [stdout]    = help: use `//` for a plain comment
[INFO] [stdout]    = note: `#[warn(unused_doc_comments)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/environment/object_environment_record.rs:35:13
[INFO] [stdout]    |
[INFO] [stdout] 35 | /             /// Object Environment Records created for with statements (13.11)
[INFO] [stdout] 36 | |             /// can provide their binding object as an implicit this value for use in function calls.
[INFO] [stdout] 37 | |             /// The capability is controlled by a withEnvironment Boolean value that is associated
[INFO] [stdout] 38 | |             /// with each object Environment Record. By default, the value of withEnvironment is false
[INFO] [stdout] 39 | |             /// for any object Environment Record.
[INFO] [stdout]    | |__________________________________________________^
[INFO] [stdout] 40 |               with_environment: false,
[INFO] [stdout]    |               ----------------------- rustdoc does not generate documentation for expression fields
[INFO] [stdout]    |
[INFO] [stdout]    = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary qualification
[INFO] [stdout]     --> src/object/gcobject.rs:1024:50
[INFO] [stdout]      |
[INFO] [stdout] 1024 |     fn fmt(&self, f: &mut fmt::Formatter<'_>) -> std::fmt::Result {
[INFO] [stdout]      |                                                  ^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]      |
[INFO] [stdout] 1024 -     fn fmt(&self, f: &mut fmt::Formatter<'_>) -> std::fmt::Result {
[INFO] [stdout] 1024 +     fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary qualification
[INFO] [stdout]    --> src/syntax/lexer/cursor.rs:161:28
[INFO] [stdout]     |
[INFO] [stdout] 161 |                 return Err(io::Error::new(
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]     |
[INFO] [stdout] 161 -                 return Err(io::Error::new(
[INFO] [stdout] 161 +                 return Err(Error::new(
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary qualification
[INFO] [stdout]    --> src/syntax/lexer/cursor.rs:321:17
[INFO] [stdout]     |
[INFO] [stdout] 321 |                 io::Error::new(
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]     |
[INFO] [stdout] 321 -                 io::Error::new(
[INFO] [stdout] 321 +                 Error::new(
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary qualification
[INFO] [stdout]    --> src/syntax/lexer/cursor.rs:322:21
[INFO] [stdout]     |
[INFO] [stdout] 322 |                     io::ErrorKind::UnexpectedEof,
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]     |
[INFO] [stdout] 322 -                     io::ErrorKind::UnexpectedEof,
[INFO] [stdout] 322 +                     ErrorKind::UnexpectedEof,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary qualification
[INFO] [stdout]    --> src/syntax/parser/mod.rs:160:9
[INFO] [stdout]     |
[INFO] [stdout] 160 |         self::statement::StatementList::new(false, false, false, false, &[]).parse(cursor)
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]     |
[INFO] [stdout] 160 -         self::statement::StatementList::new(false, false, false, false, &[]).parse(cursor)
[INFO] [stdout] 160 +         statement::StatementList::new(false, false, false, false, &[]).parse(cursor)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary qualification
[INFO] [stdout]   --> src/value/conversions.rs:41:27
[INFO] [stdout]    |
[INFO] [stdout] 41 |     fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
[INFO] [stdout]    |                           ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]    |
[INFO] [stdout] 41 -     fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
[INFO] [stdout] 41 +     fn fmt(&self, f: &mut fmt::Formatter<'_>) -> std::fmt::Result {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary qualification
[INFO] [stdout]   --> src/value/conversions.rs:41:55
[INFO] [stdout]    |
[INFO] [stdout] 41 |     fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
[INFO] [stdout]    |                                                       ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]    |
[INFO] [stdout] 41 -     fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
[INFO] [stdout] 41 +     fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> fmt::Result {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary qualification
[INFO] [stdout]    --> src/value/conversions.rs:184:27
[INFO] [stdout]     |
[INFO] [stdout] 184 |     fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]     |
[INFO] [stdout] 184 -     fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
[INFO] [stdout] 184 +     fn fmt(&self, f: &mut fmt::Formatter<'_>) -> std::fmt::Result {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary qualification
[INFO] [stdout]    --> src/value/conversions.rs:184:55
[INFO] [stdout]     |
[INFO] [stdout] 184 |     fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
[INFO] [stdout]     |                                                       ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]     |
[INFO] [stdout] 184 -     fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
[INFO] [stdout] 184 +     fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> fmt::Result {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `equality::*`
[INFO] [stdout]   --> src/value/mod.rs:35:9
[INFO] [stdout]    |
[INFO] [stdout] 35 | pub use equality::*;
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `hash::*`
[INFO] [stdout]   --> src/value/mod.rs:36:9
[INFO] [stdout]    |
[INFO] [stdout] 36 | pub use hash::*;
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[must_use]` has no effect when applied to a type alias
[INFO] [stdout]   --> src/lib.rs:86:1
[INFO] [stdout]    |
[INFO] [stdout] 86 | #[must_use]
[INFO] [stdout]    | ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_attributes)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/builtins/map/mod.rs:42:23
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub(crate) struct Map(OrderedMap<JsValue>);
[INFO] [stdout]    |                   --- ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                   |
[INFO] [stdout]    |                   field in this struct
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider removing this field
[INFO] [stdout]    = note: `Map` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `use_last_index` is never read
[INFO] [stdout]   --> src/builtins/regexp/mod.rs:42:5
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub struct RegExp {
[INFO] [stdout]    |            ------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 42 |     use_last_index: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `RegExp` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/builtins/set/mod.rs:36:23
[INFO] [stdout]    |
[INFO] [stdout] 36 | pub(crate) struct Set(OrderedSet<JsValue>);
[INFO] [stdout]    |                   --- ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                   |
[INFO] [stdout]    |                   field in this struct
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider removing this field
[INFO] [stdout]    = note: `Set` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `is_default` is never read
[INFO] [stdout]   --> src/syntax/parser/statement/declaration/hoistable/function_decl/mod.rs:28:5
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub(super) struct FunctionDeclaration {
[INFO] [stdout]    |                   ------------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 28 |     is_default: AllowDefault,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `FunctionDeclaration` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[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]   --> src/bigint.rs:28:17
[INFO] [stdout]    |
[INFO] [stdout] 28 | #[derive(Debug, Finalize, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
[INFO] [stdout]    |                 ^-------
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 `Finalize` is not local
[INFO] [stdout]    |                 move the `impl` block outside of this constant `_DERIVE_gc_Finalize_FOR_JsBigInt`
[INFO] [stdout] 29 | pub struct JsBigInt {
[INFO] [stdout]    |            -------- `JsBigInt` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/builtins/array/array_iterator.rs:16:24
[INFO] [stdout]    |
[INFO] [stdout] 16 | #[derive(Debug, Clone, Finalize, Trace)]
[INFO] [stdout]    |                        ^-------
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `Finalize` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this constant `_DERIVE_gc_Finalize_FOR_ArrayIterator`
[INFO] [stdout] 17 | pub struct ArrayIterator {
[INFO] [stdout]    |            ------------- `ArrayIterator` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/builtins/array/array_iterator.rs:16:34
[INFO] [stdout]    |
[INFO] [stdout] 16 | #[derive(Debug, Clone, Finalize, Trace)]
[INFO] [stdout]    |                                  ^----
[INFO] [stdout]    |                                  |
[INFO] [stdout]    |                                  `Trace` is not local
[INFO] [stdout]    |                                  move the `impl` block outside of this constant `_DERIVE_gc_Trace_FOR_ArrayIterator`
[INFO] [stdout] 17 | pub struct ArrayIterator {
[INFO] [stdout]    |            ------------- `ArrayIterator` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/builtins/array/array_iterator.rs:16:34
[INFO] [stdout]    |
[INFO] [stdout] 16 | #[derive(Debug, Clone, 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_ArrayIterator`
[INFO] [stdout] 17 | pub struct ArrayIterator {
[INFO] [stdout]    |            ------------- `ArrayIterator` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/builtins/date/mod.rs:65:17
[INFO] [stdout]    |
[INFO] [stdout] 65 | #[derive(Debug, Finalize, Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
[INFO] [stdout]    |                 ^-------
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 `Finalize` is not local
[INFO] [stdout]    |                 move the `impl` block outside of this constant `_DERIVE_gc_Finalize_FOR_Date`
[INFO] [stdout] 66 | pub struct Date(Option<NaiveDateTime>);
[INFO] [stdout]    |            ---- `Date` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/builtins/function/mod.rs:74:23
[INFO] [stdout]    |
[INFO] [stdout] 74 | #[derive(Clone, Copy, Finalize)]
[INFO] [stdout]    |                       ^-------
[INFO] [stdout]    |                       |
[INFO] [stdout]    |                       `Finalize` is not local
[INFO] [stdout]    |                       move the `impl` block outside of this constant `_DERIVE_gc_Finalize_FOR_BuiltInFunction`
[INFO] [stdout] 75 | pub struct BuiltInFunction(pub(crate) NativeFunction);
[INFO] [stdout]    |            --------------- `BuiltInFunction` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/builtins/function/mod.rs:94:14
[INFO] [stdout]    |
[INFO] [stdout] 94 |     #[derive(Finalize, Default)]
[INFO] [stdout]    |              ^-------
[INFO] [stdout]    |              |
[INFO] [stdout]    |              `Finalize` is not local
[INFO] [stdout]    |              move the `impl` block outside of this constant `_DERIVE_gc_Finalize_FOR_FunctionFlags`
[INFO] [stdout] 95 |     pub struct FunctionFlags: u8 {
[INFO] [stdout]    |                ------------- `FunctionFlags` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]    --> src/builtins/function/mod.rs:137:24
[INFO] [stdout]     |
[INFO] [stdout] 137 | #[derive(Debug, Clone, Trace, Finalize)]
[INFO] [stdout]     |                        ^----
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        `Trace` is not local
[INFO] [stdout]     |                        move the `impl` block outside of this constant `_DERIVE_gc_Trace_FOR_Captures`
[INFO] [stdout] 138 | pub struct Captures(Box<dyn CapturesObject>);
[INFO] [stdout]     |            -------- `Captures` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]    --> src/builtins/function/mod.rs:137:24
[INFO] [stdout]     |
[INFO] [stdout] 137 | #[derive(Debug, Clone, 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_Captures`
[INFO] [stdout] 138 | pub struct Captures(Box<dyn CapturesObject>);
[INFO] [stdout]     |            -------- `Captures` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]    --> src/builtins/function/mod.rs:137:31
[INFO] [stdout]     |
[INFO] [stdout] 137 | #[derive(Debug, Clone, Trace, Finalize)]
[INFO] [stdout]     |                               ^-------
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               `Finalize` is not local
[INFO] [stdout]     |                               move the `impl` block outside of this constant `_DERIVE_gc_Finalize_FOR_Captures`
[INFO] [stdout] 138 | pub struct Captures(Box<dyn CapturesObject>);
[INFO] [stdout]     |            -------- `Captures` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]    --> src/builtins/function/mod.rs:199:17
[INFO] [stdout]     |
[INFO] [stdout] 199 | #[derive(Clone, Trace, Finalize)]
[INFO] [stdout]     |                 ^----
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 `Trace` is not local
[INFO] [stdout]     |                 move the `impl` block outside of this constant `_DERIVE_gc_Trace_FOR_Function`
[INFO] [stdout] 200 | pub enum Function {
[INFO] [stdout]     |          -------- `Function` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]    --> src/builtins/function/mod.rs:199:17
[INFO] [stdout]     |
[INFO] [stdout] 199 | #[derive(Clone, 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_Function`
[INFO] [stdout] 200 | pub enum Function {
[INFO] [stdout]     |          -------- `Function` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]    --> src/builtins/function/mod.rs:199:24
[INFO] [stdout]     |
[INFO] [stdout] 199 | #[derive(Clone, Trace, Finalize)]
[INFO] [stdout]     |                        ^-------
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        `Finalize` is not local
[INFO] [stdout]     |                        move the `impl` block outside of this constant `_DERIVE_gc_Finalize_FOR_Function`
[INFO] [stdout] 200 | pub enum Function {
[INFO] [stdout]     |          -------- `Function` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/builtins/map/map_iterator.rs:17:24
[INFO] [stdout]    |
[INFO] [stdout] 17 | #[derive(Debug, Clone, Finalize, Trace)]
[INFO] [stdout]    |                        ^-------
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `Finalize` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this constant `_DERIVE_gc_Finalize_FOR_MapIterator`
[INFO] [stdout] 18 | pub struct MapIterator {
[INFO] [stdout]    |            ----------- `MapIterator` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/builtins/map/map_iterator.rs:17:34
[INFO] [stdout]    |
[INFO] [stdout] 17 | #[derive(Debug, Clone, Finalize, Trace)]
[INFO] [stdout]    |                                  ^----
[INFO] [stdout]    |                                  |
[INFO] [stdout]    |                                  `Trace` is not local
[INFO] [stdout]    |                                  move the `impl` block outside of this constant `_DERIVE_gc_Trace_FOR_MapIterator`
[INFO] [stdout] 18 | pub struct MapIterator {
[INFO] [stdout]    |            ----------- `MapIterator` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/builtins/map/map_iterator.rs:17:34
[INFO] [stdout]    |
[INFO] [stdout] 17 | #[derive(Debug, Clone, 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_MapIterator`
[INFO] [stdout] 18 | pub struct MapIterator {
[INFO] [stdout]    |            ----------- `MapIterator` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]    --> src/builtins/map/ordered_map.rs:211:17
[INFO] [stdout]     |
[INFO] [stdout] 211 | #[derive(Debug, Trace)]
[INFO] [stdout]     |                 ^----
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 `Trace` is not local
[INFO] [stdout]     |                 move the `impl` block outside of this constant `_DERIVE_gc_Trace_FOR_MapLock`
[INFO] [stdout] 212 | pub(crate) struct MapLock(JsObject);
[INFO] [stdout]     |                   ------- `MapLock` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]    --> src/builtins/map/ordered_map.rs:211:17
[INFO] [stdout]     |
[INFO] [stdout] 211 | #[derive(Debug, 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_MapLock`
[INFO] [stdout] 212 | pub(crate) struct MapLock(JsObject);
[INFO] [stdout]     |                   ------- `MapLock` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/builtins/object/for_in_iterator.rs:20:24
[INFO] [stdout]    |
[INFO] [stdout] 20 | #[derive(Debug, Clone, Finalize, Trace)]
[INFO] [stdout]    |                        ^-------
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `Finalize` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this constant `_DERIVE_gc_Finalize_FOR_ForInIterator`
[INFO] [stdout] 21 | pub struct ForInIterator {
[INFO] [stdout]    |            ------------- `ForInIterator` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/builtins/object/for_in_iterator.rs:20:34
[INFO] [stdout]    |
[INFO] [stdout] 20 | #[derive(Debug, Clone, Finalize, Trace)]
[INFO] [stdout]    |                                  ^----
[INFO] [stdout]    |                                  |
[INFO] [stdout]    |                                  `Trace` is not local
[INFO] [stdout]    |                                  move the `impl` block outside of this constant `_DERIVE_gc_Trace_FOR_ForInIterator`
[INFO] [stdout] 21 | pub struct ForInIterator {
[INFO] [stdout]    |            ------------- `ForInIterator` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/builtins/object/for_in_iterator.rs:20:34
[INFO] [stdout]    |
[INFO] [stdout] 20 | #[derive(Debug, Clone, 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_ForInIterator`
[INFO] [stdout] 21 | pub struct ForInIterator {
[INFO] [stdout]    |            ------------- `ForInIterator` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/builtins/regexp/mod.rs:36:24
[INFO] [stdout]    |
[INFO] [stdout] 36 | #[derive(Debug, Clone, Finalize)]
[INFO] [stdout]    |                        ^-------
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `Finalize` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this constant `_DERIVE_gc_Finalize_FOR_RegExp`
[INFO] [stdout] 37 | pub struct RegExp {
[INFO] [stdout]    |            ------ `RegExp` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/builtins/regexp/regexp_string_iterator.rs:24:24
[INFO] [stdout]    |
[INFO] [stdout] 24 | #[derive(Debug, Clone, Finalize, Trace)]
[INFO] [stdout]    |                        ^-------
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `Finalize` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this constant `_DERIVE_gc_Finalize_FOR_RegExpStringIterator`
[INFO] [stdout] 25 | pub struct RegExpStringIterator {
[INFO] [stdout]    |            -------------------- `RegExpStringIterator` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/builtins/regexp/regexp_string_iterator.rs:24:34
[INFO] [stdout]    |
[INFO] [stdout] 24 | #[derive(Debug, Clone, Finalize, Trace)]
[INFO] [stdout]    |                                  ^----
[INFO] [stdout]    |                                  |
[INFO] [stdout]    |                                  `Trace` is not local
[INFO] [stdout]    |                                  move the `impl` block outside of this constant `_DERIVE_gc_Trace_FOR_RegExpStringIterator`
[INFO] [stdout] 25 | pub struct RegExpStringIterator {
[INFO] [stdout]    |            -------------------- `RegExpStringIterator` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/builtins/regexp/regexp_string_iterator.rs:24:34
[INFO] [stdout]    |
[INFO] [stdout] 24 | #[derive(Debug, Clone, 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_RegExpStringIterator`
[INFO] [stdout] 25 | pub struct RegExpStringIterator {
[INFO] [stdout]    |            -------------------- `RegExpStringIterator` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/builtins/set/set_iterator.rs:19:24
[INFO] [stdout]    |
[INFO] [stdout] 19 | #[derive(Debug, Clone, Finalize, Trace)]
[INFO] [stdout]    |                        ^-------
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `Finalize` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this constant `_DERIVE_gc_Finalize_FOR_SetIterator`
[INFO] [stdout] 20 | pub struct SetIterator {
[INFO] [stdout]    |            ----------- `SetIterator` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/builtins/set/set_iterator.rs:19:34
[INFO] [stdout]    |
[INFO] [stdout] 19 | #[derive(Debug, Clone, Finalize, Trace)]
[INFO] [stdout]    |                                  ^----
[INFO] [stdout]    |                                  |
[INFO] [stdout]    |                                  `Trace` is not local
[INFO] [stdout]    |                                  move the `impl` block outside of this constant `_DERIVE_gc_Trace_FOR_SetIterator`
[INFO] [stdout] 20 | pub struct SetIterator {
[INFO] [stdout]    |            ----------- `SetIterator` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/builtins/set/set_iterator.rs:19:34
[INFO] [stdout]    |
[INFO] [stdout] 19 | #[derive(Debug, Clone, 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_SetIterator`
[INFO] [stdout] 20 | pub struct SetIterator {
[INFO] [stdout]    |            ----------- `SetIterator` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/builtins/string/string_iterator.rs:12:24
[INFO] [stdout]    |
[INFO] [stdout] 12 | #[derive(Debug, Clone, Finalize, Trace)]
[INFO] [stdout]    |                        ^-------
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `Finalize` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this constant `_DERIVE_gc_Finalize_FOR_StringIterator`
[INFO] [stdout] 13 | pub struct StringIterator {
[INFO] [stdout]    |            -------------- `StringIterator` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/builtins/string/string_iterator.rs:12:34
[INFO] [stdout]    |
[INFO] [stdout] 12 | #[derive(Debug, Clone, Finalize, Trace)]
[INFO] [stdout]    |                                  ^----
[INFO] [stdout]    |                                  |
[INFO] [stdout]    |                                  `Trace` is not local
[INFO] [stdout]    |                                  move the `impl` block outside of this constant `_DERIVE_gc_Trace_FOR_StringIterator`
[INFO] [stdout] 13 | pub struct StringIterator {
[INFO] [stdout]    |            -------------- `StringIterator` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/builtins/string/string_iterator.rs:12:34
[INFO] [stdout]    |
[INFO] [stdout] 12 | #[derive(Debug, Clone, 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_StringIterator`
[INFO] [stdout] 13 | pub struct StringIterator {
[INFO] [stdout]    |            -------------- `StringIterator` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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: calls to `std::mem::drop` with a value that implements `Copy` does nothing
[INFO] [stdout]    --> src/context.rs:858:9
[INFO] [stdout]     |
[INFO] [stdout] 858 |         drop(main_timer);
[INFO] [stdout]     |         ^^^^^----------^
[INFO] [stdout]     |              |
[INFO] [stdout]     |              argument has type `()`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dropping_copy_types)]` on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the expression or result
[INFO] [stdout]     |
[INFO] [stdout] 858 -         drop(main_timer);
[INFO] [stdout] 858 +         let _ = main_timer;
[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]   --> src/environment/declarative_environment_record.rs:25:10
[INFO] [stdout]    |
[INFO] [stdout] 25 | #[derive(Trace, Finalize, Debug, Clone)]
[INFO] [stdout]    |          ^----
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `Trace` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_DERIVE_gc_Trace_FOR_DeclarativeEnvironmentRecordBinding`
[INFO] [stdout] 26 | pub struct DeclarativeEnvironmentRecordBinding {
[INFO] [stdout]    |            ----------------------------------- `DeclarativeEnvironmentRecordBinding` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/environment/declarative_environment_record.rs:25:10
[INFO] [stdout]    |
[INFO] [stdout] 25 | #[derive(Trace, Finalize, Debug, Clone)]
[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_DeclarativeEnvironmentRecordBinding`
[INFO] [stdout] 26 | pub struct DeclarativeEnvironmentRecordBinding {
[INFO] [stdout]    |            ----------------------------------- `DeclarativeEnvironmentRecordBinding` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/environment/declarative_environment_record.rs:25:17
[INFO] [stdout]    |
[INFO] [stdout] 25 | #[derive(Trace, Finalize, Debug, Clone)]
[INFO] [stdout]    |                 ^-------
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 `Finalize` is not local
[INFO] [stdout]    |                 move the `impl` block outside of this constant `_DERIVE_gc_Finalize_FOR_DeclarativeEnvironmentRecordBinding`
[INFO] [stdout] 26 | pub struct DeclarativeEnvironmentRecordBinding {
[INFO] [stdout]    |            ----------------------------------- `DeclarativeEnvironmentRecordBinding` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/environment/declarative_environment_record.rs:35:17
[INFO] [stdout]    |
[INFO] [stdout] 35 | #[derive(Debug, Trace, Finalize, Clone)]
[INFO] [stdout]    |                 ^----
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 `Trace` is not local
[INFO] [stdout]    |                 move the `impl` block outside of this constant `_DERIVE_gc_Trace_FOR_DeclarativeEnvironmentRecord`
[INFO] [stdout] 36 | pub struct DeclarativeEnvironmentRecord {
[INFO] [stdout]    |            ---------------------------- `DeclarativeEnvironmentRecord` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/environment/declarative_environment_record.rs:35:17
[INFO] [stdout]    |
[INFO] [stdout] 35 | #[derive(Debug, Trace, Finalize, Clone)]
[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_DeclarativeEnvironmentRecord`
[INFO] [stdout] 36 | pub struct DeclarativeEnvironmentRecord {
[INFO] [stdout]    |            ---------------------------- `DeclarativeEnvironmentRecord` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/environment/declarative_environment_record.rs:35:24
[INFO] [stdout]    |
[INFO] [stdout] 35 | #[derive(Debug, Trace, Finalize, Clone)]
[INFO] [stdout]    |                        ^-------
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `Finalize` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this constant `_DERIVE_gc_Finalize_FOR_DeclarativeEnvironmentRecord`
[INFO] [stdout] 36 | pub struct DeclarativeEnvironmentRecord {
[INFO] [stdout]    |            ---------------------------- `DeclarativeEnvironmentRecord` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/environment/function_environment_record.rs:26:16
[INFO] [stdout]    |
[INFO] [stdout] 26 | #[derive(Copy, Finalize, Debug, Clone)]
[INFO] [stdout]    |                ^-------
[INFO] [stdout]    |                |
[INFO] [stdout]    |                `Finalize` is not local
[INFO] [stdout]    |                move the `impl` block outside of this constant `_DERIVE_gc_Finalize_FOR_BindingStatus`
[INFO] [stdout] 27 | pub enum BindingStatus {
[INFO] [stdout]    |          ------------- `BindingStatus` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/environment/function_environment_record.rs:41:17
[INFO] [stdout]    |
[INFO] [stdout] 41 | #[derive(Debug, Trace, Finalize, Clone)]
[INFO] [stdout]    |                 ^----
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 `Trace` is not local
[INFO] [stdout]    |                 move the `impl` block outside of this constant `_DERIVE_gc_Trace_FOR_FunctionEnvironmentRecord`
[INFO] [stdout] 42 | pub struct FunctionEnvironmentRecord {
[INFO] [stdout]    |            ------------------------- `FunctionEnvironmentRecord` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/environment/function_environment_record.rs:41:17
[INFO] [stdout]    |
[INFO] [stdout] 41 | #[derive(Debug, Trace, Finalize, Clone)]
[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_FunctionEnvironmentRecord`
[INFO] [stdout] 42 | pub struct FunctionEnvironmentRecord {
[INFO] [stdout]    |            ------------------------- `FunctionEnvironmentRecord` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/environment/function_environment_record.rs:41:24
[INFO] [stdout]    |
[INFO] [stdout] 41 | #[derive(Debug, Trace, Finalize, Clone)]
[INFO] [stdout]    |                        ^-------
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `Finalize` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this constant `_DERIVE_gc_Finalize_FOR_FunctionEnvironmentRecord`
[INFO] [stdout] 42 | pub struct FunctionEnvironmentRecord {
[INFO] [stdout]    |            ------------------------- `FunctionEnvironmentRecord` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/environment/global_environment_record.rs:25:17
[INFO] [stdout]    |
[INFO] [stdout] 25 | #[derive(Debug, Trace, Finalize, Clone)]
[INFO] [stdout]    |                 ^----
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 `Trace` is not local
[INFO] [stdout]    |                 move the `impl` block outside of this constant `_DERIVE_gc_Trace_FOR_GlobalEnvironmentRecord`
[INFO] [stdout] 26 | pub struct GlobalEnvironmentRecord {
[INFO] [stdout]    |            ----------------------- `GlobalEnvironmentRecord` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/environment/global_environment_record.rs:25:17
[INFO] [stdout]    |
[INFO] [stdout] 25 | #[derive(Debug, Trace, Finalize, Clone)]
[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_GlobalEnvironmentRecord`
[INFO] [stdout] 26 | pub struct GlobalEnvironmentRecord {
[INFO] [stdout]    |            ----------------------- `GlobalEnvironmentRecord` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/environment/global_environment_record.rs:25:24
[INFO] [stdout]    |
[INFO] [stdout] 25 | #[derive(Debug, Trace, Finalize, Clone)]
[INFO] [stdout]    |                        ^-------
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `Finalize` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this constant `_DERIVE_gc_Finalize_FOR_GlobalEnvironmentRecord`
[INFO] [stdout] 26 | pub struct GlobalEnvironmentRecord {
[INFO] [stdout]    |            ----------------------- `GlobalEnvironmentRecord` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/environment/object_environment_record.rs:23:17
[INFO] [stdout]    |
[INFO] [stdout] 23 | #[derive(Debug, Trace, Finalize, Clone)]
[INFO] [stdout]    |                 ^----
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 `Trace` is not local
[INFO] [stdout]    |                 move the `impl` block outside of this constant `_DERIVE_gc_Trace_FOR_ObjectEnvironmentRecord`
[INFO] [stdout] 24 | pub struct ObjectEnvironmentRecord {
[INFO] [stdout]    |            ----------------------- `ObjectEnvironmentRecord` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/environment/object_environment_record.rs:23:17
[INFO] [stdout]    |
[INFO] [stdout] 23 | #[derive(Debug, Trace, Finalize, Clone)]
[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_ObjectEnvironmentRecord`
[INFO] [stdout] 24 | pub struct ObjectEnvironmentRecord {
[INFO] [stdout]    |            ----------------------- `ObjectEnvironmentRecord` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/environment/object_environment_record.rs:23:24
[INFO] [stdout]    |
[INFO] [stdout] 23 | #[derive(Debug, Trace, Finalize, Clone)]
[INFO] [stdout]    |                        ^-------
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `Finalize` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this constant `_DERIVE_gc_Finalize_FOR_ObjectEnvironmentRecord`
[INFO] [stdout] 24 | pub struct ObjectEnvironmentRecord {
[INFO] [stdout]    |            ----------------------- `ObjectEnvironmentRecord` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/object/mod.rs:72:17
[INFO] [stdout]    |
[INFO] [stdout] 72 | #[derive(Debug, Trace, Finalize)]
[INFO] [stdout]    |                 ^----
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 `Trace` is not local
[INFO] [stdout]    |                 move the `impl` block outside of this constant `_DERIVE_gc_Trace_FOR_Object`
[INFO] [stdout] 73 | pub struct Object {
[INFO] [stdout]    |            ------ `Object` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/object/mod.rs:72:17
[INFO] [stdout]    |
[INFO] [stdout] 72 | #[derive(Debug, 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_Object`
[INFO] [stdout] 73 | pub struct Object {
[INFO] [stdout]    |            ------ `Object` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/object/mod.rs:72:24
[INFO] [stdout]    |
[INFO] [stdout] 72 | #[derive(Debug, Trace, Finalize)]
[INFO] [stdout]    |                        ^-------
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `Finalize` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this constant `_DERIVE_gc_Finalize_FOR_Object`
[INFO] [stdout] 73 | pub struct Object {
[INFO] [stdout]    |            ------ `Object` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/object/mod.rs:84:10
[INFO] [stdout]    |
[INFO] [stdout] 84 | #[derive(Trace, Finalize)]
[INFO] [stdout]    |          ^----
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `Trace` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_DERIVE_gc_Trace_FOR_ObjectData`
[INFO] [stdout] 85 | pub struct ObjectData {
[INFO] [stdout]    |            ---------- `ObjectData` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/object/mod.rs:84:10
[INFO] [stdout]    |
[INFO] [stdout] 84 | #[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_ObjectData`
[INFO] [stdout] 85 | pub struct ObjectData {
[INFO] [stdout]    |            ---------- `ObjectData` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/object/mod.rs:84:17
[INFO] [stdout]    |
[INFO] [stdout] 84 | #[derive(Trace, Finalize)]
[INFO] [stdout]    |                 ^-------
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 `Finalize` is not local
[INFO] [stdout]    |                 move the `impl` block outside of this constant `_DERIVE_gc_Finalize_FOR_ObjectData`
[INFO] [stdout] 85 | pub struct ObjectData {
[INFO] [stdout]    |            ---------- `ObjectData` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/object/mod.rs:91:17
[INFO] [stdout]    |
[INFO] [stdout] 91 | #[derive(Debug, Trace, Finalize)]
[INFO] [stdout]    |                 ^----
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 `Trace` is not local
[INFO] [stdout]    |                 move the `impl` block outside of this constant `_DERIVE_gc_Trace_FOR_ObjectKind`
[INFO] [stdout] 92 | pub enum ObjectKind {
[INFO] [stdout]    |          ---------- `ObjectKind` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/object/mod.rs:91:17
[INFO] [stdout]    |
[INFO] [stdout] 91 | #[derive(Debug, 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_ObjectKind`
[INFO] [stdout] 92 | pub enum ObjectKind {
[INFO] [stdout]    |          ---------- `ObjectKind` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/object/mod.rs:91:24
[INFO] [stdout]    |
[INFO] [stdout] 91 | #[derive(Debug, Trace, Finalize)]
[INFO] [stdout]    |                        ^-------
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `Finalize` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this constant `_DERIVE_gc_Finalize_FOR_ObjectKind`
[INFO] [stdout] 92 | pub enum ObjectKind {
[INFO] [stdout]    |          ---------- `ObjectKind` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/object/gcobject.rs:38:10
[INFO] [stdout]    |
[INFO] [stdout] 38 | #[derive(Trace, Finalize, Clone, Default)]
[INFO] [stdout]    |          ^----
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `Trace` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_DERIVE_gc_Trace_FOR_JsObject`
[INFO] [stdout] 39 | pub struct JsObject(Gc<GcCell<Object>>);
[INFO] [stdout]    |            -------- `JsObject` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/object/gcobject.rs:38:10
[INFO] [stdout]    |
[INFO] [stdout] 38 | #[derive(Trace, Finalize, Clone, Default)]
[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_JsObject`
[INFO] [stdout] 39 | pub struct JsObject(Gc<GcCell<Object>>);
[INFO] [stdout]    |            -------- `JsObject` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/object/gcobject.rs:38:17
[INFO] [stdout]    |
[INFO] [stdout] 38 | #[derive(Trace, Finalize, Clone, Default)]
[INFO] [stdout]    |                 ^-------
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 `Finalize` is not local
[INFO] [stdout]    |                 move the `impl` block outside of this constant `_DERIVE_gc_Finalize_FOR_JsObject`
[INFO] [stdout] 39 | pub struct JsObject(Gc<GcCell<Object>>);
[INFO] [stdout]    |            -------- `JsObject` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/object/property_map.rs:11:17
[INFO] [stdout]    |
[INFO] [stdout] 11 | #[derive(Debug, Finalize)]
[INFO] [stdout]    |                 ^-------
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 `Finalize` is not local
[INFO] [stdout]    |                 move the `impl` block outside of this constant `_DERIVE_gc_Finalize_FOR_OrderedHashMap`
[INFO] [stdout] 12 | struct OrderedHashMap<K: Trace>(IndexMap<K, PropertyDescriptor, BuildHasherDefault<FxHasher>>);
[INFO] [stdout]    |        -------------- `OrderedHashMap` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/object/property_map.rs:29:26
[INFO] [stdout]    |
[INFO] [stdout] 29 | #[derive(Default, Debug, Trace, Finalize)]
[INFO] [stdout]    |                          ^----
[INFO] [stdout]    |                          |
[INFO] [stdout]    |                          `Trace` is not local
[INFO] [stdout]    |                          move the `impl` block outside of this constant `_DERIVE_gc_Trace_FOR_PropertyMap`
[INFO] [stdout] 30 | pub struct PropertyMap {
[INFO] [stdout]    |            ----------- `PropertyMap` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/object/property_map.rs:29:26
[INFO] [stdout]    |
[INFO] [stdout] 29 | #[derive(Default, Debug, 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_PropertyMap`
[INFO] [stdout] 30 | pub struct PropertyMap {
[INFO] [stdout]    |            ----------- `PropertyMap` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/object/property_map.rs:29:33
[INFO] [stdout]    |
[INFO] [stdout] 29 | #[derive(Default, Debug, Trace, Finalize)]
[INFO] [stdout]    |                                 ^-------
[INFO] [stdout]    |                                 |
[INFO] [stdout]    |                                 `Finalize` is not local
[INFO] [stdout]    |                                 move the `impl` block outside of this constant `_DERIVE_gc_Finalize_FOR_PropertyMap`
[INFO] [stdout] 30 | pub struct PropertyMap {
[INFO] [stdout]    |            ----------- `PropertyMap` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/property/mod.rs:49:33
[INFO] [stdout]    |
[INFO] [stdout] 49 | #[derive(Default, Debug, Clone, Trace, Finalize)]
[INFO] [stdout]    |                                 ^----
[INFO] [stdout]    |                                 |
[INFO] [stdout]    |                                 `Trace` is not local
[INFO] [stdout]    |                                 move the `impl` block outside of this constant `_DERIVE_gc_Trace_FOR_PropertyDescriptor`
[INFO] [stdout] 50 | pub struct PropertyDescriptor {
[INFO] [stdout]    |            ------------------ `PropertyDescriptor` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/property/mod.rs:49:33
[INFO] [stdout]    |
[INFO] [stdout] 49 | #[derive(Default, Debug, Clone, 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_PropertyDescriptor`
[INFO] [stdout] 50 | pub struct PropertyDescriptor {
[INFO] [stdout]    |            ------------------ `PropertyDescriptor` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/property/mod.rs:49:40
[INFO] [stdout]    |
[INFO] [stdout] 49 | #[derive(Default, Debug, Clone, Trace, Finalize)]
[INFO] [stdout]    |                                        ^-------
[INFO] [stdout]    |                                        |
[INFO] [stdout]    |                                        `Finalize` is not local
[INFO] [stdout]    |                                        move the `impl` block outside of this constant `_DERIVE_gc_Finalize_FOR_PropertyDescriptor`
[INFO] [stdout] 50 | pub struct PropertyDescriptor {
[INFO] [stdout]    |            ------------------ `PropertyDescriptor` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/property/mod.rs:56:24
[INFO] [stdout]    |
[INFO] [stdout] 56 | #[derive(Debug, Clone, Trace, Finalize)]
[INFO] [stdout]    |                        ^----
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `Trace` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this constant `_DERIVE_gc_Trace_FOR_DescriptorKind`
[INFO] [stdout] 57 | pub enum DescriptorKind {
[INFO] [stdout]    |          -------------- `DescriptorKind` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/property/mod.rs:56:24
[INFO] [stdout]    |
[INFO] [stdout] 56 | #[derive(Debug, Clone, 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_DescriptorKind`
[INFO] [stdout] 57 | pub enum DescriptorKind {
[INFO] [stdout]    |          -------------- `DescriptorKind` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/property/mod.rs:56:31
[INFO] [stdout]    |
[INFO] [stdout] 56 | #[derive(Debug, Clone, Trace, Finalize)]
[INFO] [stdout]    |                               ^-------
[INFO] [stdout]    |                               |
[INFO] [stdout]    |                               `Finalize` is not local
[INFO] [stdout]    |                               move the `impl` block outside of this constant `_DERIVE_gc_Finalize_FOR_DescriptorKind`
[INFO] [stdout] 57 | pub enum DescriptorKind {
[INFO] [stdout]    |          -------------- `DescriptorKind` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]    --> src/property/mod.rs:476:10
[INFO] [stdout]     |
[INFO] [stdout] 476 | #[derive(Trace, Finalize, PartialEq, Debug, Clone)]
[INFO] [stdout]     |          ^----
[INFO] [stdout]     |          |
[INFO] [stdout]     |          `Trace` is not local
[INFO] [stdout]     |          move the `impl` block outside of this constant `_DERIVE_gc_Trace_FOR_PropertyKey`
[INFO] [stdout] 477 | pub enum PropertyKey {
[INFO] [stdout]     |          ----------- `PropertyKey` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]    --> src/property/mod.rs:476:10
[INFO] [stdout]     |
[INFO] [stdout] 476 | #[derive(Trace, Finalize, PartialEq, Debug, Clone)]
[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_PropertyKey`
[INFO] [stdout] 477 | pub enum PropertyKey {
[INFO] [stdout]     |          ----------- `PropertyKey` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]    --> src/property/mod.rs:476:17
[INFO] [stdout]     |
[INFO] [stdout] 476 | #[derive(Trace, Finalize, PartialEq, Debug, Clone)]
[INFO] [stdout]     |                 ^-------
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 `Finalize` is not local
[INFO] [stdout]     |                 move the `impl` block outside of this constant `_DERIVE_gc_Finalize_FOR_PropertyKey`
[INFO] [stdout] 477 | pub enum PropertyKey {
[INFO] [stdout]     |          ----------- `PropertyKey` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]    --> src/property/mod.rs:667:30
[INFO] [stdout]     |
[INFO] [stdout] 667 | #[derive(Debug, Clone, Copy, Finalize)]
[INFO] [stdout]     |                              ^-------
[INFO] [stdout]     |                              |
[INFO] [stdout]     |                              `Finalize` is not local
[INFO] [stdout]     |                              move the `impl` block outside of this constant `_DERIVE_gc_Finalize_FOR_PropertyNameKind`
[INFO] [stdout] 668 | pub(crate) enum PropertyNameKind {
[INFO] [stdout]     |                 ---------------- `PropertyNameKind` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/property/attribute/mod.rs:19:14
[INFO] [stdout]    |
[INFO] [stdout] 19 |     #[derive(Finalize)]
[INFO] [stdout]    |              ^-------
[INFO] [stdout]    |              |
[INFO] [stdout]    |              `Finalize` is not local
[INFO] [stdout]    |              move the `impl` block outside of this constant `_DERIVE_gc_Finalize_FOR_Attribute`
[INFO] [stdout] 20 |     pub struct Attribute: u8 {
[INFO] [stdout]    |                --------- `Attribute` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/syntax/ast/constant.rs:30:24
[INFO] [stdout]    |
[INFO] [stdout] 30 | #[derive(Clone, Debug, Trace, Finalize, PartialEq)]
[INFO] [stdout]    |                        ^----
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `Trace` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this constant `_DERIVE_gc_Trace_FOR_Const`
[INFO] [stdout] 31 | pub enum Const {
[INFO] [stdout]    |          ----- `Const` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/syntax/ast/constant.rs:30:24
[INFO] [stdout]    |
[INFO] [stdout] 30 | #[derive(Clone, Debug, Trace, Finalize, PartialEq)]
[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_Const`
[INFO] [stdout] 31 | pub enum Const {
[INFO] [stdout]    |          ----- `Const` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/syntax/ast/constant.rs:30:31
[INFO] [stdout]    |
[INFO] [stdout] 30 | #[derive(Clone, Debug, Trace, Finalize, PartialEq)]
[INFO] [stdout]    |                               ^-------
[INFO] [stdout]    |                               |
[INFO] [stdout]    |                               `Finalize` is not local
[INFO] [stdout]    |                               move the `impl` block outside of this constant `_DERIVE_gc_Finalize_FOR_Const`
[INFO] [stdout] 31 | pub enum Const {
[INFO] [stdout]    |          ----- `Const` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/syntax/ast/node/mod.rs:65:24
[INFO] [stdout]    |
[INFO] [stdout] 65 | #[derive(Clone, Debug, Trace, Finalize, PartialEq)]
[INFO] [stdout]    |                        ^----
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `Trace` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this constant `_DERIVE_gc_Trace_FOR_Node`
[INFO] [stdout] 66 | pub enum Node {
[INFO] [stdout]    |          ---- `Node` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/syntax/ast/node/mod.rs:65:24
[INFO] [stdout]    |
[INFO] [stdout] 65 | #[derive(Clone, Debug, Trace, Finalize, PartialEq)]
[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_Node`
[INFO] [stdout] 66 | pub enum Node {
[INFO] [stdout]    |          ---- `Node` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/syntax/ast/node/mod.rs:65:31
[INFO] [stdout]    |
[INFO] [stdout] 65 | #[derive(Clone, Debug, Trace, Finalize, PartialEq)]
[INFO] [stdout]    |                               ^-------
[INFO] [stdout]    |                               |
[INFO] [stdout]    |                               `Finalize` is not local
[INFO] [stdout]    |                               move the `impl` block outside of this constant `_DERIVE_gc_Finalize_FOR_Node`
[INFO] [stdout] 66 | pub enum Node {
[INFO] [stdout]    |          ---- `Node` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]    --> src/syntax/ast/node/mod.rs:402:35
[INFO] [stdout]     |
[INFO] [stdout] 402 | #[derive(Clone, Debug, PartialEq, Trace, Finalize)]
[INFO] [stdout]     |                                   ^----
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   `Trace` is not local
[INFO] [stdout]     |                                   move the `impl` block outside of this constant `_DERIVE_gc_Trace_FOR_FormalParameter`
[INFO] [stdout] 403 | pub struct FormalParameter {
[INFO] [stdout]     |            --------------- `FormalParameter` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]    --> src/syntax/ast/node/mod.rs:402:35
[INFO] [stdout]     |
[INFO] [stdout] 402 | #[derive(Clone, Debug, PartialEq, 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_FormalParameter`
[INFO] [stdout] 403 | pub struct FormalParameter {
[INFO] [stdout]     |            --------------- `FormalParameter` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]    --> src/syntax/ast/node/mod.rs:402:42
[INFO] [stdout]     |
[INFO] [stdout] 402 | #[derive(Clone, Debug, PartialEq, Trace, Finalize)]
[INFO] [stdout]     |                                          ^-------
[INFO] [stdout]     |                                          |
[INFO] [stdout]     |                                          `Finalize` is not local
[INFO] [stdout]     |                                          move the `impl` block outside of this constant `_DERIVE_gc_Finalize_FOR_FormalParameter`
[INFO] [stdout] 403 | pub struct FormalParameter {
[INFO] [stdout]     |            --------------- `FormalParameter` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]    --> src/syntax/ast/node/mod.rs:465:35
[INFO] [stdout]     |
[INFO] [stdout] 465 | #[derive(Clone, Debug, PartialEq, Trace, Finalize)]
[INFO] [stdout]     |                                   ^----
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   `Trace` is not local
[INFO] [stdout]     |                                   move the `impl` block outside of this constant `_DERIVE_gc_Trace_FOR_PropertyDefinition`
[INFO] [stdout] 466 | pub enum PropertyDefinition {
[INFO] [stdout]     |          ------------------ `PropertyDefinition` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]    --> src/syntax/ast/node/mod.rs:465:35
[INFO] [stdout]     |
[INFO] [stdout] 465 | #[derive(Clone, Debug, PartialEq, 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_PropertyDefinition`
[INFO] [stdout] 466 | pub enum PropertyDefinition {
[INFO] [stdout]     |          ------------------ `PropertyDefinition` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]    --> src/syntax/ast/node/mod.rs:465:42
[INFO] [stdout]     |
[INFO] [stdout] 465 | #[derive(Clone, Debug, PartialEq, Trace, Finalize)]
[INFO] [stdout]     |                                          ^-------
[INFO] [stdout]     |                                          |
[INFO] [stdout]     |                                          `Finalize` is not local
[INFO] [stdout]     |                                          move the `impl` block outside of this constant `_DERIVE_gc_Finalize_FOR_PropertyDefinition`
[INFO] [stdout] 466 | pub enum PropertyDefinition {
[INFO] [stdout]     |          ------------------ `PropertyDefinition` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]    --> src/syntax/ast/node/mod.rs:558:41
[INFO] [stdout]     |
[INFO] [stdout] 558 | #[derive(Clone, Debug, PartialEq, Copy, Finalize)]
[INFO] [stdout]     |                                         ^-------
[INFO] [stdout]     |                                         |
[INFO] [stdout]     |                                         `Finalize` is not local
[INFO] [stdout]     |                                         move the `impl` block outside of this constant `_DERIVE_gc_Finalize_FOR_MethodDefinitionKind`
[INFO] [stdout] 559 | pub enum MethodDefinitionKind {
[INFO] [stdout]     |          -------------------- `MethodDefinitionKind` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]    --> src/syntax/ast/node/mod.rs:614:35
[INFO] [stdout]     |
[INFO] [stdout] 614 | #[derive(Clone, Debug, PartialEq, Finalize)]
[INFO] [stdout]     |                                   ^-------
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   `Finalize` is not local
[INFO] [stdout]     |                                   move the `impl` block outside of this constant `_DERIVE_gc_Finalize_FOR_PropertyName`
[INFO] [stdout] 615 | pub enum PropertyName {
[INFO] [stdout]     |          ------------ `PropertyName` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/syntax/ast/node/array/mod.rs:35:24
[INFO] [stdout]    |
[INFO] [stdout] 35 | #[derive(Clone, Debug, Trace, Finalize, PartialEq)]
[INFO] [stdout]    |                        ^----
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `Trace` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this constant `_DERIVE_gc_Trace_FOR_ArrayDecl`
[INFO] [stdout] 36 | pub struct ArrayDecl {
[INFO] [stdout]    |            --------- `ArrayDecl` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/syntax/ast/node/array/mod.rs:35:24
[INFO] [stdout]    |
[INFO] [stdout] 35 | #[derive(Clone, Debug, Trace, Finalize, PartialEq)]
[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_ArrayDecl`
[INFO] [stdout] 36 | pub struct ArrayDecl {
[INFO] [stdout]    |            --------- `ArrayDecl` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/syntax/ast/node/array/mod.rs:35:31
[INFO] [stdout]    |
[INFO] [stdout] 35 | #[derive(Clone, Debug, Trace, Finalize, PartialEq)]
[INFO] [stdout]    |                               ^-------
[INFO] [stdout]    |                               |
[INFO] [stdout]    |                               `Finalize` is not local
[INFO] [stdout]    |                               move the `impl` block outside of this constant `_DERIVE_gc_Finalize_FOR_ArrayDecl`
[INFO] [stdout] 36 | pub struct ArrayDecl {
[INFO] [stdout]    |            --------- `ArrayDecl` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/syntax/ast/node/await_expr/mod.rs:24:24
[INFO] [stdout]    |
[INFO] [stdout] 24 | #[derive(Clone, Debug, Trace, Finalize, PartialEq)]
[INFO] [stdout]    |                        ^----
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `Trace` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this constant `_DERIVE_gc_Trace_FOR_AwaitExpr`
[INFO] [stdout] 25 | pub struct AwaitExpr {
[INFO] [stdout]    |            --------- `AwaitExpr` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/syntax/ast/node/await_expr/mod.rs:24:24
[INFO] [stdout]    |
[INFO] [stdout] 24 | #[derive(Clone, Debug, Trace, Finalize, PartialEq)]
[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_AwaitExpr`
[INFO] [stdout] 25 | pub struct AwaitExpr {
[INFO] [stdout]    |            --------- `AwaitExpr` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/syntax/ast/node/await_expr/mod.rs:24:31
[INFO] [stdout]    |
[INFO] [stdout] 24 | #[derive(Clone, Debug, Trace, Finalize, PartialEq)]
[INFO] [stdout]    |                               ^-------
[INFO] [stdout]    |                               |
[INFO] [stdout]    |                               `Finalize` is not local
[INFO] [stdout]    |                               move the `impl` block outside of this constant `_DERIVE_gc_Finalize_FOR_AwaitExpr`
[INFO] [stdout] 25 | pub struct AwaitExpr {
[INFO] [stdout]    |            --------- `AwaitExpr` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/syntax/ast/node/block/mod.rs:36:24
[INFO] [stdout]    |
[INFO] [stdout] 36 | #[derive(Clone, Debug, Trace, Finalize, PartialEq)]
[INFO] [stdout]    |                        ^----
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `Trace` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this constant `_DERIVE_gc_Trace_FOR_Block`
[INFO] [stdout] 37 | pub struct Block {
[INFO] [stdout]    |            ----- `Block` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/syntax/ast/node/block/mod.rs:36:24
[INFO] [stdout]    |
[INFO] [stdout] 36 | #[derive(Clone, Debug, Trace, Finalize, PartialEq)]
[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_Block`
[INFO] [stdout] 37 | pub struct Block {
[INFO] [stdout]    |            ----- `Block` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/syntax/ast/node/block/mod.rs:36:31
[INFO] [stdout]    |
[INFO] [stdout] 36 | #[derive(Clone, Debug, Trace, Finalize, PartialEq)]
[INFO] [stdout]    |                               ^-------
[INFO] [stdout]    |                               |
[INFO] [stdout]    |                               `Finalize` is not local
[INFO] [stdout]    |                               move the `impl` block outside of this constant `_DERIVE_gc_Finalize_FOR_Block`
[INFO] [stdout] 37 | pub struct Block {
[INFO] [stdout]    |            ----- `Block` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/syntax/ast/node/break_node/mod.rs:31:24
[INFO] [stdout]    |
[INFO] [stdout] 31 | #[derive(Clone, Debug, Trace, Finalize, PartialEq)]
[INFO] [stdout]    |                        ^----
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `Trace` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this constant `_DERIVE_gc_Trace_FOR_Break`
[INFO] [stdout] 32 | pub struct Break {
[INFO] [stdout]    |            ----- `Break` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/syntax/ast/node/break_node/mod.rs:31:24
[INFO] [stdout]    |
[INFO] [stdout] 31 | #[derive(Clone, Debug, Trace, Finalize, PartialEq)]
[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_Break`
[INFO] [stdout] 32 | pub struct Break {
[INFO] [stdout]    |            ----- `Break` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/syntax/ast/node/break_node/mod.rs:31:31
[INFO] [stdout]    |
[INFO] [stdout] 31 | #[derive(Clone, Debug, Trace, Finalize, PartialEq)]
[INFO] [stdout]    |                               ^-------
[INFO] [stdout]    |                               |
[INFO] [stdout]    |                               `Finalize` is not local
[INFO] [stdout]    |                               move the `impl` block outside of this constant `_DERIVE_gc_Finalize_FOR_Break`
[INFO] [stdout] 32 | pub struct Break {
[INFO] [stdout]    |            ----- `Break` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/syntax/ast/node/call/mod.rs:32:24
[INFO] [stdout]    |
[INFO] [stdout] 32 | #[derive(Clone, Debug, Trace, Finalize, PartialEq)]
[INFO] [stdout]    |                        ^----
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `Trace` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this constant `_DERIVE_gc_Trace_FOR_Call`
[INFO] [stdout] 33 | pub struct Call {
[INFO] [stdout]    |            ---- `Call` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/syntax/ast/node/call/mod.rs:32:24
[INFO] [stdout]    |
[INFO] [stdout] 32 | #[derive(Clone, Debug, Trace, Finalize, PartialEq)]
[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_Call`
[INFO] [stdout] 33 | pub struct Call {
[INFO] [stdout]    |            ---- `Call` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/syntax/ast/node/call/mod.rs:32:31
[INFO] [stdout]    |
[INFO] [stdout] 32 | #[derive(Clone, Debug, Trace, Finalize, PartialEq)]
[INFO] [stdout]    |                               ^-------
[INFO] [stdout]    |                               |
[INFO] [stdout]    |                               `Finalize` is not local
[INFO] [stdout]    |                               move the `impl` block outside of this constant `_DERIVE_gc_Finalize_FOR_Call`
[INFO] [stdout] 33 | pub struct Call {
[INFO] [stdout]    |            ---- `Call` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/syntax/ast/node/conditional/conditional_op/mod.rs:27:24
[INFO] [stdout]    |
[INFO] [stdout] 27 | #[derive(Clone, Debug, Trace, Finalize, PartialEq)]
[INFO] [stdout]    |                        ^----
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `Trace` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this constant `_DERIVE_gc_Trace_FOR_ConditionalOp`
[INFO] [stdout] 28 | pub struct ConditionalOp {
[INFO] [stdout]    |            ------------- `ConditionalOp` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/syntax/ast/node/conditional/conditional_op/mod.rs:27:24
[INFO] [stdout]    |
[INFO] [stdout] 27 | #[derive(Clone, Debug, Trace, Finalize, PartialEq)]
[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_ConditionalOp`
[INFO] [stdout] 28 | pub struct ConditionalOp {
[INFO] [stdout]    |            ------------- `ConditionalOp` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/syntax/ast/node/conditional/conditional_op/mod.rs:27:31
[INFO] [stdout]    |
[INFO] [stdout] 27 | #[derive(Clone, Debug, Trace, Finalize, PartialEq)]
[INFO] [stdout]    |                               ^-------
[INFO] [stdout]    |                               |
[INFO] [stdout]    |                               `Finalize` is not local
[INFO] [stdout]    |                               move the `impl` block outside of this constant `_DERIVE_gc_Finalize_FOR_ConditionalOp`
[INFO] [stdout] 28 | pub struct ConditionalOp {
[INFO] [stdout]    |            ------------- `ConditionalOp` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/syntax/ast/node/conditional/if_node/mod.rs:29:24
[INFO] [stdout]    |
[INFO] [stdout] 29 | #[derive(Clone, Debug, Trace, Finalize, PartialEq)]
[INFO] [stdout]    |                        ^----
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `Trace` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this constant `_DERIVE_gc_Trace_FOR_If`
[INFO] [stdout] 30 | pub struct If {
[INFO] [stdout]    |            -- `If` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/syntax/ast/node/conditional/if_node/mod.rs:29:24
[INFO] [stdout]    |
[INFO] [stdout] 29 | #[derive(Clone, Debug, Trace, Finalize, PartialEq)]
[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_If`
[INFO] [stdout] 30 | pub struct If {
[INFO] [stdout]    |            -- `If` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/syntax/ast/node/conditional/if_node/mod.rs:29:31
[INFO] [stdout]    |
[INFO] [stdout] 29 | #[derive(Clone, Debug, Trace, Finalize, PartialEq)]
[INFO] [stdout]    |                               ^-------
[INFO] [stdout]    |                               |
[INFO] [stdout]    |                               `Finalize` is not local
[INFO] [stdout]    |                               move the `impl` block outside of this constant `_DERIVE_gc_Finalize_FOR_If`
[INFO] [stdout] 30 | pub struct If {
[INFO] [stdout]    |            -- `If` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/syntax/ast/node/declaration/mod.rs:31:24
[INFO] [stdout]    |
[INFO] [stdout] 31 | #[derive(Clone, Debug, Trace, Finalize, PartialEq)]
[INFO] [stdout]    |                        ^----
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `Trace` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this constant `_DERIVE_gc_Trace_FOR_DeclarationList`
[INFO] [stdout] 32 | pub enum DeclarationList {
[INFO] [stdout]    |          --------------- `DeclarationList` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/syntax/ast/node/declaration/mod.rs:31:24
[INFO] [stdout]    |
[INFO] [stdout] 31 | #[derive(Clone, Debug, Trace, Finalize, PartialEq)]
[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_DeclarationList`
[INFO] [stdout] 32 | pub enum DeclarationList {
[INFO] [stdout]    |          --------------- `DeclarationList` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/syntax/ast/node/declaration/mod.rs:31:31
[INFO] [stdout]    |
[INFO] [stdout] 31 | #[derive(Clone, Debug, Trace, Finalize, PartialEq)]
[INFO] [stdout]    |                               ^-------
[INFO] [stdout]    |                               |
[INFO] [stdout]    |                               `Finalize` is not local
[INFO] [stdout]    |                               move the `impl` block outside of this constant `_DERIVE_gc_Finalize_FOR_DeclarationList`
[INFO] [stdout] 32 | pub enum DeclarationList {
[INFO] [stdout]    |          --------------- `DeclarationList` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]    --> src/syntax/ast/node/declaration/mod.rs:243:24
[INFO] [stdout]     |
[INFO] [stdout] 243 | #[derive(Clone, Debug, Trace, Finalize, PartialEq)]
[INFO] [stdout]     |                        ^----
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        `Trace` is not local
[INFO] [stdout]     |                        move the `impl` block outside of this constant `_DERIVE_gc_Trace_FOR_Declaration`
[INFO] [stdout] 244 | pub enum Declaration {
[INFO] [stdout]     |          ----------- `Declaration` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]    --> src/syntax/ast/node/declaration/mod.rs:243:24
[INFO] [stdout]     |
[INFO] [stdout] 243 | #[derive(Clone, Debug, Trace, Finalize, PartialEq)]
[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_Declaration`
[INFO] [stdout] 244 | pub enum Declaration {
[INFO] [stdout]     |          ----------- `Declaration` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]    --> src/syntax/ast/node/declaration/mod.rs:243:31
[INFO] [stdout]     |
[INFO] [stdout] 243 | #[derive(Clone, Debug, Trace, Finalize, PartialEq)]
[INFO] [stdout]     |                               ^-------
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               `Finalize` is not local
[INFO] [stdout]     |                               move the `impl` block outside of this constant `_DERIVE_gc_Finalize_FOR_Declaration`
[INFO] [stdout] 244 | pub enum Declaration {
[INFO] [stdout]     |          ----------- `Declaration` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]    --> src/syntax/ast/node/declaration/mod.rs:332:24
[INFO] [stdout]     |
[INFO] [stdout] 332 | #[derive(Clone, Debug, Trace, Finalize, PartialEq)]
[INFO] [stdout]     |                        ^----
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        `Trace` is not local
[INFO] [stdout]     |                        move the `impl` block outside of this constant `_DERIVE_gc_Trace_FOR_DeclarationPattern`
[INFO] [stdout] 333 | pub enum DeclarationPattern {
[INFO] [stdout]     |          ------------------ `DeclarationPattern` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]    --> src/syntax/ast/node/declaration/mod.rs:332:24
[INFO] [stdout]     |
[INFO] [stdout] 332 | #[derive(Clone, Debug, Trace, Finalize, PartialEq)]
[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_DeclarationPattern`
[INFO] [stdout] 333 | pub enum DeclarationPattern {
[INFO] [stdout]     |          ------------------ `DeclarationPattern` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]    --> src/syntax/ast/node/declaration/mod.rs:332:31
[INFO] [stdout]     |
[INFO] [stdout] 332 | #[derive(Clone, Debug, Trace, Finalize, PartialEq)]
[INFO] [stdout]     |                               ^-------
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               `Finalize` is not local
[INFO] [stdout]     |                               move the `impl` block outside of this constant `_DERIVE_gc_Finalize_FOR_DeclarationPattern`
[INFO] [stdout] 333 | pub enum DeclarationPattern {
[INFO] [stdout]     |          ------------------ `DeclarationPattern` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]    --> src/syntax/ast/node/declaration/mod.rs:399:24
[INFO] [stdout]     |
[INFO] [stdout] 399 | #[derive(Clone, Debug, Trace, Finalize, PartialEq)]
[INFO] [stdout]     |                        ^----
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        `Trace` is not local
[INFO] [stdout]     |                        move the `impl` block outside of this constant `_DERIVE_gc_Trace_FOR_DeclarationPatternObject`
[INFO] [stdout] 400 | pub struct DeclarationPatternObject {
[INFO] [stdout]     |            ------------------------ `DeclarationPatternObject` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]    --> src/syntax/ast/node/declaration/mod.rs:399:24
[INFO] [stdout]     |
[INFO] [stdout] 399 | #[derive(Clone, Debug, Trace, Finalize, PartialEq)]
[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_DeclarationPatternObject`
[INFO] [stdout] 400 | pub struct DeclarationPatternObject {
[INFO] [stdout]     |            ------------------------ `DeclarationPatternObject` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]    --> src/syntax/ast/node/declaration/mod.rs:399:31
[INFO] [stdout]     |
[INFO] [stdout] 399 | #[derive(Clone, Debug, Trace, Finalize, PartialEq)]
[INFO] [stdout]     |                               ^-------
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               `Finalize` is not local
[INFO] [stdout]     |                               move the `impl` block outside of this constant `_DERIVE_gc_Finalize_FOR_DeclarationPatternObject`
[INFO] [stdout] 400 | pub struct DeclarationPatternObject {
[INFO] [stdout]     |            ------------------------ `DeclarationPatternObject` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]    --> src/syntax/ast/node/declaration/mod.rs:604:24
[INFO] [stdout]     |
[INFO] [stdout] 604 | #[derive(Clone, Debug, Trace, Finalize, PartialEq)]
[INFO] [stdout]     |                        ^----
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        `Trace` is not local
[INFO] [stdout]     |                        move the `impl` block outside of this constant `_DERIVE_gc_Trace_FOR_DeclarationPatternArray`
[INFO] [stdout] 605 | pub struct DeclarationPatternArray {
[INFO] [stdout]     |            ----------------------- `DeclarationPatternArray` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]    --> src/syntax/ast/node/declaration/mod.rs:604:24
[INFO] [stdout]     |
[INFO] [stdout] 604 | #[derive(Clone, Debug, Trace, Finalize, PartialEq)]
[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_DeclarationPatternArray`
[INFO] [stdout] 605 | pub struct DeclarationPatternArray {
[INFO] [stdout]     |            ----------------------- `DeclarationPatternArray` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]    --> src/syntax/ast/node/declaration/mod.rs:604:31
[INFO] [stdout]     |
[INFO] [stdout] 604 | #[derive(Clone, Debug, Trace, Finalize, PartialEq)]
[INFO] [stdout]     |                               ^-------
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               `Finalize` is not local
[INFO] [stdout]     |                               move the `impl` block outside of this constant `_DERIVE_gc_Finalize_FOR_DeclarationPatternArray`
[INFO] [stdout] 605 | pub struct DeclarationPatternArray {
[INFO] [stdout]     |            ----------------------- `DeclarationPatternArray` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]    --> src/syntax/ast/node/declaration/mod.rs:879:24
[INFO] [stdout]     |
[INFO] [stdout] 879 | #[derive(Clone, Debug, Trace, Finalize, PartialEq)]
[INFO] [stdout]     |                        ^----
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        `Trace` is not local
[INFO] [stdout]     |                        move the `impl` block outside of this constant `_DERIVE_gc_Trace_FOR_BindingPatternTypeObject`
[INFO] [stdout] 880 | pub enum BindingPatternTypeObject {
[INFO] [stdout]     |          ------------------------ `BindingPatternTypeObject` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]    --> src/syntax/ast/node/declaration/mod.rs:879:24
[INFO] [stdout]     |
[INFO] [stdout] 879 | #[derive(Clone, Debug, Trace, Finalize, PartialEq)]
[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_BindingPatternTypeObject`
[INFO] [stdout] 880 | pub enum BindingPatternTypeObject {
[INFO] [stdout]     |          ------------------------ `BindingPatternTypeObject` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]    --> src/syntax/ast/node/declaration/mod.rs:879:31
[INFO] [stdout]     |
[INFO] [stdout] 879 | #[derive(Clone, Debug, Trace, Finalize, PartialEq)]
[INFO] [stdout]     |                               ^-------
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               `Finalize` is not local
[INFO] [stdout]     |                               move the `impl` block outside of this constant `_DERIVE_gc_Finalize_FOR_BindingPatternTypeObject`
[INFO] [stdout] 880 | pub enum BindingPatternTypeObject {
[INFO] [stdout]     |          ------------------------ `BindingPatternTypeObject` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]    --> src/syntax/ast/node/declaration/mod.rs:977:24
[INFO] [stdout]     |
[INFO] [stdout] 977 | #[derive(Clone, Debug, Trace, Finalize, PartialEq)]
[INFO] [stdout]     |                        ^----
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        `Trace` is not local
[INFO] [stdout]     |                        move the `impl` block outside of this constant `_DERIVE_gc_Trace_FOR_BindingPatternTypeArray`
[INFO] [stdout] 978 | pub enum BindingPatternTypeArray {
[INFO] [stdout]     |          ----------------------- `BindingPatternTypeArray` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]    --> src/syntax/ast/node/declaration/mod.rs:977:24
[INFO] [stdout]     |
[INFO] [stdout] 977 | #[derive(Clone, Debug, Trace, Finalize, PartialEq)]
[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_BindingPatternTypeArray`
[INFO] [stdout] 978 | pub enum BindingPatternTypeArray {
[INFO] [stdout]     |          ----------------------- `BindingPatternTypeArray` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]    --> src/syntax/ast/node/declaration/mod.rs:977:31
[INFO] [stdout]     |
[INFO] [stdout] 977 | #[derive(Clone, Debug, Trace, Finalize, PartialEq)]
[INFO] [stdout]     |                               ^-------
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               `Finalize` is not local
[INFO] [stdout]     |                               move the `impl` block outside of this constant `_DERIVE_gc_Finalize_FOR_BindingPatternTypeArray`
[INFO] [stdout] 978 | pub enum BindingPatternTypeArray {
[INFO] [stdout]     |          ----------------------- `BindingPatternTypeArray` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/syntax/ast/node/declaration/arrow_function_decl/mod.rs:27:24
[INFO] [stdout]    |
[INFO] [stdout] 27 | #[derive(Clone, Debug, Trace, Finalize, PartialEq)]
[INFO] [stdout]    |                        ^----
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `Trace` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this constant `_DERIVE_gc_Trace_FOR_ArrowFunctionDecl`
[INFO] [stdout] 28 | pub struct ArrowFunctionDecl {
[INFO] [stdout]    |            ----------------- `ArrowFunctionDecl` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/syntax/ast/node/declaration/arrow_function_decl/mod.rs:27:24
[INFO] [stdout]    |
[INFO] [stdout] 27 | #[derive(Clone, Debug, Trace, Finalize, PartialEq)]
[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_ArrowFunctionDecl`
[INFO] [stdout] 28 | pub struct ArrowFunctionDecl {
[INFO] [stdout]    |            ----------------- `ArrowFunctionDecl` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/syntax/ast/node/declaration/arrow_function_decl/mod.rs:27:31
[INFO] [stdout]    |
[INFO] [stdout] 27 | #[derive(Clone, Debug, Trace, Finalize, PartialEq)]
[INFO] [stdout]    |                               ^-------
[INFO] [stdout]    |                               |
[INFO] [stdout]    |                               `Finalize` is not local
[INFO] [stdout]    |                               move the `impl` block outside of this constant `_DERIVE_gc_Finalize_FOR_ArrowFunctionDecl`
[INFO] [stdout] 28 | pub struct ArrowFunctionDecl {
[INFO] [stdout]    |            ----------------- `ArrowFunctionDecl` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/syntax/ast/node/declaration/async_function_decl/mod.rs:23:24
[INFO] [stdout]    |
[INFO] [stdout] 23 | #[derive(Clone, Debug, Trace, Finalize, PartialEq)]
[INFO] [stdout]    |                        ^----
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `Trace` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this constant `_DERIVE_gc_Trace_FOR_AsyncFunctionDecl`
[INFO] [stdout] 24 | pub struct AsyncFunctionDecl {
[INFO] [stdout]    |            ----------------- `AsyncFunctionDecl` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/syntax/ast/node/declaration/async_function_decl/mod.rs:23:24
[INFO] [stdout]    |
[INFO] [stdout] 23 | #[derive(Clone, Debug, Trace, Finalize, PartialEq)]
[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_AsyncFunctionDecl`
[INFO] [stdout] 24 | pub struct AsyncFunctionDecl {
[INFO] [stdout]    |            ----------------- `AsyncFunctionDecl` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/syntax/ast/node/declaration/async_function_decl/mod.rs:23:31
[INFO] [stdout]    |
[INFO] [stdout] 23 | #[derive(Clone, Debug, Trace, Finalize, PartialEq)]
[INFO] [stdout]    |                               ^-------
[INFO] [stdout]    |                               |
[INFO] [stdout]    |                               `Finalize` is not local
[INFO] [stdout]    |                               move the `impl` block outside of this constant `_DERIVE_gc_Finalize_FOR_AsyncFunctionDecl`
[INFO] [stdout] 24 | pub struct AsyncFunctionDecl {
[INFO] [stdout]    |            ----------------- `AsyncFunctionDecl` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/syntax/ast/node/declaration/async_function_expr/mod.rs:24:24
[INFO] [stdout]    |
[INFO] [stdout] 24 | #[derive(Clone, Debug, Trace, Finalize, PartialEq)]
[INFO] [stdout]    |                        ^----
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `Trace` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this constant `_DERIVE_gc_Trace_FOR_AsyncFunctionExpr`
[INFO] [stdout] 25 | pub struct AsyncFunctionExpr {
[INFO] [stdout]    |            ----------------- `AsyncFunctionExpr` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/syntax/ast/node/declaration/async_function_expr/mod.rs:24:24
[INFO] [stdout]    |
[INFO] [stdout] 24 | #[derive(Clone, Debug, Trace, Finalize, PartialEq)]
[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_AsyncFunctionExpr`
[INFO] [stdout] 25 | pub struct AsyncFunctionExpr {
[INFO] [stdout]    |            ----------------- `AsyncFunctionExpr` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/syntax/ast/node/declaration/async_function_expr/mod.rs:24:31
[INFO] [stdout]    |
[INFO] [stdout] 24 | #[derive(Clone, Debug, Trace, Finalize, PartialEq)]
[INFO] [stdout]    |                               ^-------
[INFO] [stdout]    |                               |
[INFO] [stdout]    |                               `Finalize` is not local
[INFO] [stdout]    |                               move the `impl` block outside of this constant `_DERIVE_gc_Finalize_FOR_AsyncFunctionExpr`
[INFO] [stdout] 25 | pub struct AsyncFunctionExpr {
[INFO] [stdout]    |            ----------------- `AsyncFunctionExpr` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/syntax/ast/node/declaration/function_decl/mod.rs:33:24
[INFO] [stdout]    |
[INFO] [stdout] 33 | #[derive(Clone, Debug, Trace, Finalize, PartialEq)]
[INFO] [stdout]    |                        ^----
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `Trace` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this constant `_DERIVE_gc_Trace_FOR_FunctionDecl`
[INFO] [stdout] 34 | pub struct FunctionDecl {
[INFO] [stdout]    |            ------------ `FunctionDecl` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/syntax/ast/node/declaration/function_decl/mod.rs:33:24
[INFO] [stdout]    |
[INFO] [stdout] 33 | #[derive(Clone, Debug, Trace, Finalize, PartialEq)]
[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_FunctionDecl`
[INFO] [stdout] 34 | pub struct FunctionDecl {
[INFO] [stdout]    |            ------------ `FunctionDecl` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/syntax/ast/node/declaration/function_decl/mod.rs:33:31
[INFO] [stdout]    |
[INFO] [stdout] 33 | #[derive(Clone, Debug, Trace, Finalize, PartialEq)]
[INFO] [stdout]    |                               ^-------
[INFO] [stdout]    |                               |
[INFO] [stdout]    |                               `Finalize` is not local
[INFO] [stdout]    |                               move the `impl` block outside of this constant `_DERIVE_gc_Finalize_FOR_FunctionDecl`
[INFO] [stdout] 34 | pub struct FunctionDecl {
[INFO] [stdout]    |            ------------ `FunctionDecl` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/syntax/ast/node/declaration/function_expr/mod.rs:30:24
[INFO] [stdout]    |
[INFO] [stdout] 30 | #[derive(Clone, Debug, Trace, Finalize, PartialEq)]
[INFO] [stdout]    |                        ^----
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `Trace` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this constant `_DERIVE_gc_Trace_FOR_FunctionExpr`
[INFO] [stdout] 31 | pub struct FunctionExpr {
[INFO] [stdout]    |            ------------ `FunctionExpr` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/syntax/ast/node/declaration/function_expr/mod.rs:30:24
[INFO] [stdout]    |
[INFO] [stdout] 30 | #[derive(Clone, Debug, Trace, Finalize, PartialEq)]
[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_FunctionExpr`
[INFO] [stdout] 31 | pub struct FunctionExpr {
[INFO] [stdout]    |            ------------ `FunctionExpr` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/syntax/ast/node/declaration/function_expr/mod.rs:30:31
[INFO] [stdout]    |
[INFO] [stdout] 30 | #[derive(Clone, Debug, Trace, Finalize, PartialEq)]
[INFO] [stdout]    |                               ^-------
[INFO] [stdout]    |                               |
[INFO] [stdout]    |                               `Finalize` is not local
[INFO] [stdout]    |                               move the `impl` block outside of this constant `_DERIVE_gc_Finalize_FOR_FunctionExpr`
[INFO] [stdout] 31 | pub struct FunctionExpr {
[INFO] [stdout]    |            ------------ `FunctionExpr` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/syntax/ast/node/field/get_const_field/mod.rs:34:24
[INFO] [stdout]    |
[INFO] [stdout] 34 | #[derive(Clone, Debug, Trace, Finalize, PartialEq)]
[INFO] [stdout]    |                        ^----
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `Trace` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this constant `_DERIVE_gc_Trace_FOR_GetConstField`
[INFO] [stdout] 35 | pub struct GetConstField {
[INFO] [stdout]    |            ------------- `GetConstField` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/syntax/ast/node/field/get_const_field/mod.rs:34:24
[INFO] [stdout]    |
[INFO] [stdout] 34 | #[derive(Clone, Debug, Trace, Finalize, PartialEq)]
[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_GetConstField`
[INFO] [stdout] 35 | pub struct GetConstField {
[INFO] [stdout]    |            ------------- `GetConstField` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/syntax/ast/node/field/get_const_field/mod.rs:34:31
[INFO] [stdout]    |
[INFO] [stdout] 34 | #[derive(Clone, Debug, Trace, Finalize, PartialEq)]
[INFO] [stdout]    |                               ^-------
[INFO] [stdout]    |                               |
[INFO] [stdout]    |                               `Finalize` is not local
[INFO] [stdout]    |                               move the `impl` block outside of this constant `_DERIVE_gc_Finalize_FOR_GetConstField`
[INFO] [stdout] 35 | pub struct GetConstField {
[INFO] [stdout]    |            ------------- `GetConstField` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/syntax/ast/node/field/get_field/mod.rs:35:24
[INFO] [stdout]    |
[INFO] [stdout] 35 | #[derive(Clone, Debug, Trace, Finalize, PartialEq)]
[INFO] [stdout]    |                        ^----
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `Trace` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this constant `_DERIVE_gc_Trace_FOR_GetField`
[INFO] [stdout] 36 | pub struct GetField {
[INFO] [stdout]    |            -------- `GetField` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/syntax/ast/node/field/get_field/mod.rs:35:24
[INFO] [stdout]    |
[INFO] [stdout] 35 | #[derive(Clone, Debug, Trace, Finalize, PartialEq)]
[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_GetField`
[INFO] [stdout] 36 | pub struct GetField {
[INFO] [stdout]    |            -------- `GetField` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/syntax/ast/node/field/get_field/mod.rs:35:31
[INFO] [stdout]    |
[INFO] [stdout] 35 | #[derive(Clone, Debug, Trace, Finalize, PartialEq)]
[INFO] [stdout]    |                               ^-------
[INFO] [stdout]    |                               |
[INFO] [stdout]    |                               `Finalize` is not local
[INFO] [stdout]    |                               move the `impl` block outside of this constant `_DERIVE_gc_Finalize_FOR_GetField`
[INFO] [stdout] 36 | pub struct GetField {
[INFO] [stdout]    |            -------- `GetField` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/syntax/ast/node/identifier/mod.rs:31:24
[INFO] [stdout]    |
[INFO] [stdout] 31 | #[derive(Clone, Debug, Trace, Finalize, PartialEq)]
[INFO] [stdout]    |                        ^----
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `Trace` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this constant `_DERIVE_gc_Trace_FOR_Identifier`
[INFO] [stdout] 32 | pub struct Identifier {
[INFO] [stdout]    |            ---------- `Identifier` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/syntax/ast/node/identifier/mod.rs:31:24
[INFO] [stdout]    |
[INFO] [stdout] 31 | #[derive(Clone, Debug, Trace, Finalize, PartialEq)]
[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_Identifier`
[INFO] [stdout] 32 | pub struct Identifier {
[INFO] [stdout]    |            ---------- `Identifier` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/syntax/ast/node/identifier/mod.rs:31:31
[INFO] [stdout]    |
[INFO] [stdout] 31 | #[derive(Clone, Debug, Trace, Finalize, PartialEq)]
[INFO] [stdout]    |                               ^-------
[INFO] [stdout]    |                               |
[INFO] [stdout]    |                               `Finalize` is not local
[INFO] [stdout]    |                               move the `impl` block outside of this constant `_DERIVE_gc_Finalize_FOR_Identifier`
[INFO] [stdout] 32 | pub struct Identifier {
[INFO] [stdout]    |            ---------- `Identifier` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/syntax/ast/node/iteration/continue_node/mod.rs:26:24
[INFO] [stdout]    |
[INFO] [stdout] 26 | #[derive(Clone, Debug, Trace, Finalize, PartialEq)]
[INFO] [stdout]    |                        ^----
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `Trace` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this constant `_DERIVE_gc_Trace_FOR_Continue`
[INFO] [stdout] 27 | pub struct Continue {
[INFO] [stdout]    |            -------- `Continue` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/syntax/ast/node/iteration/continue_node/mod.rs:26:24
[INFO] [stdout]    |
[INFO] [stdout] 26 | #[derive(Clone, Debug, Trace, Finalize, PartialEq)]
[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_Continue`
[INFO] [stdout] 27 | pub struct Continue {
[INFO] [stdout]    |            -------- `Continue` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/syntax/ast/node/iteration/continue_node/mod.rs:26:31
[INFO] [stdout]    |
[INFO] [stdout] 26 | #[derive(Clone, Debug, Trace, Finalize, PartialEq)]
[INFO] [stdout]    |                               ^-------
[INFO] [stdout]    |                               |
[INFO] [stdout]    |                               `Finalize` is not local
[INFO] [stdout]    |                               move the `impl` block outside of this constant `_DERIVE_gc_Finalize_FOR_Continue`
[INFO] [stdout] 27 | pub struct Continue {
[INFO] [stdout]    |            -------- `Continue` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/syntax/ast/node/iteration/do_while_loop/mod.rs:25:24
[INFO] [stdout]    |
[INFO] [stdout] 25 | #[derive(Clone, Debug, Trace, Finalize, PartialEq)]
[INFO] [stdout]    |                        ^----
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `Trace` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this constant `_DERIVE_gc_Trace_FOR_DoWhileLoop`
[INFO] [stdout] 26 | pub struct DoWhileLoop {
[INFO] [stdout]    |            ----------- `DoWhileLoop` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/syntax/ast/node/iteration/do_while_loop/mod.rs:25:24
[INFO] [stdout]    |
[INFO] [stdout] 25 | #[derive(Clone, Debug, Trace, Finalize, PartialEq)]
[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_DoWhileLoop`
[INFO] [stdout] 26 | pub struct DoWhileLoop {
[INFO] [stdout]    |            ----------- `DoWhileLoop` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/syntax/ast/node/iteration/do_while_loop/mod.rs:25:31
[INFO] [stdout]    |
[INFO] [stdout] 25 | #[derive(Clone, Debug, Trace, Finalize, PartialEq)]
[INFO] [stdout]    |                               ^-------
[INFO] [stdout]    |                               |
[INFO] [stdout]    |                               `Finalize` is not local
[INFO] [stdout]    |                               move the `impl` block outside of this constant `_DERIVE_gc_Finalize_FOR_DoWhileLoop`
[INFO] [stdout] 26 | pub struct DoWhileLoop {
[INFO] [stdout]    |            ----------- `DoWhileLoop` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/syntax/ast/node/iteration/for_in_loop/mod.rs:18:24
[INFO] [stdout]    |
[INFO] [stdout] 18 | #[derive(Clone, Debug, Trace, Finalize, PartialEq)]
[INFO] [stdout]    |                        ^----
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `Trace` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this constant `_DERIVE_gc_Trace_FOR_ForInLoop`
[INFO] [stdout] 19 | pub struct ForInLoop {
[INFO] [stdout]    |            --------- `ForInLoop` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/syntax/ast/node/iteration/for_in_loop/mod.rs:18:24
[INFO] [stdout]    |
[INFO] [stdout] 18 | #[derive(Clone, Debug, Trace, Finalize, PartialEq)]
[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_ForInLoop`
[INFO] [stdout] 19 | pub struct ForInLoop {
[INFO] [stdout]    |            --------- `ForInLoop` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/syntax/ast/node/iteration/for_in_loop/mod.rs:18:31
[INFO] [stdout]    |
[INFO] [stdout] 18 | #[derive(Clone, Debug, Trace, Finalize, PartialEq)]
[INFO] [stdout]    |                               ^-------
[INFO] [stdout]    |                               |
[INFO] [stdout]    |                               `Finalize` is not local
[INFO] [stdout]    |                               move the `impl` block outside of this constant `_DERIVE_gc_Finalize_FOR_ForInLoop`
[INFO] [stdout] 19 | pub struct ForInLoop {
[INFO] [stdout]    |            --------- `ForInLoop` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/syntax/ast/node/iteration/for_loop/mod.rs:25:24
[INFO] [stdout]    |
[INFO] [stdout] 25 | #[derive(Clone, Debug, Trace, Finalize, PartialEq)]
[INFO] [stdout]    |                        ^----
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `Trace` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this constant `_DERIVE_gc_Trace_FOR_ForLoop`
[INFO] [stdout] 26 | pub struct ForLoop {
[INFO] [stdout]    |            ------- `ForLoop` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/syntax/ast/node/iteration/for_loop/mod.rs:25:24
[INFO] [stdout]    |
[INFO] [stdout] 25 | #[derive(Clone, Debug, Trace, Finalize, PartialEq)]
[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_ForLoop`
[INFO] [stdout] 26 | pub struct ForLoop {
[INFO] [stdout]    |            ------- `ForLoop` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/syntax/ast/node/iteration/for_loop/mod.rs:25:31
[INFO] [stdout]    |
[INFO] [stdout] 25 | #[derive(Clone, Debug, Trace, Finalize, PartialEq)]
[INFO] [stdout]    |                               ^-------
[INFO] [stdout]    |                               |
[INFO] [stdout]    |                               `Finalize` is not local
[INFO] [stdout]    |                               move the `impl` block outside of this constant `_DERIVE_gc_Finalize_FOR_ForLoop`
[INFO] [stdout] 26 | pub struct ForLoop {
[INFO] [stdout]    |            ------- `ForLoop` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]    --> src/syntax/ast/node/iteration/for_loop/mod.rs:164:24
[INFO] [stdout]     |
[INFO] [stdout] 164 | #[derive(Clone, Debug, Trace, Finalize, PartialEq)]
[INFO] [stdout]     |                        ^----
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        `Trace` is not local
[INFO] [stdout]     |                        move the `impl` block outside of this constant `_DERIVE_gc_Trace_FOR_InnerForLoop`
[INFO] [stdout] 165 | struct InnerForLoop {
[INFO] [stdout]     |        ------------ `InnerForLoop` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]    --> src/syntax/ast/node/iteration/for_loop/mod.rs:164:24
[INFO] [stdout]     |
[INFO] [stdout] 164 | #[derive(Clone, Debug, Trace, Finalize, PartialEq)]
[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_InnerForLoop`
[INFO] [stdout] 165 | struct InnerForLoop {
[INFO] [stdout]     |        ------------ `InnerForLoop` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]    --> src/syntax/ast/node/iteration/for_loop/mod.rs:164:31
[INFO] [stdout]     |
[INFO] [stdout] 164 | #[derive(Clone, Debug, Trace, Finalize, PartialEq)]
[INFO] [stdout]     |                               ^-------
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               `Finalize` is not local
[INFO] [stdout]     |                               move the `impl` block outside of this constant `_DERIVE_gc_Finalize_FOR_InnerForLoop`
[INFO] [stdout] 165 | struct InnerForLoop {
[INFO] [stdout]     |        ------------ `InnerForLoop` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/syntax/ast/node/iteration/for_of_loop/mod.rs:18:24
[INFO] [stdout]    |
[INFO] [stdout] 18 | #[derive(Clone, Debug, Trace, Finalize, PartialEq)]
[INFO] [stdout]    |                        ^----
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `Trace` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this constant `_DERIVE_gc_Trace_FOR_ForOfLoop`
[INFO] [stdout] 19 | pub struct ForOfLoop {
[INFO] [stdout]    |            --------- `ForOfLoop` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/syntax/ast/node/iteration/for_of_loop/mod.rs:18:24
[INFO] [stdout]    |
[INFO] [stdout] 18 | #[derive(Clone, Debug, Trace, Finalize, PartialEq)]
[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_ForOfLoop`
[INFO] [stdout] 19 | pub struct ForOfLoop {
[INFO] [stdout]    |            --------- `ForOfLoop` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/syntax/ast/node/iteration/for_of_loop/mod.rs:18:31
[INFO] [stdout]    |
[INFO] [stdout] 18 | #[derive(Clone, Debug, Trace, Finalize, PartialEq)]
[INFO] [stdout]    |                               ^-------
[INFO] [stdout]    |                               |
[INFO] [stdout]    |                               `Finalize` is not local
[INFO] [stdout]    |                               move the `impl` block outside of this constant `_DERIVE_gc_Finalize_FOR_ForOfLoop`
[INFO] [stdout] 19 | pub struct ForOfLoop {
[INFO] [stdout]    |            --------- `ForOfLoop` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/syntax/ast/node/iteration/while_loop/mod.rs:24:24
[INFO] [stdout]    |
[INFO] [stdout] 24 | #[derive(Clone, Debug, Trace, Finalize, PartialEq)]
[INFO] [stdout]    |                        ^----
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `Trace` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this constant `_DERIVE_gc_Trace_FOR_WhileLoop`
[INFO] [stdout] 25 | pub struct WhileLoop {
[INFO] [stdout]    |            --------- `WhileLoop` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/syntax/ast/node/iteration/while_loop/mod.rs:24:24
[INFO] [stdout]    |
[INFO] [stdout] 24 | #[derive(Clone, Debug, Trace, Finalize, PartialEq)]
[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_WhileLoop`
[INFO] [stdout] 25 | pub struct WhileLoop {
[INFO] [stdout]    |            --------- `WhileLoop` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/syntax/ast/node/iteration/while_loop/mod.rs:24:31
[INFO] [stdout]    |
[INFO] [stdout] 24 | #[derive(Clone, Debug, Trace, Finalize, PartialEq)]
[INFO] [stdout]    |                               ^-------
[INFO] [stdout]    |                               |
[INFO] [stdout]    |                               `Finalize` is not local
[INFO] [stdout]    |                               move the `impl` block outside of this constant `_DERIVE_gc_Finalize_FOR_WhileLoop`
[INFO] [stdout] 25 | pub struct WhileLoop {
[INFO] [stdout]    |            --------- `WhileLoop` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/syntax/ast/node/new/mod.rs:33:24
[INFO] [stdout]    |
[INFO] [stdout] 33 | #[derive(Clone, Debug, Trace, Finalize, PartialEq)]
[INFO] [stdout]    |                        ^----
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `Trace` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this constant `_DERIVE_gc_Trace_FOR_New`
[INFO] [stdout] 34 | pub struct New {
[INFO] [stdout]    |            --- `New` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/syntax/ast/node/new/mod.rs:33:24
[INFO] [stdout]    |
[INFO] [stdout] 33 | #[derive(Clone, Debug, Trace, Finalize, PartialEq)]
[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_New`
[INFO] [stdout] 34 | pub struct New {
[INFO] [stdout]    |            --- `New` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/syntax/ast/node/new/mod.rs:33:31
[INFO] [stdout]    |
[INFO] [stdout] 33 | #[derive(Clone, Debug, Trace, Finalize, PartialEq)]
[INFO] [stdout]    |                               ^-------
[INFO] [stdout]    |                               |
[INFO] [stdout]    |                               `Finalize` is not local
[INFO] [stdout]    |                               move the `impl` block outside of this constant `_DERIVE_gc_Finalize_FOR_New`
[INFO] [stdout] 34 | pub struct New {
[INFO] [stdout]    |            --- `New` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/syntax/ast/node/object/mod.rs:39:24
[INFO] [stdout]    |
[INFO] [stdout] 39 | #[derive(Clone, Debug, Trace, Finalize, PartialEq)]
[INFO] [stdout]    |                        ^----
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `Trace` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this constant `_DERIVE_gc_Trace_FOR_Object`
[INFO] [stdout] 40 | pub struct Object {
[INFO] [stdout]    |            ------ `Object` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/syntax/ast/node/object/mod.rs:39:24
[INFO] [stdout]    |
[INFO] [stdout] 39 | #[derive(Clone, Debug, Trace, Finalize, PartialEq)]
[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_Object`
[INFO] [stdout] 40 | pub struct Object {
[INFO] [stdout]    |            ------ `Object` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/syntax/ast/node/object/mod.rs:39:31
[INFO] [stdout]    |
[INFO] [stdout] 39 | #[derive(Clone, Debug, Trace, Finalize, PartialEq)]
[INFO] [stdout]    |                               ^-------
[INFO] [stdout]    |                               |
[INFO] [stdout]    |                               `Finalize` is not local
[INFO] [stdout]    |                               move the `impl` block outside of this constant `_DERIVE_gc_Finalize_FOR_Object`
[INFO] [stdout] 40 | pub struct Object {
[INFO] [stdout]    |            ------ `Object` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/syntax/ast/node/operator/assign/mod.rs:25:24
[INFO] [stdout]    |
[INFO] [stdout] 25 | #[derive(Clone, Debug, Trace, Finalize, PartialEq)]
[INFO] [stdout]    |                        ^----
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `Trace` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this constant `_DERIVE_gc_Trace_FOR_Assign`
[INFO] [stdout] 26 | pub struct Assign {
[INFO] [stdout]    |            ------ `Assign` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/syntax/ast/node/operator/assign/mod.rs:25:24
[INFO] [stdout]    |
[INFO] [stdout] 25 | #[derive(Clone, Debug, Trace, Finalize, PartialEq)]
[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_Assign`
[INFO] [stdout] 26 | pub struct Assign {
[INFO] [stdout]    |            ------ `Assign` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/syntax/ast/node/operator/assign/mod.rs:25:31
[INFO] [stdout]    |
[INFO] [stdout] 25 | #[derive(Clone, Debug, Trace, Finalize, PartialEq)]
[INFO] [stdout]    |                               ^-------
[INFO] [stdout]    |                               |
[INFO] [stdout]    |                               `Finalize` is not local
[INFO] [stdout]    |                               move the `impl` block outside of this constant `_DERIVE_gc_Finalize_FOR_Assign`
[INFO] [stdout] 26 | pub struct Assign {
[INFO] [stdout]    |            ------ `Assign` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/syntax/ast/node/operator/bin_op/mod.rs:23:24
[INFO] [stdout]    |
[INFO] [stdout] 23 | #[derive(Clone, Debug, Trace, Finalize, PartialEq)]
[INFO] [stdout]    |                        ^----
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `Trace` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this constant `_DERIVE_gc_Trace_FOR_BinOp`
[INFO] [stdout] 24 | pub struct BinOp {
[INFO] [stdout]    |            ----- `BinOp` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/syntax/ast/node/operator/bin_op/mod.rs:23:24
[INFO] [stdout]    |
[INFO] [stdout] 23 | #[derive(Clone, Debug, Trace, Finalize, PartialEq)]
[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_BinOp`
[INFO] [stdout] 24 | pub struct BinOp {
[INFO] [stdout]    |            ----- `BinOp` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/syntax/ast/node/operator/bin_op/mod.rs:23:31
[INFO] [stdout]    |
[INFO] [stdout] 23 | #[derive(Clone, Debug, Trace, Finalize, PartialEq)]
[INFO] [stdout]    |                               ^-------
[INFO] [stdout]    |                               |
[INFO] [stdout]    |                               `Finalize` is not local
[INFO] [stdout]    |                               move the `impl` block outside of this constant `_DERIVE_gc_Finalize_FOR_BinOp`
[INFO] [stdout] 24 | pub struct BinOp {
[INFO] [stdout]    |            ----- `BinOp` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/syntax/ast/node/operator/unary_op/mod.rs:23:24
[INFO] [stdout]    |
[INFO] [stdout] 23 | #[derive(Clone, Debug, Trace, Finalize, PartialEq)]
[INFO] [stdout]    |                        ^----
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `Trace` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this constant `_DERIVE_gc_Trace_FOR_UnaryOp`
[INFO] [stdout] 24 | pub struct UnaryOp {
[INFO] [stdout]    |            ------- `UnaryOp` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/syntax/ast/node/operator/unary_op/mod.rs:23:24
[INFO] [stdout]    |
[INFO] [stdout] 23 | #[derive(Clone, Debug, Trace, Finalize, PartialEq)]
[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_UnaryOp`
[INFO] [stdout] 24 | pub struct UnaryOp {
[INFO] [stdout]    |            ------- `UnaryOp` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/syntax/ast/node/operator/unary_op/mod.rs:23:31
[INFO] [stdout]    |
[INFO] [stdout] 23 | #[derive(Clone, Debug, Trace, Finalize, PartialEq)]
[INFO] [stdout]    |                               ^-------
[INFO] [stdout]    |                               |
[INFO] [stdout]    |                               `Finalize` is not local
[INFO] [stdout]    |                               move the `impl` block outside of this constant `_DERIVE_gc_Finalize_FOR_UnaryOp`
[INFO] [stdout] 24 | pub struct UnaryOp {
[INFO] [stdout]    |            ------- `UnaryOp` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/syntax/ast/node/return_smt/mod.rs:34:24
[INFO] [stdout]    |
[INFO] [stdout] 34 | #[derive(Clone, Debug, Trace, Finalize, PartialEq)]
[INFO] [stdout]    |                        ^----
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `Trace` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this constant `_DERIVE_gc_Trace_FOR_Return`
[INFO] [stdout] 35 | pub struct Return {
[INFO] [stdout]    |            ------ `Return` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/syntax/ast/node/return_smt/mod.rs:34:24
[INFO] [stdout]    |
[INFO] [stdout] 34 | #[derive(Clone, Debug, Trace, Finalize, PartialEq)]
[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_Return`
[INFO] [stdout] 35 | pub struct Return {
[INFO] [stdout]    |            ------ `Return` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/syntax/ast/node/return_smt/mod.rs:34:31
[INFO] [stdout]    |
[INFO] [stdout] 34 | #[derive(Clone, Debug, Trace, Finalize, PartialEq)]
[INFO] [stdout]    |                               ^-------
[INFO] [stdout]    |                               |
[INFO] [stdout]    |                               `Finalize` is not local
[INFO] [stdout]    |                               move the `impl` block outside of this constant `_DERIVE_gc_Finalize_FOR_Return`
[INFO] [stdout] 35 | pub struct Return {
[INFO] [stdout]    |            ------ `Return` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/syntax/ast/node/spread/mod.rs:33:24
[INFO] [stdout]    |
[INFO] [stdout] 33 | #[derive(Clone, Debug, Trace, Finalize, PartialEq)]
[INFO] [stdout]    |                        ^----
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `Trace` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this constant `_DERIVE_gc_Trace_FOR_Spread`
[INFO] [stdout] 34 | pub struct Spread {
[INFO] [stdout]    |            ------ `Spread` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/syntax/ast/node/spread/mod.rs:33:24
[INFO] [stdout]    |
[INFO] [stdout] 33 | #[derive(Clone, Debug, Trace, Finalize, PartialEq)]
[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_Spread`
[INFO] [stdout] 34 | pub struct Spread {
[INFO] [stdout]    |            ------ `Spread` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/syntax/ast/node/spread/mod.rs:33:31
[INFO] [stdout]    |
[INFO] [stdout] 33 | #[derive(Clone, Debug, Trace, Finalize, PartialEq)]
[INFO] [stdout]    |                               ^-------
[INFO] [stdout]    |                               |
[INFO] [stdout]    |                               `Finalize` is not local
[INFO] [stdout]    |                               move the `impl` block outside of this constant `_DERIVE_gc_Finalize_FOR_Spread`
[INFO] [stdout] 34 | pub struct Spread {
[INFO] [stdout]    |            ------ `Spread` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/syntax/ast/node/statement_list/mod.rs:27:24
[INFO] [stdout]    |
[INFO] [stdout] 27 | #[derive(Clone, Debug, Trace, Finalize, PartialEq)]
[INFO] [stdout]    |                        ^----
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `Trace` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this constant `_DERIVE_gc_Trace_FOR_StatementList`
[INFO] [stdout] 28 | pub struct StatementList {
[INFO] [stdout]    |            ------------- `StatementList` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/syntax/ast/node/statement_list/mod.rs:27:24
[INFO] [stdout]    |
[INFO] [stdout] 27 | #[derive(Clone, Debug, Trace, Finalize, PartialEq)]
[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_StatementList`
[INFO] [stdout] 28 | pub struct StatementList {
[INFO] [stdout]    |            ------------- `StatementList` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/syntax/ast/node/statement_list/mod.rs:27:31
[INFO] [stdout]    |
[INFO] [stdout] 27 | #[derive(Clone, Debug, Trace, Finalize, PartialEq)]
[INFO] [stdout]    |                               ^-------
[INFO] [stdout]    |                               |
[INFO] [stdout]    |                               `Finalize` is not local
[INFO] [stdout]    |                               move the `impl` block outside of this constant `_DERIVE_gc_Finalize_FOR_StatementList`
[INFO] [stdout] 28 | pub struct StatementList {
[INFO] [stdout]    |            ------------- `StatementList` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]    --> src/syntax/ast/node/statement_list/mod.rs:208:24
[INFO] [stdout]     |
[INFO] [stdout] 208 | #[derive(Clone, Debug, Finalize, PartialEq)]
[INFO] [stdout]     |                        ^-------
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        `Finalize` is not local
[INFO] [stdout]     |                        move the `impl` block outside of this constant `_DERIVE_gc_Finalize_FOR_RcStatementList`
[INFO] [stdout] 209 | pub struct RcStatementList(Rc<StatementList>);
[INFO] [stdout]     |            --------------- `RcStatementList` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/syntax/ast/node/switch/mod.rs:20:24
[INFO] [stdout]    |
[INFO] [stdout] 20 | #[derive(Clone, Debug, Trace, Finalize, PartialEq)]
[INFO] [stdout]    |                        ^----
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `Trace` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this constant `_DERIVE_gc_Trace_FOR_Case`
[INFO] [stdout] 21 | pub struct Case {
[INFO] [stdout]    |            ---- `Case` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/syntax/ast/node/switch/mod.rs:20:24
[INFO] [stdout]    |
[INFO] [stdout] 20 | #[derive(Clone, Debug, Trace, Finalize, PartialEq)]
[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_Case`
[INFO] [stdout] 21 | pub struct Case {
[INFO] [stdout]    |            ---- `Case` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/syntax/ast/node/switch/mod.rs:20:31
[INFO] [stdout]    |
[INFO] [stdout] 20 | #[derive(Clone, Debug, Trace, Finalize, PartialEq)]
[INFO] [stdout]    |                               ^-------
[INFO] [stdout]    |                               |
[INFO] [stdout]    |                               `Finalize` is not local
[INFO] [stdout]    |                               move the `impl` block outside of this constant `_DERIVE_gc_Finalize_FOR_Case`
[INFO] [stdout] 21 | pub struct Case {
[INFO] [stdout]    |            ---- `Case` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/syntax/ast/node/switch/mod.rs:67:24
[INFO] [stdout]    |
[INFO] [stdout] 67 | #[derive(Clone, Debug, Trace, Finalize, PartialEq)]
[INFO] [stdout]    |                        ^----
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `Trace` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this constant `_DERIVE_gc_Trace_FOR_Switch`
[INFO] [stdout] 68 | pub struct Switch {
[INFO] [stdout]    |            ------ `Switch` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/syntax/ast/node/switch/mod.rs:67:24
[INFO] [stdout]    |
[INFO] [stdout] 67 | #[derive(Clone, Debug, Trace, Finalize, PartialEq)]
[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_Switch`
[INFO] [stdout] 68 | pub struct Switch {
[INFO] [stdout]    |            ------ `Switch` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/syntax/ast/node/switch/mod.rs:67:31
[INFO] [stdout]    |
[INFO] [stdout] 67 | #[derive(Clone, Debug, Trace, Finalize, PartialEq)]
[INFO] [stdout]    |                               ^-------
[INFO] [stdout]    |                               |
[INFO] [stdout]    |                               `Finalize` is not local
[INFO] [stdout]    |                               move the `impl` block outside of this constant `_DERIVE_gc_Finalize_FOR_Switch`
[INFO] [stdout] 68 | pub struct Switch {
[INFO] [stdout]    |            ------ `Switch` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/syntax/ast/node/template/mod.rs:23:24
[INFO] [stdout]    |
[INFO] [stdout] 23 | #[derive(Clone, Debug, Trace, Finalize, PartialEq)]
[INFO] [stdout]    |                        ^----
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `Trace` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this constant `_DERIVE_gc_Trace_FOR_TemplateLit`
[INFO] [stdout] 24 | pub struct TemplateLit {
[INFO] [stdout]    |            ----------- `TemplateLit` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/syntax/ast/node/template/mod.rs:23:24
[INFO] [stdout]    |
[INFO] [stdout] 23 | #[derive(Clone, Debug, Trace, Finalize, PartialEq)]
[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_TemplateLit`
[INFO] [stdout] 24 | pub struct TemplateLit {
[INFO] [stdout]    |            ----------- `TemplateLit` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/syntax/ast/node/template/mod.rs:23:31
[INFO] [stdout]    |
[INFO] [stdout] 23 | #[derive(Clone, Debug, Trace, Finalize, PartialEq)]
[INFO] [stdout]    |                               ^-------
[INFO] [stdout]    |                               |
[INFO] [stdout]    |                               `Finalize` is not local
[INFO] [stdout]    |                               move the `impl` block outside of this constant `_DERIVE_gc_Finalize_FOR_TemplateLit`
[INFO] [stdout] 24 | pub struct TemplateLit {
[INFO] [stdout]    |            ----------- `TemplateLit` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/syntax/ast/node/template/mod.rs:68:24
[INFO] [stdout]    |
[INFO] [stdout] 68 | #[derive(Clone, Debug, Trace, Finalize, PartialEq)]
[INFO] [stdout]    |                        ^----
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `Trace` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this constant `_DERIVE_gc_Trace_FOR_TaggedTemplate`
[INFO] [stdout] 69 | pub struct TaggedTemplate {
[INFO] [stdout]    |            -------------- `TaggedTemplate` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/syntax/ast/node/template/mod.rs:68:24
[INFO] [stdout]    |
[INFO] [stdout] 68 | #[derive(Clone, Debug, Trace, Finalize, PartialEq)]
[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_TaggedTemplate`
[INFO] [stdout] 69 | pub struct TaggedTemplate {
[INFO] [stdout]    |            -------------- `TaggedTemplate` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/syntax/ast/node/template/mod.rs:68:31
[INFO] [stdout]    |
[INFO] [stdout] 68 | #[derive(Clone, Debug, Trace, Finalize, PartialEq)]
[INFO] [stdout]    |                               ^-------
[INFO] [stdout]    |                               |
[INFO] [stdout]    |                               `Finalize` is not local
[INFO] [stdout]    |                               move the `impl` block outside of this constant `_DERIVE_gc_Finalize_FOR_TaggedTemplate`
[INFO] [stdout] 69 | pub struct TaggedTemplate {
[INFO] [stdout]    |            -------------- `TaggedTemplate` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]    --> src/syntax/ast/node/template/mod.rs:160:24
[INFO] [stdout]     |
[INFO] [stdout] 160 | #[derive(Clone, Debug, Trace, Finalize, PartialEq)]
[INFO] [stdout]     |                        ^----
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        `Trace` is not local
[INFO] [stdout]     |                        move the `impl` block outside of this constant `_DERIVE_gc_Trace_FOR_TemplateElement`
[INFO] [stdout] 161 | pub enum TemplateElement {
[INFO] [stdout]     |          --------------- `TemplateElement` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]    --> src/syntax/ast/node/template/mod.rs:160:24
[INFO] [stdout]     |
[INFO] [stdout] 160 | #[derive(Clone, Debug, Trace, Finalize, PartialEq)]
[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_TemplateElement`
[INFO] [stdout] 161 | pub enum TemplateElement {
[INFO] [stdout]     |          --------------- `TemplateElement` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]    --> src/syntax/ast/node/template/mod.rs:160:31
[INFO] [stdout]     |
[INFO] [stdout] 160 | #[derive(Clone, Debug, Trace, Finalize, PartialEq)]
[INFO] [stdout]     |                               ^-------
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               `Finalize` is not local
[INFO] [stdout]     |                               move the `impl` block outside of this constant `_DERIVE_gc_Finalize_FOR_TemplateElement`
[INFO] [stdout] 161 | pub enum TemplateElement {
[INFO] [stdout]     |          --------------- `TemplateElement` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/syntax/ast/node/throw/mod.rs:30:24
[INFO] [stdout]    |
[INFO] [stdout] 30 | #[derive(Clone, Debug, Trace, Finalize, PartialEq)]
[INFO] [stdout]    |                        ^----
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `Trace` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this constant `_DERIVE_gc_Trace_FOR_Throw`
[INFO] [stdout] 31 | pub struct Throw {
[INFO] [stdout]    |            ----- `Throw` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/syntax/ast/node/throw/mod.rs:30:24
[INFO] [stdout]    |
[INFO] [stdout] 30 | #[derive(Clone, Debug, Trace, Finalize, PartialEq)]
[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_Throw`
[INFO] [stdout] 31 | pub struct Throw {
[INFO] [stdout]    |            ----- `Throw` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/syntax/ast/node/throw/mod.rs:30:31
[INFO] [stdout]    |
[INFO] [stdout] 30 | #[derive(Clone, Debug, Trace, Finalize, PartialEq)]
[INFO] [stdout]    |                               ^-------
[INFO] [stdout]    |                               |
[INFO] [stdout]    |                               `Finalize` is not local
[INFO] [stdout]    |                               move the `impl` block outside of this constant `_DERIVE_gc_Finalize_FOR_Throw`
[INFO] [stdout] 31 | pub struct Throw {
[INFO] [stdout]    |            ----- `Throw` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/syntax/ast/node/try_node/mod.rs:33:24
[INFO] [stdout]    |
[INFO] [stdout] 33 | #[derive(Clone, Debug, Trace, Finalize, PartialEq)]
[INFO] [stdout]    |                        ^----
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `Trace` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this constant `_DERIVE_gc_Trace_FOR_Try`
[INFO] [stdout] 34 | pub struct Try {
[INFO] [stdout]    |            --- `Try` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/syntax/ast/node/try_node/mod.rs:33:24
[INFO] [stdout]    |
[INFO] [stdout] 33 | #[derive(Clone, Debug, Trace, Finalize, PartialEq)]
[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_Try`
[INFO] [stdout] 34 | pub struct Try {
[INFO] [stdout]    |            --- `Try` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/syntax/ast/node/try_node/mod.rs:33:31
[INFO] [stdout]    |
[INFO] [stdout] 33 | #[derive(Clone, Debug, Trace, Finalize, PartialEq)]
[INFO] [stdout]    |                               ^-------
[INFO] [stdout]    |                               |
[INFO] [stdout]    |                               `Finalize` is not local
[INFO] [stdout]    |                               move the `impl` block outside of this constant `_DERIVE_gc_Finalize_FOR_Try`
[INFO] [stdout] 34 | pub struct Try {
[INFO] [stdout]    |            --- `Try` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]    --> src/syntax/ast/node/try_node/mod.rs:148:24
[INFO] [stdout]     |
[INFO] [stdout] 148 | #[derive(Clone, Debug, Trace, Finalize, PartialEq)]
[INFO] [stdout]     |                        ^----
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        `Trace` is not local
[INFO] [stdout]     |                        move the `impl` block outside of this constant `_DERIVE_gc_Trace_FOR_Catch`
[INFO] [stdout] 149 | pub struct Catch {
[INFO] [stdout]     |            ----- `Catch` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]    --> src/syntax/ast/node/try_node/mod.rs:148:24
[INFO] [stdout]     |
[INFO] [stdout] 148 | #[derive(Clone, Debug, Trace, Finalize, PartialEq)]
[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_Catch`
[INFO] [stdout] 149 | pub struct Catch {
[INFO] [stdout]     |            ----- `Catch` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]    --> src/syntax/ast/node/try_node/mod.rs:148:31
[INFO] [stdout]     |
[INFO] [stdout] 148 | #[derive(Clone, Debug, Trace, Finalize, PartialEq)]
[INFO] [stdout]     |                               ^-------
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               `Finalize` is not local
[INFO] [stdout]     |                               move the `impl` block outside of this constant `_DERIVE_gc_Finalize_FOR_Catch`
[INFO] [stdout] 149 | pub struct Catch {
[INFO] [stdout]     |            ----- `Catch` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]    --> src/syntax/ast/node/try_node/mod.rs:197:24
[INFO] [stdout]     |
[INFO] [stdout] 197 | #[derive(Clone, Debug, Trace, Finalize, PartialEq)]
[INFO] [stdout]     |                        ^----
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        `Trace` is not local
[INFO] [stdout]     |                        move the `impl` block outside of this constant `_DERIVE_gc_Trace_FOR_Finally`
[INFO] [stdout] 198 | pub struct Finally {
[INFO] [stdout]     |            ------- `Finally` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]    --> src/syntax/ast/node/try_node/mod.rs:197:24
[INFO] [stdout]     |
[INFO] [stdout] 197 | #[derive(Clone, Debug, Trace, Finalize, PartialEq)]
[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_Finally`
[INFO] [stdout] 198 | pub struct Finally {
[INFO] [stdout]     |            ------- `Finally` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]    --> src/syntax/ast/node/try_node/mod.rs:197:31
[INFO] [stdout]     |
[INFO] [stdout] 197 | #[derive(Clone, Debug, Trace, Finalize, PartialEq)]
[INFO] [stdout]     |                               ^-------
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               `Finalize` is not local
[INFO] [stdout]     |                               move the `impl` block outside of this constant `_DERIVE_gc_Finalize_FOR_Finally`
[INFO] [stdout] 198 | pub struct Finally {
[INFO] [stdout]     |            ------- `Finally` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/syntax/ast/op.rs:17:30
[INFO] [stdout]    |
[INFO] [stdout] 17 | #[derive(Clone, Copy, Debug, Finalize, PartialEq)]
[INFO] [stdout]    |                              ^-------
[INFO] [stdout]    |                              |
[INFO] [stdout]    |                              `Finalize` is not local
[INFO] [stdout]    |                              move the `impl` block outside of this constant `_DERIVE_gc_Finalize_FOR_NumOp`
[INFO] [stdout] 18 | pub enum NumOp {
[INFO] [stdout]    |          ----- `NumOp` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]    --> src/syntax/ast/op.rs:132:30
[INFO] [stdout]     |
[INFO] [stdout] 132 | #[derive(Clone, Copy, Debug, Finalize, PartialEq)]
[INFO] [stdout]     |                              ^-------
[INFO] [stdout]     |                              |
[INFO] [stdout]     |                              `Finalize` is not local
[INFO] [stdout]     |                              move the `impl` block outside of this constant `_DERIVE_gc_Finalize_FOR_UnaryOp`
[INFO] [stdout] 133 | pub enum UnaryOp {
[INFO] [stdout]     |          ------- `UnaryOp` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]    --> src/syntax/ast/op.rs:343:30
[INFO] [stdout]     |
[INFO] [stdout] 343 | #[derive(Clone, Copy, Debug, Finalize, PartialEq)]
[INFO] [stdout]     |                              ^-------
[INFO] [stdout]     |                              |
[INFO] [stdout]     |                              `Finalize` is not local
[INFO] [stdout]     |                              move the `impl` block outside of this constant `_DERIVE_gc_Finalize_FOR_BitOp`
[INFO] [stdout] 344 | pub enum BitOp {
[INFO] [stdout]     |          ----- `BitOp` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]    --> src/syntax/ast/op.rs:466:30
[INFO] [stdout]     |
[INFO] [stdout] 466 | #[derive(Clone, Copy, Debug, Finalize, PartialEq)]
[INFO] [stdout]     |                              ^-------
[INFO] [stdout]     |                              |
[INFO] [stdout]     |                              `Finalize` is not local
[INFO] [stdout]     |                              move the `impl` block outside of this constant `_DERIVE_gc_Finalize_FOR_CompOp`
[INFO] [stdout] 467 | pub enum CompOp {
[INFO] [stdout]     |          ------ `CompOp` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]    --> src/syntax/ast/op.rs:659:30
[INFO] [stdout]     |
[INFO] [stdout] 659 | #[derive(Clone, Copy, Debug, Finalize, PartialEq)]
[INFO] [stdout]     |                              ^-------
[INFO] [stdout]     |                              |
[INFO] [stdout]     |                              `Finalize` is not local
[INFO] [stdout]     |                              move the `impl` block outside of this constant `_DERIVE_gc_Finalize_FOR_LogOp`
[INFO] [stdout] 660 | pub enum LogOp {
[INFO] [stdout]     |          ----- `LogOp` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]    --> src/syntax/ast/op.rs:721:30
[INFO] [stdout]     |
[INFO] [stdout] 721 | #[derive(Clone, Copy, Debug, Finalize, PartialEq)]
[INFO] [stdout]     |                              ^-------
[INFO] [stdout]     |                              |
[INFO] [stdout]     |                              `Finalize` is not local
[INFO] [stdout]     |                              move the `impl` block outside of this constant `_DERIVE_gc_Finalize_FOR_BinOp`
[INFO] [stdout] 722 | pub enum BinOp {
[INFO] [stdout]     |          ----- `BinOp` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]    --> src/syntax/ast/op.rs:817:30
[INFO] [stdout]     |
[INFO] [stdout] 817 | #[derive(Clone, Copy, Debug, Finalize, PartialEq)]
[INFO] [stdout]     |                              ^-------
[INFO] [stdout]     |                              |
[INFO] [stdout]     |                              `Finalize` is not local
[INFO] [stdout]     |                              move the `impl` block outside of this constant `_DERIVE_gc_Finalize_FOR_AssignOp`
[INFO] [stdout] 818 | pub enum AssignOp {
[INFO] [stdout]     |          -------- `AssignOp` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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: unreachable `pub` item
[INFO] [stdout]   --> src/value/mod.rs:35:9
[INFO] [stdout]    |
[INFO] [stdout] 35 | pub use equality::*;
[INFO] [stdout]    | ---     ^^^^^^^^
[INFO] [stdout]    | |
[INFO] [stdout]    | help: consider restricting its visibility: `pub(crate)`
[INFO] [stdout]    |
[INFO] [stdout]    = help: or consider exporting it for use by other crates
[INFO] [stdout] note: the lint level is defined here
[INFO] [stdout]   --> src/lib.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 20 |     unreachable_pub,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable `pub` item
[INFO] [stdout]   --> src/value/mod.rs:36:9
[INFO] [stdout]    |
[INFO] [stdout] 36 | pub use hash::*;
[INFO] [stdout]    | ---     ^^^^
[INFO] [stdout]    | |
[INFO] [stdout]    | help: consider restricting its visibility: `pub(crate)`
[INFO] [stdout]    |
[INFO] [stdout]    = help: or consider exporting it for use by other crates
[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]   --> src/value/mod.rs:41:10
[INFO] [stdout]    |
[INFO] [stdout] 41 | #[derive(Trace, Finalize, Debug, Clone)]
[INFO] [stdout]    |          ^----
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `Trace` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_DERIVE_gc_Trace_FOR_JsValue`
[INFO] [stdout] 42 | pub enum JsValue {
[INFO] [stdout]    |          ------- `JsValue` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/value/mod.rs:41:10
[INFO] [stdout]    |
[INFO] [stdout] 41 | #[derive(Trace, Finalize, Debug, Clone)]
[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_JsValue`
[INFO] [stdout] 42 | pub enum JsValue {
[INFO] [stdout]    |          ------- `JsValue` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/value/mod.rs:41:17
[INFO] [stdout]    |
[INFO] [stdout] 41 | #[derive(Trace, Finalize, Debug, Clone)]
[INFO] [stdout]    |                 ^-------
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 `Finalize` is not local
[INFO] [stdout]    |                 move the `impl` block outside of this constant `_DERIVE_gc_Finalize_FOR_JsValue`
[INFO] [stdout] 42 | pub enum JsValue {
[INFO] [stdout]    |          ------- `JsValue` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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] [stderr]    Compiling criterion v0.3.6
[INFO] [stderr]    Compiling jemallocator v0.3.2
[INFO] [stderr]    Compiling Boa v0.13.1 (/opt/rustwide/workdir)
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> examples/classes.rs:17:17
[INFO] [stdout]    |
[INFO] [stdout] 17 | #[derive(Debug, Trace, Finalize)]
[INFO] [stdout]    |                 ^----
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 `Trace` is not local
[INFO] [stdout]    |                 move the `impl` block outside of this constant `_DERIVE_gc_Trace_FOR_Person`
[INFO] [stdout] 18 | struct Person {
[INFO] [stdout]    |        ------ `Person` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> examples/classes.rs:17:17
[INFO] [stdout]    |
[INFO] [stdout] 17 | #[derive(Debug, 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_Person`
[INFO] [stdout] 18 | struct Person {
[INFO] [stdout]    |        ------ `Person` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> examples/classes.rs:17:24
[INFO] [stdout]    |
[INFO] [stdout] 17 | #[derive(Debug, Trace, Finalize)]
[INFO] [stdout]    |                        ^-------
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `Finalize` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this constant `_DERIVE_gc_Finalize_FOR_Person`
[INFO] [stdout] 18 | struct Person {
[INFO] [stdout]    |        ------ `Person` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> examples/closures.rs:35:28
[INFO] [stdout]    |
[INFO] [stdout] 35 |     #[derive(Debug, Clone, Trace, Finalize)]
[INFO] [stdout]    |                            ^----
[INFO] [stdout]    |                            |
[INFO] [stdout]    |                            `Trace` is not local
[INFO] [stdout]    |                            move the `impl` block outside of this constant `_DERIVE_gc_Trace_FOR_BigStruct` and up 2 bodies
[INFO] [stdout] 36 |     struct BigStruct {
[INFO] [stdout]    |            --------- `BigStruct` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> examples/closures.rs:35:28
[INFO] [stdout]    |
[INFO] [stdout] 35 |     #[derive(Debug, Clone, 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_BigStruct` and up 2 bodies
[INFO] [stdout] 36 |     struct BigStruct {
[INFO] [stdout]    |            --------- `BigStruct` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> examples/closures.rs:35:35
[INFO] [stdout]    |
[INFO] [stdout] 35 |     #[derive(Debug, Clone, Trace, Finalize)]
[INFO] [stdout]    |                                   ^-------
[INFO] [stdout]    |                                   |
[INFO] [stdout]    |                                   `Finalize` is not local
[INFO] [stdout]    |                                   move the `impl` block outside of this constant `_DERIVE_gc_Finalize_FOR_BigStruct` and up 2 bodies
[INFO] [stdout] 36 |     struct BigStruct {
[INFO] [stdout]    |            --------- `BigStruct` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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: unnecessary qualification
[INFO] [stdout]    --> src/bigint.rs:394:27
[INFO] [stdout]     |
[INFO] [stdout] 394 |     fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] note: the lint level is defined here
[INFO] [stdout]    --> src/lib.rs:17:5
[INFO] [stdout]     |
[INFO] [stdout]  17 |     unused_qualifications,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]     |
[INFO] [stdout] 394 -     fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
[INFO] [stdout] 394 +     fn fmt(&self, f: &mut fmt::Formatter<'_>) -> std::fmt::Result {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary qualification
[INFO] [stdout]    --> src/bigint.rs:394:55
[INFO] [stdout]     |
[INFO] [stdout] 394 |     fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
[INFO] [stdout]     |                                                       ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]     |
[INFO] [stdout] 394 -     fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
[INFO] [stdout] 394 +     fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> fmt::Result {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary qualification
[INFO] [stdout]    --> src/builtins/date/tests.rs:423:26
[INFO] [stdout]     |
[INFO] [stdout] 423 |     let offset_seconds = chrono::Local::now().offset().local_minus_utc() as f64;
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]     |
[INFO] [stdout] 423 -     let offset_seconds = chrono::Local::now().offset().local_minus_utc() as f64;
[INFO] [stdout] 423 +     let offset_seconds = Local::now().offset().local_minus_utc() as f64;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary qualification
[INFO] [stdout]    --> src/builtins/date/mod.rs:411:51
[INFO] [stdout]     |
[INFO] [stdout] 411 |                 JsValue::String(ref str) => match chrono::DateTime::parse_from_rfc3339(str) {
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]     |
[INFO] [stdout] 411 -                 JsValue::String(ref str) => match chrono::DateTime::parse_from_rfc3339(str) {
[INFO] [stdout] 411 +                 JsValue::String(ref str) => match DateTime::parse_from_rfc3339(str) {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary qualification
[INFO] [stdout]     --> src/builtins/regexp/mod.rs:1787:9
[INFO] [stdout]      |
[INFO] [stdout] 1787 |         crate::builtins::string::code_point_at(s, index as i32).expect("Failed to get code point");
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]      |
[INFO] [stdout] 1787 -         crate::builtins::string::code_point_at(s, index as i32).expect("Failed to get code point");
[INFO] [stdout] 1787 +         string::code_point_at(s, index as i32).expect("Failed to get code point");
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/environment/global_environment_record.rs:38:13
[INFO] [stdout]    |
[INFO] [stdout] 38 | /             /// Object Environment Records created for with statements (13.11)
[INFO] [stdout] 39 | |             /// can provide their binding object as an implicit this value for use in function calls.
[INFO] [stdout] 40 | |             /// The capability is controlled by a withEnvironment Boolean value that is associated
[INFO] [stdout] 41 | |             /// with each object Environment Record. By default, the value of withEnvironment is false
[INFO] [stdout] 42 | |             /// for any object Environment Record.
[INFO] [stdout]    | |__________________________________________________^
[INFO] [stdout] 43 |               with_environment: false,
[INFO] [stdout]    |               ----------------------- rustdoc does not generate documentation for expression fields
[INFO] [stdout]    |
[INFO] [stdout]    = help: use `//` for a plain comment
[INFO] [stdout]    = note: `#[warn(unused_doc_comments)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/environment/object_environment_record.rs:35:13
[INFO] [stdout]    |
[INFO] [stdout] 35 | /             /// Object Environment Records created for with statements (13.11)
[INFO] [stdout] 36 | |             /// can provide their binding object as an implicit this value for use in function calls.
[INFO] [stdout] 37 | |             /// The capability is controlled by a withEnvironment Boolean value that is associated
[INFO] [stdout] 38 | |             /// with each object Environment Record. By default, the value of withEnvironment is false
[INFO] [stdout] 39 | |             /// for any object Environment Record.
[INFO] [stdout]    | |__________________________________________________^
[INFO] [stdout] 40 |               with_environment: false,
[INFO] [stdout]    |               ----------------------- rustdoc does not generate documentation for expression fields
[INFO] [stdout]    |
[INFO] [stdout]    = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary qualification
[INFO] [stdout]     --> src/object/gcobject.rs:1024:50
[INFO] [stdout]      |
[INFO] [stdout] 1024 |     fn fmt(&self, f: &mut fmt::Formatter<'_>) -> std::fmt::Result {
[INFO] [stdout]      |                                                  ^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]      |
[INFO] [stdout] 1024 -     fn fmt(&self, f: &mut fmt::Formatter<'_>) -> std::fmt::Result {
[INFO] [stdout] 1024 +     fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary qualification
[INFO] [stdout]    --> src/syntax/lexer/cursor.rs:161:28
[INFO] [stdout]     |
[INFO] [stdout] 161 |                 return Err(io::Error::new(
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]     |
[INFO] [stdout] 161 -                 return Err(io::Error::new(
[INFO] [stdout] 161 +                 return Err(Error::new(
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary qualification
[INFO] [stdout]    --> src/syntax/lexer/cursor.rs:321:17
[INFO] [stdout]     |
[INFO] [stdout] 321 |                 io::Error::new(
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]     |
[INFO] [stdout] 321 -                 io::Error::new(
[INFO] [stdout] 321 +                 Error::new(
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary qualification
[INFO] [stdout]    --> src/syntax/lexer/cursor.rs:322:21
[INFO] [stdout]     |
[INFO] [stdout] 322 |                     io::ErrorKind::UnexpectedEof,
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]     |
[INFO] [stdout] 322 -                     io::ErrorKind::UnexpectedEof,
[INFO] [stdout] 322 +                     ErrorKind::UnexpectedEof,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary qualification
[INFO] [stdout]    --> src/syntax/parser/mod.rs:160:9
[INFO] [stdout]     |
[INFO] [stdout] 160 |         self::statement::StatementList::new(false, false, false, false, &[]).parse(cursor)
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]     |
[INFO] [stdout] 160 -         self::statement::StatementList::new(false, false, false, false, &[]).parse(cursor)
[INFO] [stdout] 160 +         statement::StatementList::new(false, false, false, false, &[]).parse(cursor)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary qualification
[INFO] [stdout]   --> src/value/conversions.rs:41:27
[INFO] [stdout]    |
[INFO] [stdout] 41 |     fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
[INFO] [stdout]    |                           ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]    |
[INFO] [stdout] 41 -     fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
[INFO] [stdout] 41 +     fn fmt(&self, f: &mut fmt::Formatter<'_>) -> std::fmt::Result {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary qualification
[INFO] [stdout]   --> src/value/conversions.rs:41:55
[INFO] [stdout]    |
[INFO] [stdout] 41 |     fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
[INFO] [stdout]    |                                                       ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]    |
[INFO] [stdout] 41 -     fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
[INFO] [stdout] 41 +     fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> fmt::Result {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary qualification
[INFO] [stdout]    --> src/value/conversions.rs:184:27
[INFO] [stdout]     |
[INFO] [stdout] 184 |     fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]     |
[INFO] [stdout] 184 -     fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
[INFO] [stdout] 184 +     fn fmt(&self, f: &mut fmt::Formatter<'_>) -> std::fmt::Result {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary qualification
[INFO] [stdout]    --> src/value/conversions.rs:184:55
[INFO] [stdout]     |
[INFO] [stdout] 184 |     fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
[INFO] [stdout]     |                                                       ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]     |
[INFO] [stdout] 184 -     fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
[INFO] [stdout] 184 +     fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> fmt::Result {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `equality::*`
[INFO] [stdout]   --> src/value/mod.rs:35:9
[INFO] [stdout]    |
[INFO] [stdout] 35 | pub use equality::*;
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `hash::*`
[INFO] [stdout]   --> src/value/mod.rs:36:9
[INFO] [stdout]    |
[INFO] [stdout] 36 | pub use hash::*;
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[must_use]` has no effect when applied to a type alias
[INFO] [stdout]   --> src/lib.rs:86:1
[INFO] [stdout]    |
[INFO] [stdout] 86 | #[must_use]
[INFO] [stdout]    | ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_attributes)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/builtins/map/mod.rs:42:23
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub(crate) struct Map(OrderedMap<JsValue>);
[INFO] [stdout]    |                   --- ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                   |
[INFO] [stdout]    |                   field in this struct
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider removing this field
[INFO] [stdout]    = note: `Map` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `use_last_index` is never read
[INFO] [stdout]   --> src/builtins/regexp/mod.rs:42:5
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub struct RegExp {
[INFO] [stdout]    |            ------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 42 |     use_last_index: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `RegExp` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/builtins/set/mod.rs:36:23
[INFO] [stdout]    |
[INFO] [stdout] 36 | pub(crate) struct Set(OrderedSet<JsValue>);
[INFO] [stdout]    |                   --- ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                   |
[INFO] [stdout]    |                   field in this struct
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider removing this field
[INFO] [stdout]    = note: `Set` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `is_default` is never read
[INFO] [stdout]   --> src/syntax/parser/statement/declaration/hoistable/function_decl/mod.rs:28:5
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub(super) struct FunctionDeclaration {
[INFO] [stdout]    |                   ------------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 28 |     is_default: AllowDefault,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `FunctionDeclaration` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: calls to `std::mem::drop` with a value that implements `Copy` does nothing
[INFO] [stdout]    --> src/lib.rs:144:5
[INFO] [stdout]     |
[INFO] [stdout] 144 |     drop(main_timer);
[INFO] [stdout]     |     ^^^^^----------^
[INFO] [stdout]     |          |
[INFO] [stdout]     |          argument has type `()`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dropping_copy_types)]` on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the expression or result
[INFO] [stdout]     |
[INFO] [stdout] 144 -     drop(main_timer);
[INFO] [stdout] 144 +     let _ = main_timer;
[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]   --> src/bigint.rs:28:17
[INFO] [stdout]    |
[INFO] [stdout] 28 | #[derive(Debug, Finalize, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
[INFO] [stdout]    |                 ^-------
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 `Finalize` is not local
[INFO] [stdout]    |                 move the `impl` block outside of this constant `_DERIVE_gc_Finalize_FOR_JsBigInt`
[INFO] [stdout] 29 | pub struct JsBigInt {
[INFO] [stdout]    |            -------- `JsBigInt` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/builtins/array/array_iterator.rs:16:24
[INFO] [stdout]    |
[INFO] [stdout] 16 | #[derive(Debug, Clone, Finalize, Trace)]
[INFO] [stdout]    |                        ^-------
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `Finalize` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this constant `_DERIVE_gc_Finalize_FOR_ArrayIterator`
[INFO] [stdout] 17 | pub struct ArrayIterator {
[INFO] [stdout]    |            ------------- `ArrayIterator` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/builtins/array/array_iterator.rs:16:34
[INFO] [stdout]    |
[INFO] [stdout] 16 | #[derive(Debug, Clone, Finalize, Trace)]
[INFO] [stdout]    |                                  ^----
[INFO] [stdout]    |                                  |
[INFO] [stdout]    |                                  `Trace` is not local
[INFO] [stdout]    |                                  move the `impl` block outside of this constant `_DERIVE_gc_Trace_FOR_ArrayIterator`
[INFO] [stdout] 17 | pub struct ArrayIterator {
[INFO] [stdout]    |            ------------- `ArrayIterator` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/builtins/array/array_iterator.rs:16:34
[INFO] [stdout]    |
[INFO] [stdout] 16 | #[derive(Debug, Clone, 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_ArrayIterator`
[INFO] [stdout] 17 | pub struct ArrayIterator {
[INFO] [stdout]    |            ------------- `ArrayIterator` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/builtins/date/mod.rs:65:17
[INFO] [stdout]    |
[INFO] [stdout] 65 | #[derive(Debug, Finalize, Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
[INFO] [stdout]    |                 ^-------
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 `Finalize` is not local
[INFO] [stdout]    |                 move the `impl` block outside of this constant `_DERIVE_gc_Finalize_FOR_Date`
[INFO] [stdout] 66 | pub struct Date(Option<NaiveDateTime>);
[INFO] [stdout]    |            ---- `Date` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/builtins/function/mod.rs:74:23
[INFO] [stdout]    |
[INFO] [stdout] 74 | #[derive(Clone, Copy, Finalize)]
[INFO] [stdout]    |                       ^-------
[INFO] [stdout]    |                       |
[INFO] [stdout]    |                       `Finalize` is not local
[INFO] [stdout]    |                       move the `impl` block outside of this constant `_DERIVE_gc_Finalize_FOR_BuiltInFunction`
[INFO] [stdout] 75 | pub struct BuiltInFunction(pub(crate) NativeFunction);
[INFO] [stdout]    |            --------------- `BuiltInFunction` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/builtins/function/mod.rs:94:14
[INFO] [stdout]    |
[INFO] [stdout] 94 |     #[derive(Finalize, Default)]
[INFO] [stdout]    |              ^-------
[INFO] [stdout]    |              |
[INFO] [stdout]    |              `Finalize` is not local
[INFO] [stdout]    |              move the `impl` block outside of this constant `_DERIVE_gc_Finalize_FOR_FunctionFlags`
[INFO] [stdout] 95 |     pub struct FunctionFlags: u8 {
[INFO] [stdout]    |                ------------- `FunctionFlags` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]    --> src/builtins/function/mod.rs:137:24
[INFO] [stdout]     |
[INFO] [stdout] 137 | #[derive(Debug, Clone, Trace, Finalize)]
[INFO] [stdout]     |                        ^----
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        `Trace` is not local
[INFO] [stdout]     |                        move the `impl` block outside of this constant `_DERIVE_gc_Trace_FOR_Captures`
[INFO] [stdout] 138 | pub struct Captures(Box<dyn CapturesObject>);
[INFO] [stdout]     |            -------- `Captures` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]    --> src/builtins/function/mod.rs:137:24
[INFO] [stdout]     |
[INFO] [stdout] 137 | #[derive(Debug, Clone, 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_Captures`
[INFO] [stdout] 138 | pub struct Captures(Box<dyn CapturesObject>);
[INFO] [stdout]     |            -------- `Captures` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]    --> src/builtins/function/mod.rs:137:31
[INFO] [stdout]     |
[INFO] [stdout] 137 | #[derive(Debug, Clone, Trace, Finalize)]
[INFO] [stdout]     |                               ^-------
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               `Finalize` is not local
[INFO] [stdout]     |                               move the `impl` block outside of this constant `_DERIVE_gc_Finalize_FOR_Captures`
[INFO] [stdout] 138 | pub struct Captures(Box<dyn CapturesObject>);
[INFO] [stdout]     |            -------- `Captures` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]    --> src/builtins/function/mod.rs:199:17
[INFO] [stdout]     |
[INFO] [stdout] 199 | #[derive(Clone, Trace, Finalize)]
[INFO] [stdout]     |                 ^----
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 `Trace` is not local
[INFO] [stdout]     |                 move the `impl` block outside of this constant `_DERIVE_gc_Trace_FOR_Function`
[INFO] [stdout] 200 | pub enum Function {
[INFO] [stdout]     |          -------- `Function` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]    --> src/builtins/function/mod.rs:199:17
[INFO] [stdout]     |
[INFO] [stdout] 199 | #[derive(Clone, 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_Function`
[INFO] [stdout] 200 | pub enum Function {
[INFO] [stdout]     |          -------- `Function` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]    --> src/builtins/function/mod.rs:199:24
[INFO] [stdout]     |
[INFO] [stdout] 199 | #[derive(Clone, Trace, Finalize)]
[INFO] [stdout]     |                        ^-------
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        `Finalize` is not local
[INFO] [stdout]     |                        move the `impl` block outside of this constant `_DERIVE_gc_Finalize_FOR_Function`
[INFO] [stdout] 200 | pub enum Function {
[INFO] [stdout]     |          -------- `Function` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/builtins/map/map_iterator.rs:17:24
[INFO] [stdout]    |
[INFO] [stdout] 17 | #[derive(Debug, Clone, Finalize, Trace)]
[INFO] [stdout]    |                        ^-------
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `Finalize` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this constant `_DERIVE_gc_Finalize_FOR_MapIterator`
[INFO] [stdout] 18 | pub struct MapIterator {
[INFO] [stdout]    |            ----------- `MapIterator` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/builtins/map/map_iterator.rs:17:34
[INFO] [stdout]    |
[INFO] [stdout] 17 | #[derive(Debug, Clone, Finalize, Trace)]
[INFO] [stdout]    |                                  ^----
[INFO] [stdout]    |                                  |
[INFO] [stdout]    |                                  `Trace` is not local
[INFO] [stdout]    |                                  move the `impl` block outside of this constant `_DERIVE_gc_Trace_FOR_MapIterator`
[INFO] [stdout] 18 | pub struct MapIterator {
[INFO] [stdout]    |            ----------- `MapIterator` 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 `gc_derive` crate, try updating your dependency with `cargo update -p 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]   --> src/builtins/map/map_iterator.rs:17:34
[INFO] [stdout]    |
[INFO] [stdout] 17 | #[derive(Debug, Clone, 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_MapIterator`
[INFO] [stdout] 18 | pub struct MapIterator {
[INFO] [stdout]    |            ----------- `MapIterator` 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 `gc_derive` crate, try updating your dependency with `cargo update -p gc_derive`
[WARN] too many lines in the log, truncating it
