[INFO] cloning repository https://github.com/gluon-lang/gluon
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/gluon-lang/gluon" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fgluon-lang%2Fgluon", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fgluon-lang%2Fgluon'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 6085b002e67fb473ab69fbd210433b0e8f7e7750
[INFO] testing gluon-lang/gluon/6085b002e67fb473ab69fbd210433b0e8f7e7750 against try#bd7d74411512a3dd3b35d2f699c51dd2557c7e7e+cargoflags=-Zbuild-dir-new-layout for pr-149852-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fgluon-lang%2Fgluon" "/workspace/builds/worker-0-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-0-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/gluon-lang/gluon
[INFO] removed 0 missing examples
[INFO] removed 0 missing tests
[INFO] finished tweaking git repo https://github.com/gluon-lang/gluon
[INFO] tweaked toml for git repo https://github.com/gluon-lang/gluon written to /workspace/builds/worker-0-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/gluon-lang/gluon on toolchain bd7d74411512a3dd3b35d2f699c51dd2557c7e7e
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+bd7d74411512a3dd3b35d2f699c51dd2557c7e7e" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/gluon-lang/gluon 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" "+bd7d74411512a3dd3b35d2f699c51dd2557c7e7e" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+bd7d74411512a3dd3b35d2f699c51dd2557c7e7e" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] b88b5c391dc8c17ae2ff5c6d43968e984af40e2dc25ccc523c76dff719b044e5
[INFO] running `Command { std: "docker" "start" "-a" "b88b5c391dc8c17ae2ff5c6d43968e984af40e2dc25ccc523c76dff719b044e5", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "b88b5c391dc8c17ae2ff5c6d43968e984af40e2dc25ccc523c76dff719b044e5", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "b88b5c391dc8c17ae2ff5c6d43968e984af40e2dc25ccc523c76dff719b044e5", kill_on_drop: false }`
[INFO] [stdout] b88b5c391dc8c17ae2ff5c6d43968e984af40e2dc25ccc523c76dff719b044e5
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+bd7d74411512a3dd3b35d2f699c51dd2557c7e7e" "build" "--frozen" "--message-format=json" "-Zbuild-dir-new-layout", kill_on_drop: false }`
[INFO] [stdout] b29185a90e8ecad2dc2d9fbe432274957f1a5dba4676ef4d2e602dbc137024d8
[INFO] running `Command { std: "docker" "start" "-a" "b29185a90e8ecad2dc2d9fbe432274957f1a5dba4676ef4d2e602dbc137024d8", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.167
[INFO] [stderr]    Compiling proc-macro2 v1.0.92
[INFO] [stderr]    Compiling unicode-ident v1.0.14
[INFO] [stderr]    Compiling once_cell v1.20.2
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]    Compiling ahash v0.7.8
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling unicode-width v0.1.14
[INFO] [stderr]    Compiling typed-arena v2.0.2
[INFO] [stderr]    Compiling parking_lot_core v0.9.10
[INFO] [stderr]    Compiling collect-mac v0.1.0
[INFO] [stderr]    Compiling codespan-reporting v0.11.1
[INFO] [stderr]    Compiling hashbrown v0.15.2
[INFO] [stderr]    Compiling crunchy v0.2.2
[INFO] [stderr]    Compiling pretty v0.10.0
[INFO] [stderr]    Compiling ena v0.14.3
[INFO] [stderr]    Compiling fixedbitset v0.4.2
[INFO] [stderr]    Compiling tiny-keccak v2.0.2
[INFO] [stderr]    Compiling codespan v0.11.1
[INFO] [stderr]    Compiling futures-sink v0.3.31
[INFO] [stderr]    Compiling siphasher v0.3.11
[INFO] [stderr]    Compiling pin-project-lite v0.2.15
[INFO] [stderr]    Compiling futures-channel v0.3.31
[INFO] [stderr]    Compiling futures v0.1.31
[INFO] [stderr]    Compiling phf_shared v0.10.0
[INFO] [stderr]    Compiling parking_lot_core v0.8.6
[INFO] [stderr]    Compiling quote v1.0.37
[INFO] [stderr]    Compiling lalrpop-util v0.19.12
[INFO] [stderr]    Compiling indexmap v2.7.0
[INFO] [stderr]    Compiling syn v2.0.90
[INFO] [stderr]    Compiling ordered-float v2.10.1
[INFO] [stderr]    Compiling instant v0.1.13
[INFO] [stderr]    Compiling diff v0.1.13
[INFO] [stderr]    Compiling unicode-xid v0.2.6
[INFO] [stderr]    Compiling regex-syntax v0.6.29
[INFO] [stderr]    Compiling archery v0.4.0
[INFO] [stderr]    Compiling crossbeam-utils v0.7.2
[INFO] [stderr]    Compiling indexmap v1.9.3
[INFO] [stderr]    Compiling rpds v0.10.0
[INFO] [stderr]    Compiling hashbrown v0.12.3
[INFO] [stderr]    Compiling gluon_vm v0.18.2 (/opt/rustwide/workdir/vm)
[INFO] [stderr]    Compiling getrandom v0.2.15
[INFO] [stderr]    Compiling dirs-sys-next v0.1.2
[INFO] [stderr]    Compiling dirs-next v2.0.0
[INFO] [stderr]    Compiling term v0.7.0
[INFO] [stderr]    Compiling petgraph v0.6.5
[INFO] [stderr]    Compiling hashbrown v0.11.2
[INFO] [stderr]    Compiling parking_lot v0.12.3
[INFO] [stderr]    Compiling ascii-canvas v3.0.0
[INFO] [stderr]    Compiling string_cache v0.8.7
[INFO] [stderr]    Compiling is-terminal v0.4.13
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]    Compiling frunk_core v0.4.3
[INFO] [stderr]    Compiling parking_lot v0.11.2
[INFO] [stderr]    Compiling downcast-rs v1.2.1
[INFO] [stderr]    Compiling oorandom v11.1.4
[INFO] [stderr]    Compiling rand_xorshift v0.3.0
[INFO] [stderr]    Compiling lalrpop v0.19.12
[INFO] [stderr]    Compiling gluon_codegen v0.18.2 (/opt/rustwide/workdir/codegen)
[INFO] [stderr]    Compiling gluon-salsa-macros v0.15.2
[INFO] [stderr]    Compiling futures-macro v0.3.31
[INFO] [stderr]    Compiling zerocopy-derive v0.7.35
[INFO] [stderr]    Compiling tokio-macros v2.4.0
[INFO] [stderr]    Compiling async-trait v0.1.83
[INFO] [stderr]    Compiling tokio v1.42.0
[INFO] [stderr]    Compiling zerocopy v0.7.35
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> codegen/src/pushable.rs:218:33
[INFO] [stdout]     |
[INFO] [stdout] 218 | fn get_info_from_fields(fields: &Fields) -> (Vec<Cow<Ident>>, Vec<&Type>) {
[INFO] [stdout]     |                                 ^^^^^^^          ^^^^^^^^^^       ^^^^^ the same lifetime is elided here
[INFO] [stdout]     |                                 |                |
[INFO] [stdout]     |                                 |                the same lifetime is hidden here
[INFO] [stdout]     |                                 the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 218 | fn get_info_from_fields(fields: &Fields) -> (Vec<Cow<'_, Ident>>, Vec<&Type>) {
[INFO] [stdout]     |                                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> codegen/src/trace.rs:206:33
[INFO] [stdout]     |
[INFO] [stdout] 206 | fn get_info_from_fields(fields: &Fields) -> (Vec<Cow<Ident>>, Vec<&Type>) {
[INFO] [stdout]     |                                 ^^^^^^^          ^^^^^^^^^^       ^^^^^ the same lifetime is elided here
[INFO] [stdout]     |                                 |                |
[INFO] [stdout]     |                                 |                the same lifetime is hidden here
[INFO] [stdout]     |                                 the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 206 | fn get_info_from_fields(fields: &Fields) -> (Vec<Cow<'_, Ident>>, Vec<&Type>) {
[INFO] [stdout]     |                                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling futures-util v0.3.31
[INFO] [stderr]    Compiling gluon_base v0.18.2 (/opt/rustwide/workdir/base)
[INFO] [stderr]    Compiling ppv-lite86 v0.2.20
[INFO] [stdout] warning: unexpected `cfg` condition value: `memory_usage`
[INFO] [stdout]   --> base/src/pos.rs:54:12
[INFO] [stdout]    |
[INFO] [stdout] 54 | #[cfg_attr(feature = "memory_usage", derive(HeapSizeOf))]
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected values for `feature` are: `anymap`, `compiletest_rs`, `nightly`, `serde`, `serde_derive`, `serde_derive_state`, `serde_state`, and `serialization`
[INFO] [stdout]    = help: consider adding `memory_usage` as a feature in `Cargo.toml`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]    = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling rand v0.8.5
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]     --> base/src/ast.rs:1328:32
[INFO] [stdout]      |
[INFO] [stdout] 1328 |             struct Guard<'tag>(&'tag $crate::ast::InvariantLifetime<'tag>);
[INFO] [stdout]      |                    -----       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |                    |
[INFO] [stdout]      |                    field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 1346 |         mk_ast_arena!(arena);
[INFO] [stdout]      |         -------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = help: consider removing this field
[INFO] [stdout]      = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout]      = note: this warning originates in the macro `mk_ast_arena` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> base/src/ast.rs:81:25
[INFO] [stdout]    |
[INFO] [stdout] 81 | #[derive(Eq, PartialEq, AstClone)]
[INFO] [stdout]    |                         ^-------
[INFO] [stdout]    |                         |
[INFO] [stdout]    |                         `AstClone` is not local
[INFO] [stdout]    |                         move the `impl` block outside of this constant `_IMPL_AST_CLONE_FOR_InnerAstType`
[INFO] [stdout] 82 | pub struct InnerAstType<'ast, Id> {
[INFO] [stdout]    |            ------------ `InnerAstType` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `AstClone` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `AstClone` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const 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 `AstClone` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> base/src/ast.rs:87:25
[INFO] [stdout]    |
[INFO] [stdout] 87 | #[derive(Eq, PartialEq, AstClone)]
[INFO] [stdout]    |                         ^-------
[INFO] [stdout]    |                         |
[INFO] [stdout]    |                         `AstClone` is not local
[INFO] [stdout]    |                         move the `impl` block outside of this constant `_IMPL_AST_CLONE_FOR_AstType`
[INFO] [stdout] 88 | pub struct AstType<'ast, Id> {
[INFO] [stdout]    |            ------- `AstType` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `AstClone` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `AstClone` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `AstClone` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> base/src/ast.rs:283:32
[INFO] [stdout]     |
[INFO] [stdout] 283 | #[derive(Eq, PartialEq, Debug, AstClone)]
[INFO] [stdout]     |                                ^-------
[INFO] [stdout]     |                                |
[INFO] [stdout]     |                                `AstClone` is not local
[INFO] [stdout]     |                                move the `impl` block outside of this constant `_IMPL_AST_CLONE_FOR_PatternField`
[INFO] [stdout] 284 | pub enum PatternField<'ast, Id> {
[INFO] [stdout]     |          ------------ `PatternField` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `AstClone` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `AstClone` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `AstClone` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> base/src/ast.rs:302:32
[INFO] [stdout]     |
[INFO] [stdout] 302 | #[derive(Eq, PartialEq, Debug, AstClone)]
[INFO] [stdout]     |                                ^-------
[INFO] [stdout]     |                                |
[INFO] [stdout]     |                                `AstClone` is not local
[INFO] [stdout]     |                                move the `impl` block outside of this constant `_IMPL_AST_CLONE_FOR_Pattern`
[INFO] [stdout] 303 | pub enum Pattern<'ast, Id> {
[INFO] [stdout]     |          ------- `Pattern` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `AstClone` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `AstClone` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `AstClone` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> base/src/ast.rs:384:32
[INFO] [stdout]     |
[INFO] [stdout] 384 | #[derive(Eq, PartialEq, Debug, AstClone)]
[INFO] [stdout]     |                                ^-------
[INFO] [stdout]     |                                |
[INFO] [stdout]     |                                `AstClone` is not local
[INFO] [stdout]     |                                move the `impl` block outside of this constant `_IMPL_AST_CLONE_FOR_Alternative`
[INFO] [stdout] 385 | pub struct Alternative<'ast, Id> {
[INFO] [stdout]     |            ----------- `Alternative` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `AstClone` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `AstClone` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `AstClone` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> base/src/ast.rs:390:32
[INFO] [stdout]     |
[INFO] [stdout] 390 | #[derive(Eq, PartialEq, Debug, AstClone)]
[INFO] [stdout]     |                                ^-------
[INFO] [stdout]     |                                |
[INFO] [stdout]     |                                `AstClone` is not local
[INFO] [stdout]     |                                move the `impl` block outside of this constant `_IMPL_AST_CLONE_FOR_Array`
[INFO] [stdout] 391 | pub struct Array<'ast, Id> {
[INFO] [stdout]     |            ----- `Array` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `AstClone` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `AstClone` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `AstClone` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> base/src/ast.rs:396:32
[INFO] [stdout]     |
[INFO] [stdout] 396 | #[derive(Eq, PartialEq, Debug, AstClone)]
[INFO] [stdout]     |                                ^-------
[INFO] [stdout]     |                                |
[INFO] [stdout]     |                                `AstClone` is not local
[INFO] [stdout]     |                                move the `impl` block outside of this constant `_IMPL_AST_CLONE_FOR_Lambda`
[INFO] [stdout] 397 | pub struct Lambda<'ast, Id> {
[INFO] [stdout]     |            ------ `Lambda` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `AstClone` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `AstClone` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `AstClone` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> base/src/ast.rs:411:32
[INFO] [stdout]     |
[INFO] [stdout] 411 | #[derive(Eq, PartialEq, Debug, AstClone)]
[INFO] [stdout]     |                                ^-------
[INFO] [stdout]     |                                |
[INFO] [stdout]     |                                `AstClone` is not local
[INFO] [stdout]     |                                move the `impl` block outside of this constant `_IMPL_AST_CLONE_FOR_ExprField`
[INFO] [stdout] 412 | pub struct ExprField<'ast, Id, E> {
[INFO] [stdout]     |            --------- `ExprField` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `AstClone` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `AstClone` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `AstClone` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> base/src/ast.rs:418:32
[INFO] [stdout]     |
[INFO] [stdout] 418 | #[derive(Eq, PartialEq, Debug, AstClone)]
[INFO] [stdout]     |                                ^-------
[INFO] [stdout]     |                                |
[INFO] [stdout]     |                                `AstClone` is not local
[INFO] [stdout]     |                                move the `impl` block outside of this constant `_IMPL_AST_CLONE_FOR_Do`
[INFO] [stdout] 419 | pub struct Do<'ast, Id> {
[INFO] [stdout]     |            -- `Do` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `AstClone` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `AstClone` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `AstClone` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> base/src/ast.rs:428:32
[INFO] [stdout]     |
[INFO] [stdout] 428 | #[derive(Eq, PartialEq, Debug, AstClone)]
[INFO] [stdout]     |                                ^-------
[INFO] [stdout]     |                                |
[INFO] [stdout]     |                                `AstClone` is not local
[INFO] [stdout]     |                                move the `impl` block outside of this constant `_IMPL_AST_CLONE_FOR_Expr`
[INFO] [stdout] 429 | pub enum Expr<'ast, Id> {
[INFO] [stdout]     |          ---- `Expr` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `AstClone` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `AstClone` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `AstClone` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stdout]    --> base/src/ast.rs:589:27
[INFO] [stdout]     |
[INFO] [stdout] 587 |         &'a self,
[INFO] [stdout]     |          -- the lifetime is named here
[INFO] [stdout] 588 |     ) -> impl Iterator<
[INFO] [stdout] 589 |         Item = Either<&'a ExprField<Id, ArcType<Id>>, &'a ExprField<Id, SpannedExpr<'ast, Id>>>,
[INFO] [stdout]     |                        -- ^^^^^^^^^^^^^^^^^^^^^^^^^^   -- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                        |  |                            |
[INFO] [stdout]     |                        |  |                            the same lifetime is named here
[INFO] [stdout]     |                        |  the same lifetime is hidden here
[INFO] [stdout]     |                        the same lifetime is named here
[INFO] [stdout] 590 |     > + 'a {
[INFO] [stdout]     |         -- the same lifetime is named here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: consistently use `'a`
[INFO] [stdout]     |
[INFO] [stdout] 589 |         Item = Either<&'a ExprField<'a, Id, ArcType<Id>>, &'a ExprField<'a, Id, SpannedExpr<'ast, Id>>>,
[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]    --> base/src/ast.rs:609:32
[INFO] [stdout]     |
[INFO] [stdout] 609 | #[derive(Eq, PartialEq, Debug, AstClone)]
[INFO] [stdout]     |                                ^-------
[INFO] [stdout]     |                                |
[INFO] [stdout]     |                                `AstClone` is not local
[INFO] [stdout]     |                                move the `impl` block outside of this constant `_IMPL_AST_CLONE_FOR_TypeBinding`
[INFO] [stdout] 610 | pub struct TypeBinding<'ast, Id> {
[INFO] [stdout]     |            ----------- `TypeBinding` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `AstClone` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `AstClone` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `AstClone` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> base/src/ast.rs:623:54
[INFO] [stdout]     |
[INFO] [stdout] 623 | #[derive(Clone, Default, Eq, PartialEq, Debug, Hash, AstClone)]
[INFO] [stdout]     |                                                      ^-------
[INFO] [stdout]     |                                                      |
[INFO] [stdout]     |                                                      `AstClone` is not local
[INFO] [stdout]     |                                                      move the `impl` block outside of this constant `_IMPL_AST_CLONE_FOR_Argument`
[INFO] [stdout] 624 | #[cfg_attr(feature = "serde_derive", derive(Deserialize, Serialize))]
[INFO] [stdout] 625 | pub struct Argument<N> {
[INFO] [stdout]     |            -------- `Argument` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `AstClone` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `AstClone` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `AstClone` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> base/src/ast.rs:646:32
[INFO] [stdout]     |
[INFO] [stdout] 646 | #[derive(Eq, PartialEq, Debug, AstClone)]
[INFO] [stdout]     |                                ^-------
[INFO] [stdout]     |                                |
[INFO] [stdout]     |                                `AstClone` is not local
[INFO] [stdout]     |                                move the `impl` block outside of this constant `_IMPL_AST_CLONE_FOR_ValueBindings`
[INFO] [stdout] 647 | pub enum ValueBindings<'ast, Id> {
[INFO] [stdout]     |          ------------- `ValueBindings` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `AstClone` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `AstClone` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `AstClone` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> base/src/ast.rs:698:32
[INFO] [stdout]     |
[INFO] [stdout] 698 | #[derive(Eq, PartialEq, Debug, AstClone)]
[INFO] [stdout]     |                                ^-------
[INFO] [stdout]     |                                |
[INFO] [stdout]     |                                `AstClone` is not local
[INFO] [stdout]     |                                move the `impl` block outside of this constant `_IMPL_AST_CLONE_FOR_ValueBinding`
[INFO] [stdout] 699 | pub struct ValueBinding<'ast, Id> {
[INFO] [stdout]     |            ------------ `ValueBinding` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `AstClone` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `AstClone` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `AstClone` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: eliding a lifetime that's named elsewhere is confusing
[INFO] [stdout]     --> base/src/ast.rs:1258:51
[INFO] [stdout]      |
[INFO] [stdout] 1258 |               pub fn borrow(&'ast self) -> ArenaRef<'_, 'ast, Id> {
[INFO] [stdout]      |                              ----                   ^^  ---- the same lifetime is named here
[INFO] [stdout]      |                              |                      |
[INFO] [stdout]      |                              |                      the same lifetime is elided here
[INFO] [stdout]      |                              the lifetime is named here
[INFO] [stdout] ...
[INFO] [stdout] 1294 | / impl_ast_arena! {
[INFO] [stdout] 1295 | |     SpannedExpr<'ast, Id> => exprs,
[INFO] [stdout] 1296 | |     SpannedPattern<'ast, Id> => patterns,
[INFO] [stdout] 1297 | |     PatternField<'ast, Id> => pattern_field,
[INFO] [stdout] ...    |
[INFO] [stdout] 1310 | |     Metadata => metadata,
[INFO] [stdout] 1311 | | }
[INFO] [stdout]      | |_- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]      = note: this warning originates in the macro `impl_ast_arena` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consistently use `'ast`
[INFO] [stdout]      |
[INFO] [stdout] 1258 -             pub fn borrow(&'ast self) -> ArenaRef<'_, 'ast, Id> {
[INFO] [stdout] 1258 +             pub fn borrow(&'ast self) -> ArenaRef<'ast, 'ast, Id> {
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> base/src/error.rs:62:17
[INFO] [stdout]    |
[INFO] [stdout] 62 |     pub fn iter(&self) -> slice::Iter<T> {
[INFO] [stdout]    |                 ^^^^^     ^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 62 |     pub fn iter(&self) -> slice::Iter<'_, T> {
[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]   --> base/src/metadata.rs:55:47
[INFO] [stdout]    |
[INFO] [stdout] 55 | #[derive(Debug, Default, Eq, PartialEq, Hash, gluon_codegen::AstClone)]
[INFO] [stdout]    |                                               ^----------------------
[INFO] [stdout]    |                                               |
[INFO] [stdout]    |                                               `AstClone` is not local
[INFO] [stdout]    |                                               move the `impl` block outside of this constant `_IMPL_AST_CLONE_FOR_BaseMetadata`
[INFO] [stdout] 56 | pub struct BaseMetadata<'ast> {
[INFO] [stdout]    |            ------------ `BaseMetadata` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `gluon_codegen::AstClone` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `gluon_codegen::AstClone` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `gluon_codegen::AstClone` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> base/src/scoped_map.rs:70:23
[INFO] [stdout]    |
[INFO] [stdout] 70 |     pub fn exit_scope(&mut self) -> ExitScopeIter<K, V> {
[INFO] [stdout]    |                       ^^^^^^^^^     ^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                       |
[INFO] [stdout]    |                       the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 70 |     pub fn exit_scope(&mut self) -> ExitScopeIter<'_, K, V> {
[INFO] [stdout]    |                                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> base/src/scoped_map.rs:136:18
[INFO] [stdout]     |
[INFO] [stdout] 136 |     pub fn entry(&mut self, key: K) -> Entry<K, V> {
[INFO] [stdout]     |                  ^^^^^^^^^             ^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                  |
[INFO] [stdout]     |                  the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 136 |     pub fn entry(&mut self, key: K) -> Entry<'_, K, V> {
[INFO] [stdout]     |                                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> base/src/scoped_map.rs:236:21
[INFO] [stdout]     |
[INFO] [stdout] 236 |     pub fn iter_mut(&mut self) -> IterMut<K, Vec<V>> {
[INFO] [stdout]     |                     ^^^^^^^^^     ^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 236 |     pub fn iter_mut(&mut self) -> IterMut<'_, K, Vec<V>> {
[INFO] [stdout]     |                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> base/src/scoped_map.rs:240:17
[INFO] [stdout]     |
[INFO] [stdout] 240 |     pub fn iter(&self) -> Iter<K, V> {
[INFO] [stdout]     |                 ^^^^^     ^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 240 |     pub fn iter(&self) -> Iter<'_, K, V> {
[INFO] [stdout]     |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> base/src/source.rs:245:25
[INFO] [stdout]     |
[INFO] [stdout] 245 |     fn comments_between(&self, span: Span<BytePos>) -> CommentIter;
[INFO] [stdout]     |                         ^^^^^                          ^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 245 |     fn comments_between(&self, span: Span<BytePos>) -> CommentIter<'_>;
[INFO] [stdout]     |                                                                   ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> base/src/source.rs:298:25
[INFO] [stdout]     |
[INFO] [stdout] 298 |     fn comments_between(&self, span: Span<BytePos>) -> CommentIter {
[INFO] [stdout]     |                         ^^^^^                          ^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 298 |     fn comments_between(&self, span: Span<BytePos>) -> CommentIter<'_> {
[INFO] [stdout]     |                                                                   ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> base/src/source.rs:340:25
[INFO] [stdout]     |
[INFO] [stdout] 340 |     fn comments_between(&self, _: Span<BytePos>) -> CommentIter {
[INFO] [stdout]     |                         ^^^^^                       ^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 340 |     fn comments_between(&self, _: Span<BytePos>) -> CommentIter<'_> {
[INFO] [stdout]     |                                                                ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> base/src/symbol.rs:431:23
[INFO] [stdout]     |
[INFO] [stdout] 431 |     pub fn components(&self) -> Components {
[INFO] [stdout]     |                       ^^^^^     ^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 431 |     pub fn components(&self) -> Components<'_> {
[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]    --> base/src/types/mod.rs:316:24
[INFO] [stdout]     |
[INFO] [stdout] 316 | #[derive(Clone, Debug, AstClone)]
[INFO] [stdout]     |                        ^-------
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        `AstClone` is not local
[INFO] [stdout]     |                        move the `impl` block outside of this constant `_IMPL_AST_CLONE_FOR_Skolem`
[INFO] [stdout] ...
[INFO] [stdout] 330 | pub struct Skolem<Id> {
[INFO] [stdout]     |            ------ `Skolem` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `AstClone` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `AstClone` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `AstClone` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> base/src/types/mod.rs:342:45
[INFO] [stdout]     |
[INFO] [stdout] 342 | #[derive(Clone, Debug, Eq, PartialEq, Hash, AstClone)]
[INFO] [stdout]     |                                             ^-------
[INFO] [stdout]     |                                             |
[INFO] [stdout]     |                                             `AstClone` is not local
[INFO] [stdout]     |                                             move the `impl` block outside of this constant `_IMPL_AST_CLONE_FOR_Generic`
[INFO] [stdout] ...
[INFO] [stdout] 356 | pub struct Generic<Id> {
[INFO] [stdout]     |            ------- `Generic` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `AstClone` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `AstClone` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `AstClone` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> base/src/types/mod.rs:371:45
[INFO] [stdout]     |
[INFO] [stdout] 371 | #[derive(Clone, Debug, Eq, PartialEq, Hash, AstClone)]
[INFO] [stdout]     |                                             ^-------
[INFO] [stdout]     |                                             |
[INFO] [stdout]     |                                             `AstClone` is not local
[INFO] [stdout]     |                                             move the `impl` block outside of this constant `_IMPL_AST_CLONE_FOR_Alias`
[INFO] [stdout] ...
[INFO] [stdout] 385 | pub struct Alias<Id, T> {
[INFO] [stdout]     |            ----- `Alias` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `AstClone` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `AstClone` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `AstClone` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> base/src/types/mod.rs:512:16
[INFO] [stdout]     |
[INFO] [stdout] 512 |     pub fn typ(&self, interner: &mut impl TypeContext<Id, T>) -> Cow<T> {
[INFO] [stdout]     |                ^^^^^ the lifetime is elided here                 ^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 512 |     pub fn typ(&self, interner: &mut impl TypeContext<Id, T>) -> Cow<'_, T> {
[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]    --> base/src/types/mod.rs:550:17
[INFO] [stdout]     |
[INFO] [stdout] 550 | #[derive(Clone, AstClone)]
[INFO] [stdout]     |                 ^-------
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 `AstClone` is not local
[INFO] [stdout]     |                 move the `impl` block outside of this constant `_IMPL_AST_CLONE_FOR_AliasRef`
[INFO] [stdout] ...
[INFO] [stdout] 569 | pub struct AliasRef<Id, T>
[INFO] [stdout]     |            -------- `AliasRef` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `AstClone` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `AstClone` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `AstClone` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> base/src/types/mod.rs:659:16
[INFO] [stdout]     |
[INFO] [stdout] 659 |     pub fn typ(&self, interner: &mut impl TypeContext<Id, T>) -> Cow<T> {
[INFO] [stdout]     |                ^^^^^ the lifetime is elided here                 ^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 659 |     pub fn typ(&self, interner: &mut impl TypeContext<Id, T>) -> Cow<'_, T> {
[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]    --> base/src/types/mod.rs:699:45
[INFO] [stdout]     |
[INFO] [stdout] 699 | #[derive(Clone, Debug, Eq, PartialEq, Hash, AstClone)]
[INFO] [stdout]     |                                             ^-------
[INFO] [stdout]     |                                             |
[INFO] [stdout]     |                                             `AstClone` is not local
[INFO] [stdout]     |                                             move the `impl` block outside of this constant `_IMPL_AST_CLONE_FOR_AliasData`
[INFO] [stdout] ...
[INFO] [stdout] 718 | pub struct AliasData<Id, T: TypePtr<Id = Id>> {
[INFO] [stdout]     |            --------- `AliasData` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `AstClone` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `AstClone` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `AstClone` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> base/src/types/mod.rs:824:45
[INFO] [stdout]     |
[INFO] [stdout] 824 | #[derive(Clone, Hash, Eq, PartialEq, Debug, AstClone)]
[INFO] [stdout]     |                                             ^-------
[INFO] [stdout]     |                                             |
[INFO] [stdout]     |                                             `AstClone` is not local
[INFO] [stdout]     |                                             move the `impl` block outside of this constant `_IMPL_AST_CLONE_FOR_Field`
[INFO] [stdout] ...
[INFO] [stdout] 843 | pub struct Field<FieldId, T = ArcType<FieldId>> {
[INFO] [stdout]     |            ----- `Field` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `AstClone` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `AstClone` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `AstClone` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> base/src/types/mod.rs:914:45
[INFO] [stdout]     |
[INFO] [stdout] 914 | #[derive(Clone, Debug, Eq, PartialEq, Hash, AstClone)]
[INFO] [stdout]     |                                             ^-------
[INFO] [stdout]     |                                             |
[INFO] [stdout]     |                                             `AstClone` is not local
[INFO] [stdout]     |                                             move the `impl` block outside of this constant `_IMPL_AST_CLONE_FOR_Type`
[INFO] [stdout] ...
[INFO] [stdout] 947 | pub enum Type<Id, T: TypePtr<Id = Id> = ArcType<Id>> {
[INFO] [stdout]     |          ---- `Type` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `AstClone` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `AstClone` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `AstClone` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> base/src/types/mod.rs:1327:27
[INFO] [stdout]      |
[INFO] [stdout] 1327 |     pub fn unapplied_args(&self) -> Cow<[T]>
[INFO] [stdout]      |                           ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]      |                           |
[INFO] [stdout]      |                           the lifetime is elided here
[INFO] [stdout]      |
[INFO] [stdout]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]      |
[INFO] [stdout] 1327 |     pub fn unapplied_args(&self) -> Cow<'_, [T]>
[INFO] [stdout]      |                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> base/src/types/mod.rs:1637:25
[INFO] [stdout]      |
[INFO] [stdout] 1637 | pub fn row_iter<T>(typ: &T) -> RowIterator<T> {
[INFO] [stdout]      |                         ^^     ^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]      |                         |
[INFO] [stdout]      |                         the lifetime is elided here
[INFO] [stdout]      |
[INFO] [stdout]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]      |
[INFO] [stdout] 1637 | pub fn row_iter<T>(typ: &T) -> RowIterator<'_, T> {
[INFO] [stdout]      |                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> base/src/types/mod.rs:1641:33
[INFO] [stdout]      |
[INFO] [stdout] 1641 | pub fn row_iter_mut<Id, T>(typ: &mut T) -> RowIteratorMut<Id, T> {
[INFO] [stdout]      |                                 ^^^^^^     ^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]      |                                 |
[INFO] [stdout]      |                                 the lifetime is elided here
[INFO] [stdout]      |
[INFO] [stdout]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]      |
[INFO] [stdout] 1641 | pub fn row_iter_mut<Id, T>(typ: &mut T) -> RowIteratorMut<'_, Id, T> {
[INFO] [stdout]      |                                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> base/src/types/mod.rs:1648:32
[INFO] [stdout]      |
[INFO] [stdout] 1648 | pub fn type_field_iter<T>(typ: &T) -> TypeFieldIterator<T> {
[INFO] [stdout]      |                                ^^     ^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]      |                                |
[INFO] [stdout]      |                                the lifetime is elided here
[INFO] [stdout]      |
[INFO] [stdout]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]      |
[INFO] [stdout] 1648 | pub fn type_field_iter<T>(typ: &T) -> TypeFieldIterator<'_, T> {
[INFO] [stdout]      |                                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> base/src/types/mod.rs:1738:19
[INFO] [stdout]      |
[INFO] [stdout] 1738 |     fn display<A>(&self, width: usize) -> TypeFormatter<Self::Id, Self, A>
[INFO] [stdout]      |                   ^^^^^                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]      |                   |
[INFO] [stdout]      |                   the lifetime is elided here
[INFO] [stdout]      |
[INFO] [stdout]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]      |
[INFO] [stdout] 1738 |     fn display<A>(&self, width: usize) -> TypeFormatter<'_, Self::Id, Self, A>
[INFO] [stdout]      |                                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> base/src/types/mod.rs:1760:24
[INFO] [stdout]      |
[INFO] [stdout] 1760 |     fn type_field_iter(&self) -> TypeFieldIterator<Self> {
[INFO] [stdout]      |                        ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]      |                        |
[INFO] [stdout]      |                        the lifetime is elided here
[INFO] [stdout]      |
[INFO] [stdout]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]      |
[INFO] [stdout] 1760 |     fn type_field_iter(&self) -> TypeFieldIterator<'_, Self> {
[INFO] [stdout]      |                                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> base/src/types/mod.rs:1764:17
[INFO] [stdout]      |
[INFO] [stdout] 1764 |     fn arg_iter(&self) -> ArgIterator<Self> {
[INFO] [stdout]      |                 ^^^^^     ^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]      |                 |
[INFO] [stdout]      |                 the lifetime is elided here
[INFO] [stdout]      |
[INFO] [stdout]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]      |
[INFO] [stdout] 1764 |     fn arg_iter(&self) -> ArgIterator<'_, Self> {
[INFO] [stdout]      |                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> base/src/types/mod.rs:1768:26
[INFO] [stdout]      |
[INFO] [stdout] 1768 |     fn implicit_arg_iter(&self) -> ImplicitArgIterator<Self> {
[INFO] [stdout]      |                          ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]      |                          |
[INFO] [stdout]      |                          the lifetime is elided here
[INFO] [stdout]      |
[INFO] [stdout]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]      |
[INFO] [stdout] 1768 |     fn implicit_arg_iter(&self) -> ImplicitArgIterator<'_, Self> {
[INFO] [stdout]      |                                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> base/src/types/mod.rs:1774:17
[INFO] [stdout]      |
[INFO] [stdout] 1774 |     fn row_iter(&self) -> RowIterator<Self> {
[INFO] [stdout]      |                 ^^^^^     ^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]      |                 |
[INFO] [stdout]      |                 the lifetime is elided here
[INFO] [stdout]      |
[INFO] [stdout]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]      |
[INFO] [stdout] 1774 |     fn row_iter(&self) -> RowIterator<'_, Self> {
[INFO] [stdout]      |                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> base/src/types/mod.rs:1858:26
[INFO] [stdout]      |
[INFO] [stdout] 1858 |     fn forall_scope_iter(&self) -> ForallScopeIter<Self> {
[INFO] [stdout]      |                          ^^^^^     ^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]      |                          |
[INFO] [stdout]      |                          the lifetime is elided here
[INFO] [stdout]      |
[INFO] [stdout]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]      |
[INFO] [stdout] 1858 |     fn forall_scope_iter(&self) -> ForallScopeIter<'_, Self> {
[INFO] [stdout]      |                                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stdout]     --> base/src/types/mod.rs:2313:65
[INFO] [stdout]      |
[INFO] [stdout] 2313 | fn split_top<'a, Id, T>(self_: &'a T) -> Option<(Option<&'a T>, Cow<[T]>)>
[INFO] [stdout]      |                                 --                       --     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]      |                                 |                        |
[INFO] [stdout]      |                                 |                        the same lifetime is named here
[INFO] [stdout]      |                                 the lifetime is named here
[INFO] [stdout]      |
[INFO] [stdout]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: consistently use `'a`
[INFO] [stdout]      |
[INFO] [stdout] 2313 | fn split_top<'a, Id, T>(self_: &'a T) -> Option<(Option<&'a T>, Cow<'a, [T]>)>
[INFO] [stdout]      |                                                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stdout]     --> base/src/types/mod.rs:2337:62
[INFO] [stdout]      |
[INFO] [stdout] 2337 | pub fn split_app<'a, Id, T>(self_: &'a T) -> (Option<&'a T>, Cow<[T]>)
[INFO] [stdout]      |                                     --                --     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]      |                                     |                 |
[INFO] [stdout]      |                                     |                 the same lifetime is named here
[INFO] [stdout]      |                                     the lifetime is named here
[INFO] [stdout]      |
[INFO] [stdout]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: consistently use `'a`
[INFO] [stdout]      |
[INFO] [stdout] 2337 | pub fn split_app<'a, Id, T>(self_: &'a T) -> (Option<&'a T>, Cow<'a, [T]>)
[INFO] [stdout]      |                                                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> base/src/types/mod.rs:2362:30
[INFO] [stdout]      |
[INFO] [stdout] 2362 | pub fn ctor_args<Id, T>(typ: &T) -> ArgIterator<T>
[INFO] [stdout]      |                              ^^     ^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]      |                              |
[INFO] [stdout]      |                              the lifetime is elided here
[INFO] [stdout]      |
[INFO] [stdout]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]      |
[INFO] [stdout] 2362 | pub fn ctor_args<Id, T>(typ: &T) -> ArgIterator<'_, T>
[INFO] [stdout]      |                                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> base/src/types/mod.rs:2376:29
[INFO] [stdout]      |
[INFO] [stdout] 2376 | pub fn arg_iter<Id, T>(typ: &T) -> ArgIterator<T>
[INFO] [stdout]      |                             ^^     ^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]      |                             |
[INFO] [stdout]      |                             the lifetime is elided here
[INFO] [stdout]      |
[INFO] [stdout]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]      |
[INFO] [stdout] 2376 | pub fn arg_iter<Id, T>(typ: &T) -> ArgIterator<'_, T>
[INFO] [stdout]      |                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> base/src/types/mod.rs:2404:38
[INFO] [stdout]      |
[INFO] [stdout] 2404 | pub fn implicit_arg_iter<Id, T>(typ: &T) -> ImplicitArgIterator<T>
[INFO] [stdout]      |                                      ^^     ^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]      |                                      |
[INFO] [stdout]      |                                      the lifetime is elided here
[INFO] [stdout]      |
[INFO] [stdout]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]      |
[INFO] [stdout] 2404 | pub fn implicit_arg_iter<Id, T>(typ: &T) -> ImplicitArgIterator<'_, T>
[INFO] [stdout]      |                                                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> base/src/types/mod.rs:2532:31
[INFO] [stdout]      |
[INFO] [stdout] 2532 | pub fn dt<T>(prec: Prec, typ: &T) -> DisplayType<T> {
[INFO] [stdout]      |                               ^^     ^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]      |                               |
[INFO] [stdout]      |                               the lifetime is elided here
[INFO] [stdout]      |
[INFO] [stdout]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]      |
[INFO] [stdout] 2532 | pub fn dt<T>(prec: Prec, typ: &T) -> DisplayType<'_, T> {
[INFO] [stdout]      |                                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> base/src/types/mod.rs:2536:16
[INFO] [stdout]      |
[INFO] [stdout] 2536 | fn top<T>(typ: &T) -> DisplayType<T> {
[INFO] [stdout]      |                ^^     ^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]      |                |
[INFO] [stdout]      |                the lifetime is elided here
[INFO] [stdout]      |
[INFO] [stdout]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]      |
[INFO] [stdout] 2536 | fn top<T>(typ: &T) -> DisplayType<'_, T> {
[INFO] [stdout]      |                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling gluon_check v0.18.2 (/opt/rustwide/workdir/check)
[INFO] [stderr]    Compiling gluon_format v0.18.2 (/opt/rustwide/workdir/format)
[INFO] [stdout] warning: unexpected `cfg` condition value: `serde_derive`
[INFO] [stdout]  --> check/src/metadata.rs:3:7
[INFO] [stdout]   |
[INFO] [stdout] 3 | #[cfg(feature = "serde_derive")]
[INFO] [stdout]   |       ^^^^^^^^^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout]   |
[INFO] [stdout]   = note: no expected values for `feature`
[INFO] [stdout]   = help: consider adding `serde_derive` as a feature in `Cargo.toml`
[INFO] [stdout]   = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]   = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `TypeExt` and `TypePtr`
[INFO] [stdout]  --> check/src/typ.rs:1:56
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub use crate::base::types::{ArcType as RcType, Flags, TypeExt, TypePtr};
[INFO] [stdout]   |                                                        ^^^^^^^  ^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling gluon v0.18.2 (/opt/rustwide/workdir)
[INFO] [stderr]    Compiling futures-executor v0.3.31
[INFO] [stderr]    Compiling gluon-salsa v0.15.2
[INFO] [stderr]    Compiling futures v0.3.31
[INFO] [stdout] warning: method `has_data` is never used
[INFO] [stdout]   --> check/src/metadata.rs:25:8
[INFO] [stdout]    |
[INFO] [stdout] 22 | trait ArcMetadata: Into<Arc<Metadata>> {
[INFO] [stdout]    |       ----------- method in this trait
[INFO] [stdout] ...
[INFO] [stdout] 25 |     fn has_data(&self) -> bool;
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling gluon_parser v0.18.2 (/opt/rustwide/workdir/parser)
[INFO] [stdout] warning: method `produce_slice` is never used
[INFO] [stdout]    --> vm/src/core/interpreter.rs:129:8
[INFO] [stdout]     |
[INFO] [stdout] 127 | trait Resolver<'l, 'a> {
[INFO] [stdout]     |       -------- method in this trait
[INFO] [stdout] 128 |     fn produce(&self, expr: CExpr<'a>) -> CExpr<'l>;
[INFO] [stdout] 129 |     fn produce_slice(&self, expr: &'a [Expr<'a>]) -> &'l [Expr<'l>];
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> vm/src/core/mod.rs:366:32
[INFO] [stdout]     |
[INFO] [stdout] 366 |     pub struct FrozenAllocator(Arc<Allocator<'static>>);
[INFO] [stdout]     |                --------------- ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                |
[INFO] [stdout]     |                field in this struct
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider removing this field
[INFO] [stdout]     = note: `FrozenAllocator` has a derived impl for the trait `Clone`, but this is 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]   --> vm/src/lib.rs:90:28
[INFO] [stdout]    |
[INFO] [stdout] 90 | #[derive(Debug, PartialEq, Trace)]
[INFO] [stdout]    |                            ^----
[INFO] [stdout]    |                            |
[INFO] [stdout]    |                            `Trace` is not local
[INFO] [stdout]    |                            move the `impl` block outside of this constant `_IMPL_TRAVERSEABLE_FOR_Variants`
[INFO] [stdout] ...
[INFO] [stdout] 93 | pub struct Variants<'a>(ValueRepr, PhantomData<&'a Value>);
[INFO] [stdout]    |            -------- `Variants` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Trace` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Trace` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const 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: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> vm/src/lib.rs:106:23
[INFO] [stdout]     |
[INFO] [stdout] 106 |     pub fn new(value: &Value) -> Variants {
[INFO] [stdout]     |                       ^^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 106 |     pub fn new(value: &Value) -> Variants<'_> {
[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]    --> vm/src/gc.rs:313:10
[INFO] [stdout]     |
[INFO] [stdout] 313 | #[derive(Trace)]
[INFO] [stdout]     |          ^----
[INFO] [stdout]     |          |
[INFO] [stdout]     |          `Trace` is not local
[INFO] [stdout]     |          move the `impl` block outside of this constant `_IMPL_TRAVERSEABLE_FOR_Move`
[INFO] [stdout] 314 | #[gluon(gluon_vm)]
[INFO] [stdout] 315 | pub struct Move<T>(pub T);
[INFO] [stdout]     |            ---- `Move` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Trace` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Trace` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Trace` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> vm/src/gc.rs:325:33
[INFO] [stdout]     |
[INFO] [stdout] 325 |     fn initialize(self, result: WriteOnly<T>) -> &mut T {
[INFO] [stdout]     |                                 ^^^^^^^^^^^^     ^^^^^^ the same lifetime is elided here
[INFO] [stdout]     |                                 |
[INFO] [stdout]     |                                 the lifetime is hidden here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 325 |     fn initialize(self, result: WriteOnly<'_, T>) -> &mut T {
[INFO] [stdout]     |                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> vm/src/gc.rs:520:33
[INFO] [stdout]     |
[INFO] [stdout] 520 |     fn initialize(self, result: WriteOnly<Self::Value>) -> &mut Self::Value {
[INFO] [stdout]     |                                 ^^^^^^^^^^^^^^^^^^^^^^     ^^^^^^^^^^^^^^^^ the same lifetime is elided here
[INFO] [stdout]     |                                 |
[INFO] [stdout]     |                                 the lifetime is hidden here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 520 |     fn initialize(self, result: WriteOnly<'_, Self::Value>) -> &mut Self::Value {
[INFO] [stdout]     |                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> vm/src/gc.rs:1086:9
[INFO] [stdout]      |
[INFO] [stdout] 1086 |         &mut self,
[INFO] [stdout]      |         ^^^^^^^^^ the lifetime is elided here
[INFO] [stdout] ...
[INFO] [stdout] 1089 |     ) -> Result<OwnedGcRef<D::Value>>
[INFO] [stdout]      |                 ^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]      |
[INFO] [stdout]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]      |
[INFO] [stdout] 1089 |     ) -> Result<OwnedGcRef<'_, D::Value>>
[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]     --> vm/src/gc.rs:1095:18
[INFO] [stdout]      |
[INFO] [stdout] 1095 |         #[derive(Trace)]
[INFO] [stdout]      |                  ^----
[INFO] [stdout]      |                  |
[INFO] [stdout]      |                  `Trace` is not local
[INFO] [stdout]      |                  move the `impl` block outside of this constant `_IMPL_TRAVERSEABLE_FOR_Scope1` and up 2 bodies
[INFO] [stdout] 1096 |         #[gluon(gluon_vm)]
[INFO] [stdout] 1097 |         struct Scope1<A, B>(A, B);
[INFO] [stdout]      |                ------ `Scope1` is not local
[INFO] [stdout]      |
[INFO] [stdout]      = note: the derive macro `Trace` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]      = note: the derive macro `Trace` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stdout]      = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]      = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]      = note: this warning originates in the derive macro `Trace` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> vm/src/gc.rs:1116:21
[INFO] [stdout]      |
[INFO] [stdout] 1116 |     pub fn alloc<D>(&mut self, def: D) -> Result<GcRef<D::Value>>
[INFO] [stdout]      |                     ^^^^^^^^^                    ^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     the lifetime is elided here
[INFO] [stdout]      |
[INFO] [stdout]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]      |
[INFO] [stdout] 1116 |     pub fn alloc<D>(&mut self, def: D) -> Result<GcRef<'_, D::Value>>
[INFO] [stdout]      |                                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> vm/src/gc.rs:1124:27
[INFO] [stdout]      |
[INFO] [stdout] 1124 |     pub fn alloc_owned<D>(&mut self, def: D) -> Result<OwnedGcRef<D::Value>>
[INFO] [stdout]      |                           ^^^^^^^^^                    ^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]      |                           |
[INFO] [stdout]      |                           the lifetime is elided here
[INFO] [stdout]      |
[INFO] [stdout]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]      |
[INFO] [stdout] 1124 |     pub fn alloc_owned<D>(&mut self, def: D) -> Result<OwnedGcRef<'_, D::Value>>
[INFO] [stdout]      |                                                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> vm/src/gc.rs:1140:34
[INFO] [stdout]      |
[INFO] [stdout] 1140 |     pub fn alloc_ignore_limit<D>(&mut self, def: D) -> GcRef<D::Value>
[INFO] [stdout]      |                                  ^^^^^^^^^             ^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]      |                                  |
[INFO] [stdout]      |                                  the lifetime is elided here
[INFO] [stdout]      |
[INFO] [stdout]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]      |
[INFO] [stdout] 1140 |     pub fn alloc_ignore_limit<D>(&mut self, def: D) -> GcRef<'_, D::Value>
[INFO] [stdout]      |                                                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> vm/src/gc.rs:1212:31
[INFO] [stdout]      |
[INFO] [stdout] 1212 |     fn alloc_ignore_limit_<D>(&mut self, size: usize, def: D) -> OwnedGcRef<D::Value>
[INFO] [stdout]      |                               ^^^^^^^^^                          ^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]      |                               |
[INFO] [stdout]      |                               the lifetime is elided here
[INFO] [stdout]      |
[INFO] [stdout]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]      |
[INFO] [stdout] 1212 |     fn alloc_ignore_limit_<D>(&mut self, size: usize, def: D) -> OwnedGcRef<'_, D::Value>
[INFO] [stdout]      |                                                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> vm/src/gc/mutex.rs:73:17
[INFO] [stdout]    |
[INFO] [stdout] 73 |     pub fn lock(&self) -> LockResult<MutexGuard<T>> {
[INFO] [stdout]    |                 ^^^^^                ^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 73 |     pub fn lock(&self) -> LockResult<MutexGuard<'_, T>> {
[INFO] [stdout]    |                                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> vm/src/gc/mutex.rs:84:21
[INFO] [stdout]    |
[INFO] [stdout] 84 |     pub fn try_lock(&self) -> TryLockResult<MutexGuard<T>> {
[INFO] [stdout]    |                     ^^^^^                   ^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 84 |     pub fn try_lock(&self) -> TryLockResult<MutexGuard<'_, T>> {
[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]    --> vm/src/api/mod.rs:301:10
[INFO] [stdout]     |
[INFO] [stdout] 301 | #[derive(Trace, PartialEq)]
[INFO] [stdout]     |          ^----
[INFO] [stdout]     |          |
[INFO] [stdout]     |          `Trace` is not local
[INFO] [stdout]     |          move the `impl` block outside of this constant `_IMPL_TRAVERSEABLE_FOR_Unrooted`
[INFO] [stdout] 302 | #[gluon(gluon_vm)]
[INFO] [stdout] 303 | pub(crate) struct Unrooted<T: ?Sized>(Value, PhantomData<T>);
[INFO] [stdout]     |                   -------- `Unrooted` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Trace` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Trace` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Trace` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> vm/src/api/function.rs:164:24
[INFO] [stdout]     |
[INFO] [stdout] 164 |     pub fn get_variant(&self) -> Variants {
[INFO] [stdout]     |                        ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 164 |     pub fn get_variant(&self) -> Variants<'_> {
[INFO] [stdout]     |                                          ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> vm/src/api/opaque.rs:35:21
[INFO] [stdout]    |
[INFO] [stdout] 35 |     fn as_value_ref(&self) -> ValueRef;
[INFO] [stdout]    |                     ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 35 |     fn as_value_ref(&self) -> ValueRef<'_>;
[INFO] [stdout]    |                                       ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> vm/src/api/opaque.rs:39:21
[INFO] [stdout]    |
[INFO] [stdout] 39 |     fn as_value_ref(&self) -> ValueRef {
[INFO] [stdout]    |                     ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 39 |     fn as_value_ref(&self) -> ValueRef<'_> {
[INFO] [stdout]    |                                       ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> vm/src/api/opaque.rs:47:21
[INFO] [stdout]    |
[INFO] [stdout] 47 |     fn as_value_ref(&self) -> ValueRef {
[INFO] [stdout]    |                     ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 47 |     fn as_value_ref(&self) -> ValueRef<'_> {
[INFO] [stdout]    |                                       ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> vm/src/api/scoped.rs:157:18
[INFO] [stdout]     |
[INFO] [stdout] 157 |     pub fn write(&self) -> Result<WriteGuard<T>> {
[INFO] [stdout]     |                  ^^^^^            ^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                  |
[INFO] [stdout]     |                  the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 157 |     pub fn write(&self) -> Result<WriteGuard<'_, T>> {
[INFO] [stdout]     |                                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> vm/src/api/scoped.rs:167:17
[INFO] [stdout]     |
[INFO] [stdout] 167 |     pub fn read(&self) -> Result<ReadGuard<T>> {
[INFO] [stdout]     |                 ^^^^^            ^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 167 |     pub fn read(&self) -> Result<ReadGuard<'_, T>> {
[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]    --> vm/src/api/mod.rs:344:53
[INFO] [stdout]     |
[INFO] [stdout] 344 |             #[derive(Clone, Copy, PartialEq, Debug, Trace)]
[INFO] [stdout]     |                                                     ^----
[INFO] [stdout]     |                                                     |
[INFO] [stdout]     |                                                     `Trace` is not local
[INFO] [stdout]     |                                                     move the `impl` block outside of this constant `_IMPL_TRAVERSEABLE_FOR_A`
[INFO] [stdout] ...
[INFO] [stdout] 360 |     make_generics! {A B C D E F G H I J K L M N O P Q R S T U V X Y Z}
[INFO] [stdout]     |     ------------------------------------------------------------------
[INFO] [stdout]     |     |               |
[INFO] [stdout]     |     |               `A` is not local
[INFO] [stdout]     |     in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Trace` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Trace` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Trace` which comes from the expansion of the macro `make_generics` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> vm/src/api/mod.rs:344:53
[INFO] [stdout]     |
[INFO] [stdout] 344 |             #[derive(Clone, Copy, PartialEq, Debug, Trace)]
[INFO] [stdout]     |                                                     ^----
[INFO] [stdout]     |                                                     |
[INFO] [stdout]     |                                                     `Trace` is not local
[INFO] [stdout]     |                                                     move the `impl` block outside of this constant `_IMPL_TRAVERSEABLE_FOR_B`
[INFO] [stdout] ...
[INFO] [stdout] 360 |     make_generics! {A B C D E F G H I J K L M N O P Q R S T U V X Y Z}
[INFO] [stdout]     |     ------------------------------------------------------------------
[INFO] [stdout]     |     |                 |
[INFO] [stdout]     |     |                 `B` is not local
[INFO] [stdout]     |     in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Trace` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Trace` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Trace` which comes from the expansion of the macro `make_generics` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> vm/src/api/mod.rs:344:53
[INFO] [stdout]     |
[INFO] [stdout] 344 |             #[derive(Clone, Copy, PartialEq, Debug, Trace)]
[INFO] [stdout]     |                                                     ^----
[INFO] [stdout]     |                                                     |
[INFO] [stdout]     |                                                     `Trace` is not local
[INFO] [stdout]     |                                                     move the `impl` block outside of this constant `_IMPL_TRAVERSEABLE_FOR_C`
[INFO] [stdout] ...
[INFO] [stdout] 360 |     make_generics! {A B C D E F G H I J K L M N O P Q R S T U V X Y Z}
[INFO] [stdout]     |     ------------------------------------------------------------------
[INFO] [stdout]     |     |                   |
[INFO] [stdout]     |     |                   `C` is not local
[INFO] [stdout]     |     in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Trace` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Trace` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Trace` which comes from the expansion of the macro `make_generics` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> vm/src/api/mod.rs:344:53
[INFO] [stdout]     |
[INFO] [stdout] 344 |             #[derive(Clone, Copy, PartialEq, Debug, Trace)]
[INFO] [stdout]     |                                                     ^----
[INFO] [stdout]     |                                                     |
[INFO] [stdout]     |                                                     `Trace` is not local
[INFO] [stdout]     |                                                     move the `impl` block outside of this constant `_IMPL_TRAVERSEABLE_FOR_D`
[INFO] [stdout] ...
[INFO] [stdout] 360 |     make_generics! {A B C D E F G H I J K L M N O P Q R S T U V X Y Z}
[INFO] [stdout]     |     ------------------------------------------------------------------
[INFO] [stdout]     |     |                     |
[INFO] [stdout]     |     |                     `D` is not local
[INFO] [stdout]     |     in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Trace` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Trace` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Trace` which comes from the expansion of the macro `make_generics` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> vm/src/api/mod.rs:344:53
[INFO] [stdout]     |
[INFO] [stdout] 344 |             #[derive(Clone, Copy, PartialEq, Debug, Trace)]
[INFO] [stdout]     |                                                     ^----
[INFO] [stdout]     |                                                     |
[INFO] [stdout]     |                                                     `Trace` is not local
[INFO] [stdout]     |                                                     move the `impl` block outside of this constant `_IMPL_TRAVERSEABLE_FOR_E`
[INFO] [stdout] ...
[INFO] [stdout] 360 |     make_generics! {A B C D E F G H I J K L M N O P Q R S T U V X Y Z}
[INFO] [stdout]     |     ------------------------------------------------------------------
[INFO] [stdout]     |     |                       |
[INFO] [stdout]     |     |                       `E` is not local
[INFO] [stdout]     |     in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Trace` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Trace` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Trace` which comes from the expansion of the macro `make_generics` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> vm/src/api/mod.rs:344:53
[INFO] [stdout]     |
[INFO] [stdout] 344 |             #[derive(Clone, Copy, PartialEq, Debug, Trace)]
[INFO] [stdout]     |                                                     ^----
[INFO] [stdout]     |                                                     |
[INFO] [stdout]     |                                                     `Trace` is not local
[INFO] [stdout]     |                                                     move the `impl` block outside of this constant `_IMPL_TRAVERSEABLE_FOR_F`
[INFO] [stdout] ...
[INFO] [stdout] 360 |     make_generics! {A B C D E F G H I J K L M N O P Q R S T U V X Y Z}
[INFO] [stdout]     |     ------------------------------------------------------------------
[INFO] [stdout]     |     |                         |
[INFO] [stdout]     |     |                         `F` is not local
[INFO] [stdout]     |     in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Trace` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Trace` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Trace` which comes from the expansion of the macro `make_generics` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> vm/src/api/mod.rs:344:53
[INFO] [stdout]     |
[INFO] [stdout] 344 |             #[derive(Clone, Copy, PartialEq, Debug, Trace)]
[INFO] [stdout]     |                                                     ^----
[INFO] [stdout]     |                                                     |
[INFO] [stdout]     |                                                     `Trace` is not local
[INFO] [stdout]     |                                                     move the `impl` block outside of this constant `_IMPL_TRAVERSEABLE_FOR_G`
[INFO] [stdout] ...
[INFO] [stdout] 360 |     make_generics! {A B C D E F G H I J K L M N O P Q R S T U V X Y Z}
[INFO] [stdout]     |     ------------------------------------------------------------------
[INFO] [stdout]     |     |                           |
[INFO] [stdout]     |     |                           `G` is not local
[INFO] [stdout]     |     in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Trace` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Trace` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Trace` which comes from the expansion of the macro `make_generics` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> vm/src/api/mod.rs:344:53
[INFO] [stdout]     |
[INFO] [stdout] 344 |             #[derive(Clone, Copy, PartialEq, Debug, Trace)]
[INFO] [stdout]     |                                                     ^----
[INFO] [stdout]     |                                                     |
[INFO] [stdout]     |                                                     `Trace` is not local
[INFO] [stdout]     |                                                     move the `impl` block outside of this constant `_IMPL_TRAVERSEABLE_FOR_H`
[INFO] [stdout] ...
[INFO] [stdout] 360 |     make_generics! {A B C D E F G H I J K L M N O P Q R S T U V X Y Z}
[INFO] [stdout]     |     ------------------------------------------------------------------
[INFO] [stdout]     |     |                             |
[INFO] [stdout]     |     |                             `H` is not local
[INFO] [stdout]     |     in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Trace` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Trace` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Trace` which comes from the expansion of the macro `make_generics` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> vm/src/api/mod.rs:344:53
[INFO] [stdout]     |
[INFO] [stdout] 344 |             #[derive(Clone, Copy, PartialEq, Debug, Trace)]
[INFO] [stdout]     |                                                     ^----
[INFO] [stdout]     |                                                     |
[INFO] [stdout]     |                                                     `Trace` is not local
[INFO] [stdout]     |                                                     move the `impl` block outside of this constant `_IMPL_TRAVERSEABLE_FOR_I`
[INFO] [stdout] ...
[INFO] [stdout] 360 |     make_generics! {A B C D E F G H I J K L M N O P Q R S T U V X Y Z}
[INFO] [stdout]     |     ------------------------------------------------------------------
[INFO] [stdout]     |     |                               |
[INFO] [stdout]     |     |                               `I` is not local
[INFO] [stdout]     |     in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Trace` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Trace` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Trace` which comes from the expansion of the macro `make_generics` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> vm/src/api/mod.rs:344:53
[INFO] [stdout]     |
[INFO] [stdout] 344 |             #[derive(Clone, Copy, PartialEq, Debug, Trace)]
[INFO] [stdout]     |                                                     ^----
[INFO] [stdout]     |                                                     |
[INFO] [stdout]     |                                                     `Trace` is not local
[INFO] [stdout]     |                                                     move the `impl` block outside of this constant `_IMPL_TRAVERSEABLE_FOR_J`
[INFO] [stdout] ...
[INFO] [stdout] 360 |     make_generics! {A B C D E F G H I J K L M N O P Q R S T U V X Y Z}
[INFO] [stdout]     |     ------------------------------------------------------------------
[INFO] [stdout]     |     |                                 |
[INFO] [stdout]     |     |                                 `J` is not local
[INFO] [stdout]     |     in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Trace` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Trace` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Trace` which comes from the expansion of the macro `make_generics` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> vm/src/api/mod.rs:344:53
[INFO] [stdout]     |
[INFO] [stdout] 344 |             #[derive(Clone, Copy, PartialEq, Debug, Trace)]
[INFO] [stdout]     |                                                     ^----
[INFO] [stdout]     |                                                     |
[INFO] [stdout]     |                                                     `Trace` is not local
[INFO] [stdout]     |                                                     move the `impl` block outside of this constant `_IMPL_TRAVERSEABLE_FOR_K`
[INFO] [stdout] ...
[INFO] [stdout] 360 |     make_generics! {A B C D E F G H I J K L M N O P Q R S T U V X Y Z}
[INFO] [stdout]     |     ------------------------------------------------------------------
[INFO] [stdout]     |     |                                   |
[INFO] [stdout]     |     |                                   `K` is not local
[INFO] [stdout]     |     in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Trace` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Trace` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Trace` which comes from the expansion of the macro `make_generics` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> vm/src/api/mod.rs:344:53
[INFO] [stdout]     |
[INFO] [stdout] 344 |             #[derive(Clone, Copy, PartialEq, Debug, Trace)]
[INFO] [stdout]     |                                                     ^----
[INFO] [stdout]     |                                                     |
[INFO] [stdout]     |                                                     `Trace` is not local
[INFO] [stdout]     |                                                     move the `impl` block outside of this constant `_IMPL_TRAVERSEABLE_FOR_L`
[INFO] [stdout] ...
[INFO] [stdout] 360 |     make_generics! {A B C D E F G H I J K L M N O P Q R S T U V X Y Z}
[INFO] [stdout]     |     ------------------------------------------------------------------
[INFO] [stdout]     |     |                                     |
[INFO] [stdout]     |     |                                     `L` is not local
[INFO] [stdout]     |     in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Trace` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Trace` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Trace` which comes from the expansion of the macro `make_generics` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> vm/src/api/mod.rs:344:53
[INFO] [stdout]     |
[INFO] [stdout] 344 |             #[derive(Clone, Copy, PartialEq, Debug, Trace)]
[INFO] [stdout]     |                                                     ^----
[INFO] [stdout]     |                                                     |
[INFO] [stdout]     |                                                     `Trace` is not local
[INFO] [stdout]     |                                                     move the `impl` block outside of this constant `_IMPL_TRAVERSEABLE_FOR_M`
[INFO] [stdout] ...
[INFO] [stdout] 360 |     make_generics! {A B C D E F G H I J K L M N O P Q R S T U V X Y Z}
[INFO] [stdout]     |     ------------------------------------------------------------------
[INFO] [stdout]     |     |                                       |
[INFO] [stdout]     |     |                                       `M` is not local
[INFO] [stdout]     |     in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Trace` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Trace` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Trace` which comes from the expansion of the macro `make_generics` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> vm/src/api/mod.rs:344:53
[INFO] [stdout]     |
[INFO] [stdout] 344 |             #[derive(Clone, Copy, PartialEq, Debug, Trace)]
[INFO] [stdout]     |                                                     ^----
[INFO] [stdout]     |                                                     |
[INFO] [stdout]     |                                                     `Trace` is not local
[INFO] [stdout]     |                                                     move the `impl` block outside of this constant `_IMPL_TRAVERSEABLE_FOR_N`
[INFO] [stdout] ...
[INFO] [stdout] 360 |     make_generics! {A B C D E F G H I J K L M N O P Q R S T U V X Y Z}
[INFO] [stdout]     |     ------------------------------------------------------------------
[INFO] [stdout]     |     |                                         |
[INFO] [stdout]     |     |                                         `N` is not local
[INFO] [stdout]     |     in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Trace` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Trace` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Trace` which comes from the expansion of the macro `make_generics` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> vm/src/api/mod.rs:344:53
[INFO] [stdout]     |
[INFO] [stdout] 344 |             #[derive(Clone, Copy, PartialEq, Debug, Trace)]
[INFO] [stdout]     |                                                     ^----
[INFO] [stdout]     |                                                     |
[INFO] [stdout]     |                                                     `Trace` is not local
[INFO] [stdout]     |                                                     move the `impl` block outside of this constant `_IMPL_TRAVERSEABLE_FOR_O`
[INFO] [stdout] ...
[INFO] [stdout] 360 |     make_generics! {A B C D E F G H I J K L M N O P Q R S T U V X Y Z}
[INFO] [stdout]     |     ------------------------------------------------------------------
[INFO] [stdout]     |     |                                           |
[INFO] [stdout]     |     |                                           `O` is not local
[INFO] [stdout]     |     in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Trace` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Trace` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Trace` which comes from the expansion of the macro `make_generics` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> vm/src/api/mod.rs:344:53
[INFO] [stdout]     |
[INFO] [stdout] 344 |             #[derive(Clone, Copy, PartialEq, Debug, Trace)]
[INFO] [stdout]     |                                                     ^----
[INFO] [stdout]     |                                                     |
[INFO] [stdout]     |                                                     `Trace` is not local
[INFO] [stdout]     |                                                     move the `impl` block outside of this constant `_IMPL_TRAVERSEABLE_FOR_P`
[INFO] [stdout] ...
[INFO] [stdout] 360 |     make_generics! {A B C D E F G H I J K L M N O P Q R S T U V X Y Z}
[INFO] [stdout]     |     ------------------------------------------------------------------
[INFO] [stdout]     |     |                                             |
[INFO] [stdout]     |     |                                             `P` is not local
[INFO] [stdout]     |     in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Trace` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Trace` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Trace` which comes from the expansion of the macro `make_generics` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> vm/src/api/mod.rs:344:53
[INFO] [stdout]     |
[INFO] [stdout] 344 |             #[derive(Clone, Copy, PartialEq, Debug, Trace)]
[INFO] [stdout]     |                                                     ^----
[INFO] [stdout]     |                                                     |
[INFO] [stdout]     |                                                     `Trace` is not local
[INFO] [stdout]     |                                                     move the `impl` block outside of this constant `_IMPL_TRAVERSEABLE_FOR_Q`
[INFO] [stdout] ...
[INFO] [stdout] 360 |     make_generics! {A B C D E F G H I J K L M N O P Q R S T U V X Y Z}
[INFO] [stdout]     |     ------------------------------------------------------------------
[INFO] [stdout]     |     |                                               |
[INFO] [stdout]     |     |                                               `Q` is not local
[INFO] [stdout]     |     in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Trace` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Trace` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Trace` which comes from the expansion of the macro `make_generics` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> vm/src/api/mod.rs:344:53
[INFO] [stdout]     |
[INFO] [stdout] 344 |             #[derive(Clone, Copy, PartialEq, Debug, Trace)]
[INFO] [stdout]     |                                                     ^----
[INFO] [stdout]     |                                                     |
[INFO] [stdout]     |                                                     `Trace` is not local
[INFO] [stdout]     |                                                     move the `impl` block outside of this constant `_IMPL_TRAVERSEABLE_FOR_R`
[INFO] [stdout] ...
[INFO] [stdout] 360 |     make_generics! {A B C D E F G H I J K L M N O P Q R S T U V X Y Z}
[INFO] [stdout]     |     ------------------------------------------------------------------
[INFO] [stdout]     |     |                                                 |
[INFO] [stdout]     |     |                                                 `R` is not local
[INFO] [stdout]     |     in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Trace` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Trace` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Trace` which comes from the expansion of the macro `make_generics` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> vm/src/api/mod.rs:344:53
[INFO] [stdout]     |
[INFO] [stdout] 344 |             #[derive(Clone, Copy, PartialEq, Debug, Trace)]
[INFO] [stdout]     |                                                     ^----
[INFO] [stdout]     |                                                     |
[INFO] [stdout]     |                                                     `Trace` is not local
[INFO] [stdout]     |                                                     move the `impl` block outside of this constant `_IMPL_TRAVERSEABLE_FOR_S`
[INFO] [stdout] ...
[INFO] [stdout] 360 |     make_generics! {A B C D E F G H I J K L M N O P Q R S T U V X Y Z}
[INFO] [stdout]     |     ------------------------------------------------------------------
[INFO] [stdout]     |     |                                                   |
[INFO] [stdout]     |     |                                                   `S` is not local
[INFO] [stdout]     |     in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Trace` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Trace` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Trace` which comes from the expansion of the macro `make_generics` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> vm/src/api/mod.rs:344:53
[INFO] [stdout]     |
[INFO] [stdout] 344 |             #[derive(Clone, Copy, PartialEq, Debug, Trace)]
[INFO] [stdout]     |                                                     ^----
[INFO] [stdout]     |                                                     |
[INFO] [stdout]     |                                                     `Trace` is not local
[INFO] [stdout]     |                                                     move the `impl` block outside of this constant `_IMPL_TRAVERSEABLE_FOR_T`
[INFO] [stdout] ...
[INFO] [stdout] 360 |     make_generics! {A B C D E F G H I J K L M N O P Q R S T U V X Y Z}
[INFO] [stdout]     |     ------------------------------------------------------------------
[INFO] [stdout]     |     |                                                     |
[INFO] [stdout]     |     |                                                     `T` is not local
[INFO] [stdout]     |     in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Trace` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Trace` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Trace` which comes from the expansion of the macro `make_generics` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> vm/src/api/mod.rs:344:53
[INFO] [stdout]     |
[INFO] [stdout] 344 |             #[derive(Clone, Copy, PartialEq, Debug, Trace)]
[INFO] [stdout]     |                                                     ^----
[INFO] [stdout]     |                                                     |
[INFO] [stdout]     |                                                     `Trace` is not local
[INFO] [stdout]     |                                                     move the `impl` block outside of this constant `_IMPL_TRAVERSEABLE_FOR_U`
[INFO] [stdout] ...
[INFO] [stdout] 360 |     make_generics! {A B C D E F G H I J K L M N O P Q R S T U V X Y Z}
[INFO] [stdout]     |     ------------------------------------------------------------------
[INFO] [stdout]     |     |                                                       |
[INFO] [stdout]     |     |                                                       `U` is not local
[INFO] [stdout]     |     in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Trace` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Trace` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Trace` which comes from the expansion of the macro `make_generics` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> vm/src/api/mod.rs:344:53
[INFO] [stdout]     |
[INFO] [stdout] 344 |             #[derive(Clone, Copy, PartialEq, Debug, Trace)]
[INFO] [stdout]     |                                                     ^----
[INFO] [stdout]     |                                                     |
[INFO] [stdout]     |                                                     `Trace` is not local
[INFO] [stdout]     |                                                     move the `impl` block outside of this constant `_IMPL_TRAVERSEABLE_FOR_V`
[INFO] [stdout] ...
[INFO] [stdout] 360 |     make_generics! {A B C D E F G H I J K L M N O P Q R S T U V X Y Z}
[INFO] [stdout]     |     ------------------------------------------------------------------
[INFO] [stdout]     |     |                                                         |
[INFO] [stdout]     |     |                                                         `V` is not local
[INFO] [stdout]     |     in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Trace` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Trace` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Trace` which comes from the expansion of the macro `make_generics` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> vm/src/api/mod.rs:344:53
[INFO] [stdout]     |
[INFO] [stdout] 344 |             #[derive(Clone, Copy, PartialEq, Debug, Trace)]
[INFO] [stdout]     |                                                     ^----
[INFO] [stdout]     |                                                     |
[INFO] [stdout]     |                                                     `Trace` is not local
[INFO] [stdout]     |                                                     move the `impl` block outside of this constant `_IMPL_TRAVERSEABLE_FOR_X`
[INFO] [stdout] ...
[INFO] [stdout] 360 |     make_generics! {A B C D E F G H I J K L M N O P Q R S T U V X Y Z}
[INFO] [stdout]     |     ------------------------------------------------------------------
[INFO] [stdout]     |     |                                                           |
[INFO] [stdout]     |     |                                                           `X` is not local
[INFO] [stdout]     |     in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Trace` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Trace` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Trace` which comes from the expansion of the macro `make_generics` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> vm/src/api/mod.rs:344:53
[INFO] [stdout]     |
[INFO] [stdout] 344 |             #[derive(Clone, Copy, PartialEq, Debug, Trace)]
[INFO] [stdout]     |                                                     ^----
[INFO] [stdout]     |                                                     |
[INFO] [stdout]     |                                                     `Trace` is not local
[INFO] [stdout]     |                                                     move the `impl` block outside of this constant `_IMPL_TRAVERSEABLE_FOR_Y`
[INFO] [stdout] ...
[INFO] [stdout] 360 |     make_generics! {A B C D E F G H I J K L M N O P Q R S T U V X Y Z}
[INFO] [stdout]     |     ------------------------------------------------------------------
[INFO] [stdout]     |     |                                                             |
[INFO] [stdout]     |     |                                                             `Y` is not local
[INFO] [stdout]     |     in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Trace` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Trace` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Trace` which comes from the expansion of the macro `make_generics` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> vm/src/api/mod.rs:344:53
[INFO] [stdout]     |
[INFO] [stdout] 344 |             #[derive(Clone, Copy, PartialEq, Debug, Trace)]
[INFO] [stdout]     |                                                     ^----
[INFO] [stdout]     |                                                     |
[INFO] [stdout]     |                                                     `Trace` is not local
[INFO] [stdout]     |                                                     move the `impl` block outside of this constant `_IMPL_TRAVERSEABLE_FOR_Z`
[INFO] [stdout] ...
[INFO] [stdout] 360 |     make_generics! {A B C D E F G H I J K L M N O P Q R S T U V X Y Z}
[INFO] [stdout]     |     ------------------------------------------------------------------
[INFO] [stdout]     |     |                                                               |
[INFO] [stdout]     |     |                                                               `Z` is not local
[INFO] [stdout]     |     in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Trace` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Trace` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Trace` which comes from the expansion of the macro `make_generics` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> vm/src/core/interpreter.rs:332:15
[INFO] [stdout]     |
[INFO] [stdout] 332 |     fn as_ref(&self) -> &Expr {
[INFO] [stdout]     |               ^^^^^     ^^^^^
[INFO] [stdout]     |               |         ||
[INFO] [stdout]     |               |         |the same lifetime is hidden here
[INFO] [stdout]     |               |         the same lifetime is elided here
[INFO] [stdout]     |               the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 332 |     fn as_ref(&self) -> &Expr<'_> {
[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]    --> vm/src/macros.rs:335:10
[INFO] [stdout]     |
[INFO] [stdout] 335 | #[derive(Trace, Default)]
[INFO] [stdout]     |          ^----
[INFO] [stdout]     |          |
[INFO] [stdout]     |          `Trace` is not local
[INFO] [stdout]     |          move the `impl` block outside of this constant `_IMPL_TRAVERSEABLE_FOR_MacroEnv`
[INFO] [stdout] 336 | #[gluon(gluon_vm)]
[INFO] [stdout] 337 | pub struct MacroEnv {
[INFO] [stdout]     |            -------- `MacroEnv` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Trace` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Trace` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Trace` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> vm/src/primitives.rs:710:10
[INFO] [stdout]     |
[INFO] [stdout] 710 | #[derive(Pushable, VmType)]
[INFO] [stdout]     |          ^-------
[INFO] [stdout]     |          |
[INFO] [stdout]     |          `Pushable` is not local
[INFO] [stdout]     |          move the `impl` block outside of this constant `_IMPL_PUSHABLE_FOR_Component`
[INFO] [stdout] ...
[INFO] [stdout] 713 | pub enum Component<'a> {
[INFO] [stdout]     |          --------- `Component` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Pushable` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Pushable` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Pushable` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> vm/src/primitives.rs:710:20
[INFO] [stdout]     |
[INFO] [stdout] 710 | #[derive(Pushable, VmType)]
[INFO] [stdout]     |                    ^-----
[INFO] [stdout]     |                    |
[INFO] [stdout]     |                    `VmType` is not local
[INFO] [stdout]     |                    move the `impl` block outside of this constant `_IMPL_VM_TYPE_FOR_Component`
[INFO] [stdout] ...
[INFO] [stdout] 713 | pub enum Component<'a> {
[INFO] [stdout]     |          --------- `Component` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `VmType` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `VmType` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `VmType` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> vm/src/primitives.rs:721:10
[INFO] [stdout]     |
[INFO] [stdout] 721 | #[derive(Userdata, Debug, VmType)]
[INFO] [stdout]     |          ^-------
[INFO] [stdout]     |          |
[INFO] [stdout]     |          `Userdata` is not local
[INFO] [stdout]     |          move the `impl` block outside of this constant `_IMPL_USERDATA_FOR_Metadata`
[INFO] [stdout] ...
[INFO] [stdout] 724 | pub struct Metadata(fs::Metadata);
[INFO] [stdout]     |            -------- `Metadata` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Userdata` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Userdata` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Userdata` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> vm/src/primitives.rs:721:27
[INFO] [stdout]     |
[INFO] [stdout] 721 | #[derive(Userdata, Debug, VmType)]
[INFO] [stdout]     |                           ^-----
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           `VmType` is not local
[INFO] [stdout]     |                           move the `impl` block outside of this constant `_IMPL_VM_TYPE_FOR_Metadata`
[INFO] [stdout] ...
[INFO] [stdout] 724 | pub struct Metadata(fs::Metadata);
[INFO] [stdout]     |            -------- `Metadata` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `VmType` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `VmType` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `VmType` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> vm/src/primitives.rs:730:10
[INFO] [stdout]     |
[INFO] [stdout] 730 | #[derive(Userdata, Debug, VmType)]
[INFO] [stdout]     |          ^-------
[INFO] [stdout]     |          |
[INFO] [stdout]     |          `Userdata` is not local
[INFO] [stdout]     |          move the `impl` block outside of this constant `_IMPL_USERDATA_FOR_DirEntry`
[INFO] [stdout] ...
[INFO] [stdout] 733 | pub struct DirEntry(fs::DirEntry);
[INFO] [stdout]     |            -------- `DirEntry` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Userdata` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Userdata` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Userdata` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> vm/src/primitives.rs:730:27
[INFO] [stdout]     |
[INFO] [stdout] 730 | #[derive(Userdata, Debug, VmType)]
[INFO] [stdout]     |                           ^-----
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           `VmType` is not local
[INFO] [stdout]     |                           move the `impl` block outside of this constant `_IMPL_VM_TYPE_FOR_DirEntry`
[INFO] [stdout] ...
[INFO] [stdout] 733 | pub struct DirEntry(fs::DirEntry);
[INFO] [stdout]     |            -------- `DirEntry` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `VmType` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `VmType` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `VmType` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> vm/src/primitives.rs:863:26
[INFO] [stdout]     |
[INFO] [stdout] 863 | #[derive(Debug, Default, VmType, Userdata, Trace)]
[INFO] [stdout]     |                          ^-----
[INFO] [stdout]     |                          |
[INFO] [stdout]     |                          `VmType` is not local
[INFO] [stdout]     |                          move the `impl` block outside of this constant `_IMPL_VM_TYPE_FOR_StringBuf`
[INFO] [stdout] ...
[INFO] [stdout] 866 | pub(crate) struct StringBuf<S>(Mutex<String>, PhantomData<S>);
[INFO] [stdout]     |                   --------- `StringBuf` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `VmType` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `VmType` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `VmType` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> vm/src/primitives.rs:863:34
[INFO] [stdout]     |
[INFO] [stdout] 863 | #[derive(Debug, Default, VmType, Userdata, Trace)]
[INFO] [stdout]     |                                  ^-------
[INFO] [stdout]     |                                  |
[INFO] [stdout]     |                                  `Userdata` is not local
[INFO] [stdout]     |                                  move the `impl` block outside of this constant `_IMPL_USERDATA_FOR_StringBuf`
[INFO] [stdout] ...
[INFO] [stdout] 866 | pub(crate) struct StringBuf<S>(Mutex<String>, PhantomData<S>);
[INFO] [stdout]     |                   --------- `StringBuf` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Userdata` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Userdata` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Userdata` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> vm/src/primitives.rs:863:44
[INFO] [stdout]     |
[INFO] [stdout] 863 | #[derive(Debug, Default, VmType, Userdata, Trace)]
[INFO] [stdout]     |                                            ^----
[INFO] [stdout]     |                                            |
[INFO] [stdout]     |                                            `Trace` is not local
[INFO] [stdout]     |                                            move the `impl` block outside of this constant `_IMPL_TRAVERSEABLE_FOR_StringBuf`
[INFO] [stdout] ...
[INFO] [stdout] 866 | pub(crate) struct StringBuf<S>(Mutex<String>, PhantomData<S>);
[INFO] [stdout]     |                   --------- `StringBuf` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Trace` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Trace` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Trace` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> vm/src/primitives.rs:68:18
[INFO] [stdout]    |
[INFO] [stdout] 68 |         #[derive(Trace)]
[INFO] [stdout]    |                  ^----
[INFO] [stdout]    |                  |
[INFO] [stdout]    |                  `Trace` is not local
[INFO] [stdout]    |                  move the `impl` block outside of this constant `_IMPL_TRAVERSEABLE_FOR_Slice` and up 2 bodies
[INFO] [stdout] 69 |         #[gluon(gluon_vm)]
[INFO] [stdout] 70 |         struct Slice<'a> {
[INFO] [stdout]    |                ----- `Slice` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Trace` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Trace` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Trace` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> vm/src/primitives.rs:117:18
[INFO] [stdout]     |
[INFO] [stdout] 117 |         #[derive(Trace)]
[INFO] [stdout]     |                  ^----
[INFO] [stdout]     |                  |
[INFO] [stdout]     |                  `Trace` is not local
[INFO] [stdout]     |                  move the `impl` block outside of this constant `_IMPL_TRAVERSEABLE_FOR_Append` and up 2 bodies
[INFO] [stdout] 118 |         #[gluon(gluon_vm)]
[INFO] [stdout] 119 |         struct Append<'b> {
[INFO] [stdout]     |                ------ `Append` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Trace` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Trace` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Trace` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> vm/src/primitives.rs:251:18
[INFO] [stdout]     |
[INFO] [stdout] 251 |         #[derive(Trace)]
[INFO] [stdout]     |                  ^----
[INFO] [stdout]     |                  |
[INFO] [stdout]     |                  `Trace` is not local
[INFO] [stdout]     |                  move the `impl` block outside of this constant `_IMPL_TRAVERSEABLE_FOR_StrAppend` and up 2 bodies
[INFO] [stdout] 252 |         #[gluon(gluon_vm)]
[INFO] [stdout] 253 |         struct StrAppend<'b> {
[INFO] [stdout]     |                --------- `StrAppend` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Trace` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Trace` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Trace` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> vm/src/reference.rs:12:10
[INFO] [stdout]    |
[INFO] [stdout] 12 | #[derive(VmType)]
[INFO] [stdout]    |          ^-----
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `VmType` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_IMPL_VM_TYPE_FOR_Reference`
[INFO] [stdout] ...
[INFO] [stdout] 15 | pub struct Reference<T> {
[INFO] [stdout]    |            --------- `Reference` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `VmType` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `VmType` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `VmType` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> vm/src/stack.rs:184:26
[INFO] [stdout]     |
[INFO] [stdout] 184 |     pub fn new(function: &GcPtr<ExternFunction>) -> gc::Borrow<Self> {
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^^^^^^     ^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                          |
[INFO] [stdout]     |                          the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 184 |     pub fn new(function: &GcPtr<ExternFunction>) -> gc::Borrow<'_, Self> {
[INFO] [stdout]     |                                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> vm/src/stack.rs:202:17
[INFO] [stdout]     |
[INFO] [stdout] 202 |     fn to_state(&self) -> gc::Borrow<State>;
[INFO] [stdout]     |                 ^^^^^     ^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 202 |     fn to_state(&self) -> gc::Borrow<'_, State>;
[INFO] [stdout]     |                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> vm/src/stack.rs:213:17
[INFO] [stdout]     |
[INFO] [stdout] 213 |     fn to_state(&self) -> gc::Borrow<State> {
[INFO] [stdout]     |                 ^^^^^     ^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 213 |     fn to_state(&self) -> gc::Borrow<'_, State> {
[INFO] [stdout]     |                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> vm/src/stack.rs:239:17
[INFO] [stdout]     |
[INFO] [stdout] 239 |     fn to_state(&self) -> gc::Borrow<State> {
[INFO] [stdout]     |                 ^^^^^     ^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 239 |     fn to_state(&self) -> gc::Borrow<'_, State> {
[INFO] [stdout]     |                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> vm/src/stack.rs:260:17
[INFO] [stdout]     |
[INFO] [stdout] 260 |     fn to_state(&self) -> gc::Borrow<State> {
[INFO] [stdout]     |                 ^^^^^     ^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 260 |     fn to_state(&self) -> gc::Borrow<'_, State> {
[INFO] [stdout]     |                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> vm/src/stack.rs:335:17
[INFO] [stdout]     |
[INFO] [stdout] 335 |     fn to_state(&self) -> gc::Borrow<Frame<State>>
[INFO] [stdout]     |                 ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 335 |     fn to_state(&self) -> gc::Borrow<'_, Frame<State>>
[INFO] [stdout]     |                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> vm/src/stack.rs:354:22
[INFO] [stdout]     |
[INFO] [stdout] 354 |     fn from_state<S>(&self) -> gc::Borrow<Frame<S>>
[INFO] [stdout]     |                      ^^^^^     ^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 354 |     fn from_state<S>(&self) -> gc::Borrow<'_, Frame<S>>
[INFO] [stdout]     |                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> vm/src/stack.rs:515:17
[INFO] [stdout]     |
[INFO] [stdout] 515 |     pub fn last(&self) -> Option<Variants> {
[INFO] [stdout]     |                 ^^^^^            ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 515 |     pub fn last(&self) -> Option<Variants<'_>> {
[INFO] [stdout]     |                                          ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> vm/src/stack.rs:520:24
[INFO] [stdout]     |
[INFO] [stdout] 520 |     pub fn get_variant(&self, index: VmIndex) -> Option<Variants> {
[INFO] [stdout]     |                        ^^^^^                            ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 520 |     pub fn get_variant(&self, index: VmIndex) -> Option<Variants<'_>> {
[INFO] [stdout]     |                                                                 ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> vm/src/stack.rs:549:29
[INFO] [stdout]     |
[INFO] [stdout] 549 |     pub fn current_frame<S>(&mut self) -> StackFrame<S>
[INFO] [stdout]     |                             ^^^^^^^^^     ^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 549 |     pub fn current_frame<S>(&mut self) -> StackFrame<'_, S>
[INFO] [stdout]     |                                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> vm/src/stack.rs:721:22
[INFO] [stdout]     |
[INFO] [stdout] 721 |     pub fn frame_mut(&mut self) -> FrameViewMut<S> {
[INFO] [stdout]     |                      ^^^^^^^^^     ^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 721 |     pub fn frame_mut(&mut self) -> FrameViewMut<'_, S> {
[INFO] [stdout]     |                                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> vm/src/stack.rs:811:24
[INFO] [stdout]     |
[INFO] [stdout] 811 |     pub fn get_variant(&self, index: VmIndex) -> Option<Variants> {
[INFO] [stdout]     |                        ^^^^^                            ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 811 |     pub fn get_variant(&self, index: VmIndex) -> Option<Variants<'_>> {
[INFO] [stdout]     |                                                                 ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> vm/src/stack.rs:899:34
[INFO] [stdout]     |
[INFO] [stdout] 899 |     pub(crate) fn current(stack: &mut Stack) -> StackFrame<S>
[INFO] [stdout]     |                                  ^^^^^^^^^^     ^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                                  |
[INFO] [stdout]     |                                  the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 899 |     pub(crate) fn current(stack: &mut Stack) -> StackFrame<'_, S>
[INFO] [stdout]     |                                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> vm/src/stack.rs:952:22
[INFO] [stdout]     |
[INFO] [stdout] 952 |     pub fn get_upvar(&self, index: VmIndex) -> Variants {
[INFO] [stdout]     |                      ^^^^^                     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 952 |     pub fn get_upvar(&self, index: VmIndex) -> Variants<'_> {
[INFO] [stdout]     |                                                        ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> vm/src/thread.rs:260:24
[INFO] [stdout]     |
[INFO] [stdout] 260 |     pub fn get_variant(&self) -> Variants {
[INFO] [stdout]     |                        ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 260 |     pub fn get_variant(&self) -> Variants<'_> {
[INFO] [stdout]     |                                          ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> vm/src/thread.rs:391:9
[INFO] [stdout]     |
[INFO] [stdout] 391 |         &self,
[INFO] [stdout]     |         ^^^^^ the lifetime is elided here
[INFO] [stdout] ...
[INFO] [stdout] 394 |         sync::RwLockReadGuard<ThreadSlab>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout] 395 |         MutexGuard<Context>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 394 ~         sync::RwLockReadGuard<'_, ThreadSlab>,
[INFO] [stdout] 395 ~         MutexGuard<'_, Context>,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> vm/src/thread.rs:964:28
[INFO] [stdout]     |
[INFO] [stdout] 964 |     pub fn current_context(&self) -> ActiveThread {
[INFO] [stdout]     |                            ^^^^^     ^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                            |
[INFO] [stdout]     |                            the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 964 |     pub fn current_context(&self) -> ActiveThread<'_> {
[INFO] [stdout]     |                                                  ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> vm/src/thread.rs:971:22
[INFO] [stdout]     |
[INFO] [stdout] 971 |     fn owned_context(&self) -> OwnedContext {
[INFO] [stdout]     |                      ^^^^^     ^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 971 |     fn owned_context(&self) -> OwnedContext<'_> {
[INFO] [stdout]     |                                            ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> vm/src/thread.rs:983:34
[INFO] [stdout]     |
[INFO] [stdout] 983 |     pub(crate) fn parent_threads(&self) -> sync::RwLockWriteGuard<ThreadSlab> {
[INFO] [stdout]     |                                  ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                                  |
[INFO] [stdout]     |                                  the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 983 |     pub(crate) fn parent_threads(&self) -> sync::RwLockWriteGuard<'_, ThreadSlab> {
[INFO] [stdout]     |                                                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> vm/src/thread.rs:1070:16
[INFO] [stdout]      |
[INFO] [stdout] 1070 |     fn context(&self) -> OwnedContext;
[INFO] [stdout]      |                ^^^^^     ^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]      |                |
[INFO] [stdout]      |                the lifetime is elided here
[INFO] [stdout]      |
[INFO] [stdout]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]      |
[INFO] [stdout] 1070 |     fn context(&self) -> OwnedContext<'_>;
[INFO] [stdout]      |                                      ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> vm/src/thread.rs:1131:15
[INFO] [stdout]      |
[INFO] [stdout] 1131 |     fn resume(&self, cx: &mut task::Context<'_>) -> Poll<Result<OwnedContext>>;
[INFO] [stdout]      |               ^^^^^ the lifetime is elided here                 ^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]      |
[INFO] [stdout]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]      |
[INFO] [stdout] 1131 |     fn resume(&self, cx: &mut task::Context<'_>) -> Poll<Result<OwnedContext<'_>>>;
[INFO] [stdout]      |                                                                             ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> vm/src/thread.rs:1140:16
[INFO] [stdout]      |
[INFO] [stdout] 1140 |     fn context(&self) -> OwnedContext {
[INFO] [stdout]      |                ^^^^^     ^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]      |                |
[INFO] [stdout]      |                the lifetime is elided here
[INFO] [stdout]      |
[INFO] [stdout]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]      |
[INFO] [stdout] 1140 |     fn context(&self) -> OwnedContext<'_> {
[INFO] [stdout]      |                                      ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> vm/src/thread.rs:1242:15
[INFO] [stdout]      |
[INFO] [stdout] 1242 |     fn resume(&self, cx: &mut task::Context<'_>) -> Poll<Result<OwnedContext>> {
[INFO] [stdout]      |               ^^^^^ the lifetime is elided here                 ^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]      |
[INFO] [stdout]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]      |
[INFO] [stdout] 1242 |     fn resume(&self, cx: &mut task::Context<'_>) -> Poll<Result<OwnedContext<'_>>> {
[INFO] [stdout]      |                                                                             ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> vm/src/thread.rs:1340:23
[INFO] [stdout]      |
[INFO] [stdout] 1340 |     pub fn stack_info(&self, level: usize) -> Option<StackInfo> {
[INFO] [stdout]      |                       ^^^^^                          ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]      |                       |
[INFO] [stdout]      |                       the lifetime is elided here
[INFO] [stdout]      |
[INFO] [stdout]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]      |
[INFO] [stdout] 1340 |     pub fn stack_info(&self, level: usize) -> Option<StackInfo<'_>> {
[INFO] [stdout]      |                                                               ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> vm/src/thread.rs:1427:19
[INFO] [stdout]      |
[INFO] [stdout] 1427 |     pub fn locals(&self) -> LocalIter {
[INFO] [stdout]      |                   ^^^^^     ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]      |                   |
[INFO] [stdout]      |                   the lifetime is elided here
[INFO] [stdout]      |
[INFO] [stdout]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]      |
[INFO] [stdout] 1427 |     pub fn locals(&self) -> LocalIter<'_> {
[INFO] [stdout]      |                                      ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> vm/src/thread.rs:1523:9
[INFO] [stdout]      |
[INFO] [stdout] 1523 |         &mut self,
[INFO] [stdout]      |         ^^^^^^^^^ the lifetime is elided here
[INFO] [stdout] ...
[INFO] [stdout] 1527 |     ) -> Result<Variants> {
[INFO] [stdout]      |                 ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]      |
[INFO] [stdout]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]      |
[INFO] [stdout] 1527 |     ) -> Result<Variants<'_>> {
[INFO] [stdout]      |                         ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> vm/src/thread.rs:1546:9
[INFO] [stdout]      |
[INFO] [stdout] 1546 |         &mut self,
[INFO] [stdout]      |         ^^^^^^^^^ the lifetime is elided here
[INFO] [stdout] ...
[INFO] [stdout] 1550 |     ) -> Result<Variants> {
[INFO] [stdout]      |                 ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]      |
[INFO] [stdout]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]      |
[INFO] [stdout] 1550 |     ) -> Result<Variants<'_>> {
[INFO] [stdout]      |                         ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> vm/src/thread.rs:1568:26
[INFO] [stdout]      |
[INFO] [stdout] 1568 |     pub fn alloc_with<D>(&mut self, thread: &Thread, data: D) -> Result<GcRef<D::Value>>
[INFO] [stdout]      |                          ^^^^^^^^^ the lifetime is elided here          ^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]      |
[INFO] [stdout]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]      |
[INFO] [stdout] 1568 |     pub fn alloc_with<D>(&mut self, thread: &Thread, data: D) -> Result<GcRef<'_, D::Value>>
[INFO] [stdout]      |                                                                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> vm/src/thread.rs:1576:34
[INFO] [stdout]      |
[INFO] [stdout] 1576 |     pub fn alloc_ignore_limit<D>(&mut self, data: D) -> GcRef<D::Value>
[INFO] [stdout]      |                                  ^^^^^^^^^              ^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]      |                                  |
[INFO] [stdout]      |                                  the lifetime is elided here
[INFO] [stdout]      |
[INFO] [stdout]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]      |
[INFO] [stdout] 1576 |     pub fn alloc_ignore_limit<D>(&mut self, data: D) -> GcRef<'_, D::Value>
[INFO] [stdout]      |                                                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> vm/src/thread.rs:1633:21
[INFO] [stdout]      |
[INFO] [stdout] 1633 |     pub fn alloc<D>(&mut self, data: D) -> Result<GcRef<D::Value>>
[INFO] [stdout]      |                     ^^^^^^^^^                     ^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     the lifetime is elided here
[INFO] [stdout]      |
[INFO] [stdout]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]      |
[INFO] [stdout] 1633 |     pub fn alloc<D>(&mut self, data: D) -> Result<GcRef<'_, D::Value>>
[INFO] [stdout]      |                                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> vm/src/thread.rs:1641:27
[INFO] [stdout]      |
[INFO] [stdout] 1641 |     pub fn alloc_owned<D>(&mut self, data: D) -> Result<gc::OwnedGcRef<D::Value>>
[INFO] [stdout]      |                           ^^^^^^^^^                     ^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]      |                           |
[INFO] [stdout]      |                           the lifetime is elided here
[INFO] [stdout]      |
[INFO] [stdout]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]      |
[INFO] [stdout] 1641 |     pub fn alloc_owned<D>(&mut self, data: D) -> Result<gc::OwnedGcRef<'_, D::Value>>
[INFO] [stdout]      |                                                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> vm/src/thread.rs:1655:23
[INFO] [stdout]      |
[INFO] [stdout] 1655 |     pub fn debug_info(&self) -> DebugInfo {
[INFO] [stdout]      |                       ^^^^^     ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]      |                       |
[INFO] [stdout]      |                       the lifetime is elided here
[INFO] [stdout]      |
[INFO] [stdout]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]      |
[INFO] [stdout] 1655 |     pub fn debug_info(&self) -> DebugInfo<'_> {
[INFO] [stdout]      |                                          ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> vm/src/thread.rs:1666:27
[INFO] [stdout]      |
[INFO] [stdout] 1666 |     pub fn stack_frame<T>(&mut self) -> StackFrame<T>
[INFO] [stdout]      |                           ^^^^^^^^^     ^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]      |                           |
[INFO] [stdout]      |                           the lifetime is elided here
[INFO] [stdout]      |
[INFO] [stdout]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]      |
[INFO] [stdout] 1666 |     pub fn stack_frame<T>(&mut self) -> StackFrame<'_, T>
[INFO] [stdout]      |                                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> vm/src/thread.rs:1970:19
[INFO] [stdout]      |
[INFO] [stdout] 1970 |     fn borrow_mut(&mut self) -> ExecuteContext<State> {
[INFO] [stdout]      |                   ^^^^^^^^^     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |                   |             |
[INFO] [stdout]      |                   |             the same lifetime is hidden here
[INFO] [stdout]      |                   |             the same lifetime is hidden here
[INFO] [stdout]      |                   the lifetime is elided here
[INFO] [stdout]      |
[INFO] [stdout]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]      |
[INFO] [stdout] 1970 |     fn borrow_mut(&mut self) -> ExecuteContext<'_, State> {
[INFO] [stdout]      |                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> vm/src/thread.rs:2019:21
[INFO] [stdout]      |
[INFO] [stdout] 2019 |     pub fn alloc<D>(&mut self, data: D) -> Result<GcRef<D::Value>>
[INFO] [stdout]      |                     ^^^^^^^^^                     ^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     the lifetime is elided here
[INFO] [stdout]      |
[INFO] [stdout]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]      |
[INFO] [stdout] 2019 |     pub fn alloc<D>(&mut self, data: D) -> Result<GcRef<'_, D::Value>>
[INFO] [stdout]      |                                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> vm/src/thread.rs:2027:26
[INFO] [stdout]      |
[INFO] [stdout] 2027 |     pub fn push_new_data(&mut self, tag: VmTag, fields: usize) -> Result<Variants> {
[INFO] [stdout]      |                          ^^^^^^^^^ the lifetime is elided here           ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]      |
[INFO] [stdout]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]      |
[INFO] [stdout] 2027 |     pub fn push_new_data(&mut self, tag: VmTag, fields: usize) -> Result<Variants<'_>> {
[INFO] [stdout]      |                                                                                  ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> vm/src/thread.rs:2046:9
[INFO] [stdout]      |
[INFO] [stdout] 2046 |         &mut self,
[INFO] [stdout]      |         ^^^^^^^^^ the lifetime is elided here
[INFO] [stdout] ...
[INFO] [stdout] 2049 |     ) -> Result<Variants> {
[INFO] [stdout]      |                 ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]      |
[INFO] [stdout]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]      |
[INFO] [stdout] 2049 |     ) -> Result<Variants<'_>> {
[INFO] [stdout]      |                         ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> vm/src/thread.rs:2067:30
[INFO] [stdout]      |
[INFO] [stdout] 2067 |     pub fn push_new_alloc<D>(&mut self, def: D) -> Result<Variants>
[INFO] [stdout]      |                              ^^^^^^^^^                    ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]      |                              |
[INFO] [stdout]      |                              the lifetime is elided here
[INFO] [stdout]      |
[INFO] [stdout]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]      |
[INFO] [stdout] 2067 |     pub fn push_new_alloc<D>(&mut self, def: D) -> Result<Variants<'_>>
[INFO] [stdout]      |                                                                   ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> vm/src/thread.rs:2890:20
[INFO] [stdout]      |
[INFO] [stdout] 2890 |     pub fn context(&mut self) -> ExecuteContext<State> {
[INFO] [stdout]      |                    ^^^^^^^^^     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |                    |             |
[INFO] [stdout]      |                    |             the same lifetime is hidden here
[INFO] [stdout]      |                    |             the same lifetime is hidden here
[INFO] [stdout]      |                    the lifetime is elided here
[INFO] [stdout]      |
[INFO] [stdout]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]      |
[INFO] [stdout] 2890 |     pub fn context(&mut self) -> ExecuteContext<'_, State> {
[INFO] [stdout]      |                                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary transmute
[INFO] [stdout]   --> vm/src/types.rs:33:18
[INFO] [stdout]    |
[INFO] [stdout] 33 |         unsafe { std::mem::transmute(self.0) }
[INFO] [stdout]    |                  -------------------^^^^^^^^
[INFO] [stdout]    |                  |
[INFO] [stdout]    |                  help: replace this with: `f64::to_bits`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unnecessary_transmutes)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> vm/src/vm.rs:722:24
[INFO] [stdout]     |
[INFO] [stdout] 722 |     pub fn get_globals(&self) -> parking_lot::RwLockReadGuard<Globals> {
[INFO] [stdout]     |                        ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 722 |     pub fn get_globals(&self) -> parking_lot::RwLockReadGuard<'_, Globals> {
[INFO] [stdout]     |                                                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> vm/src/source_map.rs:132:19
[INFO] [stdout]     |
[INFO] [stdout] 132 |     pub fn locals(&self, instruction_index: usize) -> LocalIter {
[INFO] [stdout]     |                   ^^^^^ the lifetime is elided here   ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 132 |     pub fn locals(&self, instruction_index: usize) -> LocalIter<'_> {
[INFO] [stdout]     |                                                                ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: ambiguous wide pointer comparison, the comparison includes metadata which may not be expected
[INFO] [stdout]   --> vm/src/value.rs:50:9
[INFO] [stdout]    |
[INFO] [stdout] 50 |         self as *const _ == other as *const _
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(ambiguous_wide_pointer_comparisons)]` on by default
[INFO] [stdout] help: use `std::ptr::addr_eq` or untyped pointers to only compare their addresses
[INFO] [stdout]    |
[INFO] [stdout] 50 -         self as *const _ == other as *const _
[INFO] [stdout] 50 +         std::ptr::addr_eq(self as *const _, other as *const _)
[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]   --> vm/src/value.rs:58:21
[INFO] [stdout]    |
[INFO] [stdout] 58 | #[derive(PartialEq, Trace)]
[INFO] [stdout]    |                     ^----
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     `Trace` is not local
[INFO] [stdout]    |                     move the `impl` block outside of this constant `_IMPL_TRAVERSEABLE_FOR_ClosureData`
[INFO] [stdout] ...
[INFO] [stdout] 61 | pub struct ClosureData {
[INFO] [stdout]    |            ----------- `ClosureData` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Trace` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Trace` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Trace` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> vm/src/value.rs:104:10
[INFO] [stdout]     |
[INFO] [stdout] 104 | #[derive(Trace)]
[INFO] [stdout]     |          ^----
[INFO] [stdout]     |          |
[INFO] [stdout]     |          `Trace` is not local
[INFO] [stdout]     |          move the `impl` block outside of this constant `_IMPL_TRAVERSEABLE_FOR_ClosureInitDef`
[INFO] [stdout] 105 | #[gluon(gluon_vm)]
[INFO] [stdout] 106 | pub struct ClosureInitDef(pub GcPtr<BytecodeFunction>, pub usize);
[INFO] [stdout]     |            -------------- `ClosureInitDef` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Trace` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Trace` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Trace` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> vm/src/value.rs:163:17
[INFO] [stdout]     |
[INFO] [stdout] 163 | #[derive(Debug, Trace)]
[INFO] [stdout]     |                 ^----
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 `Trace` is not local
[INFO] [stdout]     |                 move the `impl` block outside of this constant `_IMPL_TRAVERSEABLE_FOR_DataStruct`
[INFO] [stdout] ...
[INFO] [stdout] 166 | pub struct DataStruct {
[INFO] [stdout]     |            ---------- `DataStruct` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Trace` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Trace` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Trace` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> vm/src/value.rs:205:10
[INFO] [stdout]     |
[INFO] [stdout] 205 | #[derive(Trace)]
[INFO] [stdout]     |          ^----
[INFO] [stdout]     |          |
[INFO] [stdout]     |          `Trace` is not local
[INFO] [stdout]     |          move the `impl` block outside of this constant `_IMPL_TRAVERSEABLE_FOR_Def`
[INFO] [stdout] 206 | #[gluon(gluon_vm)]
[INFO] [stdout] 207 | pub(crate) struct Def<'b> {
[INFO] [stdout]     |                   --- `Def` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Trace` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Trace` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Trace` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> vm/src/value.rs:228:10
[INFO] [stdout]     |
[INFO] [stdout] 228 | #[derive(Trace)]
[INFO] [stdout]     |          ^----
[INFO] [stdout]     |          |
[INFO] [stdout]     |          `Trace` is not local
[INFO] [stdout]     |          move the `impl` block outside of this constant `_IMPL_TRAVERSEABLE_FOR_VariantDef`
[INFO] [stdout] 229 | #[gluon(gluon_vm)]
[INFO] [stdout] 230 | pub(crate) struct VariantDef<'b> {
[INFO] [stdout]     |                   ---------- `VariantDef` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Trace` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Trace` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Trace` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> vm/src/value.rs:257:10
[INFO] [stdout]     |
[INFO] [stdout] 257 | #[derive(Trace)]
[INFO] [stdout]     |          ^----
[INFO] [stdout]     |          |
[INFO] [stdout]     |          `Trace` is not local
[INFO] [stdout]     |          move the `impl` block outside of this constant `_IMPL_TRAVERSEABLE_FOR_UninitializedVariantDef`
[INFO] [stdout] 258 | #[gluon(gluon_vm)]
[INFO] [stdout] 259 | pub(crate) struct UninitializedVariantDef {
[INFO] [stdout]     |                   ----------------------- `UninitializedVariantDef` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Trace` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Trace` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Trace` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> vm/src/value.rs:280:10
[INFO] [stdout]     |
[INFO] [stdout] 280 | #[derive(Trace)]
[INFO] [stdout]     |          ^----
[INFO] [stdout]     |          |
[INFO] [stdout]     |          `Trace` is not local
[INFO] [stdout]     |          move the `impl` block outside of this constant `_IMPL_TRAVERSEABLE_FOR_RecordDef`
[INFO] [stdout] 281 | #[gluon(gluon_vm)]
[INFO] [stdout] 282 | pub(crate) struct RecordDef<'b> {
[INFO] [stdout]     |                   --------- `RecordDef` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Trace` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Trace` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Trace` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> vm/src/value.rs:381:21
[INFO] [stdout]     |
[INFO] [stdout] 381 | #[derive(PartialEq, Trace)]
[INFO] [stdout]     |                     ^----
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     `Trace` is not local
[INFO] [stdout]     |                     move the `impl` block outside of this constant `_IMPL_TRAVERSEABLE_FOR_ValueRepr`
[INFO] [stdout] ...
[INFO] [stdout] 395 | pub(crate) enum ValueRepr {
[INFO] [stdout]     |                 --------- `ValueRepr` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Trace` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Trace` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Trace` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> vm/src/value.rs:501:25
[INFO] [stdout]     |
[INFO] [stdout] 501 |     pub fn get_variants(&self) -> Variants {
[INFO] [stdout]     |                         ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 501 |     pub fn get_variants(&self) -> Variants<'_> {
[INFO] [stdout]     |                                           ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> vm/src/value.rs:548:25
[INFO] [stdout]     |
[INFO] [stdout] 548 |     pub fn get_variants(&self) -> Variants {
[INFO] [stdout]     |                         ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 548 |     pub fn get_variants(&self) -> Variants<'_> {
[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]    --> vm/src/value.rs:893:17
[INFO] [stdout]     |
[INFO] [stdout] 893 | #[derive(Debug, Trace)]
[INFO] [stdout]     |                 ^----
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 `Trace` is not local
[INFO] [stdout]     |                 move the `impl` block outside of this constant `_IMPL_TRAVERSEABLE_FOR_Callable`
[INFO] [stdout] ...
[INFO] [stdout] 907 | pub(crate) enum Callable {
[INFO] [stdout]     |                 -------- `Callable` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Trace` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Trace` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Trace` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> vm/src/value.rs:942:17
[INFO] [stdout]     |
[INFO] [stdout] 942 | #[derive(Debug, Trace)]
[INFO] [stdout]     |                 ^----
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 `Trace` is not local
[INFO] [stdout]     |                 move the `impl` block outside of this constant `_IMPL_TRAVERSEABLE_FOR_PartialApplicationData`
[INFO] [stdout] ...
[INFO] [stdout] 950 | pub struct PartialApplicationData {
[INFO] [stdout]     |            ---------------------- `PartialApplicationData` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Trace` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Trace` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Trace` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> vm/src/value.rs:963:10
[INFO] [stdout]     |
[INFO] [stdout] 963 | #[derive(Trace)]
[INFO] [stdout]     |          ^----
[INFO] [stdout]     |          |
[INFO] [stdout]     |          `Trace` is not local
[INFO] [stdout]     |          move the `impl` block outside of this constant `_IMPL_TRAVERSEABLE_FOR_PartialApplicationDataDef`
[INFO] [stdout] 964 | #[gluon(gluon_vm)]
[INFO] [stdout] 965 | pub(crate) struct PartialApplicationDataDef<'b>(pub Callable, pub &'b [Value]);
[INFO] [stdout]     |                   ------------------------- `PartialApplicationDataDef` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Trace` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Trace` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Trace` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> vm/src/value.rs:1345:16
[INFO] [stdout]      |
[INFO] [stdout] 1345 |     pub fn get(&self, index: usize) -> Option<Variants> {
[INFO] [stdout]      |                ^^^^^                          ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]      |                |
[INFO] [stdout]      |                the lifetime is elided here
[INFO] [stdout]      |
[INFO] [stdout]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]      |
[INFO] [stdout] 1345 |     pub fn get(&self, index: usize) -> Option<Variants<'_>> {
[INFO] [stdout]      |                                                       ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> vm/src/value.rs:1383:17
[INFO] [stdout]      |
[INFO] [stdout] 1383 |     pub fn iter(&self) -> Iter {
[INFO] [stdout]      |                 ^^^^^     ^^^^ the same lifetime is hidden here
[INFO] [stdout]      |                 |
[INFO] [stdout]      |                 the lifetime is elided here
[INFO] [stdout]      |
[INFO] [stdout]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]      |
[INFO] [stdout] 1383 |     pub fn iter(&self) -> Iter<'_> {
[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]     --> vm/src/value.rs:1472:10
[INFO] [stdout]      |
[INFO] [stdout] 1472 | #[derive(Trace)]
[INFO] [stdout]      |          ^----
[INFO] [stdout]      |          |
[INFO] [stdout]      |          `Trace` is not local
[INFO] [stdout]      |          move the `impl` block outside of this constant `_IMPL_TRAVERSEABLE_FOR_ArrayDef`
[INFO] [stdout] 1473 | #[gluon(gluon_vm)]
[INFO] [stdout] 1474 | pub(crate) struct ArrayDef<'b>(pub &'b [Value]);
[INFO] [stdout]      |                   -------- `ArrayDef` is not local
[INFO] [stdout]      |
[INFO] [stdout]      = note: the derive macro `Trace` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]      = note: the derive macro `Trace` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stdout]      = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]      = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]      = note: this warning originates in the derive macro `Trace` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]     --> vm/src/value.rs:1503:21
[INFO] [stdout]      |
[INFO] [stdout] 1503 | #[derive(PartialEq, Trace)]
[INFO] [stdout]      |                     ^----
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     `Trace` is not local
[INFO] [stdout]      |                     move the `impl` block outside of this constant `_IMPL_TRAVERSEABLE_FOR_ValueStr`
[INFO] [stdout] ...
[INFO] [stdout] 1506 | pub struct ValueStr(ValueArray);
[INFO] [stdout]      |            -------- `ValueStr` is not local
[INFO] [stdout]      |
[INFO] [stdout]      = note: the derive macro `Trace` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]      = note: the derive macro `Trace` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stdout]      = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]      = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]      = note: this warning originates in the derive macro `Trace` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> parser/src/str_suffix.rs:98:17
[INFO] [stdout]    |
[INFO] [stdout] 98 |     pub fn iter(&self) -> Iter {
[INFO] [stdout]    |                 ^^^^^     ^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 98 |     pub fn iter(&self) -> Iter<'_> {
[INFO] [stdout]    |                               ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `fork` is never used
[INFO] [stdout]    --> src/import.rs:161:8
[INFO] [stdout]     |
[INFO] [stdout] 147 | pub(crate) trait ImportApi: Send + Sync {
[INFO] [stdout]     |                  --------- method in this trait
[INFO] [stdout] ...
[INFO] [stdout] 161 |     fn fork(
[INFO] [stdout]     |        ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/lift_io.rs:20:10
[INFO] [stdout]    |
[INFO] [stdout] 20 | #[derive(Trace)]
[INFO] [stdout]    |          ^----
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `Trace` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_IMPL_TRAVERSEABLE_FOR_LiftIo`
[INFO] [stdout] 21 | #[gluon(crate_name = "vm")]
[INFO] [stdout] 22 | pub(crate) struct LiftIo;
[INFO] [stdout]    |                   ------ `LiftIo` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Trace` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Trace` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const 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]   --> src/query.rs:41:17
[INFO] [stdout]    |
[INFO] [stdout] 41 | #[derive(Debug, Trace)]
[INFO] [stdout]    |                 ^----
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 `Trace` is not local
[INFO] [stdout]    |                 move the `impl` block outside of this constant `_IMPL_TRAVERSEABLE_FOR_UnrootedValue`
[INFO] [stdout] 42 | #[gluon(crate_name = "gluon_vm")]
[INFO] [stdout] 43 | pub struct UnrootedValue(RootedValue<RootedThread>);
[INFO] [stdout]    |            ------------- `UnrootedValue` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Trace` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Trace` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Trace` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/std_lib/io.rs:54:10
[INFO] [stdout]    |
[INFO] [stdout] 54 | #[derive(Userdata, Trace, VmType)]
[INFO] [stdout]    |          ^-------
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `Userdata` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_IMPL_USERDATA_FOR_GluonFile`
[INFO] [stdout] ...
[INFO] [stdout] 58 | struct GluonFile(Mutex<Option<File>>);
[INFO] [stdout]    |        --------- `GluonFile` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Userdata` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Userdata` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Userdata` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/std_lib/io.rs:54:20
[INFO] [stdout]    |
[INFO] [stdout] 54 | #[derive(Userdata, Trace, VmType)]
[INFO] [stdout]    |                    ^----
[INFO] [stdout]    |                    |
[INFO] [stdout]    |                    `Trace` is not local
[INFO] [stdout]    |                    move the `impl` block outside of this constant `_IMPL_TRAVERSEABLE_FOR_GluonFile`
[INFO] [stdout] ...
[INFO] [stdout] 58 | struct GluonFile(Mutex<Option<File>>);
[INFO] [stdout]    |        --------- `GluonFile` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Trace` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Trace` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Trace` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/std_lib/io.rs:54:27
[INFO] [stdout]    |
[INFO] [stdout] 54 | #[derive(Userdata, Trace, VmType)]
[INFO] [stdout]    |                           ^-----
[INFO] [stdout]    |                           |
[INFO] [stdout]    |                           `VmType` is not local
[INFO] [stdout]    |                           move the `impl` block outside of this constant `_IMPL_VM_TYPE_FOR_GluonFile`
[INFO] [stdout] ...
[INFO] [stdout] 58 | struct GluonFile(Mutex<Option<File>>);
[INFO] [stdout]    |        --------- `GluonFile` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `VmType` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `VmType` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `VmType` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/std_lib/io.rs:75:10
[INFO] [stdout]    |
[INFO] [stdout] 75 | #[derive(Getable, VmType, Clone, Copy)]
[INFO] [stdout]    |          ^------
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `Getable` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_IMPL_GETABLE_FOR_OpenOptions`
[INFO] [stdout] 76 | #[gluon(crate_name = "::vm")]
[INFO] [stdout] 77 | enum OpenOptions {
[INFO] [stdout]    |      ----------- `OpenOptions` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Getable` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Getable` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Getable` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/std_lib/io.rs:75:19
[INFO] [stdout]    |
[INFO] [stdout] 75 | #[derive(Getable, VmType, Clone, Copy)]
[INFO] [stdout]    |                   ^-----
[INFO] [stdout]    |                   |
[INFO] [stdout]    |                   `VmType` is not local
[INFO] [stdout]    |                   move the `impl` block outside of this constant `_IMPL_VM_TYPE_FOR_OpenOptions`
[INFO] [stdout] 76 | #[gluon(crate_name = "::vm")]
[INFO] [stdout] 77 | enum OpenOptions {
[INFO] [stdout]    |      ----------- `OpenOptions` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `VmType` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `VmType` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `VmType` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]  --> src/std_lib/process.rs:4:10
[INFO] [stdout]   |
[INFO] [stdout] 4 | #[derive(Getable, VmType)]
[INFO] [stdout]   |          ^------
[INFO] [stdout]   |          |
[INFO] [stdout]   |          `Getable` is not local
[INFO] [stdout]   |          move the `impl` block outside of this constant `_IMPL_GETABLE_FOR_CreateProcess`
[INFO] [stdout] 5 | #[gluon(crate_name = "::vm")]
[INFO] [stdout] 6 | struct CreateProcess<'a> {
[INFO] [stdout]   |        ------------- `CreateProcess` is not local
[INFO] [stdout]   |
[INFO] [stdout]   = note: the derive macro `Getable` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]   = note: the derive macro `Getable` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stdout]   = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]   = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]   = note: this warning originates in the derive macro `Getable` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]  --> src/std_lib/process.rs:4:19
[INFO] [stdout]   |
[INFO] [stdout] 4 | #[derive(Getable, VmType)]
[INFO] [stdout]   |                   ^-----
[INFO] [stdout]   |                   |
[INFO] [stdout]   |                   `VmType` is not local
[INFO] [stdout]   |                   move the `impl` block outside of this constant `_IMPL_VM_TYPE_FOR_CreateProcess`
[INFO] [stdout] 5 | #[gluon(crate_name = "::vm")]
[INFO] [stdout] 6 | struct CreateProcess<'a> {
[INFO] [stdout]   |        ------------- `CreateProcess` is not local
[INFO] [stdout]   |
[INFO] [stdout]   = note: the derive macro `VmType` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]   = note: the derive macro `VmType` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stdout]   = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]   = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]   = note: this warning originates in the derive macro `VmType` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/std_lib/random.rs:16:24
[INFO] [stdout]    |
[INFO] [stdout] 16 | #[derive(Clone, Debug, Userdata, Trace, VmType)]
[INFO] [stdout]    |                        ^-------
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `Userdata` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this constant `_IMPL_USERDATA_FOR_XorShiftRng`
[INFO] [stdout] ...
[INFO] [stdout] 21 | struct XorShiftRng(self::rand_xorshift::XorShiftRng);
[INFO] [stdout]    |        ----------- `XorShiftRng` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Userdata` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Userdata` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Userdata` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/std_lib/random.rs:16:34
[INFO] [stdout]    |
[INFO] [stdout] 16 | #[derive(Clone, Debug, Userdata, Trace, VmType)]
[INFO] [stdout]    |                                  ^----
[INFO] [stdout]    |                                  |
[INFO] [stdout]    |                                  `Trace` is not local
[INFO] [stdout]    |                                  move the `impl` block outside of this constant `_IMPL_TRAVERSEABLE_FOR_XorShiftRng`
[INFO] [stdout] ...
[INFO] [stdout] 21 | struct XorShiftRng(self::rand_xorshift::XorShiftRng);
[INFO] [stdout]    |        ----------- `XorShiftRng` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Trace` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Trace` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Trace` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/std_lib/random.rs:16:41
[INFO] [stdout]    |
[INFO] [stdout] 16 | #[derive(Clone, Debug, Userdata, Trace, VmType)]
[INFO] [stdout]    |                                         ^-----
[INFO] [stdout]    |                                         |
[INFO] [stdout]    |                                         `VmType` is not local
[INFO] [stdout]    |                                         move the `impl` block outside of this constant `_IMPL_VM_TYPE_FOR_XorShiftRng`
[INFO] [stdout] ...
[INFO] [stdout] 21 | struct XorShiftRng(self::rand_xorshift::XorShiftRng);
[INFO] [stdout]    |        ----------- `XorShiftRng` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `VmType` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `VmType` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `VmType` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/std_lib/regex.rs:7:17
[INFO] [stdout]    |
[INFO] [stdout]  7 | #[derive(Debug, Userdata, Trace, VmType)]
[INFO] [stdout]    |                 ^-------
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 `Userdata` is not local
[INFO] [stdout]    |                 move the `impl` block outside of this constant `_IMPL_USERDATA_FOR_Regex`
[INFO] [stdout] ...
[INFO] [stdout] 11 | struct Regex(regex::Regex);
[INFO] [stdout]    |        ----- `Regex` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Userdata` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Userdata` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Userdata` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/std_lib/regex.rs:7:27
[INFO] [stdout]    |
[INFO] [stdout]  7 | #[derive(Debug, Userdata, Trace, VmType)]
[INFO] [stdout]    |                           ^----
[INFO] [stdout]    |                           |
[INFO] [stdout]    |                           `Trace` is not local
[INFO] [stdout]    |                           move the `impl` block outside of this constant `_IMPL_TRAVERSEABLE_FOR_Regex`
[INFO] [stdout] ...
[INFO] [stdout] 11 | struct Regex(regex::Regex);
[INFO] [stdout]    |        ----- `Regex` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Trace` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Trace` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Trace` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/std_lib/regex.rs:7:34
[INFO] [stdout]    |
[INFO] [stdout]  7 | #[derive(Debug, Userdata, Trace, VmType)]
[INFO] [stdout]    |                                  ^-----
[INFO] [stdout]    |                                  |
[INFO] [stdout]    |                                  `VmType` is not local
[INFO] [stdout]    |                                  move the `impl` block outside of this constant `_IMPL_VM_TYPE_FOR_Regex`
[INFO] [stdout] ...
[INFO] [stdout] 11 | struct Regex(regex::Regex);
[INFO] [stdout]    |        ----- `Regex` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `VmType` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `VmType` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `VmType` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/std_lib/regex.rs:13:17
[INFO] [stdout]    |
[INFO] [stdout] 13 | #[derive(Debug, Userdata, Trace, VmType)]
[INFO] [stdout]    |                 ^-------
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 `Userdata` is not local
[INFO] [stdout]    |                 move the `impl` block outside of this constant `_IMPL_USERDATA_FOR_Error`
[INFO] [stdout] ...
[INFO] [stdout] 17 | struct Error(regex::Error);
[INFO] [stdout]    |        ----- `Error` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Userdata` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Userdata` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Userdata` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/std_lib/regex.rs:13:27
[INFO] [stdout]    |
[INFO] [stdout] 13 | #[derive(Debug, Userdata, Trace, VmType)]
[INFO] [stdout]    |                           ^----
[INFO] [stdout]    |                           |
[INFO] [stdout]    |                           `Trace` is not local
[INFO] [stdout]    |                           move the `impl` block outside of this constant `_IMPL_TRAVERSEABLE_FOR_Error`
[INFO] [stdout] ...
[INFO] [stdout] 17 | struct Error(regex::Error);
[INFO] [stdout]    |        ----- `Error` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Trace` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Trace` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Trace` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/std_lib/regex.rs:13:34
[INFO] [stdout]    |
[INFO] [stdout] 13 | #[derive(Debug, Userdata, Trace, VmType)]
[INFO] [stdout]    |                                  ^-----
[INFO] [stdout]    |                                  |
[INFO] [stdout]    |                                  `VmType` is not local
[INFO] [stdout]    |                                  move the `impl` block outside of this constant `_IMPL_VM_TYPE_FOR_Error`
[INFO] [stdout] ...
[INFO] [stdout] 17 | struct Error(regex::Error);
[INFO] [stdout]    |        ----- `Error` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `VmType` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `VmType` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `VmType` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/std_lib/regex.rs:31:10
[INFO] [stdout]    |
[INFO] [stdout] 31 | #[derive(Pushable, VmType)]
[INFO] [stdout]    |          ^-------
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `Pushable` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_IMPL_PUSHABLE_FOR_Match`
[INFO] [stdout] ...
[INFO] [stdout] 34 | struct Match<'a> {
[INFO] [stdout]    |        ----- `Match` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Pushable` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Pushable` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Pushable` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/std_lib/regex.rs:31:20
[INFO] [stdout]    |
[INFO] [stdout] 31 | #[derive(Pushable, VmType)]
[INFO] [stdout]    |                    ^-----
[INFO] [stdout]    |                    |
[INFO] [stdout]    |                    `VmType` is not local
[INFO] [stdout]    |                    move the `impl` block outside of this constant `_IMPL_VM_TYPE_FOR_Match`
[INFO] [stdout] ...
[INFO] [stdout] 34 | struct Match<'a> {
[INFO] [stdout]    |        ----- `Match` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `VmType` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `VmType` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `VmType` (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 2m 17s
[INFO] running `Command { std: "docker" "inspect" "b29185a90e8ecad2dc2d9fbe432274957f1a5dba4676ef4d2e602dbc137024d8", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "b29185a90e8ecad2dc2d9fbe432274957f1a5dba4676ef4d2e602dbc137024d8", kill_on_drop: false }`
[INFO] [stdout] b29185a90e8ecad2dc2d9fbe432274957f1a5dba4676ef4d2e602dbc137024d8
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+bd7d74411512a3dd3b35d2f699c51dd2557c7e7e" "test" "--frozen" "--no-run" "--message-format=json" "-Zbuild-dir-new-layout", kill_on_drop: false }`
[INFO] [stdout] 2aa736b2aa52da6e3def41f87c94bce0a4e6de0c492f32cd6511c6346ab7d20a
[INFO] running `Command { std: "docker" "start" "-a" "2aa736b2aa52da6e3def41f87c94bce0a4e6de0c492f32cd6511c6346ab7d20a", kill_on_drop: false }`
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> codegen/src/pushable.rs:218:33
[INFO] [stdout]     |
[INFO] [stdout] 218 | fn get_info_from_fields(fields: &Fields) -> (Vec<Cow<Ident>>, Vec<&Type>) {
[INFO] [stdout]     |                                 ^^^^^^^          ^^^^^^^^^^       ^^^^^ the same lifetime is elided here
[INFO] [stdout]     |                                 |                |
[INFO] [stdout]     |                                 |                the same lifetime is hidden here
[INFO] [stdout]     |                                 the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 218 | fn get_info_from_fields(fields: &Fields) -> (Vec<Cow<'_, Ident>>, Vec<&Type>) {
[INFO] [stdout]     |                                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> codegen/src/trace.rs:206:33
[INFO] [stdout]     |
[INFO] [stdout] 206 | fn get_info_from_fields(fields: &Fields) -> (Vec<Cow<Ident>>, Vec<&Type>) {
[INFO] [stdout]     |                                 ^^^^^^^          ^^^^^^^^^^       ^^^^^ the same lifetime is elided here
[INFO] [stdout]     |                                 |                |
[INFO] [stdout]     |                                 |                the same lifetime is hidden here
[INFO] [stdout]     |                                 the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 206 | fn get_info_from_fields(fields: &Fields) -> (Vec<Cow<'_, Ident>>, Vec<&Type>) {
[INFO] [stdout]     |                                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `memory_usage`
[INFO] [stdout]   --> base/src/pos.rs:54:12
[INFO] [stdout]    |
[INFO] [stdout] 54 | #[cfg_attr(feature = "memory_usage", derive(HeapSizeOf))]
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected values for `feature` are: `anymap`, `compiletest_rs`, `nightly`, `serde`, `serde_derive`, `serde_derive_state`, `serde_state`, and `serialization`
[INFO] [stdout]    = help: consider adding `memory_usage` as a feature in `Cargo.toml`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]    = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]     --> base/src/ast.rs:1328:32
[INFO] [stdout]      |
[INFO] [stdout] 1328 |             struct Guard<'tag>(&'tag $crate::ast::InvariantLifetime<'tag>);
[INFO] [stdout]      |                    -----       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |                    |
[INFO] [stdout]      |                    field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 1346 |         mk_ast_arena!(arena);
[INFO] [stdout]      |         -------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = help: consider removing this field
[INFO] [stdout]      = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout]      = note: this warning originates in the macro `mk_ast_arena` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> base/src/ast.rs:81:25
[INFO] [stdout]    |
[INFO] [stdout] 81 | #[derive(Eq, PartialEq, AstClone)]
[INFO] [stdout]    |                         ^-------
[INFO] [stdout]    |                         |
[INFO] [stdout]    |                         `AstClone` is not local
[INFO] [stdout]    |                         move the `impl` block outside of this constant `_IMPL_AST_CLONE_FOR_InnerAstType`
[INFO] [stdout] 82 | pub struct InnerAstType<'ast, Id> {
[INFO] [stdout]    |            ------------ `InnerAstType` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `AstClone` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `AstClone` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const 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 `AstClone` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> base/src/ast.rs:87:25
[INFO] [stdout]    |
[INFO] [stdout] 87 | #[derive(Eq, PartialEq, AstClone)]
[INFO] [stdout]    |                         ^-------
[INFO] [stdout]    |                         |
[INFO] [stdout]    |                         `AstClone` is not local
[INFO] [stdout]    |                         move the `impl` block outside of this constant `_IMPL_AST_CLONE_FOR_AstType`
[INFO] [stdout] 88 | pub struct AstType<'ast, Id> {
[INFO] [stdout]    |            ------- `AstType` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `AstClone` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `AstClone` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `AstClone` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> base/src/ast.rs:283:32
[INFO] [stdout]     |
[INFO] [stdout] 283 | #[derive(Eq, PartialEq, Debug, AstClone)]
[INFO] [stdout]     |                                ^-------
[INFO] [stdout]     |                                |
[INFO] [stdout]     |                                `AstClone` is not local
[INFO] [stdout]     |                                move the `impl` block outside of this constant `_IMPL_AST_CLONE_FOR_PatternField`
[INFO] [stdout] 284 | pub enum PatternField<'ast, Id> {
[INFO] [stdout]     |          ------------ `PatternField` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `AstClone` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `AstClone` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `AstClone` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> base/src/ast.rs:302:32
[INFO] [stdout]     |
[INFO] [stdout] 302 | #[derive(Eq, PartialEq, Debug, AstClone)]
[INFO] [stdout]     |                                ^-------
[INFO] [stdout]     |                                |
[INFO] [stdout]     |                                `AstClone` is not local
[INFO] [stdout]     |                                move the `impl` block outside of this constant `_IMPL_AST_CLONE_FOR_Pattern`
[INFO] [stdout] 303 | pub enum Pattern<'ast, Id> {
[INFO] [stdout]     |          ------- `Pattern` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `AstClone` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `AstClone` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `AstClone` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> base/src/ast.rs:384:32
[INFO] [stdout]     |
[INFO] [stdout] 384 | #[derive(Eq, PartialEq, Debug, AstClone)]
[INFO] [stdout]     |                                ^-------
[INFO] [stdout]     |                                |
[INFO] [stdout]     |                                `AstClone` is not local
[INFO] [stdout]     |                                move the `impl` block outside of this constant `_IMPL_AST_CLONE_FOR_Alternative`
[INFO] [stdout] 385 | pub struct Alternative<'ast, Id> {
[INFO] [stdout]     |            ----------- `Alternative` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `AstClone` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `AstClone` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `AstClone` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> base/src/ast.rs:390:32
[INFO] [stdout]     |
[INFO] [stdout] 390 | #[derive(Eq, PartialEq, Debug, AstClone)]
[INFO] [stdout]     |                                ^-------
[INFO] [stdout]     |                                |
[INFO] [stdout]     |                                `AstClone` is not local
[INFO] [stdout]     |                                move the `impl` block outside of this constant `_IMPL_AST_CLONE_FOR_Array`
[INFO] [stdout] 391 | pub struct Array<'ast, Id> {
[INFO] [stdout]     |            ----- `Array` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `AstClone` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `AstClone` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `AstClone` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> base/src/ast.rs:396:32
[INFO] [stdout]     |
[INFO] [stdout] 396 | #[derive(Eq, PartialEq, Debug, AstClone)]
[INFO] [stdout]     |                                ^-------
[INFO] [stdout]     |                                |
[INFO] [stdout]     |                                `AstClone` is not local
[INFO] [stdout]     |                                move the `impl` block outside of this constant `_IMPL_AST_CLONE_FOR_Lambda`
[INFO] [stdout] 397 | pub struct Lambda<'ast, Id> {
[INFO] [stdout]     |            ------ `Lambda` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `AstClone` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `AstClone` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `AstClone` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> base/src/ast.rs:411:32
[INFO] [stdout]     |
[INFO] [stdout] 411 | #[derive(Eq, PartialEq, Debug, AstClone)]
[INFO] [stdout]     |                                ^-------
[INFO] [stdout]     |                                |
[INFO] [stdout]     |                                `AstClone` is not local
[INFO] [stdout]     |                                move the `impl` block outside of this constant `_IMPL_AST_CLONE_FOR_ExprField`
[INFO] [stdout] 412 | pub struct ExprField<'ast, Id, E> {
[INFO] [stdout]     |            --------- `ExprField` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `AstClone` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `AstClone` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `AstClone` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> base/src/ast.rs:418:32
[INFO] [stdout]     |
[INFO] [stdout] 418 | #[derive(Eq, PartialEq, Debug, AstClone)]
[INFO] [stdout]     |                                ^-------
[INFO] [stdout]     |                                |
[INFO] [stdout]     |                                `AstClone` is not local
[INFO] [stdout]     |                                move the `impl` block outside of this constant `_IMPL_AST_CLONE_FOR_Do`
[INFO] [stdout] 419 | pub struct Do<'ast, Id> {
[INFO] [stdout]     |            -- `Do` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `AstClone` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `AstClone` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `AstClone` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> base/src/ast.rs:428:32
[INFO] [stdout]     |
[INFO] [stdout] 428 | #[derive(Eq, PartialEq, Debug, AstClone)]
[INFO] [stdout]     |                                ^-------
[INFO] [stdout]     |                                |
[INFO] [stdout]     |                                `AstClone` is not local
[INFO] [stdout]     |                                move the `impl` block outside of this constant `_IMPL_AST_CLONE_FOR_Expr`
[INFO] [stdout] 429 | pub enum Expr<'ast, Id> {
[INFO] [stdout]     |          ---- `Expr` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `AstClone` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `AstClone` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `AstClone` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stdout]    --> base/src/ast.rs:589:27
[INFO] [stdout]     |
[INFO] [stdout] 587 |         &'a self,
[INFO] [stdout]     |          -- the lifetime is named here
[INFO] [stdout] 588 |     ) -> impl Iterator<
[INFO] [stdout] 589 |         Item = Either<&'a ExprField<Id, ArcType<Id>>, &'a ExprField<Id, SpannedExpr<'ast, Id>>>,
[INFO] [stdout]     |                        -- ^^^^^^^^^^^^^^^^^^^^^^^^^^   -- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                        |  |                            |
[INFO] [stdout]     |                        |  |                            the same lifetime is named here
[INFO] [stdout]     |                        |  the same lifetime is hidden here
[INFO] [stdout]     |                        the same lifetime is named here
[INFO] [stdout] 590 |     > + 'a {
[INFO] [stdout]     |         -- the same lifetime is named here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: consistently use `'a`
[INFO] [stdout]     |
[INFO] [stdout] 589 |         Item = Either<&'a ExprField<'a, Id, ArcType<Id>>, &'a ExprField<'a, Id, SpannedExpr<'ast, Id>>>,
[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]    --> base/src/ast.rs:609:32
[INFO] [stdout]     |
[INFO] [stdout] 609 | #[derive(Eq, PartialEq, Debug, AstClone)]
[INFO] [stdout]     |                                ^-------
[INFO] [stdout]     |                                |
[INFO] [stdout]     |                                `AstClone` is not local
[INFO] [stdout]     |                                move the `impl` block outside of this constant `_IMPL_AST_CLONE_FOR_TypeBinding`
[INFO] [stdout] 610 | pub struct TypeBinding<'ast, Id> {
[INFO] [stdout]     |            ----------- `TypeBinding` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `AstClone` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `AstClone` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `AstClone` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> base/src/ast.rs:623:54
[INFO] [stdout]     |
[INFO] [stdout] 623 | #[derive(Clone, Default, Eq, PartialEq, Debug, Hash, AstClone)]
[INFO] [stdout]     |                                                      ^-------
[INFO] [stdout]     |                                                      |
[INFO] [stdout]     |                                                      `AstClone` is not local
[INFO] [stdout]     |                                                      move the `impl` block outside of this constant `_IMPL_AST_CLONE_FOR_Argument`
[INFO] [stdout] 624 | #[cfg_attr(feature = "serde_derive", derive(Deserialize, Serialize))]
[INFO] [stdout] 625 | pub struct Argument<N> {
[INFO] [stdout]     |            -------- `Argument` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `AstClone` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `AstClone` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `AstClone` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> base/src/ast.rs:646:32
[INFO] [stdout]     |
[INFO] [stdout] 646 | #[derive(Eq, PartialEq, Debug, AstClone)]
[INFO] [stdout]     |                                ^-------
[INFO] [stdout]     |                                |
[INFO] [stdout]     |                                `AstClone` is not local
[INFO] [stdout]     |                                move the `impl` block outside of this constant `_IMPL_AST_CLONE_FOR_ValueBindings`
[INFO] [stdout] 647 | pub enum ValueBindings<'ast, Id> {
[INFO] [stdout]     |          ------------- `ValueBindings` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `AstClone` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `AstClone` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `AstClone` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> base/src/ast.rs:698:32
[INFO] [stdout]     |
[INFO] [stdout] 698 | #[derive(Eq, PartialEq, Debug, AstClone)]
[INFO] [stdout]     |                                ^-------
[INFO] [stdout]     |                                |
[INFO] [stdout]     |                                `AstClone` is not local
[INFO] [stdout]     |                                move the `impl` block outside of this constant `_IMPL_AST_CLONE_FOR_ValueBinding`
[INFO] [stdout] 699 | pub struct ValueBinding<'ast, Id> {
[INFO] [stdout]     |            ------------ `ValueBinding` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `AstClone` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `AstClone` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `AstClone` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: eliding a lifetime that's named elsewhere is confusing
[INFO] [stdout]     --> base/src/ast.rs:1258:51
[INFO] [stdout]      |
[INFO] [stdout] 1258 |               pub fn borrow(&'ast self) -> ArenaRef<'_, 'ast, Id> {
[INFO] [stdout]      |                              ----                   ^^  ---- the same lifetime is named here
[INFO] [stdout]      |                              |                      |
[INFO] [stdout]      |                              |                      the same lifetime is elided here
[INFO] [stdout]      |                              the lifetime is named here
[INFO] [stdout] ...
[INFO] [stdout] 1294 | / impl_ast_arena! {
[INFO] [stdout] 1295 | |     SpannedExpr<'ast, Id> => exprs,
[INFO] [stdout] 1296 | |     SpannedPattern<'ast, Id> => patterns,
[INFO] [stdout] 1297 | |     PatternField<'ast, Id> => pattern_field,
[INFO] [stdout] ...    |
[INFO] [stdout] 1310 | |     Metadata => metadata,
[INFO] [stdout] 1311 | | }
[INFO] [stdout]      | |_- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]      = note: this warning originates in the macro `impl_ast_arena` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consistently use `'ast`
[INFO] [stdout]      |
[INFO] [stdout] 1258 -             pub fn borrow(&'ast self) -> ArenaRef<'_, 'ast, Id> {
[INFO] [stdout] 1258 +             pub fn borrow(&'ast self) -> ArenaRef<'ast, 'ast, Id> {
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> base/src/error.rs:62:17
[INFO] [stdout]    |
[INFO] [stdout] 62 |     pub fn iter(&self) -> slice::Iter<T> {
[INFO] [stdout]    |                 ^^^^^     ^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 62 |     pub fn iter(&self) -> slice::Iter<'_, T> {
[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]   --> base/src/metadata.rs:55:47
[INFO] [stdout]    |
[INFO] [stdout] 55 | #[derive(Debug, Default, Eq, PartialEq, Hash, gluon_codegen::AstClone)]
[INFO] [stdout]    |                                               ^----------------------
[INFO] [stdout]    |                                               |
[INFO] [stdout]    |                                               `AstClone` is not local
[INFO] [stdout]    |                                               move the `impl` block outside of this constant `_IMPL_AST_CLONE_FOR_BaseMetadata`
[INFO] [stdout] 56 | pub struct BaseMetadata<'ast> {
[INFO] [stdout]    |            ------------ `BaseMetadata` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `gluon_codegen::AstClone` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `gluon_codegen::AstClone` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `gluon_codegen::AstClone` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> base/src/scoped_map.rs:70:23
[INFO] [stdout]    |
[INFO] [stdout] 70 |     pub fn exit_scope(&mut self) -> ExitScopeIter<K, V> {
[INFO] [stdout]    |                       ^^^^^^^^^     ^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                       |
[INFO] [stdout]    |                       the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 70 |     pub fn exit_scope(&mut self) -> ExitScopeIter<'_, K, V> {
[INFO] [stdout]    |                                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> base/src/scoped_map.rs:136:18
[INFO] [stdout]     |
[INFO] [stdout] 136 |     pub fn entry(&mut self, key: K) -> Entry<K, V> {
[INFO] [stdout]     |                  ^^^^^^^^^             ^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                  |
[INFO] [stdout]     |                  the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 136 |     pub fn entry(&mut self, key: K) -> Entry<'_, K, V> {
[INFO] [stdout]     |                                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> base/src/scoped_map.rs:236:21
[INFO] [stdout]     |
[INFO] [stdout] 236 |     pub fn iter_mut(&mut self) -> IterMut<K, Vec<V>> {
[INFO] [stdout]     |                     ^^^^^^^^^     ^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 236 |     pub fn iter_mut(&mut self) -> IterMut<'_, K, Vec<V>> {
[INFO] [stdout]     |                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> base/src/scoped_map.rs:240:17
[INFO] [stdout]     |
[INFO] [stdout] 240 |     pub fn iter(&self) -> Iter<K, V> {
[INFO] [stdout]     |                 ^^^^^     ^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 240 |     pub fn iter(&self) -> Iter<'_, K, V> {
[INFO] [stdout]     |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> base/src/source.rs:245:25
[INFO] [stdout]     |
[INFO] [stdout] 245 |     fn comments_between(&self, span: Span<BytePos>) -> CommentIter;
[INFO] [stdout]     |                         ^^^^^                          ^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 245 |     fn comments_between(&self, span: Span<BytePos>) -> CommentIter<'_>;
[INFO] [stdout]     |                                                                   ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> base/src/source.rs:298:25
[INFO] [stdout]     |
[INFO] [stdout] 298 |     fn comments_between(&self, span: Span<BytePos>) -> CommentIter {
[INFO] [stdout]     |                         ^^^^^                          ^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 298 |     fn comments_between(&self, span: Span<BytePos>) -> CommentIter<'_> {
[INFO] [stdout]     |                                                                   ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> base/src/source.rs:340:25
[INFO] [stdout]     |
[INFO] [stdout] 340 |     fn comments_between(&self, _: Span<BytePos>) -> CommentIter {
[INFO] [stdout]     |                         ^^^^^                       ^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 340 |     fn comments_between(&self, _: Span<BytePos>) -> CommentIter<'_> {
[INFO] [stdout]     |                                                                ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> base/src/symbol.rs:431:23
[INFO] [stdout]     |
[INFO] [stdout] 431 |     pub fn components(&self) -> Components {
[INFO] [stdout]     |                       ^^^^^     ^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 431 |     pub fn components(&self) -> Components<'_> {
[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]    --> base/src/types/mod.rs:316:24
[INFO] [stdout]     |
[INFO] [stdout] 316 | #[derive(Clone, Debug, AstClone)]
[INFO] [stdout]     |                        ^-------
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        `AstClone` is not local
[INFO] [stdout]     |                        move the `impl` block outside of this constant `_IMPL_AST_CLONE_FOR_Skolem`
[INFO] [stdout] ...
[INFO] [stdout] 330 | pub struct Skolem<Id> {
[INFO] [stdout]     |            ------ `Skolem` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `AstClone` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `AstClone` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `AstClone` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> base/src/types/mod.rs:342:45
[INFO] [stdout]     |
[INFO] [stdout] 342 | #[derive(Clone, Debug, Eq, PartialEq, Hash, AstClone)]
[INFO] [stdout]     |                                             ^-------
[INFO] [stdout]     |                                             |
[INFO] [stdout]     |                                             `AstClone` is not local
[INFO] [stdout]     |                                             move the `impl` block outside of this constant `_IMPL_AST_CLONE_FOR_Generic`
[INFO] [stdout] ...
[INFO] [stdout] 356 | pub struct Generic<Id> {
[INFO] [stdout]     |            ------- `Generic` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `AstClone` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `AstClone` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `AstClone` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> base/src/types/mod.rs:371:45
[INFO] [stdout]     |
[INFO] [stdout] 371 | #[derive(Clone, Debug, Eq, PartialEq, Hash, AstClone)]
[INFO] [stdout]     |                                             ^-------
[INFO] [stdout]     |                                             |
[INFO] [stdout]     |                                             `AstClone` is not local
[INFO] [stdout]     |                                             move the `impl` block outside of this constant `_IMPL_AST_CLONE_FOR_Alias`
[INFO] [stdout] ...
[INFO] [stdout] 385 | pub struct Alias<Id, T> {
[INFO] [stdout]     |            ----- `Alias` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `AstClone` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `AstClone` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `AstClone` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> base/src/types/mod.rs:512:16
[INFO] [stdout]     |
[INFO] [stdout] 512 |     pub fn typ(&self, interner: &mut impl TypeContext<Id, T>) -> Cow<T> {
[INFO] [stdout]     |                ^^^^^ the lifetime is elided here                 ^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 512 |     pub fn typ(&self, interner: &mut impl TypeContext<Id, T>) -> Cow<'_, T> {
[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]    --> base/src/types/mod.rs:550:17
[INFO] [stdout]     |
[INFO] [stdout] 550 | #[derive(Clone, AstClone)]
[INFO] [stdout]     |                 ^-------
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 `AstClone` is not local
[INFO] [stdout]     |                 move the `impl` block outside of this constant `_IMPL_AST_CLONE_FOR_AliasRef`
[INFO] [stdout] ...
[INFO] [stdout] 569 | pub struct AliasRef<Id, T>
[INFO] [stdout]     |            -------- `AliasRef` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `AstClone` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `AstClone` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `AstClone` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> base/src/types/mod.rs:659:16
[INFO] [stdout]     |
[INFO] [stdout] 659 |     pub fn typ(&self, interner: &mut impl TypeContext<Id, T>) -> Cow<T> {
[INFO] [stdout]     |                ^^^^^ the lifetime is elided here                 ^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 659 |     pub fn typ(&self, interner: &mut impl TypeContext<Id, T>) -> Cow<'_, T> {
[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]    --> base/src/types/mod.rs:699:45
[INFO] [stdout]     |
[INFO] [stdout] 699 | #[derive(Clone, Debug, Eq, PartialEq, Hash, AstClone)]
[INFO] [stdout]     |                                             ^-------
[INFO] [stdout]     |                                             |
[INFO] [stdout]     |                                             `AstClone` is not local
[INFO] [stdout]     |                                             move the `impl` block outside of this constant `_IMPL_AST_CLONE_FOR_AliasData`
[INFO] [stdout] ...
[INFO] [stdout] 718 | pub struct AliasData<Id, T: TypePtr<Id = Id>> {
[INFO] [stdout]     |            --------- `AliasData` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `AstClone` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `AstClone` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `AstClone` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> base/src/types/mod.rs:824:45
[INFO] [stdout]     |
[INFO] [stdout] 824 | #[derive(Clone, Hash, Eq, PartialEq, Debug, AstClone)]
[INFO] [stdout]     |                                             ^-------
[INFO] [stdout]     |                                             |
[INFO] [stdout]     |                                             `AstClone` is not local
[INFO] [stdout]     |                                             move the `impl` block outside of this constant `_IMPL_AST_CLONE_FOR_Field`
[INFO] [stdout] ...
[INFO] [stdout] 843 | pub struct Field<FieldId, T = ArcType<FieldId>> {
[INFO] [stdout]     |            ----- `Field` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `AstClone` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `AstClone` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `AstClone` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> base/src/types/mod.rs:914:45
[INFO] [stdout]     |
[INFO] [stdout] 914 | #[derive(Clone, Debug, Eq, PartialEq, Hash, AstClone)]
[INFO] [stdout]     |                                             ^-------
[INFO] [stdout]     |                                             |
[INFO] [stdout]     |                                             `AstClone` is not local
[INFO] [stdout]     |                                             move the `impl` block outside of this constant `_IMPL_AST_CLONE_FOR_Type`
[INFO] [stdout] ...
[INFO] [stdout] 947 | pub enum Type<Id, T: TypePtr<Id = Id> = ArcType<Id>> {
[INFO] [stdout]     |          ---- `Type` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `AstClone` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `AstClone` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `AstClone` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> base/src/types/mod.rs:1327:27
[INFO] [stdout]      |
[INFO] [stdout] 1327 |     pub fn unapplied_args(&self) -> Cow<[T]>
[INFO] [stdout]      |                           ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]      |                           |
[INFO] [stdout]      |                           the lifetime is elided here
[INFO] [stdout]      |
[INFO] [stdout]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]      |
[INFO] [stdout] 1327 |     pub fn unapplied_args(&self) -> Cow<'_, [T]>
[INFO] [stdout]      |                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> base/src/types/mod.rs:1637:25
[INFO] [stdout]      |
[INFO] [stdout] 1637 | pub fn row_iter<T>(typ: &T) -> RowIterator<T> {
[INFO] [stdout]      |                         ^^     ^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]      |                         |
[INFO] [stdout]      |                         the lifetime is elided here
[INFO] [stdout]      |
[INFO] [stdout]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]      |
[INFO] [stdout] 1637 | pub fn row_iter<T>(typ: &T) -> RowIterator<'_, T> {
[INFO] [stdout]      |                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> base/src/types/mod.rs:1641:33
[INFO] [stdout]      |
[INFO] [stdout] 1641 | pub fn row_iter_mut<Id, T>(typ: &mut T) -> RowIteratorMut<Id, T> {
[INFO] [stdout]      |                                 ^^^^^^     ^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]      |                                 |
[INFO] [stdout]      |                                 the lifetime is elided here
[INFO] [stdout]      |
[INFO] [stdout]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]      |
[INFO] [stdout] 1641 | pub fn row_iter_mut<Id, T>(typ: &mut T) -> RowIteratorMut<'_, Id, T> {
[INFO] [stdout]      |                                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> base/src/types/mod.rs:1648:32
[INFO] [stdout]      |
[INFO] [stdout] 1648 | pub fn type_field_iter<T>(typ: &T) -> TypeFieldIterator<T> {
[INFO] [stdout]      |                                ^^     ^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]      |                                |
[INFO] [stdout]      |                                the lifetime is elided here
[INFO] [stdout]      |
[INFO] [stdout]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]      |
[INFO] [stdout] 1648 | pub fn type_field_iter<T>(typ: &T) -> TypeFieldIterator<'_, T> {
[INFO] [stdout]      |                                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> base/src/types/mod.rs:1738:19
[INFO] [stdout]      |
[INFO] [stdout] 1738 |     fn display<A>(&self, width: usize) -> TypeFormatter<Self::Id, Self, A>
[INFO] [stdout]      |                   ^^^^^                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]      |                   |
[INFO] [stdout]      |                   the lifetime is elided here
[INFO] [stdout]      |
[INFO] [stdout]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]      |
[INFO] [stdout] 1738 |     fn display<A>(&self, width: usize) -> TypeFormatter<'_, Self::Id, Self, A>
[INFO] [stdout]      |                                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> base/src/types/mod.rs:1760:24
[INFO] [stdout]      |
[INFO] [stdout] 1760 |     fn type_field_iter(&self) -> TypeFieldIterator<Self> {
[INFO] [stdout]      |                        ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]      |                        |
[INFO] [stdout]      |                        the lifetime is elided here
[INFO] [stdout]      |
[INFO] [stdout]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]      |
[INFO] [stdout] 1760 |     fn type_field_iter(&self) -> TypeFieldIterator<'_, Self> {
[INFO] [stdout]      |                                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> base/src/types/mod.rs:1764:17
[INFO] [stdout]      |
[INFO] [stdout] 1764 |     fn arg_iter(&self) -> ArgIterator<Self> {
[INFO] [stdout]      |                 ^^^^^     ^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]      |                 |
[INFO] [stdout]      |                 the lifetime is elided here
[INFO] [stdout]      |
[INFO] [stdout]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]      |
[INFO] [stdout] 1764 |     fn arg_iter(&self) -> ArgIterator<'_, Self> {
[INFO] [stdout]      |                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> base/src/types/mod.rs:1768:26
[INFO] [stdout]      |
[INFO] [stdout] 1768 |     fn implicit_arg_iter(&self) -> ImplicitArgIterator<Self> {
[INFO] [stdout]      |                          ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]      |                          |
[INFO] [stdout]      |                          the lifetime is elided here
[INFO] [stdout]      |
[INFO] [stdout]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]      |
[INFO] [stdout] 1768 |     fn implicit_arg_iter(&self) -> ImplicitArgIterator<'_, Self> {
[INFO] [stdout]      |                                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> base/src/types/mod.rs:1774:17
[INFO] [stdout]      |
[INFO] [stdout] 1774 |     fn row_iter(&self) -> RowIterator<Self> {
[INFO] [stdout]      |                 ^^^^^     ^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]      |                 |
[INFO] [stdout]      |                 the lifetime is elided here
[INFO] [stdout]      |
[INFO] [stdout]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]      |
[INFO] [stdout] 1774 |     fn row_iter(&self) -> RowIterator<'_, Self> {
[INFO] [stdout]      |                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> base/src/types/mod.rs:1858:26
[INFO] [stdout]      |
[INFO] [stdout] 1858 |     fn forall_scope_iter(&self) -> ForallScopeIter<Self> {
[INFO] [stdout]      |                          ^^^^^     ^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]      |                          |
[INFO] [stdout]      |                          the lifetime is elided here
[INFO] [stdout]      |
[INFO] [stdout]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]      |
[INFO] [stdout] 1858 |     fn forall_scope_iter(&self) -> ForallScopeIter<'_, Self> {
[INFO] [stdout]      |                                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stdout]     --> base/src/types/mod.rs:2313:65
[INFO] [stdout]      |
[INFO] [stdout] 2313 | fn split_top<'a, Id, T>(self_: &'a T) -> Option<(Option<&'a T>, Cow<[T]>)>
[INFO] [stdout]      |                                 --                       --     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]      |                                 |                        |
[INFO] [stdout]      |                                 |                        the same lifetime is named here
[INFO] [stdout]      |                                 the lifetime is named here
[INFO] [stdout]      |
[INFO] [stdout]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: consistently use `'a`
[INFO] [stdout]      |
[INFO] [stdout] 2313 | fn split_top<'a, Id, T>(self_: &'a T) -> Option<(Option<&'a T>, Cow<'a, [T]>)>
[INFO] [stdout]      |                                                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stdout]     --> base/src/types/mod.rs:2337:62
[INFO] [stdout]      |
[INFO] [stdout] 2337 | pub fn split_app<'a, Id, T>(self_: &'a T) -> (Option<&'a T>, Cow<[T]>)
[INFO] [stdout]      |                                     --                --     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]      |                                     |                 |
[INFO] [stdout]      |                                     |                 the same lifetime is named here
[INFO] [stdout]      |                                     the lifetime is named here
[INFO] [stdout]      |
[INFO] [stdout]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: consistently use `'a`
[INFO] [stdout]      |
[INFO] [stdout] 2337 | pub fn split_app<'a, Id, T>(self_: &'a T) -> (Option<&'a T>, Cow<'a, [T]>)
[INFO] [stdout]      |                                                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> base/src/types/mod.rs:2362:30
[INFO] [stdout]      |
[INFO] [stdout] 2362 | pub fn ctor_args<Id, T>(typ: &T) -> ArgIterator<T>
[INFO] [stdout]      |                              ^^     ^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]      |                              |
[INFO] [stdout]      |                              the lifetime is elided here
[INFO] [stdout]      |
[INFO] [stdout]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]      |
[INFO] [stdout] 2362 | pub fn ctor_args<Id, T>(typ: &T) -> ArgIterator<'_, T>
[INFO] [stdout]      |                                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> base/src/types/mod.rs:2376:29
[INFO] [stdout]      |
[INFO] [stdout] 2376 | pub fn arg_iter<Id, T>(typ: &T) -> ArgIterator<T>
[INFO] [stdout]      |                             ^^     ^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]      |                             |
[INFO] [stdout]      |                             the lifetime is elided here
[INFO] [stdout]      |
[INFO] [stdout]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]      |
[INFO] [stdout] 2376 | pub fn arg_iter<Id, T>(typ: &T) -> ArgIterator<'_, T>
[INFO] [stdout]      |                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> base/src/types/mod.rs:2404:38
[INFO] [stdout]      |
[INFO] [stdout] 2404 | pub fn implicit_arg_iter<Id, T>(typ: &T) -> ImplicitArgIterator<T>
[INFO] [stdout]      |                                      ^^     ^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]      |                                      |
[INFO] [stdout]      |                                      the lifetime is elided here
[INFO] [stdout]      |
[INFO] [stdout]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]      |
[INFO] [stdout] 2404 | pub fn implicit_arg_iter<Id, T>(typ: &T) -> ImplicitArgIterator<'_, T>
[INFO] [stdout]      |                                                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> base/src/types/mod.rs:2532:31
[INFO] [stdout]      |
[INFO] [stdout] 2532 | pub fn dt<T>(prec: Prec, typ: &T) -> DisplayType<T> {
[INFO] [stdout]      |                               ^^     ^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]      |                               |
[INFO] [stdout]      |                               the lifetime is elided here
[INFO] [stdout]      |
[INFO] [stdout]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]      |
[INFO] [stdout] 2532 | pub fn dt<T>(prec: Prec, typ: &T) -> DisplayType<'_, T> {
[INFO] [stdout]      |                                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> base/src/types/mod.rs:2536:16
[INFO] [stdout]      |
[INFO] [stdout] 2536 | fn top<T>(typ: &T) -> DisplayType<T> {
[INFO] [stdout]      |                ^^     ^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]      |                |
[INFO] [stdout]      |                the lifetime is elided here
[INFO] [stdout]      |
[INFO] [stdout]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]      |
[INFO] [stdout] 2536 | fn top<T>(typ: &T) -> DisplayType<'_, T> {
[INFO] [stdout]      |                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling serde v1.0.215
[INFO] [stderr]    Compiling atty v0.2.14
[INFO] [stderr]    Compiling proc-macro-error-attr v1.0.4
[INFO] [stderr]    Compiling lalrpop v0.19.12
[INFO] [stderr]    Compiling textwrap v0.11.0
[INFO] [stderr]    Compiling serde_json v1.0.133
[INFO] [stderr]    Compiling ansi_term v0.12.1
[INFO] [stderr]    Compiling itoa v1.0.14
[INFO] [stderr]    Compiling strsim v0.8.0
[INFO] [stderr]    Compiling plotters-backend v0.3.7
[INFO] [stderr]    Compiling rustix v0.38.41
[INFO] [stdout] warning: unexpected `cfg` condition value: `serde_derive`
[INFO] [stdout]  --> check/src/metadata.rs:3:7
[INFO] [stdout]   |
[INFO] [stdout] 3 | #[cfg(feature = "serde_derive")]
[INFO] [stdout]   |       ^^^^^^^^^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout]   |
[INFO] [stdout]   = note: no expected values for `feature`
[INFO] [stdout]   = help: consider adding `serde_derive` as a feature in `Cargo.toml`
[INFO] [stdout]   = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]   = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `TypeExt` and `TypePtr`
[INFO] [stdout]  --> check/src/typ.rs:1:56
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub use crate::base::types::{ArcType as RcType, Flags, TypeExt, TypePtr};
[INFO] [stdout]   |                                                        ^^^^^^^  ^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `has_data` is never used
[INFO] [stdout]   --> check/src/metadata.rs:25:8
[INFO] [stdout]    |
[INFO] [stdout] 22 | trait ArcMetadata: Into<Arc<Metadata>> {
[INFO] [stdout]    |       ----------- method in this trait
[INFO] [stdout] ...
[INFO] [stdout] 25 |     fn has_data(&self) -> bool;
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling gluon v0.18.2 (/opt/rustwide/workdir)
[INFO] [stderr]    Compiling clap v2.34.0
[INFO] [stderr]    Compiling plotters-svg v0.3.7
[INFO] [stderr]    Compiling csv-core v0.1.11
[INFO] [stderr]    Compiling cast v0.3.0
[INFO] [stderr]    Compiling proc-macro-error v1.0.4
[INFO] [stderr]    Compiling half v1.8.3
[INFO] [stderr]    Compiling bitflags v2.6.0
[INFO] [stderr]    Compiling serde_derive_state v0.4.10
[INFO] [stderr]    Compiling pulldown-cmark v0.8.0
[INFO] [stderr]    Compiling structopt-derive v0.4.18
[INFO] [stderr]    Compiling anyhow v1.0.94
[INFO] [stdout] warning: method `produce_slice` is never used
[INFO] [stdout]    --> vm/src/core/interpreter.rs:129:8
[INFO] [stdout]     |
[INFO] [stdout] 127 | trait Resolver<'l, 'a> {
[INFO] [stdout]     |       -------- method in this trait
[INFO] [stdout] 128 |     fn produce(&self, expr: CExpr<'a>) -> CExpr<'l>;
[INFO] [stdout] 129 |     fn produce_slice(&self, expr: &'a [Expr<'a>]) -> &'l [Expr<'l>];
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> vm/src/core/mod.rs:366:32
[INFO] [stdout]     |
[INFO] [stdout] 366 |     pub struct FrozenAllocator(Arc<Allocator<'static>>);
[INFO] [stdout]     |                --------------- ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                |
[INFO] [stdout]     |                field in this struct
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider removing this field
[INFO] [stdout]     = note: `FrozenAllocator` has a derived impl for the trait `Clone`, but this is 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]   --> vm/src/lib.rs:90:28
[INFO] [stdout]    |
[INFO] [stdout] 90 | #[derive(Debug, PartialEq, Trace)]
[INFO] [stdout]    |                            ^----
[INFO] [stdout]    |                            |
[INFO] [stdout]    |                            `Trace` is not local
[INFO] [stdout]    |                            move the `impl` block outside of this constant `_IMPL_TRAVERSEABLE_FOR_Variants`
[INFO] [stdout] ...
[INFO] [stdout] 93 | pub struct Variants<'a>(ValueRepr, PhantomData<&'a Value>);
[INFO] [stdout]    |            -------- `Variants` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Trace` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Trace` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const 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: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> vm/src/lib.rs:106:23
[INFO] [stdout]     |
[INFO] [stdout] 106 |     pub fn new(value: &Value) -> Variants {
[INFO] [stdout]     |                       ^^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 106 |     pub fn new(value: &Value) -> Variants<'_> {
[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]    --> vm/src/gc.rs:313:10
[INFO] [stdout]     |
[INFO] [stdout] 313 | #[derive(Trace)]
[INFO] [stdout]     |          ^----
[INFO] [stdout]     |          |
[INFO] [stdout]     |          `Trace` is not local
[INFO] [stdout]     |          move the `impl` block outside of this constant `_IMPL_TRAVERSEABLE_FOR_Move`
[INFO] [stdout] 314 | #[gluon(gluon_vm)]
[INFO] [stdout] 315 | pub struct Move<T>(pub T);
[INFO] [stdout]     |            ---- `Move` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Trace` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Trace` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Trace` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> vm/src/gc.rs:325:33
[INFO] [stdout]     |
[INFO] [stdout] 325 |     fn initialize(self, result: WriteOnly<T>) -> &mut T {
[INFO] [stdout]     |                                 ^^^^^^^^^^^^     ^^^^^^ the same lifetime is elided here
[INFO] [stdout]     |                                 |
[INFO] [stdout]     |                                 the lifetime is hidden here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 325 |     fn initialize(self, result: WriteOnly<'_, T>) -> &mut T {
[INFO] [stdout]     |                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> vm/src/gc.rs:520:33
[INFO] [stdout]     |
[INFO] [stdout] 520 |     fn initialize(self, result: WriteOnly<Self::Value>) -> &mut Self::Value {
[INFO] [stdout]     |                                 ^^^^^^^^^^^^^^^^^^^^^^     ^^^^^^^^^^^^^^^^ the same lifetime is elided here
[INFO] [stdout]     |                                 |
[INFO] [stdout]     |                                 the lifetime is hidden here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 520 |     fn initialize(self, result: WriteOnly<'_, Self::Value>) -> &mut Self::Value {
[INFO] [stdout]     |                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> vm/src/gc.rs:1086:9
[INFO] [stdout]      |
[INFO] [stdout] 1086 |         &mut self,
[INFO] [stdout]      |         ^^^^^^^^^ the lifetime is elided here
[INFO] [stdout] ...
[INFO] [stdout] 1089 |     ) -> Result<OwnedGcRef<D::Value>>
[INFO] [stdout]      |                 ^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]      |
[INFO] [stdout]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]      |
[INFO] [stdout] 1089 |     ) -> Result<OwnedGcRef<'_, D::Value>>
[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]     --> vm/src/gc.rs:1095:18
[INFO] [stdout]      |
[INFO] [stdout] 1095 |         #[derive(Trace)]
[INFO] [stdout]      |                  ^----
[INFO] [stdout]      |                  |
[INFO] [stdout]      |                  `Trace` is not local
[INFO] [stdout]      |                  move the `impl` block outside of this constant `_IMPL_TRAVERSEABLE_FOR_Scope1` and up 2 bodies
[INFO] [stdout] 1096 |         #[gluon(gluon_vm)]
[INFO] [stdout] 1097 |         struct Scope1<A, B>(A, B);
[INFO] [stdout]      |                ------ `Scope1` is not local
[INFO] [stdout]      |
[INFO] [stdout]      = note: the derive macro `Trace` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]      = note: the derive macro `Trace` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stdout]      = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]      = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]      = note: this warning originates in the derive macro `Trace` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> vm/src/gc.rs:1116:21
[INFO] [stdout]      |
[INFO] [stdout] 1116 |     pub fn alloc<D>(&mut self, def: D) -> Result<GcRef<D::Value>>
[INFO] [stdout]      |                     ^^^^^^^^^                    ^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     the lifetime is elided here
[INFO] [stdout]      |
[INFO] [stdout]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]      |
[INFO] [stdout] 1116 |     pub fn alloc<D>(&mut self, def: D) -> Result<GcRef<'_, D::Value>>
[INFO] [stdout]      |                                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> vm/src/gc.rs:1124:27
[INFO] [stdout]      |
[INFO] [stdout] 1124 |     pub fn alloc_owned<D>(&mut self, def: D) -> Result<OwnedGcRef<D::Value>>
[INFO] [stdout]      |                           ^^^^^^^^^                    ^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]      |                           |
[INFO] [stdout]      |                           the lifetime is elided here
[INFO] [stdout]      |
[INFO] [stdout]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]      |
[INFO] [stdout] 1124 |     pub fn alloc_owned<D>(&mut self, def: D) -> Result<OwnedGcRef<'_, D::Value>>
[INFO] [stdout]      |                                                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> vm/src/gc.rs:1140:34
[INFO] [stdout]      |
[INFO] [stdout] 1140 |     pub fn alloc_ignore_limit<D>(&mut self, def: D) -> GcRef<D::Value>
[INFO] [stdout]      |                                  ^^^^^^^^^             ^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]      |                                  |
[INFO] [stdout]      |                                  the lifetime is elided here
[INFO] [stdout]      |
[INFO] [stdout]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]      |
[INFO] [stdout] 1140 |     pub fn alloc_ignore_limit<D>(&mut self, def: D) -> GcRef<'_, D::Value>
[INFO] [stdout]      |                                                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> vm/src/gc.rs:1212:31
[INFO] [stdout]      |
[INFO] [stdout] 1212 |     fn alloc_ignore_limit_<D>(&mut self, size: usize, def: D) -> OwnedGcRef<D::Value>
[INFO] [stdout]      |                               ^^^^^^^^^                          ^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]      |                               |
[INFO] [stdout]      |                               the lifetime is elided here
[INFO] [stdout]      |
[INFO] [stdout]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]      |
[INFO] [stdout] 1212 |     fn alloc_ignore_limit_<D>(&mut self, size: usize, def: D) -> OwnedGcRef<'_, D::Value>
[INFO] [stdout]      |                                                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> vm/src/gc/mutex.rs:73:17
[INFO] [stdout]    |
[INFO] [stdout] 73 |     pub fn lock(&self) -> LockResult<MutexGuard<T>> {
[INFO] [stdout]    |                 ^^^^^                ^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 73 |     pub fn lock(&self) -> LockResult<MutexGuard<'_, T>> {
[INFO] [stdout]    |                                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> vm/src/gc/mutex.rs:84:21
[INFO] [stdout]    |
[INFO] [stdout] 84 |     pub fn try_lock(&self) -> TryLockResult<MutexGuard<T>> {
[INFO] [stdout]    |                     ^^^^^                   ^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 84 |     pub fn try_lock(&self) -> TryLockResult<MutexGuard<'_, T>> {
[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]    --> vm/src/api/mod.rs:301:10
[INFO] [stdout]     |
[INFO] [stdout] 301 | #[derive(Trace, PartialEq)]
[INFO] [stdout]     |          ^----
[INFO] [stdout]     |          |
[INFO] [stdout]     |          `Trace` is not local
[INFO] [stdout]     |          move the `impl` block outside of this constant `_IMPL_TRAVERSEABLE_FOR_Unrooted`
[INFO] [stdout] 302 | #[gluon(gluon_vm)]
[INFO] [stdout] 303 | pub(crate) struct Unrooted<T: ?Sized>(Value, PhantomData<T>);
[INFO] [stdout]     |                   -------- `Unrooted` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Trace` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Trace` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Trace` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> vm/src/api/function.rs:164:24
[INFO] [stdout]     |
[INFO] [stdout] 164 |     pub fn get_variant(&self) -> Variants {
[INFO] [stdout]     |                        ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 164 |     pub fn get_variant(&self) -> Variants<'_> {
[INFO] [stdout]     |                                          ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> vm/src/api/opaque.rs:35:21
[INFO] [stdout]    |
[INFO] [stdout] 35 |     fn as_value_ref(&self) -> ValueRef;
[INFO] [stdout]    |                     ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 35 |     fn as_value_ref(&self) -> ValueRef<'_>;
[INFO] [stdout]    |                                       ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> vm/src/api/opaque.rs:39:21
[INFO] [stdout]    |
[INFO] [stdout] 39 |     fn as_value_ref(&self) -> ValueRef {
[INFO] [stdout]    |                     ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 39 |     fn as_value_ref(&self) -> ValueRef<'_> {
[INFO] [stdout]    |                                       ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> vm/src/api/opaque.rs:47:21
[INFO] [stdout]    |
[INFO] [stdout] 47 |     fn as_value_ref(&self) -> ValueRef {
[INFO] [stdout]    |                     ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 47 |     fn as_value_ref(&self) -> ValueRef<'_> {
[INFO] [stdout]    |                                       ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> vm/src/api/scoped.rs:157:18
[INFO] [stdout]     |
[INFO] [stdout] 157 |     pub fn write(&self) -> Result<WriteGuard<T>> {
[INFO] [stdout]     |                  ^^^^^            ^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                  |
[INFO] [stdout]     |                  the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 157 |     pub fn write(&self) -> Result<WriteGuard<'_, T>> {
[INFO] [stdout]     |                                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> vm/src/api/scoped.rs:167:17
[INFO] [stdout]     |
[INFO] [stdout] 167 |     pub fn read(&self) -> Result<ReadGuard<T>> {
[INFO] [stdout]     |                 ^^^^^            ^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 167 |     pub fn read(&self) -> Result<ReadGuard<'_, T>> {
[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]    --> vm/src/api/mod.rs:344:53
[INFO] [stdout]     |
[INFO] [stdout] 344 |             #[derive(Clone, Copy, PartialEq, Debug, Trace)]
[INFO] [stdout]     |                                                     ^----
[INFO] [stdout]     |                                                     |
[INFO] [stdout]     |                                                     `Trace` is not local
[INFO] [stdout]     |                                                     move the `impl` block outside of this constant `_IMPL_TRAVERSEABLE_FOR_A`
[INFO] [stdout] ...
[INFO] [stdout] 360 |     make_generics! {A B C D E F G H I J K L M N O P Q R S T U V X Y Z}
[INFO] [stdout]     |     ------------------------------------------------------------------
[INFO] [stdout]     |     |               |
[INFO] [stdout]     |     |               `A` is not local
[INFO] [stdout]     |     in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Trace` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Trace` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Trace` which comes from the expansion of the macro `make_generics` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> vm/src/api/mod.rs:344:53
[INFO] [stdout]     |
[INFO] [stdout] 344 |             #[derive(Clone, Copy, PartialEq, Debug, Trace)]
[INFO] [stdout]     |                                                     ^----
[INFO] [stdout]     |                                                     |
[INFO] [stdout]     |                                                     `Trace` is not local
[INFO] [stdout]     |                                                     move the `impl` block outside of this constant `_IMPL_TRAVERSEABLE_FOR_B`
[INFO] [stdout] ...
[INFO] [stdout] 360 |     make_generics! {A B C D E F G H I J K L M N O P Q R S T U V X Y Z}
[INFO] [stdout]     |     ------------------------------------------------------------------
[INFO] [stdout]     |     |                 |
[INFO] [stdout]     |     |                 `B` is not local
[INFO] [stdout]     |     in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Trace` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Trace` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Trace` which comes from the expansion of the macro `make_generics` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> vm/src/api/mod.rs:344:53
[INFO] [stdout]     |
[INFO] [stdout] 344 |             #[derive(Clone, Copy, PartialEq, Debug, Trace)]
[INFO] [stdout]     |                                                     ^----
[INFO] [stdout]     |                                                     |
[INFO] [stdout]     |                                                     `Trace` is not local
[INFO] [stdout]     |                                                     move the `impl` block outside of this constant `_IMPL_TRAVERSEABLE_FOR_C`
[INFO] [stdout] ...
[INFO] [stdout] 360 |     make_generics! {A B C D E F G H I J K L M N O P Q R S T U V X Y Z}
[INFO] [stdout]     |     ------------------------------------------------------------------
[INFO] [stdout]     |     |                   |
[INFO] [stdout]     |     |                   `C` is not local
[INFO] [stdout]     |     in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Trace` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Trace` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Trace` which comes from the expansion of the macro `make_generics` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> vm/src/api/mod.rs:344:53
[INFO] [stdout]     |
[INFO] [stdout] 344 |             #[derive(Clone, Copy, PartialEq, Debug, Trace)]
[INFO] [stdout]     |                                                     ^----
[INFO] [stdout]     |                                                     |
[INFO] [stdout]     |                                                     `Trace` is not local
[INFO] [stdout]     |                                                     move the `impl` block outside of this constant `_IMPL_TRAVERSEABLE_FOR_D`
[INFO] [stdout] ...
[INFO] [stdout] 360 |     make_generics! {A B C D E F G H I J K L M N O P Q R S T U V X Y Z}
[INFO] [stdout]     |     ------------------------------------------------------------------
[INFO] [stdout]     |     |                     |
[INFO] [stdout]     |     |                     `D` is not local
[INFO] [stdout]     |     in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Trace` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Trace` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Trace` which comes from the expansion of the macro `make_generics` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> vm/src/api/mod.rs:344:53
[INFO] [stdout]     |
[INFO] [stdout] 344 |             #[derive(Clone, Copy, PartialEq, Debug, Trace)]
[INFO] [stdout]     |                                                     ^----
[INFO] [stdout]     |                                                     |
[INFO] [stdout]     |                                                     `Trace` is not local
[INFO] [stdout]     |                                                     move the `impl` block outside of this constant `_IMPL_TRAVERSEABLE_FOR_E`
[INFO] [stdout] ...
[INFO] [stdout] 360 |     make_generics! {A B C D E F G H I J K L M N O P Q R S T U V X Y Z}
[INFO] [stdout]     |     ------------------------------------------------------------------
[INFO] [stdout]     |     |                       |
[INFO] [stdout]     |     |                       `E` is not local
[INFO] [stdout]     |     in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Trace` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Trace` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Trace` which comes from the expansion of the macro `make_generics` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> vm/src/api/mod.rs:344:53
[INFO] [stdout]     |
[INFO] [stdout] 344 |             #[derive(Clone, Copy, PartialEq, Debug, Trace)]
[INFO] [stdout]     |                                                     ^----
[INFO] [stdout]     |                                                     |
[INFO] [stdout]     |                                                     `Trace` is not local
[INFO] [stdout]     |                                                     move the `impl` block outside of this constant `_IMPL_TRAVERSEABLE_FOR_F`
[INFO] [stdout] ...
[INFO] [stdout] 360 |     make_generics! {A B C D E F G H I J K L M N O P Q R S T U V X Y Z}
[INFO] [stdout]     |     ------------------------------------------------------------------
[INFO] [stdout]     |     |                         |
[INFO] [stdout]     |     |                         `F` is not local
[INFO] [stdout]     |     in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Trace` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Trace` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Trace` which comes from the expansion of the macro `make_generics` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> vm/src/api/mod.rs:344:53
[INFO] [stdout]     |
[INFO] [stdout] 344 |             #[derive(Clone, Copy, PartialEq, Debug, Trace)]
[INFO] [stdout]     |                                                     ^----
[INFO] [stdout]     |                                                     |
[INFO] [stdout]     |                                                     `Trace` is not local
[INFO] [stdout]     |                                                     move the `impl` block outside of this constant `_IMPL_TRAVERSEABLE_FOR_G`
[INFO] [stdout] ...
[INFO] [stdout] 360 |     make_generics! {A B C D E F G H I J K L M N O P Q R S T U V X Y Z}
[INFO] [stdout]     |     ------------------------------------------------------------------
[INFO] [stdout]     |     |                           |
[INFO] [stdout]     |     |                           `G` is not local
[INFO] [stdout]     |     in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Trace` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Trace` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Trace` which comes from the expansion of the macro `make_generics` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> vm/src/api/mod.rs:344:53
[INFO] [stdout]     |
[INFO] [stdout] 344 |             #[derive(Clone, Copy, PartialEq, Debug, Trace)]
[INFO] [stdout]     |                                                     ^----
[INFO] [stdout]     |                                                     |
[INFO] [stdout]     |                                                     `Trace` is not local
[INFO] [stdout]     |                                                     move the `impl` block outside of this constant `_IMPL_TRAVERSEABLE_FOR_H`
[INFO] [stdout] ...
[INFO] [stdout] 360 |     make_generics! {A B C D E F G H I J K L M N O P Q R S T U V X Y Z}
[INFO] [stdout]     |     ------------------------------------------------------------------
[INFO] [stdout]     |     |                             |
[INFO] [stdout]     |     |                             `H` is not local
[INFO] [stdout]     |     in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Trace` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Trace` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Trace` which comes from the expansion of the macro `make_generics` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> vm/src/api/mod.rs:344:53
[INFO] [stdout]     |
[INFO] [stdout] 344 |             #[derive(Clone, Copy, PartialEq, Debug, Trace)]
[INFO] [stdout]     |                                                     ^----
[INFO] [stdout]     |                                                     |
[INFO] [stdout]     |                                                     `Trace` is not local
[INFO] [stdout]     |                                                     move the `impl` block outside of this constant `_IMPL_TRAVERSEABLE_FOR_I`
[INFO] [stdout] ...
[INFO] [stdout] 360 |     make_generics! {A B C D E F G H I J K L M N O P Q R S T U V X Y Z}
[INFO] [stdout]     |     ------------------------------------------------------------------
[INFO] [stdout]     |     |                               |
[INFO] [stdout]     |     |                               `I` is not local
[INFO] [stdout]     |     in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Trace` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Trace` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Trace` which comes from the expansion of the macro `make_generics` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> vm/src/api/mod.rs:344:53
[INFO] [stdout]     |
[INFO] [stdout] 344 |             #[derive(Clone, Copy, PartialEq, Debug, Trace)]
[INFO] [stdout]     |                                                     ^----
[INFO] [stdout]     |                                                     |
[INFO] [stdout]     |                                                     `Trace` is not local
[INFO] [stdout]     |                                                     move the `impl` block outside of this constant `_IMPL_TRAVERSEABLE_FOR_J`
[INFO] [stdout] ...
[INFO] [stdout] 360 |     make_generics! {A B C D E F G H I J K L M N O P Q R S T U V X Y Z}
[INFO] [stdout]     |     ------------------------------------------------------------------
[INFO] [stdout]     |     |                                 |
[INFO] [stdout]     |     |                                 `J` is not local
[INFO] [stdout]     |     in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Trace` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Trace` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Trace` which comes from the expansion of the macro `make_generics` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> vm/src/api/mod.rs:344:53
[INFO] [stdout]     |
[INFO] [stdout] 344 |             #[derive(Clone, Copy, PartialEq, Debug, Trace)]
[INFO] [stdout]     |                                                     ^----
[INFO] [stdout]     |                                                     |
[INFO] [stdout]     |                                                     `Trace` is not local
[INFO] [stdout]     |                                                     move the `impl` block outside of this constant `_IMPL_TRAVERSEABLE_FOR_K`
[INFO] [stdout] ...
[INFO] [stdout] 360 |     make_generics! {A B C D E F G H I J K L M N O P Q R S T U V X Y Z}
[INFO] [stdout]     |     ------------------------------------------------------------------
[INFO] [stdout]     |     |                                   |
[INFO] [stdout]     |     |                                   `K` is not local
[INFO] [stdout]     |     in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Trace` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Trace` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Trace` which comes from the expansion of the macro `make_generics` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> vm/src/api/mod.rs:344:53
[INFO] [stdout]     |
[INFO] [stdout] 344 |             #[derive(Clone, Copy, PartialEq, Debug, Trace)]
[INFO] [stdout]     |                                                     ^----
[INFO] [stdout]     |                                                     |
[INFO] [stdout]     |                                                     `Trace` is not local
[INFO] [stdout]     |                                                     move the `impl` block outside of this constant `_IMPL_TRAVERSEABLE_FOR_L`
[INFO] [stdout] ...
[INFO] [stdout] 360 |     make_generics! {A B C D E F G H I J K L M N O P Q R S T U V X Y Z}
[INFO] [stdout]     |     ------------------------------------------------------------------
[INFO] [stdout]     |     |                                     |
[INFO] [stdout]     |     |                                     `L` is not local
[INFO] [stdout]     |     in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Trace` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Trace` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Trace` which comes from the expansion of the macro `make_generics` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> vm/src/api/mod.rs:344:53
[INFO] [stdout]     |
[INFO] [stdout] 344 |             #[derive(Clone, Copy, PartialEq, Debug, Trace)]
[INFO] [stdout]     |                                                     ^----
[INFO] [stdout]     |                                                     |
[INFO] [stdout]     |                                                     `Trace` is not local
[INFO] [stdout]     |                                                     move the `impl` block outside of this constant `_IMPL_TRAVERSEABLE_FOR_M`
[INFO] [stdout] ...
[INFO] [stdout] 360 |     make_generics! {A B C D E F G H I J K L M N O P Q R S T U V X Y Z}
[INFO] [stdout]     |     ------------------------------------------------------------------
[INFO] [stdout]     |     |                                       |
[INFO] [stdout]     |     |                                       `M` is not local
[INFO] [stdout]     |     in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Trace` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Trace` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Trace` which comes from the expansion of the macro `make_generics` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> vm/src/api/mod.rs:344:53
[INFO] [stdout]     |
[INFO] [stdout] 344 |             #[derive(Clone, Copy, PartialEq, Debug, Trace)]
[INFO] [stdout]     |                                                     ^----
[INFO] [stdout]     |                                                     |
[INFO] [stdout]     |                                                     `Trace` is not local
[INFO] [stdout]     |                                                     move the `impl` block outside of this constant `_IMPL_TRAVERSEABLE_FOR_N`
[INFO] [stdout] ...
[INFO] [stdout] 360 |     make_generics! {A B C D E F G H I J K L M N O P Q R S T U V X Y Z}
[INFO] [stdout]     |     ------------------------------------------------------------------
[INFO] [stdout]     |     |                                         |
[INFO] [stdout]     |     |                                         `N` is not local
[INFO] [stdout]     |     in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Trace` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Trace` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Trace` which comes from the expansion of the macro `make_generics` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> vm/src/api/mod.rs:344:53
[INFO] [stdout]     |
[INFO] [stdout] 344 |             #[derive(Clone, Copy, PartialEq, Debug, Trace)]
[INFO] [stdout]     |                                                     ^----
[INFO] [stdout]     |                                                     |
[INFO] [stdout]     |                                                     `Trace` is not local
[INFO] [stdout]     |                                                     move the `impl` block outside of this constant `_IMPL_TRAVERSEABLE_FOR_O`
[INFO] [stdout] ...
[INFO] [stdout] 360 |     make_generics! {A B C D E F G H I J K L M N O P Q R S T U V X Y Z}
[INFO] [stdout]     |     ------------------------------------------------------------------
[INFO] [stdout]     |     |                                           |
[INFO] [stdout]     |     |                                           `O` is not local
[INFO] [stdout]     |     in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Trace` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Trace` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Trace` which comes from the expansion of the macro `make_generics` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> vm/src/api/mod.rs:344:53
[INFO] [stdout]     |
[INFO] [stdout] 344 |             #[derive(Clone, Copy, PartialEq, Debug, Trace)]
[INFO] [stdout]     |                                                     ^----
[INFO] [stdout]     |                                                     |
[INFO] [stdout]     |                                                     `Trace` is not local
[INFO] [stdout]     |                                                     move the `impl` block outside of this constant `_IMPL_TRAVERSEABLE_FOR_P`
[INFO] [stdout] ...
[INFO] [stdout] 360 |     make_generics! {A B C D E F G H I J K L M N O P Q R S T U V X Y Z}
[INFO] [stdout]     |     ------------------------------------------------------------------
[INFO] [stdout]     |     |                                             |
[INFO] [stdout]     |     |                                             `P` is not local
[INFO] [stdout]     |     in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Trace` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Trace` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Trace` which comes from the expansion of the macro `make_generics` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> vm/src/api/mod.rs:344:53
[INFO] [stdout]     |
[INFO] [stdout] 344 |             #[derive(Clone, Copy, PartialEq, Debug, Trace)]
[INFO] [stdout]     |                                                     ^----
[INFO] [stdout]     |                                                     |
[INFO] [stdout]     |                                                     `Trace` is not local
[INFO] [stdout]     |                                                     move the `impl` block outside of this constant `_IMPL_TRAVERSEABLE_FOR_Q`
[INFO] [stdout] ...
[INFO] [stdout] 360 |     make_generics! {A B C D E F G H I J K L M N O P Q R S T U V X Y Z}
[INFO] [stdout]     |     ------------------------------------------------------------------
[INFO] [stdout]     |     |                                               |
[INFO] [stdout]     |     |                                               `Q` is not local
[INFO] [stdout]     |     in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Trace` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Trace` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Trace` which comes from the expansion of the macro `make_generics` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> vm/src/api/mod.rs:344:53
[INFO] [stdout]     |
[INFO] [stdout] 344 |             #[derive(Clone, Copy, PartialEq, Debug, Trace)]
[INFO] [stdout]     |                                                     ^----
[INFO] [stdout]     |                                                     |
[INFO] [stdout]     |                                                     `Trace` is not local
[INFO] [stdout]     |                                                     move the `impl` block outside of this constant `_IMPL_TRAVERSEABLE_FOR_R`
[INFO] [stdout] ...
[INFO] [stdout] 360 |     make_generics! {A B C D E F G H I J K L M N O P Q R S T U V X Y Z}
[INFO] [stdout]     |     ------------------------------------------------------------------
[INFO] [stdout]     |     |                                                 |
[INFO] [stdout]     |     |                                                 `R` is not local
[INFO] [stdout]     |     in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Trace` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Trace` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Trace` which comes from the expansion of the macro `make_generics` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> vm/src/api/mod.rs:344:53
[INFO] [stdout]     |
[INFO] [stdout] 344 |             #[derive(Clone, Copy, PartialEq, Debug, Trace)]
[INFO] [stdout]     |                                                     ^----
[INFO] [stdout]     |                                                     |
[INFO] [stdout]     |                                                     `Trace` is not local
[INFO] [stdout]     |                                                     move the `impl` block outside of this constant `_IMPL_TRAVERSEABLE_FOR_S`
[INFO] [stdout] ...
[INFO] [stdout] 360 |     make_generics! {A B C D E F G H I J K L M N O P Q R S T U V X Y Z}
[INFO] [stdout]     |     ------------------------------------------------------------------
[INFO] [stdout]     |     |                                                   |
[INFO] [stdout]     |     |                                                   `S` is not local
[INFO] [stdout]     |     in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Trace` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Trace` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Trace` which comes from the expansion of the macro `make_generics` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> vm/src/api/mod.rs:344:53
[INFO] [stdout]     |
[INFO] [stdout] 344 |             #[derive(Clone, Copy, PartialEq, Debug, Trace)]
[INFO] [stdout]     |                                                     ^----
[INFO] [stdout]     |                                                     |
[INFO] [stdout]     |                                                     `Trace` is not local
[INFO] [stdout]     |                                                     move the `impl` block outside of this constant `_IMPL_TRAVERSEABLE_FOR_T`
[INFO] [stdout] ...
[INFO] [stdout] 360 |     make_generics! {A B C D E F G H I J K L M N O P Q R S T U V X Y Z}
[INFO] [stdout]     |     ------------------------------------------------------------------
[INFO] [stdout]     |     |                                                     |
[INFO] [stdout]     |     |                                                     `T` is not local
[INFO] [stdout]     |     in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Trace` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Trace` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Trace` which comes from the expansion of the macro `make_generics` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> vm/src/api/mod.rs:344:53
[INFO] [stdout]     |
[INFO] [stdout] 344 |             #[derive(Clone, Copy, PartialEq, Debug, Trace)]
[INFO] [stdout]     |                                                     ^----
[INFO] [stdout]     |                                                     |
[INFO] [stdout]     |                                                     `Trace` is not local
[INFO] [stdout]     |                                                     move the `impl` block outside of this constant `_IMPL_TRAVERSEABLE_FOR_U`
[INFO] [stdout] ...
[INFO] [stdout] 360 |     make_generics! {A B C D E F G H I J K L M N O P Q R S T U V X Y Z}
[INFO] [stdout]     |     ------------------------------------------------------------------
[INFO] [stdout]     |     |                                                       |
[INFO] [stdout]     |     |                                                       `U` is not local
[INFO] [stdout]     |     in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Trace` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Trace` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Trace` which comes from the expansion of the macro `make_generics` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> vm/src/api/mod.rs:344:53
[INFO] [stdout]     |
[INFO] [stdout] 344 |             #[derive(Clone, Copy, PartialEq, Debug, Trace)]
[INFO] [stdout]     |                                                     ^----
[INFO] [stdout]     |                                                     |
[INFO] [stdout]     |                                                     `Trace` is not local
[INFO] [stdout]     |                                                     move the `impl` block outside of this constant `_IMPL_TRAVERSEABLE_FOR_V`
[INFO] [stdout] ...
[INFO] [stdout] 360 |     make_generics! {A B C D E F G H I J K L M N O P Q R S T U V X Y Z}
[INFO] [stdout]     |     ------------------------------------------------------------------
[INFO] [stdout]     |     |                                                         |
[INFO] [stdout]     |     |                                                         `V` is not local
[INFO] [stdout]     |     in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Trace` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Trace` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Trace` which comes from the expansion of the macro `make_generics` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> vm/src/api/mod.rs:344:53
[INFO] [stdout]     |
[INFO] [stdout] 344 |             #[derive(Clone, Copy, PartialEq, Debug, Trace)]
[INFO] [stdout]     |                                                     ^----
[INFO] [stdout]     |                                                     |
[INFO] [stdout]     |                                                     `Trace` is not local
[INFO] [stdout]     |                                                     move the `impl` block outside of this constant `_IMPL_TRAVERSEABLE_FOR_X`
[INFO] [stdout] ...
[INFO] [stdout] 360 |     make_generics! {A B C D E F G H I J K L M N O P Q R S T U V X Y Z}
[INFO] [stdout]     |     ------------------------------------------------------------------
[INFO] [stdout]     |     |                                                           |
[INFO] [stdout]     |     |                                                           `X` is not local
[INFO] [stdout]     |     in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Trace` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Trace` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Trace` which comes from the expansion of the macro `make_generics` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> vm/src/api/mod.rs:344:53
[INFO] [stdout]     |
[INFO] [stdout] 344 |             #[derive(Clone, Copy, PartialEq, Debug, Trace)]
[INFO] [stdout]     |                                                     ^----
[INFO] [stdout]     |                                                     |
[INFO] [stdout]     |                                                     `Trace` is not local
[INFO] [stdout]     |                                                     move the `impl` block outside of this constant `_IMPL_TRAVERSEABLE_FOR_Y`
[INFO] [stdout] ...
[INFO] [stdout] 360 |     make_generics! {A B C D E F G H I J K L M N O P Q R S T U V X Y Z}
[INFO] [stdout]     |     ------------------------------------------------------------------
[INFO] [stdout]     |     |                                                             |
[INFO] [stdout]     |     |                                                             `Y` is not local
[INFO] [stdout]     |     in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Trace` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Trace` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Trace` which comes from the expansion of the macro `make_generics` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> vm/src/api/mod.rs:344:53
[INFO] [stdout]     |
[INFO] [stdout] 344 |             #[derive(Clone, Copy, PartialEq, Debug, Trace)]
[INFO] [stdout]     |                                                     ^----
[INFO] [stdout]     |                                                     |
[INFO] [stdout]     |                                                     `Trace` is not local
[INFO] [stdout]     |                                                     move the `impl` block outside of this constant `_IMPL_TRAVERSEABLE_FOR_Z`
[INFO] [stdout] ...
[INFO] [stdout] 360 |     make_generics! {A B C D E F G H I J K L M N O P Q R S T U V X Y Z}
[INFO] [stdout]     |     ------------------------------------------------------------------
[INFO] [stdout]     |     |                                                               |
[INFO] [stdout]     |     |                                                               `Z` is not local
[INFO] [stdout]     |     in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Trace` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Trace` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Trace` which comes from the expansion of the macro `make_generics` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> vm/src/core/interpreter.rs:332:15
[INFO] [stdout]     |
[INFO] [stdout] 332 |     fn as_ref(&self) -> &Expr {
[INFO] [stdout]     |               ^^^^^     ^^^^^
[INFO] [stdout]     |               |         ||
[INFO] [stdout]     |               |         |the same lifetime is hidden here
[INFO] [stdout]     |               |         the same lifetime is elided here
[INFO] [stdout]     |               the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 332 |     fn as_ref(&self) -> &Expr<'_> {
[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]    --> vm/src/macros.rs:335:10
[INFO] [stdout]     |
[INFO] [stdout] 335 | #[derive(Trace, Default)]
[INFO] [stdout]     |          ^----
[INFO] [stdout]     |          |
[INFO] [stdout]     |          `Trace` is not local
[INFO] [stdout]     |          move the `impl` block outside of this constant `_IMPL_TRAVERSEABLE_FOR_MacroEnv`
[INFO] [stdout] 336 | #[gluon(gluon_vm)]
[INFO] [stdout] 337 | pub struct MacroEnv {
[INFO] [stdout]     |            -------- `MacroEnv` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Trace` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Trace` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Trace` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> vm/src/primitives.rs:710:10
[INFO] [stdout]     |
[INFO] [stdout] 710 | #[derive(Pushable, VmType)]
[INFO] [stdout]     |          ^-------
[INFO] [stdout]     |          |
[INFO] [stdout]     |          `Pushable` is not local
[INFO] [stdout]     |          move the `impl` block outside of this constant `_IMPL_PUSHABLE_FOR_Component`
[INFO] [stdout] ...
[INFO] [stdout] 713 | pub enum Component<'a> {
[INFO] [stdout]     |          --------- `Component` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Pushable` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Pushable` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Pushable` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> vm/src/primitives.rs:710:20
[INFO] [stdout]     |
[INFO] [stdout] 710 | #[derive(Pushable, VmType)]
[INFO] [stdout]     |                    ^-----
[INFO] [stdout]     |                    |
[INFO] [stdout]     |                    `VmType` is not local
[INFO] [stdout]     |                    move the `impl` block outside of this constant `_IMPL_VM_TYPE_FOR_Component`
[INFO] [stdout] ...
[INFO] [stdout] 713 | pub enum Component<'a> {
[INFO] [stdout]     |          --------- `Component` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `VmType` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `VmType` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `VmType` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> vm/src/primitives.rs:721:10
[INFO] [stdout]     |
[INFO] [stdout] 721 | #[derive(Userdata, Debug, VmType)]
[INFO] [stdout]     |          ^-------
[INFO] [stdout]     |          |
[INFO] [stdout]     |          `Userdata` is not local
[INFO] [stdout]     |          move the `impl` block outside of this constant `_IMPL_USERDATA_FOR_Metadata`
[INFO] [stdout] ...
[INFO] [stdout] 724 | pub struct Metadata(fs::Metadata);
[INFO] [stdout]     |            -------- `Metadata` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Userdata` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Userdata` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Userdata` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> vm/src/primitives.rs:721:27
[INFO] [stdout]     |
[INFO] [stdout] 721 | #[derive(Userdata, Debug, VmType)]
[INFO] [stdout]     |                           ^-----
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           `VmType` is not local
[INFO] [stdout]     |                           move the `impl` block outside of this constant `_IMPL_VM_TYPE_FOR_Metadata`
[INFO] [stdout] ...
[INFO] [stdout] 724 | pub struct Metadata(fs::Metadata);
[INFO] [stdout]     |            -------- `Metadata` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `VmType` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `VmType` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `VmType` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> vm/src/primitives.rs:730:10
[INFO] [stdout]     |
[INFO] [stdout] 730 | #[derive(Userdata, Debug, VmType)]
[INFO] [stdout]     |          ^-------
[INFO] [stdout]     |          |
[INFO] [stdout]     |          `Userdata` is not local
[INFO] [stdout]     |          move the `impl` block outside of this constant `_IMPL_USERDATA_FOR_DirEntry`
[INFO] [stdout] ...
[INFO] [stdout] 733 | pub struct DirEntry(fs::DirEntry);
[INFO] [stdout]     |            -------- `DirEntry` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Userdata` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Userdata` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Userdata` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> vm/src/primitives.rs:730:27
[INFO] [stdout]     |
[INFO] [stdout] 730 | #[derive(Userdata, Debug, VmType)]
[INFO] [stdout]     |                           ^-----
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           `VmType` is not local
[INFO] [stdout]     |                           move the `impl` block outside of this constant `_IMPL_VM_TYPE_FOR_DirEntry`
[INFO] [stdout] ...
[INFO] [stdout] 733 | pub struct DirEntry(fs::DirEntry);
[INFO] [stdout]     |            -------- `DirEntry` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `VmType` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `VmType` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `VmType` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> vm/src/primitives.rs:863:26
[INFO] [stdout]     |
[INFO] [stdout] 863 | #[derive(Debug, Default, VmType, Userdata, Trace)]
[INFO] [stdout]     |                          ^-----
[INFO] [stdout]     |                          |
[INFO] [stdout]     |                          `VmType` is not local
[INFO] [stdout]     |                          move the `impl` block outside of this constant `_IMPL_VM_TYPE_FOR_StringBuf`
[INFO] [stdout] ...
[INFO] [stdout] 866 | pub(crate) struct StringBuf<S>(Mutex<String>, PhantomData<S>);
[INFO] [stdout]     |                   --------- `StringBuf` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `VmType` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `VmType` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `VmType` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> vm/src/primitives.rs:863:34
[INFO] [stdout]     |
[INFO] [stdout] 863 | #[derive(Debug, Default, VmType, Userdata, Trace)]
[INFO] [stdout]     |                                  ^-------
[INFO] [stdout]     |                                  |
[INFO] [stdout]     |                                  `Userdata` is not local
[INFO] [stdout]     |                                  move the `impl` block outside of this constant `_IMPL_USERDATA_FOR_StringBuf`
[INFO] [stdout] ...
[INFO] [stdout] 866 | pub(crate) struct StringBuf<S>(Mutex<String>, PhantomData<S>);
[INFO] [stdout]     |                   --------- `StringBuf` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Userdata` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Userdata` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Userdata` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> vm/src/primitives.rs:863:44
[INFO] [stdout]     |
[INFO] [stdout] 863 | #[derive(Debug, Default, VmType, Userdata, Trace)]
[INFO] [stdout]     |                                            ^----
[INFO] [stdout]     |                                            |
[INFO] [stdout]     |                                            `Trace` is not local
[INFO] [stdout]     |                                            move the `impl` block outside of this constant `_IMPL_TRAVERSEABLE_FOR_StringBuf`
[INFO] [stdout] ...
[INFO] [stdout] 866 | pub(crate) struct StringBuf<S>(Mutex<String>, PhantomData<S>);
[INFO] [stdout]     |                   --------- `StringBuf` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Trace` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Trace` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Trace` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> vm/src/primitives.rs:68:18
[INFO] [stdout]    |
[INFO] [stdout] 68 |         #[derive(Trace)]
[INFO] [stdout]    |                  ^----
[INFO] [stdout]    |                  |
[INFO] [stdout]    |                  `Trace` is not local
[INFO] [stdout]    |                  move the `impl` block outside of this constant `_IMPL_TRAVERSEABLE_FOR_Slice` and up 2 bodies
[INFO] [stdout] 69 |         #[gluon(gluon_vm)]
[INFO] [stdout] 70 |         struct Slice<'a> {
[INFO] [stdout]    |                ----- `Slice` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Trace` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Trace` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Trace` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> vm/src/primitives.rs:117:18
[INFO] [stdout]     |
[INFO] [stdout] 117 |         #[derive(Trace)]
[INFO] [stdout]     |                  ^----
[INFO] [stdout]     |                  |
[INFO] [stdout]     |                  `Trace` is not local
[INFO] [stdout]     |                  move the `impl` block outside of this constant `_IMPL_TRAVERSEABLE_FOR_Append` and up 2 bodies
[INFO] [stdout] 118 |         #[gluon(gluon_vm)]
[INFO] [stdout] 119 |         struct Append<'b> {
[INFO] [stdout]     |                ------ `Append` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Trace` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Trace` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Trace` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> vm/src/primitives.rs:251:18
[INFO] [stdout]     |
[INFO] [stdout] 251 |         #[derive(Trace)]
[INFO] [stdout]     |                  ^----
[INFO] [stdout]     |                  |
[INFO] [stdout]     |                  `Trace` is not local
[INFO] [stdout]     |                  move the `impl` block outside of this constant `_IMPL_TRAVERSEABLE_FOR_StrAppend` and up 2 bodies
[INFO] [stdout] 252 |         #[gluon(gluon_vm)]
[INFO] [stdout] 253 |         struct StrAppend<'b> {
[INFO] [stdout]     |                --------- `StrAppend` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Trace` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Trace` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Trace` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> vm/src/reference.rs:12:10
[INFO] [stdout]    |
[INFO] [stdout] 12 | #[derive(VmType)]
[INFO] [stdout]    |          ^-----
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `VmType` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_IMPL_VM_TYPE_FOR_Reference`
[INFO] [stdout] ...
[INFO] [stdout] 15 | pub struct Reference<T> {
[INFO] [stdout]    |            --------- `Reference` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `VmType` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `VmType` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `VmType` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> vm/src/stack.rs:184:26
[INFO] [stdout]     |
[INFO] [stdout] 184 |     pub fn new(function: &GcPtr<ExternFunction>) -> gc::Borrow<Self> {
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^^^^^^     ^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                          |
[INFO] [stdout]     |                          the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 184 |     pub fn new(function: &GcPtr<ExternFunction>) -> gc::Borrow<'_, Self> {
[INFO] [stdout]     |                                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> vm/src/stack.rs:202:17
[INFO] [stdout]     |
[INFO] [stdout] 202 |     fn to_state(&self) -> gc::Borrow<State>;
[INFO] [stdout]     |                 ^^^^^     ^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 202 |     fn to_state(&self) -> gc::Borrow<'_, State>;
[INFO] [stdout]     |                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> vm/src/stack.rs:213:17
[INFO] [stdout]     |
[INFO] [stdout] 213 |     fn to_state(&self) -> gc::Borrow<State> {
[INFO] [stdout]     |                 ^^^^^     ^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 213 |     fn to_state(&self) -> gc::Borrow<'_, State> {
[INFO] [stdout]     |                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> vm/src/stack.rs:239:17
[INFO] [stdout]     |
[INFO] [stdout] 239 |     fn to_state(&self) -> gc::Borrow<State> {
[INFO] [stdout]     |                 ^^^^^     ^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 239 |     fn to_state(&self) -> gc::Borrow<'_, State> {
[INFO] [stdout]     |                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> vm/src/stack.rs:260:17
[INFO] [stdout]     |
[INFO] [stdout] 260 |     fn to_state(&self) -> gc::Borrow<State> {
[INFO] [stdout]     |                 ^^^^^     ^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 260 |     fn to_state(&self) -> gc::Borrow<'_, State> {
[INFO] [stdout]     |                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> vm/src/stack.rs:335:17
[INFO] [stdout]     |
[INFO] [stdout] 335 |     fn to_state(&self) -> gc::Borrow<Frame<State>>
[INFO] [stdout]     |                 ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 335 |     fn to_state(&self) -> gc::Borrow<'_, Frame<State>>
[INFO] [stdout]     |                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> vm/src/stack.rs:354:22
[INFO] [stdout]     |
[INFO] [stdout] 354 |     fn from_state<S>(&self) -> gc::Borrow<Frame<S>>
[INFO] [stdout]     |                      ^^^^^     ^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 354 |     fn from_state<S>(&self) -> gc::Borrow<'_, Frame<S>>
[INFO] [stdout]     |                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> vm/src/stack.rs:515:17
[INFO] [stdout]     |
[INFO] [stdout] 515 |     pub fn last(&self) -> Option<Variants> {
[INFO] [stdout]     |                 ^^^^^            ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 515 |     pub fn last(&self) -> Option<Variants<'_>> {
[INFO] [stdout]     |                                          ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> vm/src/stack.rs:520:24
[INFO] [stdout]     |
[INFO] [stdout] 520 |     pub fn get_variant(&self, index: VmIndex) -> Option<Variants> {
[INFO] [stdout]     |                        ^^^^^                            ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 520 |     pub fn get_variant(&self, index: VmIndex) -> Option<Variants<'_>> {
[INFO] [stdout]     |                                                                 ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> vm/src/stack.rs:549:29
[INFO] [stdout]     |
[INFO] [stdout] 549 |     pub fn current_frame<S>(&mut self) -> StackFrame<S>
[INFO] [stdout]     |                             ^^^^^^^^^     ^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 549 |     pub fn current_frame<S>(&mut self) -> StackFrame<'_, S>
[INFO] [stdout]     |                                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> vm/src/stack.rs:721:22
[INFO] [stdout]     |
[INFO] [stdout] 721 |     pub fn frame_mut(&mut self) -> FrameViewMut<S> {
[INFO] [stdout]     |                      ^^^^^^^^^     ^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 721 |     pub fn frame_mut(&mut self) -> FrameViewMut<'_, S> {
[INFO] [stdout]     |                                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> vm/src/stack.rs:811:24
[INFO] [stdout]     |
[INFO] [stdout] 811 |     pub fn get_variant(&self, index: VmIndex) -> Option<Variants> {
[INFO] [stdout]     |                        ^^^^^                            ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 811 |     pub fn get_variant(&self, index: VmIndex) -> Option<Variants<'_>> {
[INFO] [stdout]     |                                                                 ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> vm/src/stack.rs:899:34
[INFO] [stdout]     |
[INFO] [stdout] 899 |     pub(crate) fn current(stack: &mut Stack) -> StackFrame<S>
[INFO] [stdout]     |                                  ^^^^^^^^^^     ^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                                  |
[INFO] [stdout]     |                                  the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 899 |     pub(crate) fn current(stack: &mut Stack) -> StackFrame<'_, S>
[INFO] [stdout]     |                                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> vm/src/stack.rs:952:22
[INFO] [stdout]     |
[INFO] [stdout] 952 |     pub fn get_upvar(&self, index: VmIndex) -> Variants {
[INFO] [stdout]     |                      ^^^^^                     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 952 |     pub fn get_upvar(&self, index: VmIndex) -> Variants<'_> {
[INFO] [stdout]     |                                                        ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> vm/src/thread.rs:260:24
[INFO] [stdout]     |
[INFO] [stdout] 260 |     pub fn get_variant(&self) -> Variants {
[INFO] [stdout]     |                        ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 260 |     pub fn get_variant(&self) -> Variants<'_> {
[INFO] [stdout]     |                                          ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> vm/src/thread.rs:391:9
[INFO] [stdout]     |
[INFO] [stdout] 391 |         &self,
[INFO] [stdout]     |         ^^^^^ the lifetime is elided here
[INFO] [stdout] ...
[INFO] [stdout] 394 |         sync::RwLockReadGuard<ThreadSlab>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout] 395 |         MutexGuard<Context>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 394 ~         sync::RwLockReadGuard<'_, ThreadSlab>,
[INFO] [stdout] 395 ~         MutexGuard<'_, Context>,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> vm/src/thread.rs:964:28
[INFO] [stdout]     |
[INFO] [stdout] 964 |     pub fn current_context(&self) -> ActiveThread {
[INFO] [stdout]     |                            ^^^^^     ^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                            |
[INFO] [stdout]     |                            the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 964 |     pub fn current_context(&self) -> ActiveThread<'_> {
[INFO] [stdout]     |                                                  ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> vm/src/thread.rs:971:22
[INFO] [stdout]     |
[INFO] [stdout] 971 |     fn owned_context(&self) -> OwnedContext {
[INFO] [stdout]     |                      ^^^^^     ^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 971 |     fn owned_context(&self) -> OwnedContext<'_> {
[INFO] [stdout]     |                                            ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> vm/src/thread.rs:983:34
[INFO] [stdout]     |
[INFO] [stdout] 983 |     pub(crate) fn parent_threads(&self) -> sync::RwLockWriteGuard<ThreadSlab> {
[INFO] [stdout]     |                                  ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                                  |
[INFO] [stdout]     |                                  the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 983 |     pub(crate) fn parent_threads(&self) -> sync::RwLockWriteGuard<'_, ThreadSlab> {
[INFO] [stdout]     |                                                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> vm/src/thread.rs:1070:16
[INFO] [stdout]      |
[INFO] [stdout] 1070 |     fn context(&self) -> OwnedContext;
[INFO] [stdout]      |                ^^^^^     ^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]      |                |
[INFO] [stdout]      |                the lifetime is elided here
[INFO] [stdout]      |
[INFO] [stdout]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]      |
[INFO] [stdout] 1070 |     fn context(&self) -> OwnedContext<'_>;
[INFO] [stdout]      |                                      ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> vm/src/thread.rs:1131:15
[INFO] [stdout]      |
[INFO] [stdout] 1131 |     fn resume(&self, cx: &mut task::Context<'_>) -> Poll<Result<OwnedContext>>;
[INFO] [stdout]      |               ^^^^^ the lifetime is elided here                 ^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]      |
[INFO] [stdout]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]      |
[INFO] [stdout] 1131 |     fn resume(&self, cx: &mut task::Context<'_>) -> Poll<Result<OwnedContext<'_>>>;
[INFO] [stdout]      |                                                                             ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> vm/src/thread.rs:1140:16
[INFO] [stdout]      |
[INFO] [stdout] 1140 |     fn context(&self) -> OwnedContext {
[INFO] [stdout]      |                ^^^^^     ^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]      |                |
[INFO] [stdout]      |                the lifetime is elided here
[INFO] [stdout]      |
[INFO] [stdout]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]      |
[INFO] [stdout] 1140 |     fn context(&self) -> OwnedContext<'_> {
[INFO] [stdout]      |                                      ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> vm/src/thread.rs:1242:15
[INFO] [stdout]      |
[INFO] [stdout] 1242 |     fn resume(&self, cx: &mut task::Context<'_>) -> Poll<Result<OwnedContext>> {
[INFO] [stdout]      |               ^^^^^ the lifetime is elided here                 ^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]      |
[INFO] [stdout]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]      |
[INFO] [stdout] 1242 |     fn resume(&self, cx: &mut task::Context<'_>) -> Poll<Result<OwnedContext<'_>>> {
[INFO] [stdout]      |                                                                             ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> vm/src/thread.rs:1340:23
[INFO] [stdout]      |
[INFO] [stdout] 1340 |     pub fn stack_info(&self, level: usize) -> Option<StackInfo> {
[INFO] [stdout]      |                       ^^^^^                          ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]      |                       |
[INFO] [stdout]      |                       the lifetime is elided here
[INFO] [stdout]      |
[INFO] [stdout]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]      |
[INFO] [stdout] 1340 |     pub fn stack_info(&self, level: usize) -> Option<StackInfo<'_>> {
[INFO] [stdout]      |                                                               ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> vm/src/thread.rs:1427:19
[INFO] [stdout]      |
[INFO] [stdout] 1427 |     pub fn locals(&self) -> LocalIter {
[INFO] [stdout]      |                   ^^^^^     ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]      |                   |
[INFO] [stdout]      |                   the lifetime is elided here
[INFO] [stdout]      |
[INFO] [stdout]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]      |
[INFO] [stdout] 1427 |     pub fn locals(&self) -> LocalIter<'_> {
[INFO] [stdout]      |                                      ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> vm/src/thread.rs:1523:9
[INFO] [stdout]      |
[INFO] [stdout] 1523 |         &mut self,
[INFO] [stdout]      |         ^^^^^^^^^ the lifetime is elided here
[INFO] [stdout] ...
[INFO] [stdout] 1527 |     ) -> Result<Variants> {
[INFO] [stdout]      |                 ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]      |
[INFO] [stdout]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]      |
[INFO] [stdout] 1527 |     ) -> Result<Variants<'_>> {
[INFO] [stdout]      |                         ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> vm/src/thread.rs:1546:9
[INFO] [stdout]      |
[INFO] [stdout] 1546 |         &mut self,
[INFO] [stdout]      |         ^^^^^^^^^ the lifetime is elided here
[INFO] [stdout] ...
[INFO] [stdout] 1550 |     ) -> Result<Variants> {
[INFO] [stdout]      |                 ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]      |
[INFO] [stdout]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]      |
[INFO] [stdout] 1550 |     ) -> Result<Variants<'_>> {
[INFO] [stdout]      |                         ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> vm/src/thread.rs:1568:26
[INFO] [stdout]      |
[INFO] [stdout] 1568 |     pub fn alloc_with<D>(&mut self, thread: &Thread, data: D) -> Result<GcRef<D::Value>>
[INFO] [stdout]      |                          ^^^^^^^^^ the lifetime is elided here          ^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]      |
[INFO] [stdout]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]      |
[INFO] [stdout] 1568 |     pub fn alloc_with<D>(&mut self, thread: &Thread, data: D) -> Result<GcRef<'_, D::Value>>
[INFO] [stdout]      |                                                                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> vm/src/thread.rs:1576:34
[INFO] [stdout]      |
[INFO] [stdout] 1576 |     pub fn alloc_ignore_limit<D>(&mut self, data: D) -> GcRef<D::Value>
[INFO] [stdout]      |                                  ^^^^^^^^^              ^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]      |                                  |
[INFO] [stdout]      |                                  the lifetime is elided here
[INFO] [stdout]      |
[INFO] [stdout]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]      |
[INFO] [stdout] 1576 |     pub fn alloc_ignore_limit<D>(&mut self, data: D) -> GcRef<'_, D::Value>
[INFO] [stdout]      |                                                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> vm/src/thread.rs:1633:21
[INFO] [stdout]      |
[INFO] [stdout] 1633 |     pub fn alloc<D>(&mut self, data: D) -> Result<GcRef<D::Value>>
[INFO] [stdout]      |                     ^^^^^^^^^                     ^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     the lifetime is elided here
[INFO] [stdout]      |
[INFO] [stdout]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]      |
[INFO] [stdout] 1633 |     pub fn alloc<D>(&mut self, data: D) -> Result<GcRef<'_, D::Value>>
[INFO] [stdout]      |                                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> vm/src/thread.rs:1641:27
[INFO] [stdout]      |
[INFO] [stdout] 1641 |     pub fn alloc_owned<D>(&mut self, data: D) -> Result<gc::OwnedGcRef<D::Value>>
[INFO] [stdout]      |                           ^^^^^^^^^                     ^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]      |                           |
[INFO] [stdout]      |                           the lifetime is elided here
[INFO] [stdout]      |
[INFO] [stdout]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]      |
[INFO] [stdout] 1641 |     pub fn alloc_owned<D>(&mut self, data: D) -> Result<gc::OwnedGcRef<'_, D::Value>>
[INFO] [stdout]      |                                                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> vm/src/thread.rs:1655:23
[INFO] [stdout]      |
[INFO] [stdout] 1655 |     pub fn debug_info(&self) -> DebugInfo {
[INFO] [stdout]      |                       ^^^^^     ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]      |                       |
[INFO] [stdout]      |                       the lifetime is elided here
[INFO] [stdout]      |
[INFO] [stdout]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]      |
[INFO] [stdout] 1655 |     pub fn debug_info(&self) -> DebugInfo<'_> {
[INFO] [stdout]      |                                          ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> vm/src/thread.rs:1666:27
[INFO] [stdout]      |
[INFO] [stdout] 1666 |     pub fn stack_frame<T>(&mut self) -> StackFrame<T>
[INFO] [stdout]      |                           ^^^^^^^^^     ^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]      |                           |
[INFO] [stdout]      |                           the lifetime is elided here
[INFO] [stdout]      |
[INFO] [stdout]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]      |
[INFO] [stdout] 1666 |     pub fn stack_frame<T>(&mut self) -> StackFrame<'_, T>
[INFO] [stdout]      |                                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> vm/src/thread.rs:1970:19
[INFO] [stdout]      |
[INFO] [stdout] 1970 |     fn borrow_mut(&mut self) -> ExecuteContext<State> {
[INFO] [stdout]      |                   ^^^^^^^^^     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |                   |             |
[INFO] [stdout]      |                   |             the same lifetime is hidden here
[INFO] [stdout]      |                   |             the same lifetime is hidden here
[INFO] [stdout]      |                   the lifetime is elided here
[INFO] [stdout]      |
[INFO] [stdout]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]      |
[INFO] [stdout] 1970 |     fn borrow_mut(&mut self) -> ExecuteContext<'_, State> {
[INFO] [stdout]      |                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> vm/src/thread.rs:2019:21
[INFO] [stdout]      |
[INFO] [stdout] 2019 |     pub fn alloc<D>(&mut self, data: D) -> Result<GcRef<D::Value>>
[INFO] [stdout]      |                     ^^^^^^^^^                     ^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     the lifetime is elided here
[INFO] [stdout]      |
[INFO] [stdout]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]      |
[INFO] [stdout] 2019 |     pub fn alloc<D>(&mut self, data: D) -> Result<GcRef<'_, D::Value>>
[INFO] [stdout]      |                                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> vm/src/thread.rs:2027:26
[INFO] [stdout]      |
[INFO] [stdout] 2027 |     pub fn push_new_data(&mut self, tag: VmTag, fields: usize) -> Result<Variants> {
[INFO] [stdout]      |                          ^^^^^^^^^ the lifetime is elided here           ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]      |
[INFO] [stdout]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]      |
[INFO] [stdout] 2027 |     pub fn push_new_data(&mut self, tag: VmTag, fields: usize) -> Result<Variants<'_>> {
[INFO] [stdout]      |                                                                                  ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> vm/src/thread.rs:2046:9
[INFO] [stdout]      |
[INFO] [stdout] 2046 |         &mut self,
[INFO] [stdout]      |         ^^^^^^^^^ the lifetime is elided here
[INFO] [stdout] ...
[INFO] [stdout] 2049 |     ) -> Result<Variants> {
[INFO] [stdout]      |                 ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]      |
[INFO] [stdout]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]      |
[INFO] [stdout] 2049 |     ) -> Result<Variants<'_>> {
[INFO] [stdout]      |                         ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> vm/src/thread.rs:2067:30
[INFO] [stdout]      |
[INFO] [stdout] 2067 |     pub fn push_new_alloc<D>(&mut self, def: D) -> Result<Variants>
[INFO] [stdout]      |                              ^^^^^^^^^                    ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]      |                              |
[INFO] [stdout]      |                              the lifetime is elided here
[INFO] [stdout]      |
[INFO] [stdout]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]      |
[INFO] [stdout] 2067 |     pub fn push_new_alloc<D>(&mut self, def: D) -> Result<Variants<'_>>
[INFO] [stdout]      |                                                                   ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> vm/src/thread.rs:2890:20
[INFO] [stdout]      |
[INFO] [stdout] 2890 |     pub fn context(&mut self) -> ExecuteContext<State> {
[INFO] [stdout]      |                    ^^^^^^^^^     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |                    |             |
[INFO] [stdout]      |                    |             the same lifetime is hidden here
[INFO] [stdout]      |                    |             the same lifetime is hidden here
[INFO] [stdout]      |                    the lifetime is elided here
[INFO] [stdout]      |
[INFO] [stdout]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]      |
[INFO] [stdout] 2890 |     pub fn context(&mut self) -> ExecuteContext<'_, State> {
[INFO] [stdout]      |                                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary transmute
[INFO] [stdout]   --> vm/src/types.rs:33:18
[INFO] [stdout]    |
[INFO] [stdout] 33 |         unsafe { std::mem::transmute(self.0) }
[INFO] [stdout]    |                  -------------------^^^^^^^^
[INFO] [stdout]    |                  |
[INFO] [stdout]    |                  help: replace this with: `f64::to_bits`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unnecessary_transmutes)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> vm/src/vm.rs:722:24
[INFO] [stdout]     |
[INFO] [stdout] 722 |     pub fn get_globals(&self) -> parking_lot::RwLockReadGuard<Globals> {
[INFO] [stdout]     |                        ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 722 |     pub fn get_globals(&self) -> parking_lot::RwLockReadGuard<'_, Globals> {
[INFO] [stdout]     |                                                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> vm/src/source_map.rs:132:19
[INFO] [stdout]     |
[INFO] [stdout] 132 |     pub fn locals(&self, instruction_index: usize) -> LocalIter {
[INFO] [stdout]     |                   ^^^^^ the lifetime is elided here   ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 132 |     pub fn locals(&self, instruction_index: usize) -> LocalIter<'_> {
[INFO] [stdout]     |                                                                ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: ambiguous wide pointer comparison, the comparison includes metadata which may not be expected
[INFO] [stdout]   --> vm/src/value.rs:50:9
[INFO] [stdout]    |
[INFO] [stdout] 50 |         self as *const _ == other as *const _
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(ambiguous_wide_pointer_comparisons)]` on by default
[INFO] [stdout] help: use `std::ptr::addr_eq` or untyped pointers to only compare their addresses
[INFO] [stdout]    |
[INFO] [stdout] 50 -         self as *const _ == other as *const _
[INFO] [stdout] 50 +         std::ptr::addr_eq(self as *const _, other as *const _)
[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]   --> vm/src/value.rs:58:21
[INFO] [stdout]    |
[INFO] [stdout] 58 | #[derive(PartialEq, Trace)]
[INFO] [stdout]    |                     ^----
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     `Trace` is not local
[INFO] [stdout]    |                     move the `impl` block outside of this constant `_IMPL_TRAVERSEABLE_FOR_ClosureData`
[INFO] [stdout] ...
[INFO] [stdout] 61 | pub struct ClosureData {
[INFO] [stdout]    |            ----------- `ClosureData` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Trace` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Trace` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Trace` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> vm/src/value.rs:104:10
[INFO] [stdout]     |
[INFO] [stdout] 104 | #[derive(Trace)]
[INFO] [stdout]     |          ^----
[INFO] [stdout]     |          |
[INFO] [stdout]     |          `Trace` is not local
[INFO] [stdout]     |          move the `impl` block outside of this constant `_IMPL_TRAVERSEABLE_FOR_ClosureInitDef`
[INFO] [stdout] 105 | #[gluon(gluon_vm)]
[INFO] [stdout] 106 | pub struct ClosureInitDef(pub GcPtr<BytecodeFunction>, pub usize);
[INFO] [stdout]     |            -------------- `ClosureInitDef` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Trace` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Trace` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Trace` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> vm/src/value.rs:163:17
[INFO] [stdout]     |
[INFO] [stdout] 163 | #[derive(Debug, Trace)]
[INFO] [stdout]     |                 ^----
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 `Trace` is not local
[INFO] [stdout]     |                 move the `impl` block outside of this constant `_IMPL_TRAVERSEABLE_FOR_DataStruct`
[INFO] [stdout] ...
[INFO] [stdout] 166 | pub struct DataStruct {
[INFO] [stdout]     |            ---------- `DataStruct` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Trace` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Trace` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Trace` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> vm/src/value.rs:205:10
[INFO] [stdout]     |
[INFO] [stdout] 205 | #[derive(Trace)]
[INFO] [stdout]     |          ^----
[INFO] [stdout]     |          |
[INFO] [stdout]     |          `Trace` is not local
[INFO] [stdout]     |          move the `impl` block outside of this constant `_IMPL_TRAVERSEABLE_FOR_Def`
[INFO] [stdout] 206 | #[gluon(gluon_vm)]
[INFO] [stdout] 207 | pub(crate) struct Def<'b> {
[INFO] [stdout]     |                   --- `Def` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Trace` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Trace` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Trace` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> vm/src/value.rs:228:10
[INFO] [stdout]     |
[INFO] [stdout] 228 | #[derive(Trace)]
[INFO] [stdout]     |          ^----
[INFO] [stdout]     |          |
[INFO] [stdout]     |          `Trace` is not local
[INFO] [stdout]     |          move the `impl` block outside of this constant `_IMPL_TRAVERSEABLE_FOR_VariantDef`
[INFO] [stdout] 229 | #[gluon(gluon_vm)]
[INFO] [stdout] 230 | pub(crate) struct VariantDef<'b> {
[INFO] [stdout]     |                   ---------- `VariantDef` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Trace` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Trace` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Trace` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> vm/src/value.rs:257:10
[INFO] [stdout]     |
[INFO] [stdout] 257 | #[derive(Trace)]
[INFO] [stdout]     |          ^----
[INFO] [stdout]     |          |
[INFO] [stdout]     |          `Trace` is not local
[INFO] [stdout]     |          move the `impl` block outside of this constant `_IMPL_TRAVERSEABLE_FOR_UninitializedVariantDef`
[INFO] [stdout] 258 | #[gluon(gluon_vm)]
[INFO] [stdout] 259 | pub(crate) struct UninitializedVariantDef {
[INFO] [stdout]     |                   ----------------------- `UninitializedVariantDef` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Trace` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Trace` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Trace` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> vm/src/value.rs:280:10
[INFO] [stdout]     |
[INFO] [stdout] 280 | #[derive(Trace)]
[INFO] [stdout]     |          ^----
[INFO] [stdout]     |          |
[INFO] [stdout]     |          `Trace` is not local
[INFO] [stdout]     |          move the `impl` block outside of this constant `_IMPL_TRAVERSEABLE_FOR_RecordDef`
[INFO] [stdout] 281 | #[gluon(gluon_vm)]
[INFO] [stdout] 282 | pub(crate) struct RecordDef<'b> {
[INFO] [stdout]     |                   --------- `RecordDef` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Trace` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Trace` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Trace` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> vm/src/value.rs:381:21
[INFO] [stdout]     |
[INFO] [stdout] 381 | #[derive(PartialEq, Trace)]
[INFO] [stdout]     |                     ^----
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     `Trace` is not local
[INFO] [stdout]     |                     move the `impl` block outside of this constant `_IMPL_TRAVERSEABLE_FOR_ValueRepr`
[INFO] [stdout] ...
[INFO] [stdout] 395 | pub(crate) enum ValueRepr {
[INFO] [stdout]     |                 --------- `ValueRepr` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Trace` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Trace` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Trace` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> vm/src/value.rs:501:25
[INFO] [stdout]     |
[INFO] [stdout] 501 |     pub fn get_variants(&self) -> Variants {
[INFO] [stdout]     |                         ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 501 |     pub fn get_variants(&self) -> Variants<'_> {
[INFO] [stdout]     |                                           ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> vm/src/value.rs:548:25
[INFO] [stdout]     |
[INFO] [stdout] 548 |     pub fn get_variants(&self) -> Variants {
[INFO] [stdout]     |                         ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 548 |     pub fn get_variants(&self) -> Variants<'_> {
[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]    --> vm/src/value.rs:893:17
[INFO] [stdout]     |
[INFO] [stdout] 893 | #[derive(Debug, Trace)]
[INFO] [stdout]     |                 ^----
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 `Trace` is not local
[INFO] [stdout]     |                 move the `impl` block outside of this constant `_IMPL_TRAVERSEABLE_FOR_Callable`
[INFO] [stdout] ...
[INFO] [stdout] 907 | pub(crate) enum Callable {
[INFO] [stdout]     |                 -------- `Callable` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Trace` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Trace` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Trace` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> vm/src/value.rs:942:17
[INFO] [stdout]     |
[INFO] [stdout] 942 | #[derive(Debug, Trace)]
[INFO] [stdout]     |                 ^----
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 `Trace` is not local
[INFO] [stdout]     |                 move the `impl` block outside of this constant `_IMPL_TRAVERSEABLE_FOR_PartialApplicationData`
[INFO] [stdout] ...
[INFO] [stdout] 950 | pub struct PartialApplicationData {
[INFO] [stdout]     |            ---------------------- `PartialApplicationData` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Trace` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Trace` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Trace` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> vm/src/value.rs:963:10
[INFO] [stdout]     |
[INFO] [stdout] 963 | #[derive(Trace)]
[INFO] [stdout]     |          ^----
[INFO] [stdout]     |          |
[INFO] [stdout]     |          `Trace` is not local
[INFO] [stdout]     |          move the `impl` block outside of this constant `_IMPL_TRAVERSEABLE_FOR_PartialApplicationDataDef`
[INFO] [stdout] 964 | #[gluon(gluon_vm)]
[INFO] [stdout] 965 | pub(crate) struct PartialApplicationDataDef<'b>(pub Callable, pub &'b [Value]);
[INFO] [stdout]     |                   ------------------------- `PartialApplicationDataDef` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Trace` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Trace` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Trace` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> vm/src/value.rs:1345:16
[INFO] [stdout]      |
[INFO] [stdout] 1345 |     pub fn get(&self, index: usize) -> Option<Variants> {
[INFO] [stdout]      |                ^^^^^                          ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]      |                |
[INFO] [stdout]      |                the lifetime is elided here
[INFO] [stdout]      |
[INFO] [stdout]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]      |
[INFO] [stdout] 1345 |     pub fn get(&self, index: usize) -> Option<Variants<'_>> {
[INFO] [stdout]      |                                                       ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> vm/src/value.rs:1383:17
[INFO] [stdout]      |
[INFO] [stdout] 1383 |     pub fn iter(&self) -> Iter {
[INFO] [stdout]      |                 ^^^^^     ^^^^ the same lifetime is hidden here
[INFO] [stdout]      |                 |
[INFO] [stdout]      |                 the lifetime is elided here
[INFO] [stdout]      |
[INFO] [stdout]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]      |
[INFO] [stdout] 1383 |     pub fn iter(&self) -> Iter<'_> {
[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]     --> vm/src/value.rs:1472:10
[INFO] [stdout]      |
[INFO] [stdout] 1472 | #[derive(Trace)]
[INFO] [stdout]      |          ^----
[INFO] [stdout]      |          |
[INFO] [stdout]      |          `Trace` is not local
[INFO] [stdout]      |          move the `impl` block outside of this constant `_IMPL_TRAVERSEABLE_FOR_ArrayDef`
[INFO] [stdout] 1473 | #[gluon(gluon_vm)]
[INFO] [stdout] 1474 | pub(crate) struct ArrayDef<'b>(pub &'b [Value]);
[INFO] [stdout]      |                   -------- `ArrayDef` is not local
[INFO] [stdout]      |
[INFO] [stdout]      = note: the derive macro `Trace` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]      = note: the derive macro `Trace` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stdout]      = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]      = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]      = note: this warning originates in the derive macro `Trace` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]     --> vm/src/value.rs:1503:21
[INFO] [stdout]      |
[INFO] [stdout] 1503 | #[derive(PartialEq, Trace)]
[INFO] [stdout]      |                     ^----
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     `Trace` is not local
[INFO] [stdout]      |                     move the `impl` block outside of this constant `_IMPL_TRAVERSEABLE_FOR_ValueStr`
[INFO] [stdout] ...
[INFO] [stdout] 1506 | pub struct ValueStr(ValueArray);
[INFO] [stdout]      |            -------- `ValueStr` is not local
[INFO] [stdout]      |
[INFO] [stdout]      = note: the derive macro `Trace` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]      = note: the derive macro `Trace` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stdout]      = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]      = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]      = note: this warning originates in the derive macro `Trace` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling criterion-plot v0.4.5
[INFO] [stderr]    Compiling plotters v0.3.7
[INFO] [stderr]    Compiling console v0.15.8
[INFO] [stderr]    Compiling serde_derive v1.0.215
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling num_cpus v1.16.0
[INFO] [stderr]    Compiling getopts v0.2.21
[INFO] [stderr]    Compiling structopt v0.3.26
[INFO] [stderr]    Compiling fastrand v2.2.0
[INFO] [stderr]    Compiling humantime v2.1.0
[INFO] [stderr]    Compiling similar v2.6.0
[INFO] [stderr]    Compiling dissimilar v1.0.9
[INFO] [stderr]    Compiling unicase v2.8.0
[INFO] [stderr]    Compiling yansi v1.0.1
[INFO] [stderr]    Compiling expect-test v1.5.0
[INFO] [stderr]    Compiling insta v1.41.1
[INFO] [stderr]    Compiling csv v1.3.1
[INFO] [stderr]    Compiling serde_cbor v0.11.2
[INFO] [stderr]    Compiling bincode v1.3.3
[INFO] [stderr]    Compiling tinytemplate v1.2.1
[INFO] [stderr]    Compiling pretty_assertions v1.4.1
[INFO] [stderr]    Compiling thiserror v1.0.69
[INFO] [stderr]    Compiling env_logger v0.9.3
[INFO] [stderr]    Compiling tempfile v3.14.0
[INFO] [stderr]    Compiling criterion v0.3.6
[INFO] [stderr]    Compiling tensile v0.7.0
[INFO] [stderr]    Compiling gluon_completion v0.18.2 (/opt/rustwide/workdir/completion)
[INFO] [stderr]    Compiling gluon_parser v0.18.2 (/opt/rustwide/workdir/parser)
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> parser/src/str_suffix.rs:98:17
[INFO] [stdout]    |
[INFO] [stdout] 98 |     pub fn iter(&self) -> Iter {
[INFO] [stdout]    |                 ^^^^^     ^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 98 |     pub fn iter(&self) -> Iter<'_> {
[INFO] [stdout]    |                               ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `fork` is never used
[INFO] [stdout]    --> src/import.rs:161:8
[INFO] [stdout]     |
[INFO] [stdout] 147 | pub(crate) trait ImportApi: Send + Sync {
[INFO] [stdout]     |                  --------- method in this trait
[INFO] [stdout] ...
[INFO] [stdout] 161 |     fn fork(
[INFO] [stdout]     |        ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/lift_io.rs:20:10
[INFO] [stdout]    |
[INFO] [stdout] 20 | #[derive(Trace)]
[INFO] [stdout]    |          ^----
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `Trace` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_IMPL_TRAVERSEABLE_FOR_LiftIo`
[INFO] [stdout] 21 | #[gluon(crate_name = "vm")]
[INFO] [stdout] 22 | pub(crate) struct LiftIo;
[INFO] [stdout]    |                   ------ `LiftIo` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Trace` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Trace` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const 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]   --> src/query.rs:41:17
[INFO] [stdout]    |
[INFO] [stdout] 41 | #[derive(Debug, Trace)]
[INFO] [stdout]    |                 ^----
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 `Trace` is not local
[INFO] [stdout]    |                 move the `impl` block outside of this constant `_IMPL_TRAVERSEABLE_FOR_UnrootedValue`
[INFO] [stdout] 42 | #[gluon(crate_name = "gluon_vm")]
[INFO] [stdout] 43 | pub struct UnrootedValue(RootedValue<RootedThread>);
[INFO] [stdout]    |            ------------- `UnrootedValue` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Trace` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Trace` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Trace` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/std_lib/io.rs:54:10
[INFO] [stdout]    |
[INFO] [stdout] 54 | #[derive(Userdata, Trace, VmType)]
[INFO] [stdout]    |          ^-------
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `Userdata` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_IMPL_USERDATA_FOR_GluonFile`
[INFO] [stdout] ...
[INFO] [stdout] 58 | struct GluonFile(Mutex<Option<File>>);
[INFO] [stdout]    |        --------- `GluonFile` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Userdata` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Userdata` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Userdata` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/std_lib/io.rs:54:20
[INFO] [stdout]    |
[INFO] [stdout] 54 | #[derive(Userdata, Trace, VmType)]
[INFO] [stdout]    |                    ^----
[INFO] [stdout]    |                    |
[INFO] [stdout]    |                    `Trace` is not local
[INFO] [stdout]    |                    move the `impl` block outside of this constant `_IMPL_TRAVERSEABLE_FOR_GluonFile`
[INFO] [stdout] ...
[INFO] [stdout] 58 | struct GluonFile(Mutex<Option<File>>);
[INFO] [stdout]    |        --------- `GluonFile` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Trace` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Trace` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Trace` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/std_lib/io.rs:54:27
[INFO] [stdout]    |
[INFO] [stdout] 54 | #[derive(Userdata, Trace, VmType)]
[INFO] [stdout]    |                           ^-----
[INFO] [stdout]    |                           |
[INFO] [stdout]    |                           `VmType` is not local
[INFO] [stdout]    |                           move the `impl` block outside of this constant `_IMPL_VM_TYPE_FOR_GluonFile`
[INFO] [stdout] ...
[INFO] [stdout] 58 | struct GluonFile(Mutex<Option<File>>);
[INFO] [stdout]    |        --------- `GluonFile` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `VmType` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `VmType` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `VmType` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/std_lib/io.rs:75:10
[INFO] [stdout]    |
[INFO] [stdout] 75 | #[derive(Getable, VmType, Clone, Copy)]
[INFO] [stdout]    |          ^------
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `Getable` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_IMPL_GETABLE_FOR_OpenOptions`
[INFO] [stdout] 76 | #[gluon(crate_name = "::vm")]
[INFO] [stdout] 77 | enum OpenOptions {
[INFO] [stdout]    |      ----------- `OpenOptions` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Getable` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Getable` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Getable` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/std_lib/io.rs:75:19
[INFO] [stdout]    |
[INFO] [stdout] 75 | #[derive(Getable, VmType, Clone, Copy)]
[INFO] [stdout]    |                   ^-----
[INFO] [stdout]    |                   |
[INFO] [stdout]    |                   `VmType` is not local
[INFO] [stdout]    |                   move the `impl` block outside of this constant `_IMPL_VM_TYPE_FOR_OpenOptions`
[INFO] [stdout] 76 | #[gluon(crate_name = "::vm")]
[INFO] [stdout] 77 | enum OpenOptions {
[INFO] [stdout]    |      ----------- `OpenOptions` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `VmType` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `VmType` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `VmType` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]  --> src/std_lib/process.rs:4:10
[INFO] [stdout]   |
[INFO] [stdout] 4 | #[derive(Getable, VmType)]
[INFO] [stdout]   |          ^------
[INFO] [stdout]   |          |
[INFO] [stdout]   |          `Getable` is not local
[INFO] [stdout]   |          move the `impl` block outside of this constant `_IMPL_GETABLE_FOR_CreateProcess`
[INFO] [stdout] 5 | #[gluon(crate_name = "::vm")]
[INFO] [stdout] 6 | struct CreateProcess<'a> {
[INFO] [stdout]   |        ------------- `CreateProcess` is not local
[INFO] [stdout]   |
[INFO] [stdout]   = note: the derive macro `Getable` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]   = note: the derive macro `Getable` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stdout]   = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]   = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]   = note: this warning originates in the derive macro `Getable` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]  --> src/std_lib/process.rs:4:19
[INFO] [stdout]   |
[INFO] [stdout] 4 | #[derive(Getable, VmType)]
[INFO] [stdout]   |                   ^-----
[INFO] [stdout]   |                   |
[INFO] [stdout]   |                   `VmType` is not local
[INFO] [stdout]   |                   move the `impl` block outside of this constant `_IMPL_VM_TYPE_FOR_CreateProcess`
[INFO] [stdout] 5 | #[gluon(crate_name = "::vm")]
[INFO] [stdout] 6 | struct CreateProcess<'a> {
[INFO] [stdout]   |        ------------- `CreateProcess` is not local
[INFO] [stdout]   |
[INFO] [stdout]   = note: the derive macro `VmType` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]   = note: the derive macro `VmType` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stdout]   = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]   = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]   = note: this warning originates in the derive macro `VmType` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/std_lib/random.rs:16:24
[INFO] [stdout]    |
[INFO] [stdout] 16 | #[derive(Clone, Debug, Userdata, Trace, VmType)]
[INFO] [stdout]    |                        ^-------
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `Userdata` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this constant `_IMPL_USERDATA_FOR_XorShiftRng`
[INFO] [stdout] ...
[INFO] [stdout] 21 | struct XorShiftRng(self::rand_xorshift::XorShiftRng);
[INFO] [stdout]    |        ----------- `XorShiftRng` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Userdata` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Userdata` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Userdata` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/std_lib/random.rs:16:34
[INFO] [stdout]    |
[INFO] [stdout] 16 | #[derive(Clone, Debug, Userdata, Trace, VmType)]
[INFO] [stdout]    |                                  ^----
[INFO] [stdout]    |                                  |
[INFO] [stdout]    |                                  `Trace` is not local
[INFO] [stdout]    |                                  move the `impl` block outside of this constant `_IMPL_TRAVERSEABLE_FOR_XorShiftRng`
[INFO] [stdout] ...
[INFO] [stdout] 21 | struct XorShiftRng(self::rand_xorshift::XorShiftRng);
[INFO] [stdout]    |        ----------- `XorShiftRng` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Trace` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Trace` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Trace` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/std_lib/random.rs:16:41
[INFO] [stdout]    |
[INFO] [stdout] 16 | #[derive(Clone, Debug, Userdata, Trace, VmType)]
[INFO] [stdout]    |                                         ^-----
[INFO] [stdout]    |                                         |
[INFO] [stdout]    |                                         `VmType` is not local
[INFO] [stdout]    |                                         move the `impl` block outside of this constant `_IMPL_VM_TYPE_FOR_XorShiftRng`
[INFO] [stdout] ...
[INFO] [stdout] 21 | struct XorShiftRng(self::rand_xorshift::XorShiftRng);
[INFO] [stdout]    |        ----------- `XorShiftRng` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `VmType` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `VmType` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `VmType` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/std_lib/regex.rs:7:17
[INFO] [stdout]    |
[INFO] [stdout]  7 | #[derive(Debug, Userdata, Trace, VmType)]
[INFO] [stdout]    |                 ^-------
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 `Userdata` is not local
[INFO] [stdout]    |                 move the `impl` block outside of this constant `_IMPL_USERDATA_FOR_Regex`
[INFO] [stdout] ...
[INFO] [stdout] 11 | struct Regex(regex::Regex);
[INFO] [stdout]    |        ----- `Regex` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Userdata` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Userdata` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Userdata` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/std_lib/regex.rs:7:27
[INFO] [stdout]    |
[INFO] [stdout]  7 | #[derive(Debug, Userdata, Trace, VmType)]
[INFO] [stdout]    |                           ^----
[INFO] [stdout]    |                           |
[INFO] [stdout]    |                           `Trace` is not local
[INFO] [stdout]    |                           move the `impl` block outside of this constant `_IMPL_TRAVERSEABLE_FOR_Regex`
[INFO] [stdout] ...
[INFO] [stdout] 11 | struct Regex(regex::Regex);
[INFO] [stdout]    |        ----- `Regex` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Trace` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Trace` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Trace` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/std_lib/regex.rs:7:34
[INFO] [stdout]    |
[INFO] [stdout]  7 | #[derive(Debug, Userdata, Trace, VmType)]
[INFO] [stdout]    |                                  ^-----
[INFO] [stdout]    |                                  |
[INFO] [stdout]    |                                  `VmType` is not local
[INFO] [stdout]    |                                  move the `impl` block outside of this constant `_IMPL_VM_TYPE_FOR_Regex`
[INFO] [stdout] ...
[INFO] [stdout] 11 | struct Regex(regex::Regex);
[INFO] [stdout]    |        ----- `Regex` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `VmType` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `VmType` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `VmType` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/std_lib/regex.rs:13:17
[INFO] [stdout]    |
[INFO] [stdout] 13 | #[derive(Debug, Userdata, Trace, VmType)]
[INFO] [stdout]    |                 ^-------
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 `Userdata` is not local
[INFO] [stdout]    |                 move the `impl` block outside of this constant `_IMPL_USERDATA_FOR_Error`
[INFO] [stdout] ...
[INFO] [stdout] 17 | struct Error(regex::Error);
[INFO] [stdout]    |        ----- `Error` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Userdata` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Userdata` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Userdata` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/std_lib/regex.rs:13:27
[INFO] [stdout]    |
[INFO] [stdout] 13 | #[derive(Debug, Userdata, Trace, VmType)]
[INFO] [stdout]    |                           ^----
[INFO] [stdout]    |                           |
[INFO] [stdout]    |                           `Trace` is not local
[INFO] [stdout]    |                           move the `impl` block outside of this constant `_IMPL_TRAVERSEABLE_FOR_Error`
[INFO] [stdout] ...
[INFO] [stdout] 17 | struct Error(regex::Error);
[INFO] [stdout]    |        ----- `Error` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Trace` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Trace` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Trace` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/std_lib/regex.rs:13:34
[INFO] [stdout]    |
[INFO] [stdout] 13 | #[derive(Debug, Userdata, Trace, VmType)]
[INFO] [stdout]    |                                  ^-----
[INFO] [stdout]    |                                  |
[INFO] [stdout]    |                                  `VmType` is not local
[INFO] [stdout]    |                                  move the `impl` block outside of this constant `_IMPL_VM_TYPE_FOR_Error`
[INFO] [stdout] ...
[INFO] [stdout] 17 | struct Error(regex::Error);
[INFO] [stdout]    |        ----- `Error` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `VmType` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `VmType` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `VmType` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/std_lib/regex.rs:31:10
[INFO] [stdout]    |
[INFO] [stdout] 31 | #[derive(Pushable, VmType)]
[INFO] [stdout]    |          ^-------
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `Pushable` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_IMPL_PUSHABLE_FOR_Match`
[INFO] [stdout] ...
[INFO] [stdout] 34 | struct Match<'a> {
[INFO] [stdout]    |        ----- `Match` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Pushable` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Pushable` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Pushable` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/std_lib/regex.rs:31:20
[INFO] [stdout]    |
[INFO] [stdout] 31 | #[derive(Pushable, VmType)]
[INFO] [stdout]    |                    ^-----
[INFO] [stdout]    |                    |
[INFO] [stdout]    |                    `VmType` is not local
[INFO] [stdout]    |                    move the `impl` block outside of this constant `_IMPL_VM_TYPE_FOR_Match`
[INFO] [stdout] ...
[INFO] [stdout] 34 | struct Match<'a> {
[INFO] [stdout]    |        ----- `Match` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `VmType` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `VmType` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `VmType` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `fork` is never used
[INFO] [stdout]    --> src/import.rs:161:8
[INFO] [stdout]     |
[INFO] [stdout] 147 | pub(crate) trait ImportApi: Send + Sync {
[INFO] [stdout]     |                  --------- method in this trait
[INFO] [stdout] ...
[INFO] [stdout] 161 |     fn fork(
[INFO] [stdout]     |        ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/lift_io.rs:20:10
[INFO] [stdout]    |
[INFO] [stdout] 20 | #[derive(Trace)]
[INFO] [stdout]    |          ^----
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `Trace` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_IMPL_TRAVERSEABLE_FOR_LiftIo`
[INFO] [stdout] 21 | #[gluon(crate_name = "vm")]
[INFO] [stdout] 22 | pub(crate) struct LiftIo;
[INFO] [stdout]    |                   ------ `LiftIo` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Trace` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Trace` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const 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]   --> src/query.rs:41:17
[INFO] [stdout]    |
[INFO] [stdout] 41 | #[derive(Debug, Trace)]
[INFO] [stdout]    |                 ^----
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 `Trace` is not local
[INFO] [stdout]    |                 move the `impl` block outside of this constant `_IMPL_TRAVERSEABLE_FOR_UnrootedValue`
[INFO] [stdout] 42 | #[gluon(crate_name = "gluon_vm")]
[INFO] [stdout] 43 | pub struct UnrootedValue(RootedValue<RootedThread>);
[INFO] [stdout]    |            ------------- `UnrootedValue` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Trace` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Trace` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Trace` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/std_lib/io.rs:54:10
[INFO] [stdout]    |
[INFO] [stdout] 54 | #[derive(Userdata, Trace, VmType)]
[INFO] [stdout]    |          ^-------
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `Userdata` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_IMPL_USERDATA_FOR_GluonFile`
[INFO] [stdout] ...
[INFO] [stdout] 58 | struct GluonFile(Mutex<Option<File>>);
[INFO] [stdout]    |        --------- `GluonFile` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Userdata` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Userdata` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Userdata` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/std_lib/io.rs:54:20
[INFO] [stdout]    |
[INFO] [stdout] 54 | #[derive(Userdata, Trace, VmType)]
[INFO] [stdout]    |                    ^----
[INFO] [stdout]    |                    |
[INFO] [stdout]    |                    `Trace` is not local
[INFO] [stdout]    |                    move the `impl` block outside of this constant `_IMPL_TRAVERSEABLE_FOR_GluonFile`
[INFO] [stdout] ...
[INFO] [stdout] 58 | struct GluonFile(Mutex<Option<File>>);
[INFO] [stdout]    |        --------- `GluonFile` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Trace` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Trace` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Trace` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/std_lib/io.rs:54:27
[INFO] [stdout]    |
[INFO] [stdout] 54 | #[derive(Userdata, Trace, VmType)]
[INFO] [stdout]    |                           ^-----
[INFO] [stdout]    |                           |
[INFO] [stdout]    |                           `VmType` is not local
[INFO] [stdout]    |                           move the `impl` block outside of this constant `_IMPL_VM_TYPE_FOR_GluonFile`
[INFO] [stdout] ...
[INFO] [stdout] 58 | struct GluonFile(Mutex<Option<File>>);
[INFO] [stdout]    |        --------- `GluonFile` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `VmType` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `VmType` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `VmType` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/std_lib/io.rs:75:10
[INFO] [stdout]    |
[INFO] [stdout] 75 | #[derive(Getable, VmType, Clone, Copy)]
[INFO] [stdout]    |          ^------
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `Getable` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_IMPL_GETABLE_FOR_OpenOptions`
[INFO] [stdout] 76 | #[gluon(crate_name = "::vm")]
[INFO] [stdout] 77 | enum OpenOptions {
[INFO] [stdout]    |      ----------- `OpenOptions` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Getable` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Getable` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Getable` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/std_lib/io.rs:75:19
[INFO] [stdout]    |
[INFO] [stdout] 75 | #[derive(Getable, VmType, Clone, Copy)]
[INFO] [stdout]    |                   ^-----
[INFO] [stdout]    |                   |
[INFO] [stdout]    |                   `VmType` is not local
[INFO] [stdout]    |                   move the `impl` block outside of this constant `_IMPL_VM_TYPE_FOR_OpenOptions`
[INFO] [stdout] 76 | #[gluon(crate_name = "::vm")]
[INFO] [stdout] 77 | enum OpenOptions {
[INFO] [stdout]    |      ----------- `OpenOptions` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `VmType` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `VmType` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `VmType` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]  --> src/std_lib/process.rs:4:10
[INFO] [stdout]   |
[INFO] [stdout] 4 | #[derive(Getable, VmType)]
[INFO] [stdout]   |          ^------
[INFO] [stdout]   |          |
[INFO] [stdout]   |          `Getable` is not local
[INFO] [stdout]   |          move the `impl` block outside of this constant `_IMPL_GETABLE_FOR_CreateProcess`
[INFO] [stdout] 5 | #[gluon(crate_name = "::vm")]
[INFO] [stdout] 6 | struct CreateProcess<'a> {
[INFO] [stdout]   |        ------------- `CreateProcess` is not local
[INFO] [stdout]   |
[INFO] [stdout]   = note: the derive macro `Getable` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]   = note: the derive macro `Getable` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stdout]   = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]   = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]   = note: this warning originates in the derive macro `Getable` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]  --> src/std_lib/process.rs:4:19
[INFO] [stdout]   |
[INFO] [stdout] 4 | #[derive(Getable, VmType)]
[INFO] [stdout]   |                   ^-----
[INFO] [stdout]   |                   |
[INFO] [stdout]   |                   `VmType` is not local
[INFO] [stdout]   |                   move the `impl` block outside of this constant `_IMPL_VM_TYPE_FOR_CreateProcess`
[INFO] [stdout] 5 | #[gluon(crate_name = "::vm")]
[INFO] [stdout] 6 | struct CreateProcess<'a> {
[INFO] [stdout]   |        ------------- `CreateProcess` is not local
[INFO] [stdout]   |
[INFO] [stdout]   = note: the derive macro `VmType` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]   = note: the derive macro `VmType` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stdout]   = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]   = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]   = note: this warning originates in the derive macro `VmType` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/std_lib/random.rs:16:24
[INFO] [stdout]    |
[INFO] [stdout] 16 | #[derive(Clone, Debug, Userdata, Trace, VmType)]
[INFO] [stdout]    |                        ^-------
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `Userdata` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this constant `_IMPL_USERDATA_FOR_XorShiftRng`
[INFO] [stdout] ...
[INFO] [stdout] 21 | struct XorShiftRng(self::rand_xorshift::XorShiftRng);
[INFO] [stdout]    |        ----------- `XorShiftRng` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Userdata` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Userdata` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Userdata` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/std_lib/random.rs:16:34
[INFO] [stdout]    |
[INFO] [stdout] 16 | #[derive(Clone, Debug, Userdata, Trace, VmType)]
[INFO] [stdout]    |                                  ^----
[INFO] [stdout]    |                                  |
[INFO] [stdout]    |                                  `Trace` is not local
[INFO] [stdout]    |                                  move the `impl` block outside of this constant `_IMPL_TRAVERSEABLE_FOR_XorShiftRng`
[INFO] [stdout] ...
[INFO] [stdout] 21 | struct XorShiftRng(self::rand_xorshift::XorShiftRng);
[INFO] [stdout]    |        ----------- `XorShiftRng` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Trace` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Trace` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Trace` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/std_lib/random.rs:16:41
[INFO] [stdout]    |
[INFO] [stdout] 16 | #[derive(Clone, Debug, Userdata, Trace, VmType)]
[INFO] [stdout]    |                                         ^-----
[INFO] [stdout]    |                                         |
[INFO] [stdout]    |                                         `VmType` is not local
[INFO] [stdout]    |                                         move the `impl` block outside of this constant `_IMPL_VM_TYPE_FOR_XorShiftRng`
[INFO] [stdout] ...
[INFO] [stdout] 21 | struct XorShiftRng(self::rand_xorshift::XorShiftRng);
[INFO] [stdout]    |        ----------- `XorShiftRng` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `VmType` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `VmType` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `VmType` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/std_lib/regex.rs:7:17
[INFO] [stdout]    |
[INFO] [stdout]  7 | #[derive(Debug, Userdata, Trace, VmType)]
[INFO] [stdout]    |                 ^-------
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 `Userdata` is not local
[INFO] [stdout]    |                 move the `impl` block outside of this constant `_IMPL_USERDATA_FOR_Regex`
[INFO] [stdout] ...
[INFO] [stdout] 11 | struct Regex(regex::Regex);
[INFO] [stdout]    |        ----- `Regex` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Userdata` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Userdata` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Userdata` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/std_lib/regex.rs:7:27
[INFO] [stdout]    |
[INFO] [stdout]  7 | #[derive(Debug, Userdata, Trace, VmType)]
[INFO] [stdout]    |                           ^----
[INFO] [stdout]    |                           |
[INFO] [stdout]    |                           `Trace` is not local
[INFO] [stdout]    |                           move the `impl` block outside of this constant `_IMPL_TRAVERSEABLE_FOR_Regex`
[INFO] [stdout] ...
[INFO] [stdout] 11 | struct Regex(regex::Regex);
[INFO] [stdout]    |        ----- `Regex` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Trace` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Trace` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Trace` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/std_lib/regex.rs:7:34
[INFO] [stdout]    |
[INFO] [stdout]  7 | #[derive(Debug, Userdata, Trace, VmType)]
[INFO] [stdout]    |                                  ^-----
[INFO] [stdout]    |                                  |
[INFO] [stdout]    |                                  `VmType` is not local
[INFO] [stdout]    |                                  move the `impl` block outside of this constant `_IMPL_VM_TYPE_FOR_Regex`
[INFO] [stdout] ...
[INFO] [stdout] 11 | struct Regex(regex::Regex);
[INFO] [stdout]    |        ----- `Regex` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `VmType` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `VmType` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `VmType` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/std_lib/regex.rs:13:17
[INFO] [stdout]    |
[INFO] [stdout] 13 | #[derive(Debug, Userdata, Trace, VmType)]
[INFO] [stdout]    |                 ^-------
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 `Userdata` is not local
[INFO] [stdout]    |                 move the `impl` block outside of this constant `_IMPL_USERDATA_FOR_Error`
[INFO] [stdout] ...
[INFO] [stdout] 17 | struct Error(regex::Error);
[INFO] [stdout]    |        ----- `Error` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Userdata` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Userdata` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Userdata` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/std_lib/regex.rs:13:27
[INFO] [stdout]    |
[INFO] [stdout] 13 | #[derive(Debug, Userdata, Trace, VmType)]
[INFO] [stdout]    |                           ^----
[INFO] [stdout]    |                           |
[INFO] [stdout]    |                           `Trace` is not local
[INFO] [stdout]    |                           move the `impl` block outside of this constant `_IMPL_TRAVERSEABLE_FOR_Error`
[INFO] [stdout] ...
[INFO] [stdout] 17 | struct Error(regex::Error);
[INFO] [stdout]    |        ----- `Error` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Trace` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Trace` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Trace` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/std_lib/regex.rs:13:34
[INFO] [stdout]    |
[INFO] [stdout] 13 | #[derive(Debug, Userdata, Trace, VmType)]
[INFO] [stdout]    |                                  ^-----
[INFO] [stdout]    |                                  |
[INFO] [stdout]    |                                  `VmType` is not local
[INFO] [stdout]    |                                  move the `impl` block outside of this constant `_IMPL_VM_TYPE_FOR_Error`
[INFO] [stdout] ...
[INFO] [stdout] 17 | struct Error(regex::Error);
[INFO] [stdout]    |        ----- `Error` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `VmType` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `VmType` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `VmType` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/std_lib/regex.rs:31:10
[INFO] [stdout]    |
[INFO] [stdout] 31 | #[derive(Pushable, VmType)]
[INFO] [stdout]    |          ^-------
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `Pushable` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_IMPL_PUSHABLE_FOR_Match`
[INFO] [stdout] ...
[INFO] [stdout] 34 | struct Match<'a> {
[INFO] [stdout]    |        ----- `Match` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Pushable` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Pushable` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Pushable` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/std_lib/regex.rs:31:20
[INFO] [stdout]    |
[INFO] [stdout] 31 | #[derive(Pushable, VmType)]
[INFO] [stdout]    |                    ^-----
[INFO] [stdout]    |                    |
[INFO] [stdout]    |                    `VmType` is not local
[INFO] [stdout]    |                    move the `impl` block outside of this constant `_IMPL_VM_TYPE_FOR_Match`
[INFO] [stdout] ...
[INFO] [stdout] 34 | struct Match<'a> {
[INFO] [stdout]    |        ----- `Match` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `VmType` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `VmType` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `VmType` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [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/lisp/main.rs:15:10
[INFO] [stdout]    |
[INFO] [stdout] 15 | #[derive(VmType)]
[INFO] [stdout]    |          ^-----
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `VmType` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_IMPL_VM_TYPE_FOR_ExprMarker`
[INFO] [stdout] 16 | #[gluon(vm_type = "examples.lisp.lisp.Expr")]
[INFO] [stdout] 17 | struct ExprMarker;
[INFO] [stdout]    |        ---------- `ExprMarker` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `VmType` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `VmType` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const 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 `VmType` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [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/lisp/main.rs:20:10
[INFO] [stdout]    |
[INFO] [stdout] 20 | #[derive(VmType)]
[INFO] [stdout]    |          ^-----
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `VmType` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_IMPL_VM_TYPE_FOR_LispStateMarker`
[INFO] [stdout] 21 | #[gluon(vm_type = "examples.lisp.lisp.LispState")]
[INFO] [stdout] 22 | struct LispStateMarker;
[INFO] [stdout]    |        --------------- `LispStateMarker` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `VmType` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `VmType` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `VmType` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `#[macro_use]` import
[INFO] [stdout]  --> tests/api.rs:1:1
[INFO] [stdout]   |
[INFO] [stdout] 1 | #[macro_use]
[INFO] [stdout]   | ^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `collections::BTreeMap`
[INFO] [stdout]  --> tests/api.rs:9:11
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::{collections::BTreeMap, sync::Arc};
[INFO] [stdout]   |           ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Alias`, `ArcType`, and `add_extern_module_with_deps`
[INFO] [stdout]   --> tests/api.rs:14:19
[INFO] [stdout]    |
[INFO] [stdout] 14 |     base::types::{Alias, ArcType, Type},
[INFO] [stdout]    |                   ^^^^^  ^^^^^^^
[INFO] [stdout] 15 |     import::{add_extern_module, add_extern_module_with_deps, Import},
[INFO] [stdout]    |                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> tests/api.rs:45:17
[INFO] [stdout]    |
[INFO] [stdout] 45 | #[derive(Debug, Userdata, Trace)]
[INFO] [stdout]    |                 ^-------
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 `Userdata` is not local
[INFO] [stdout]    |                 move the `impl` block outside of this constant `_IMPL_USERDATA_FOR_Test`
[INFO] [stdout] 46 | struct Test(VmInt);
[INFO] [stdout]    |        ---- `Test` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Userdata` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Userdata` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const 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 `Userdata` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> tests/api.rs:45:27
[INFO] [stdout]    |
[INFO] [stdout] 45 | #[derive(Debug, Userdata, Trace)]
[INFO] [stdout]    |                           ^----
[INFO] [stdout]    |                           |
[INFO] [stdout]    |                           `Trace` is not local
[INFO] [stdout]    |                           move the `impl` block outside of this constant `_IMPL_TRAVERSEABLE_FOR_Test`
[INFO] [stdout] 46 | struct Test(VmInt);
[INFO] [stdout]    |        ---- `Test` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Trace` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Trace` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Trace` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> tests/api.rs:500:33
[INFO] [stdout]     |
[INFO] [stdout] 500 | #[derive(Clone, Debug, Default, Userdata, Trace)]
[INFO] [stdout]     |                                 ^-------
[INFO] [stdout]     |                                 |
[INFO] [stdout]     |                                 `Userdata` is not local
[INFO] [stdout]     |                                 move the `impl` block outside of this constant `_IMPL_USERDATA_FOR_NoisyDrop`
[INFO] [stdout] 501 | struct NoisyDrop(Arc<()>);
[INFO] [stdout]     |        --------- `NoisyDrop` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Userdata` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Userdata` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Userdata` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> tests/api.rs:500:43
[INFO] [stdout]     |
[INFO] [stdout] 500 | #[derive(Clone, Debug, Default, Userdata, Trace)]
[INFO] [stdout]     |                                           ^----
[INFO] [stdout]     |                                           |
[INFO] [stdout]     |                                           `Trace` is not local
[INFO] [stdout]     |                                           move the `impl` block outside of this constant `_IMPL_TRAVERSEABLE_FOR_NoisyDrop`
[INFO] [stdout] 501 | struct NoisyDrop(Arc<()>);
[INFO] [stdout]     |        --------- `NoisyDrop` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Trace` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Trace` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Trace` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> tests/api.rs:510:21
[INFO] [stdout]     |
[INFO] [stdout] 510 |     #[derive(Debug, Userdata, Trace)]
[INFO] [stdout]     |                     ^-------
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     `Userdata` is not local
[INFO] [stdout]     |                     move the `impl` block outside of this constant `_IMPL_USERDATA_FOR_Cyclic` and up 2 bodies
[INFO] [stdout] 511 |     struct Cyclic(OpaqueValue<RootedThread, NoisyDrop>);
[INFO] [stdout]     |            ------ `Cyclic` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Userdata` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Userdata` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Userdata` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> tests/api.rs:510:31
[INFO] [stdout]     |
[INFO] [stdout] 510 |     #[derive(Debug, Userdata, Trace)]
[INFO] [stdout]     |                               ^----
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               `Trace` is not local
[INFO] [stdout]     |                               move the `impl` block outside of this constant `_IMPL_TRAVERSEABLE_FOR_Cyclic` and up 2 bodies
[INFO] [stdout] 511 |     struct Cyclic(OpaqueValue<RootedThread, NoisyDrop>);
[INFO] [stdout]     |            ------ `Cyclic` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Trace` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Trace` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Trace` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> tests/api.rs:556:30
[INFO] [stdout]     |
[INFO] [stdout] 556 |     #[derive(Debug, Default, Userdata, Trace)]
[INFO] [stdout]     |                              ^-------
[INFO] [stdout]     |                              |
[INFO] [stdout]     |                              `Userdata` is not local
[INFO] [stdout]     |                              move the `impl` block outside of this constant `_IMPL_USERDATA_FOR_Cyclic` and up 2 bodies
[INFO] [stdout] 557 |     struct Cyclic(gc::mutex::Mutex<Option<OpaqueValue<RootedThread, NoisyDrop>>>);
[INFO] [stdout]     |            ------ `Cyclic` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Userdata` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Userdata` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Userdata` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> tests/api.rs:556:40
[INFO] [stdout]     |
[INFO] [stdout] 556 |     #[derive(Debug, Default, Userdata, Trace)]
[INFO] [stdout]     |                                        ^----
[INFO] [stdout]     |                                        |
[INFO] [stdout]     |                                        `Trace` is not local
[INFO] [stdout]     |                                        move the `impl` block outside of this constant `_IMPL_TRAVERSEABLE_FOR_Cyclic` and up 2 bodies
[INFO] [stdout] 557 |     struct Cyclic(gc::mutex::Mutex<Option<OpaqueValue<RootedThread, NoisyDrop>>>);
[INFO] [stdout]     |            ------ `Cyclic` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Trace` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Trace` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Trace` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> tests/api.rs:687:21
[INFO] [stdout]     |
[INFO] [stdout] 687 |     #[derive(Debug, Userdata, Trace, VmType, Clone, PartialEq)]
[INFO] [stdout]     |                     ^-------
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     `Userdata` is not local
[INFO] [stdout]     |                     move the `impl` block outside of this constant `_IMPL_USERDATA_FOR_Test` and up 2 bodies
[INFO] [stdout] ...
[INFO] [stdout] 690 |     struct Test(VmInt);
[INFO] [stdout]     |            ---- `Test` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Userdata` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Userdata` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Userdata` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> tests/api.rs:687:31
[INFO] [stdout]     |
[INFO] [stdout] 687 |     #[derive(Debug, Userdata, Trace, VmType, Clone, PartialEq)]
[INFO] [stdout]     |                               ^----
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               `Trace` is not local
[INFO] [stdout]     |                               move the `impl` block outside of this constant `_IMPL_TRAVERSEABLE_FOR_Test` and up 2 bodies
[INFO] [stdout] ...
[INFO] [stdout] 690 |     struct Test(VmInt);
[INFO] [stdout]     |            ---- `Test` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Trace` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Trace` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Trace` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> tests/api.rs:687:38
[INFO] [stdout]     |
[INFO] [stdout] 687 |     #[derive(Debug, Userdata, Trace, VmType, Clone, PartialEq)]
[INFO] [stdout]     |                                      ^-----
[INFO] [stdout]     |                                      |
[INFO] [stdout]     |                                      `VmType` is not local
[INFO] [stdout]     |                                      move the `impl` block outside of this constant `_IMPL_VM_TYPE_FOR_Test` and up 2 bodies
[INFO] [stdout] ...
[INFO] [stdout] 690 |     struct Test(VmInt);
[INFO] [stdout]     |            ---- `Test` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `VmType` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `VmType` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `VmType` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 2m 49s
[INFO] running `Command { std: "docker" "inspect" "2aa736b2aa52da6e3def41f87c94bce0a4e6de0c492f32cd6511c6346ab7d20a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "2aa736b2aa52da6e3def41f87c94bce0a4e6de0c492f32cd6511c6346ab7d20a", kill_on_drop: false }`
[INFO] [stdout] 2aa736b2aa52da6e3def41f87c94bce0a4e6de0c492f32cd6511c6346ab7d20a
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+bd7d74411512a3dd3b35d2f699c51dd2557c7e7e" "test" "--frozen" "-Zbuild-dir-new-layout", kill_on_drop: false }`
[INFO] [stdout] 4d00c45bf4047badd60ff34091048f3845b239ddc41e7dc3599738399092b048
[INFO] running `Command { std: "docker" "start" "-a" "4d00c45bf4047badd60ff34091048f3845b239ddc41e7dc3599738399092b048", kill_on_drop: false }`
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> codegen/src/pushable.rs:218:33
[INFO] [stderr]     |
[INFO] [stderr] 218 | fn get_info_from_fields(fields: &Fields) -> (Vec<Cow<Ident>>, Vec<&Type>) {
[INFO] [stderr]     |                                 ^^^^^^^          ^^^^^^^^^^       ^^^^^ the same lifetime is elided here
[INFO] [stderr]     |                                 |                |
[INFO] [stderr]     |                                 |                the same lifetime is hidden here
[INFO] [stderr]     |                                 the lifetime is elided here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 218 | fn get_info_from_fields(fields: &Fields) -> (Vec<Cow<'_, Ident>>, Vec<&Type>) {
[INFO] [stderr]     |                                                      +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> codegen/src/trace.rs:206:33
[INFO] [stderr]     |
[INFO] [stderr] 206 | fn get_info_from_fields(fields: &Fields) -> (Vec<Cow<Ident>>, Vec<&Type>) {
[INFO] [stderr]     |                                 ^^^^^^^          ^^^^^^^^^^       ^^^^^ the same lifetime is elided here
[INFO] [stderr]     |                                 |                |
[INFO] [stderr]     |                                 |                the same lifetime is hidden here
[INFO] [stderr]     |                                 the lifetime is elided here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 206 | fn get_info_from_fields(fields: &Fields) -> (Vec<Cow<'_, Ident>>, Vec<&Type>) {
[INFO] [stderr]     |                                                      +++
[INFO] [stderr] 
[INFO] [stderr] warning: `gluon_codegen` (lib) generated 2 warnings (run `cargo fix --lib -p gluon_codegen` to apply 2 suggestions)
[INFO] [stderr] warning: unexpected `cfg` condition value: `memory_usage`
[INFO] [stderr]   --> base/src/pos.rs:54:12
[INFO] [stderr]    |
[INFO] [stderr] 54 | #[cfg_attr(feature = "memory_usage", derive(HeapSizeOf))]
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: expected values for `feature` are: `anymap`, `compiletest_rs`, `nightly`, `serde`, `serde_derive`, `serde_derive_state`, `serde_state`, and `serialization`
[INFO] [stderr]    = help: consider adding `memory_usage` as a feature in `Cargo.toml`
[INFO] [stderr]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stderr]    = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: field `0` is never read
[INFO] [stderr]     --> base/src/ast.rs:1328:32
[INFO] [stderr]      |
[INFO] [stderr] 1328 |             struct Guard<'tag>(&'tag $crate::ast::InvariantLifetime<'tag>);
[INFO] [stderr]      |                    -----       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]      |                    |
[INFO] [stderr]      |                    field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 1346 |         mk_ast_arena!(arena);
[INFO] [stderr]      |         -------------------- in this macro invocation
[INFO] [stderr]      |
[INFO] [stderr]      = help: consider removing this field
[INFO] [stderr]      = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr]      = note: this warning originates in the macro `mk_ast_arena` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> base/src/ast.rs:81:25
[INFO] [stderr]    |
[INFO] [stderr] 81 | #[derive(Eq, PartialEq, AstClone)]
[INFO] [stderr]    |                         ^-------
[INFO] [stderr]    |                         |
[INFO] [stderr]    |                         `AstClone` is not local
[INFO] [stderr]    |                         move the `impl` block outside of this constant `_IMPL_AST_CLONE_FOR_InnerAstType`
[INFO] [stderr] 82 | pub struct InnerAstType<'ast, Id> {
[INFO] [stderr]    |            ------------ `InnerAstType` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `AstClone` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `AstClone` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: `#[warn(non_local_definitions)]` on by default
[INFO] [stderr]    = note: this warning originates in the derive macro `AstClone` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> base/src/ast.rs:87:25
[INFO] [stderr]    |
[INFO] [stderr] 87 | #[derive(Eq, PartialEq, AstClone)]
[INFO] [stderr]    |                         ^-------
[INFO] [stderr]    |                         |
[INFO] [stderr]    |                         `AstClone` is not local
[INFO] [stderr]    |                         move the `impl` block outside of this constant `_IMPL_AST_CLONE_FOR_AstType`
[INFO] [stderr] 88 | pub struct AstType<'ast, Id> {
[INFO] [stderr]    |            ------- `AstType` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `AstClone` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `AstClone` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: this warning originates in the derive macro `AstClone` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]    --> base/src/ast.rs:283:32
[INFO] [stderr]     |
[INFO] [stderr] 283 | #[derive(Eq, PartialEq, Debug, AstClone)]
[INFO] [stderr]     |                                ^-------
[INFO] [stderr]     |                                |
[INFO] [stderr]     |                                `AstClone` is not local
[INFO] [stderr]     |                                move the `impl` block outside of this constant `_IMPL_AST_CLONE_FOR_PatternField`
[INFO] [stderr] 284 | pub enum PatternField<'ast, Id> {
[INFO] [stderr]     |          ------------ `PatternField` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `AstClone` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `AstClone` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stderr]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]     = note: this warning originates in the derive macro `AstClone` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]    --> base/src/ast.rs:302:32
[INFO] [stderr]     |
[INFO] [stderr] 302 | #[derive(Eq, PartialEq, Debug, AstClone)]
[INFO] [stderr]     |                                ^-------
[INFO] [stderr]     |                                |
[INFO] [stderr]     |                                `AstClone` is not local
[INFO] [stderr]     |                                move the `impl` block outside of this constant `_IMPL_AST_CLONE_FOR_Pattern`
[INFO] [stderr] 303 | pub enum Pattern<'ast, Id> {
[INFO] [stderr]     |          ------- `Pattern` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `AstClone` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `AstClone` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stderr]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]     = note: this warning originates in the derive macro `AstClone` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]    --> base/src/ast.rs:384:32
[INFO] [stderr]     |
[INFO] [stderr] 384 | #[derive(Eq, PartialEq, Debug, AstClone)]
[INFO] [stderr]     |                                ^-------
[INFO] [stderr]     |                                |
[INFO] [stderr]     |                                `AstClone` is not local
[INFO] [stderr]     |                                move the `impl` block outside of this constant `_IMPL_AST_CLONE_FOR_Alternative`
[INFO] [stderr] 385 | pub struct Alternative<'ast, Id> {
[INFO] [stderr]     |            ----------- `Alternative` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `AstClone` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `AstClone` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stderr]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]     = note: this warning originates in the derive macro `AstClone` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]    --> base/src/ast.rs:390:32
[INFO] [stderr]     |
[INFO] [stderr] 390 | #[derive(Eq, PartialEq, Debug, AstClone)]
[INFO] [stderr]     |                                ^-------
[INFO] [stderr]     |                                |
[INFO] [stderr]     |                                `AstClone` is not local
[INFO] [stderr]     |                                move the `impl` block outside of this constant `_IMPL_AST_CLONE_FOR_Array`
[INFO] [stderr] 391 | pub struct Array<'ast, Id> {
[INFO] [stderr]     |            ----- `Array` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `AstClone` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `AstClone` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stderr]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]     = note: this warning originates in the derive macro `AstClone` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]    --> base/src/ast.rs:396:32
[INFO] [stderr]     |
[INFO] [stderr] 396 | #[derive(Eq, PartialEq, Debug, AstClone)]
[INFO] [stderr]     |                                ^-------
[INFO] [stderr]     |                                |
[INFO] [stderr]     |                                `AstClone` is not local
[INFO] [stderr]     |                                move the `impl` block outside of this constant `_IMPL_AST_CLONE_FOR_Lambda`
[INFO] [stderr] 397 | pub struct Lambda<'ast, Id> {
[INFO] [stderr]     |            ------ `Lambda` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `AstClone` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `AstClone` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stderr]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]     = note: this warning originates in the derive macro `AstClone` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]    --> base/src/ast.rs:411:32
[INFO] [stderr]     |
[INFO] [stderr] 411 | #[derive(Eq, PartialEq, Debug, AstClone)]
[INFO] [stderr]     |                                ^-------
[INFO] [stderr]     |                                |
[INFO] [stderr]     |                                `AstClone` is not local
[INFO] [stderr]     |                                move the `impl` block outside of this constant `_IMPL_AST_CLONE_FOR_ExprField`
[INFO] [stderr] 412 | pub struct ExprField<'ast, Id, E> {
[INFO] [stderr]     |            --------- `ExprField` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `AstClone` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `AstClone` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stderr]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]     = note: this warning originates in the derive macro `AstClone` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]    --> base/src/ast.rs:418:32
[INFO] [stderr]     |
[INFO] [stderr] 418 | #[derive(Eq, PartialEq, Debug, AstClone)]
[INFO] [stderr]     |                                ^-------
[INFO] [stderr]     |                                |
[INFO] [stderr]     |                                `AstClone` is not local
[INFO] [stderr]     |                                move the `impl` block outside of this constant `_IMPL_AST_CLONE_FOR_Do`
[INFO] [stderr] 419 | pub struct Do<'ast, Id> {
[INFO] [stderr]     |            -- `Do` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `AstClone` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `AstClone` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stderr]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]     = note: this warning originates in the derive macro `AstClone` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]    --> base/src/ast.rs:428:32
[INFO] [stderr]     |
[INFO] [stderr] 428 | #[derive(Eq, PartialEq, Debug, AstClone)]
[INFO] [stderr]     |                                ^-------
[INFO] [stderr]     |                                |
[INFO] [stderr]     |                                `AstClone` is not local
[INFO] [stderr]     |                                move the `impl` block outside of this constant `_IMPL_AST_CLONE_FOR_Expr`
[INFO] [stderr] 429 | pub enum Expr<'ast, Id> {
[INFO] [stderr]     |          ---- `Expr` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `AstClone` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `AstClone` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stderr]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]     = note: this warning originates in the derive macro `AstClone` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stderr]    --> base/src/ast.rs:589:27
[INFO] [stderr]     |
[INFO] [stderr] 587 |         &'a self,
[INFO] [stderr]     |          -- the lifetime is named here
[INFO] [stderr] 588 |     ) -> impl Iterator<
[INFO] [stderr] 589 |         Item = Either<&'a ExprField<Id, ArcType<Id>>, &'a ExprField<Id, SpannedExpr<'ast, Id>>>,
[INFO] [stderr]     |                        -- ^^^^^^^^^^^^^^^^^^^^^^^^^^   -- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]     |                        |  |                            |
[INFO] [stderr]     |                        |  |                            the same lifetime is named here
[INFO] [stderr]     |                        |  the same lifetime is hidden here
[INFO] [stderr]     |                        the same lifetime is named here
[INFO] [stderr] 590 |     > + 'a {
[INFO] [stderr]     |         -- the same lifetime is named here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stderr] help: consistently use `'a`
[INFO] [stderr]     |
[INFO] [stderr] 589 |         Item = Either<&'a ExprField<'a, Id, ArcType<Id>>, &'a ExprField<'a, Id, SpannedExpr<'ast, Id>>>,
[INFO] [stderr]     |                                     +++                                 +++
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]    --> base/src/ast.rs:609:32
[INFO] [stderr]     |
[INFO] [stderr] 609 | #[derive(Eq, PartialEq, Debug, AstClone)]
[INFO] [stderr]     |                                ^-------
[INFO] [stderr]     |                                |
[INFO] [stderr]     |                                `AstClone` is not local
[INFO] [stderr]     |                                move the `impl` block outside of this constant `_IMPL_AST_CLONE_FOR_TypeBinding`
[INFO] [stderr] 610 | pub struct TypeBinding<'ast, Id> {
[INFO] [stderr]     |            ----------- `TypeBinding` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `AstClone` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `AstClone` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stderr]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]     = note: this warning originates in the derive macro `AstClone` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]    --> base/src/ast.rs:623:54
[INFO] [stderr]     |
[INFO] [stderr] 623 | #[derive(Clone, Default, Eq, PartialEq, Debug, Hash, AstClone)]
[INFO] [stderr]     |                                                      ^-------
[INFO] [stderr]     |                                                      |
[INFO] [stderr]     |                                                      `AstClone` is not local
[INFO] [stderr]     |                                                      move the `impl` block outside of this constant `_IMPL_AST_CLONE_FOR_Argument`
[INFO] [stderr] 624 | #[cfg_attr(feature = "serde_derive", derive(Deserialize, Serialize))]
[INFO] [stderr] 625 | pub struct Argument<N> {
[INFO] [stderr]     |            -------- `Argument` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `AstClone` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `AstClone` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stderr]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]     = note: this warning originates in the derive macro `AstClone` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]    --> base/src/ast.rs:646:32
[INFO] [stderr]     |
[INFO] [stderr] 646 | #[derive(Eq, PartialEq, Debug, AstClone)]
[INFO] [stderr]     |                                ^-------
[INFO] [stderr]     |                                |
[INFO] [stderr]     |                                `AstClone` is not local
[INFO] [stderr]     |                                move the `impl` block outside of this constant `_IMPL_AST_CLONE_FOR_ValueBindings`
[INFO] [stderr] 647 | pub enum ValueBindings<'ast, Id> {
[INFO] [stderr]     |          ------------- `ValueBindings` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `AstClone` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `AstClone` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stderr]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]     = note: this warning originates in the derive macro `AstClone` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]    --> base/src/ast.rs:698:32
[INFO] [stderr]     |
[INFO] [stderr] 698 | #[derive(Eq, PartialEq, Debug, AstClone)]
[INFO] [stderr]     |                                ^-------
[INFO] [stderr]     |                                |
[INFO] [stderr]     |                                `AstClone` is not local
[INFO] [stderr]     |                                move the `impl` block outside of this constant `_IMPL_AST_CLONE_FOR_ValueBinding`
[INFO] [stderr] 699 | pub struct ValueBinding<'ast, Id> {
[INFO] [stderr]     |            ------------ `ValueBinding` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `AstClone` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `AstClone` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stderr]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]     = note: this warning originates in the derive macro `AstClone` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: eliding a lifetime that's named elsewhere is confusing
[INFO] [stderr]     --> base/src/ast.rs:1258:51
[INFO] [stderr]      |
[INFO] [stderr] 1258 |               pub fn borrow(&'ast self) -> ArenaRef<'_, 'ast, Id> {
[INFO] [stderr]      |                              ----                   ^^  ---- the same lifetime is named here
[INFO] [stderr]      |                              |                      |
[INFO] [stderr]      |                              |                      the same lifetime is elided here
[INFO] [stderr]      |                              the lifetime is named here
[INFO] [stderr] ...
[INFO] [stderr] 1294 | / impl_ast_arena! {
[INFO] [stderr] 1295 | |     SpannedExpr<'ast, Id> => exprs,
[INFO] [stderr] 1296 | |     SpannedPattern<'ast, Id> => patterns,
[INFO] [stderr] 1297 | |     PatternField<'ast, Id> => pattern_field,
[INFO] [stderr] ...    |
[INFO] [stderr] 1310 | |     Metadata => metadata,
[INFO] [stderr] 1311 | | }
[INFO] [stderr]      | |_- in this macro invocation
[INFO] [stderr]      |
[INFO] [stderr]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr]      = note: this warning originates in the macro `impl_ast_arena` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] help: consistently use `'ast`
[INFO] [stderr]      |
[INFO] [stderr] 1258 -             pub fn borrow(&'ast self) -> ArenaRef<'_, 'ast, Id> {
[INFO] [stderr] 1258 +             pub fn borrow(&'ast self) -> ArenaRef<'ast, 'ast, Id> {
[INFO] [stderr]      |
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]   --> base/src/error.rs:62:17
[INFO] [stderr]    |
[INFO] [stderr] 62 |     pub fn iter(&self) -> slice::Iter<T> {
[INFO] [stderr]    |                 ^^^^^     ^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]    |                 |
[INFO] [stderr]    |                 the lifetime is elided here
[INFO] [stderr]    |
[INFO] [stderr]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]    |
[INFO] [stderr] 62 |     pub fn iter(&self) -> slice::Iter<'_, T> {
[INFO] [stderr]    |                                       +++
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> base/src/metadata.rs:55:47
[INFO] [stderr]    |
[INFO] [stderr] 55 | #[derive(Debug, Default, Eq, PartialEq, Hash, gluon_codegen::AstClone)]
[INFO] [stderr]    |                                               ^----------------------
[INFO] [stderr]    |                                               |
[INFO] [stderr]    |                                               `AstClone` is not local
[INFO] [stderr]    |                                               move the `impl` block outside of this constant `_IMPL_AST_CLONE_FOR_BaseMetadata`
[INFO] [stderr] 56 | pub struct BaseMetadata<'ast> {
[INFO] [stderr]    |            ------------ `BaseMetadata` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `gluon_codegen::AstClone` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `gluon_codegen::AstClone` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: this warning originates in the derive macro `gluon_codegen::AstClone` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]   --> base/src/scoped_map.rs:70:23
[INFO] [stderr]    |
[INFO] [stderr] 70 |     pub fn exit_scope(&mut self) -> ExitScopeIter<K, V> {
[INFO] [stderr]    |                       ^^^^^^^^^     ^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]    |                       |
[INFO] [stderr]    |                       the lifetime is elided here
[INFO] [stderr]    |
[INFO] [stderr]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]    |
[INFO] [stderr] 70 |     pub fn exit_scope(&mut self) -> ExitScopeIter<'_, K, V> {
[INFO] [stderr]    |                                                   +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> base/src/scoped_map.rs:136:18
[INFO] [stderr]     |
[INFO] [stderr] 136 |     pub fn entry(&mut self, key: K) -> Entry<K, V> {
[INFO] [stderr]     |                  ^^^^^^^^^             ^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]     |                  |
[INFO] [stderr]     |                  the lifetime is elided here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 136 |     pub fn entry(&mut self, key: K) -> Entry<'_, K, V> {
[INFO] [stderr]     |                                              +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> base/src/scoped_map.rs:236:21
[INFO] [stderr]     |
[INFO] [stderr] 236 |     pub fn iter_mut(&mut self) -> IterMut<K, Vec<V>> {
[INFO] [stderr]     |                     ^^^^^^^^^     ^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]     |                     |
[INFO] [stderr]     |                     the lifetime is elided here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 236 |     pub fn iter_mut(&mut self) -> IterMut<'_, K, Vec<V>> {
[INFO] [stderr]     |                                           +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> base/src/scoped_map.rs:240:17
[INFO] [stderr]     |
[INFO] [stderr] 240 |     pub fn iter(&self) -> Iter<K, V> {
[INFO] [stderr]     |                 ^^^^^     ^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]     |                 |
[INFO] [stderr]     |                 the lifetime is elided here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 240 |     pub fn iter(&self) -> Iter<'_, K, V> {
[INFO] [stderr]     |                                +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> base/src/source.rs:245:25
[INFO] [stderr]     |
[INFO] [stderr] 245 |     fn comments_between(&self, span: Span<BytePos>) -> CommentIter;
[INFO] [stderr]     |                         ^^^^^                          ^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]     |                         |
[INFO] [stderr]     |                         the lifetime is elided here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 245 |     fn comments_between(&self, span: Span<BytePos>) -> CommentIter<'_>;
[INFO] [stderr]     |                                                                   ++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> base/src/source.rs:298:25
[INFO] [stderr]     |
[INFO] [stderr] 298 |     fn comments_between(&self, span: Span<BytePos>) -> CommentIter {
[INFO] [stderr]     |                         ^^^^^                          ^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]     |                         |
[INFO] [stderr]     |                         the lifetime is elided here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 298 |     fn comments_between(&self, span: Span<BytePos>) -> CommentIter<'_> {
[INFO] [stderr]     |                                                                   ++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> base/src/source.rs:340:25
[INFO] [stderr]     |
[INFO] [stderr] 340 |     fn comments_between(&self, _: Span<BytePos>) -> CommentIter {
[INFO] [stderr]     |                         ^^^^^                       ^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]     |                         |
[INFO] [stderr]     |                         the lifetime is elided here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 340 |     fn comments_between(&self, _: Span<BytePos>) -> CommentIter<'_> {
[INFO] [stderr]     |                                                                ++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> base/src/symbol.rs:431:23
[INFO] [stderr]     |
[INFO] [stderr] 431 |     pub fn components(&self) -> Components {
[INFO] [stderr]     |                       ^^^^^     ^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]     |                       |
[INFO] [stderr]     |                       the lifetime is elided here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 431 |     pub fn components(&self) -> Components<'_> {
[INFO] [stderr]     |                                           ++++
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]    --> base/src/types/mod.rs:316:24
[INFO] [stderr]     |
[INFO] [stderr] 316 | #[derive(Clone, Debug, AstClone)]
[INFO] [stderr]     |                        ^-------
[INFO] [stderr]     |                        |
[INFO] [stderr]     |                        `AstClone` is not local
[INFO] [stderr]     |                        move the `impl` block outside of this constant `_IMPL_AST_CLONE_FOR_Skolem`
[INFO] [stderr] ...
[INFO] [stderr] 330 | pub struct Skolem<Id> {
[INFO] [stderr]     |            ------ `Skolem` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `AstClone` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `AstClone` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stderr]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]     = note: this warning originates in the derive macro `AstClone` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]    --> base/src/types/mod.rs:342:45
[INFO] [stderr]     |
[INFO] [stderr] 342 | #[derive(Clone, Debug, Eq, PartialEq, Hash, AstClone)]
[INFO] [stderr]     |                                             ^-------
[INFO] [stderr]     |                                             |
[INFO] [stderr]     |                                             `AstClone` is not local
[INFO] [stderr]     |                                             move the `impl` block outside of this constant `_IMPL_AST_CLONE_FOR_Generic`
[INFO] [stderr] ...
[INFO] [stderr] 356 | pub struct Generic<Id> {
[INFO] [stderr]     |            ------- `Generic` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `AstClone` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `AstClone` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stderr]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]     = note: this warning originates in the derive macro `AstClone` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]    --> base/src/types/mod.rs:371:45
[INFO] [stderr]     |
[INFO] [stderr] 371 | #[derive(Clone, Debug, Eq, PartialEq, Hash, AstClone)]
[INFO] [stderr]     |                                             ^-------
[INFO] [stderr]     |                                             |
[INFO] [stderr]     |                                             `AstClone` is not local
[INFO] [stderr]     |                                             move the `impl` block outside of this constant `_IMPL_AST_CLONE_FOR_Alias`
[INFO] [stderr] ...
[INFO] [stderr] 385 | pub struct Alias<Id, T> {
[INFO] [stderr]     |            ----- `Alias` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `AstClone` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `AstClone` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stderr]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]     = note: this warning originates in the derive macro `AstClone` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> base/src/types/mod.rs:512:16
[INFO] [stderr]     |
[INFO] [stderr] 512 |     pub fn typ(&self, interner: &mut impl TypeContext<Id, T>) -> Cow<T> {
[INFO] [stderr]     |                ^^^^^ the lifetime is elided here                 ^^^^^^ the same lifetime is hidden here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 512 |     pub fn typ(&self, interner: &mut impl TypeContext<Id, T>) -> Cow<'_, T> {
[INFO] [stderr]     |                                                                      +++
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]    --> base/src/types/mod.rs:550:17
[INFO] [stderr]     |
[INFO] [stderr] 550 | #[derive(Clone, AstClone)]
[INFO] [stderr]     |                 ^-------
[INFO] [stderr]     |                 |
[INFO] [stderr]     |                 `AstClone` is not local
[INFO] [stderr]     |                 move the `impl` block outside of this constant `_IMPL_AST_CLONE_FOR_AliasRef`
[INFO] [stderr] ...
[INFO] [stderr] 569 | pub struct AliasRef<Id, T>
[INFO] [stderr]     |            -------- `AliasRef` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `AstClone` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `AstClone` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stderr]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]     = note: this warning originates in the derive macro `AstClone` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> base/src/types/mod.rs:659:16
[INFO] [stderr]     |
[INFO] [stderr] 659 |     pub fn typ(&self, interner: &mut impl TypeContext<Id, T>) -> Cow<T> {
[INFO] [stderr]     |                ^^^^^ the lifetime is elided here                 ^^^^^^ the same lifetime is hidden here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 659 |     pub fn typ(&self, interner: &mut impl TypeContext<Id, T>) -> Cow<'_, T> {
[INFO] [stderr]     |                                                                      +++
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]    --> base/src/types/mod.rs:699:45
[INFO] [stderr]     |
[INFO] [stderr] 699 | #[derive(Clone, Debug, Eq, PartialEq, Hash, AstClone)]
[INFO] [stderr]     |                                             ^-------
[INFO] [stderr]     |                                             |
[INFO] [stderr]     |                                             `AstClone` is not local
[INFO] [stderr]     |                                             move the `impl` block outside of this constant `_IMPL_AST_CLONE_FOR_AliasData`
[INFO] [stderr] ...
[INFO] [stderr] 718 | pub struct AliasData<Id, T: TypePtr<Id = Id>> {
[INFO] [stderr]     |            --------- `AliasData` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `AstClone` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `AstClone` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stderr]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]     = note: this warning originates in the derive macro `AstClone` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]    --> base/src/types/mod.rs:824:45
[INFO] [stderr]     |
[INFO] [stderr] 824 | #[derive(Clone, Hash, Eq, PartialEq, Debug, AstClone)]
[INFO] [stderr]     |                                             ^-------
[INFO] [stderr]     |                                             |
[INFO] [stderr]     |                                             `AstClone` is not local
[INFO] [stderr]     |                                             move the `impl` block outside of this constant `_IMPL_AST_CLONE_FOR_Field`
[INFO] [stderr] ...
[INFO] [stderr] 843 | pub struct Field<FieldId, T = ArcType<FieldId>> {
[INFO] [stderr]     |            ----- `Field` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `AstClone` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `AstClone` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stderr]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]     = note: this warning originates in the derive macro `AstClone` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]    --> base/src/types/mod.rs:914:45
[INFO] [stderr]     |
[INFO] [stderr] 914 | #[derive(Clone, Debug, Eq, PartialEq, Hash, AstClone)]
[INFO] [stderr]     |                                             ^-------
[INFO] [stderr]     |                                             |
[INFO] [stderr]     |                                             `AstClone` is not local
[INFO] [stderr]     |                                             move the `impl` block outside of this constant `_IMPL_AST_CLONE_FOR_Type`
[INFO] [stderr] ...
[INFO] [stderr] 947 | pub enum Type<Id, T: TypePtr<Id = Id> = ArcType<Id>> {
[INFO] [stderr]     |          ---- `Type` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `AstClone` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `AstClone` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stderr]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]     = note: this warning originates in the derive macro `AstClone` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]     --> base/src/types/mod.rs:1327:27
[INFO] [stderr]      |
[INFO] [stderr] 1327 |     pub fn unapplied_args(&self) -> Cow<[T]>
[INFO] [stderr]      |                           ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]      |                           |
[INFO] [stderr]      |                           the lifetime is elided here
[INFO] [stderr]      |
[INFO] [stderr]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]      |
[INFO] [stderr] 1327 |     pub fn unapplied_args(&self) -> Cow<'_, [T]>
[INFO] [stderr]      |                                         +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]     --> base/src/types/mod.rs:1637:25
[INFO] [stderr]      |
[INFO] [stderr] 1637 | pub fn row_iter<T>(typ: &T) -> RowIterator<T> {
[INFO] [stderr]      |                         ^^     ^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]      |                         |
[INFO] [stderr]      |                         the lifetime is elided here
[INFO] [stderr]      |
[INFO] [stderr]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]      |
[INFO] [stderr] 1637 | pub fn row_iter<T>(typ: &T) -> RowIterator<'_, T> {
[INFO] [stderr]      |                                            +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]     --> base/src/types/mod.rs:1641:33
[INFO] [stderr]      |
[INFO] [stderr] 1641 | pub fn row_iter_mut<Id, T>(typ: &mut T) -> RowIteratorMut<Id, T> {
[INFO] [stderr]      |                                 ^^^^^^     ^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]      |                                 |
[INFO] [stderr]      |                                 the lifetime is elided here
[INFO] [stderr]      |
[INFO] [stderr]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]      |
[INFO] [stderr] 1641 | pub fn row_iter_mut<Id, T>(typ: &mut T) -> RowIteratorMut<'_, Id, T> {
[INFO] [stderr]      |                                                           +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]     --> base/src/types/mod.rs:1648:32
[INFO] [stderr]      |
[INFO] [stderr] 1648 | pub fn type_field_iter<T>(typ: &T) -> TypeFieldIterator<T> {
[INFO] [stderr]      |                                ^^     ^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]      |                                |
[INFO] [stderr]      |                                the lifetime is elided here
[INFO] [stderr]      |
[INFO] [stderr]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]      |
[INFO] [stderr] 1648 | pub fn type_field_iter<T>(typ: &T) -> TypeFieldIterator<'_, T> {
[INFO] [stderr]      |                                                         +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]     --> base/src/types/mod.rs:1738:19
[INFO] [stderr]      |
[INFO] [stderr] 1738 |     fn display<A>(&self, width: usize) -> TypeFormatter<Self::Id, Self, A>
[INFO] [stderr]      |                   ^^^^^                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]      |                   |
[INFO] [stderr]      |                   the lifetime is elided here
[INFO] [stderr]      |
[INFO] [stderr]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]      |
[INFO] [stderr] 1738 |     fn display<A>(&self, width: usize) -> TypeFormatter<'_, Self::Id, Self, A>
[INFO] [stderr]      |                                                         +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]     --> base/src/types/mod.rs:1760:24
[INFO] [stderr]      |
[INFO] [stderr] 1760 |     fn type_field_iter(&self) -> TypeFieldIterator<Self> {
[INFO] [stderr]      |                        ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]      |                        |
[INFO] [stderr]      |                        the lifetime is elided here
[INFO] [stderr]      |
[INFO] [stderr]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]      |
[INFO] [stderr] 1760 |     fn type_field_iter(&self) -> TypeFieldIterator<'_, Self> {
[INFO] [stderr]      |                                                    +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]     --> base/src/types/mod.rs:1764:17
[INFO] [stderr]      |
[INFO] [stderr] 1764 |     fn arg_iter(&self) -> ArgIterator<Self> {
[INFO] [stderr]      |                 ^^^^^     ^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]      |                 |
[INFO] [stderr]      |                 the lifetime is elided here
[INFO] [stderr]      |
[INFO] [stderr]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]      |
[INFO] [stderr] 1764 |     fn arg_iter(&self) -> ArgIterator<'_, Self> {
[INFO] [stderr]      |                                       +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]     --> base/src/types/mod.rs:1768:26
[INFO] [stderr]      |
[INFO] [stderr] 1768 |     fn implicit_arg_iter(&self) -> ImplicitArgIterator<Self> {
[INFO] [stderr]      |                          ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]      |                          |
[INFO] [stderr]      |                          the lifetime is elided here
[INFO] [stderr]      |
[INFO] [stderr]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]      |
[INFO] [stderr] 1768 |     fn implicit_arg_iter(&self) -> ImplicitArgIterator<'_, Self> {
[INFO] [stderr]      |                                                        +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]     --> base/src/types/mod.rs:1774:17
[INFO] [stderr]      |
[INFO] [stderr] 1774 |     fn row_iter(&self) -> RowIterator<Self> {
[INFO] [stderr]      |                 ^^^^^     ^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]      |                 |
[INFO] [stderr]      |                 the lifetime is elided here
[INFO] [stderr]      |
[INFO] [stderr]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]      |
[INFO] [stderr] 1774 |     fn row_iter(&self) -> RowIterator<'_, Self> {
[INFO] [stderr]      |                                       +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]     --> base/src/types/mod.rs:1858:26
[INFO] [stderr]      |
[INFO] [stderr] 1858 |     fn forall_scope_iter(&self) -> ForallScopeIter<Self> {
[INFO] [stderr]      |                          ^^^^^     ^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]      |                          |
[INFO] [stderr]      |                          the lifetime is elided here
[INFO] [stderr]      |
[INFO] [stderr]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]      |
[INFO] [stderr] 1858 |     fn forall_scope_iter(&self) -> ForallScopeIter<'_, Self> {
[INFO] [stderr]      |                                                    +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stderr]     --> base/src/types/mod.rs:2313:65
[INFO] [stderr]      |
[INFO] [stderr] 2313 | fn split_top<'a, Id, T>(self_: &'a T) -> Option<(Option<&'a T>, Cow<[T]>)>
[INFO] [stderr]      |                                 --                       --     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]      |                                 |                        |
[INFO] [stderr]      |                                 |                        the same lifetime is named here
[INFO] [stderr]      |                                 the lifetime is named here
[INFO] [stderr]      |
[INFO] [stderr]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: consistently use `'a`
[INFO] [stderr]      |
[INFO] [stderr] 2313 | fn split_top<'a, Id, T>(self_: &'a T) -> Option<(Option<&'a T>, Cow<'a, [T]>)>
[INFO] [stderr]      |                                                                     +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stderr]     --> base/src/types/mod.rs:2337:62
[INFO] [stderr]      |
[INFO] [stderr] 2337 | pub fn split_app<'a, Id, T>(self_: &'a T) -> (Option<&'a T>, Cow<[T]>)
[INFO] [stderr]      |                                     --                --     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]      |                                     |                 |
[INFO] [stderr]      |                                     |                 the same lifetime is named here
[INFO] [stderr]      |                                     the lifetime is named here
[INFO] [stderr]      |
[INFO] [stderr]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: consistently use `'a`
[INFO] [stderr]      |
[INFO] [stderr] 2337 | pub fn split_app<'a, Id, T>(self_: &'a T) -> (Option<&'a T>, Cow<'a, [T]>)
[INFO] [stderr]      |                                                                  +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]     --> base/src/types/mod.rs:2362:30
[INFO] [stderr]      |
[INFO] [stderr] 2362 | pub fn ctor_args<Id, T>(typ: &T) -> ArgIterator<T>
[INFO] [stderr]      |                              ^^     ^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]      |                              |
[INFO] [stderr]      |                              the lifetime is elided here
[INFO] [stderr]      |
[INFO] [stderr]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]      |
[INFO] [stderr] 2362 | pub fn ctor_args<Id, T>(typ: &T) -> ArgIterator<'_, T>
[INFO] [stderr]      |                                                 +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]     --> base/src/types/mod.rs:2376:29
[INFO] [stderr]      |
[INFO] [stderr] 2376 | pub fn arg_iter<Id, T>(typ: &T) -> ArgIterator<T>
[INFO] [stderr]      |                             ^^     ^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]      |                             |
[INFO] [stderr]      |                             the lifetime is elided here
[INFO] [stderr]      |
[INFO] [stderr]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]      |
[INFO] [stderr] 2376 | pub fn arg_iter<Id, T>(typ: &T) -> ArgIterator<'_, T>
[INFO] [stderr]      |                                                +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]     --> base/src/types/mod.rs:2404:38
[INFO] [stderr]      |
[INFO] [stderr] 2404 | pub fn implicit_arg_iter<Id, T>(typ: &T) -> ImplicitArgIterator<T>
[INFO] [stderr]      |                                      ^^     ^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]      |                                      |
[INFO] [stderr]      |                                      the lifetime is elided here
[INFO] [stderr]      |
[INFO] [stderr]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]      |
[INFO] [stderr] 2404 | pub fn implicit_arg_iter<Id, T>(typ: &T) -> ImplicitArgIterator<'_, T>
[INFO] [stderr]      |                                                                 +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]     --> base/src/types/mod.rs:2532:31
[INFO] [stderr]      |
[INFO] [stderr] 2532 | pub fn dt<T>(prec: Prec, typ: &T) -> DisplayType<T> {
[INFO] [stderr]      |                               ^^     ^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]      |                               |
[INFO] [stderr]      |                               the lifetime is elided here
[INFO] [stderr]      |
[INFO] [stderr]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]      |
[INFO] [stderr] 2532 | pub fn dt<T>(prec: Prec, typ: &T) -> DisplayType<'_, T> {
[INFO] [stderr]      |                                                  +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]     --> base/src/types/mod.rs:2536:16
[INFO] [stderr]      |
[INFO] [stderr] 2536 | fn top<T>(typ: &T) -> DisplayType<T> {
[INFO] [stderr]      |                ^^     ^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]      |                |
[INFO] [stderr]      |                the lifetime is elided here
[INFO] [stderr]      |
[INFO] [stderr]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]      |
[INFO] [stderr] 2536 | fn top<T>(typ: &T) -> DisplayType<'_, T> {
[INFO] [stderr]      |                                   +++
[INFO] [stderr] 
[INFO] [stderr] warning: `gluon_base` (lib) generated 54 warnings (run `cargo fix --lib -p gluon_base` to apply 30 suggestions)
[INFO] [stderr] warning: unexpected `cfg` condition value: `serde_derive`
[INFO] [stderr]  --> check/src/metadata.rs:3:7
[INFO] [stderr]   |
[INFO] [stderr] 3 | #[cfg(feature = "serde_derive")]
[INFO] [stderr]   |       ^^^^^^^^^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stderr]   |
[INFO] [stderr]   = note: no expected values for `feature`
[INFO] [stderr]   = help: consider adding `serde_derive` as a feature in `Cargo.toml`
[INFO] [stderr]   = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stderr]   = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `TypeExt` and `TypePtr`
[INFO] [stderr]  --> check/src/typ.rs:1:56
[INFO] [stderr]   |
[INFO] [stderr] 1 | pub use crate::base::types::{ArcType as RcType, Flags, TypeExt, TypePtr};
[INFO] [stderr]   |                                                        ^^^^^^^  ^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: method `has_data` is never used
[INFO] [stderr]   --> check/src/metadata.rs:25:8
[INFO] [stderr]    |
[INFO] [stderr] 22 | trait ArcMetadata: Into<Arc<Metadata>> {
[INFO] [stderr]    |       ----------- method in this trait
[INFO] [stderr] ...
[INFO] [stderr] 25 |     fn has_data(&self) -> bool;
[INFO] [stderr]    |        ^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: `gluon_check` (lib) generated 3 warnings (run `cargo fix --lib -p gluon_check` to apply 1 suggestion)
[INFO] [stderr] warning: method `produce_slice` is never used
[INFO] [stderr]    --> vm/src/core/interpreter.rs:129:8
[INFO] [stderr]     |
[INFO] [stderr] 127 | trait Resolver<'l, 'a> {
[INFO] [stderr]     |       -------- method in this trait
[INFO] [stderr] 128 |     fn produce(&self, expr: CExpr<'a>) -> CExpr<'l>;
[INFO] [stderr] 129 |     fn produce_slice(&self, expr: &'a [Expr<'a>]) -> &'l [Expr<'l>];
[INFO] [stderr]     |        ^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: field `0` is never read
[INFO] [stderr]    --> vm/src/core/mod.rs:366:32
[INFO] [stderr]     |
[INFO] [stderr] 366 |     pub struct FrozenAllocator(Arc<Allocator<'static>>);
[INFO] [stderr]     |                --------------- ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |                |
[INFO] [stderr]     |                field in this struct
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider removing this field
[INFO] [stderr]     = note: `FrozenAllocator` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> vm/src/lib.rs:90:28
[INFO] [stderr]    |
[INFO] [stderr] 90 | #[derive(Debug, PartialEq, Trace)]
[INFO] [stderr]    |                            ^----
[INFO] [stderr]    |                            |
[INFO] [stderr]    |                            `Trace` is not local
[INFO] [stderr]    |                            move the `impl` block outside of this constant `_IMPL_TRAVERSEABLE_FOR_Variants`
[INFO] [stderr] ...
[INFO] [stderr] 93 | pub struct Variants<'a>(ValueRepr, PhantomData<&'a Value>);
[INFO] [stderr]    |            -------- `Variants` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `Trace` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `Trace` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: `#[warn(non_local_definitions)]` on by default
[INFO] [stderr]    = note: this warning originates in the derive macro `Trace` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> vm/src/lib.rs:106:23
[INFO] [stderr]     |
[INFO] [stderr] 106 |     pub fn new(value: &Value) -> Variants {
[INFO] [stderr]     |                       ^^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]     |                       |
[INFO] [stderr]     |                       the lifetime is elided here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 106 |     pub fn new(value: &Value) -> Variants<'_> {
[INFO] [stderr]     |                                          ++++
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]    --> vm/src/gc.rs:313:10
[INFO] [stderr]     |
[INFO] [stderr] 313 | #[derive(Trace)]
[INFO] [stderr]     |          ^----
[INFO] [stderr]     |          |
[INFO] [stderr]     |          `Trace` is not local
[INFO] [stderr]     |          move the `impl` block outside of this constant `_IMPL_TRAVERSEABLE_FOR_Move`
[INFO] [stderr] 314 | #[gluon(gluon_vm)]
[INFO] [stderr] 315 | pub struct Move<T>(pub T);
[INFO] [stderr]     |            ---- `Move` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `Trace` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `Trace` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stderr]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]     = note: this warning originates in the derive macro `Trace` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> vm/src/gc.rs:325:33
[INFO] [stderr]     |
[INFO] [stderr] 325 |     fn initialize(self, result: WriteOnly<T>) -> &mut T {
[INFO] [stderr]     |                                 ^^^^^^^^^^^^     ^^^^^^ the same lifetime is elided here
[INFO] [stderr]     |                                 |
[INFO] [stderr]     |                                 the lifetime is hidden here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 325 |     fn initialize(self, result: WriteOnly<'_, T>) -> &mut T {
[INFO] [stderr]     |                                           +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> vm/src/gc.rs:520:33
[INFO] [stderr]     |
[INFO] [stderr] 520 |     fn initialize(self, result: WriteOnly<Self::Value>) -> &mut Self::Value {
[INFO] [stderr]     |                                 ^^^^^^^^^^^^^^^^^^^^^^     ^^^^^^^^^^^^^^^^ the same lifetime is elided here
[INFO] [stderr]     |                                 |
[INFO] [stderr]     |                                 the lifetime is hidden here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 520 |     fn initialize(self, result: WriteOnly<'_, Self::Value>) -> &mut Self::Value {
[INFO] [stderr]     |                                           +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]     --> vm/src/gc.rs:1086:9
[INFO] [stderr]      |
[INFO] [stderr] 1086 |         &mut self,
[INFO] [stderr]      |         ^^^^^^^^^ the lifetime is elided here
[INFO] [stderr] ...
[INFO] [stderr] 1089 |     ) -> Result<OwnedGcRef<D::Value>>
[INFO] [stderr]      |                 ^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]      |
[INFO] [stderr]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]      |
[INFO] [stderr] 1089 |     ) -> Result<OwnedGcRef<'_, D::Value>>
[INFO] [stderr]      |                            +++
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]     --> vm/src/gc.rs:1095:18
[INFO] [stderr]      |
[INFO] [stderr] 1095 |         #[derive(Trace)]
[INFO] [stderr]      |                  ^----
[INFO] [stderr]      |                  |
[INFO] [stderr]      |                  `Trace` is not local
[INFO] [stderr]      |                  move the `impl` block outside of this constant `_IMPL_TRAVERSEABLE_FOR_Scope1` and up 2 bodies
[INFO] [stderr] 1096 |         #[gluon(gluon_vm)]
[INFO] [stderr] 1097 |         struct Scope1<A, B>(A, B);
[INFO] [stderr]      |                ------ `Scope1` is not local
[INFO] [stderr]      |
[INFO] [stderr]      = note: the derive macro `Trace` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]      = note: the derive macro `Trace` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stderr]      = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]      = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]      = note: this warning originates in the derive macro `Trace` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]     --> vm/src/gc.rs:1116:21
[INFO] [stderr]      |
[INFO] [stderr] 1116 |     pub fn alloc<D>(&mut self, def: D) -> Result<GcRef<D::Value>>
[INFO] [stderr]      |                     ^^^^^^^^^                    ^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]      |                     |
[INFO] [stderr]      |                     the lifetime is elided here
[INFO] [stderr]      |
[INFO] [stderr]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]      |
[INFO] [stderr] 1116 |     pub fn alloc<D>(&mut self, def: D) -> Result<GcRef<'_, D::Value>>
[INFO] [stderr]      |                                                        +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]     --> vm/src/gc.rs:1124:27
[INFO] [stderr]      |
[INFO] [stderr] 1124 |     pub fn alloc_owned<D>(&mut self, def: D) -> Result<OwnedGcRef<D::Value>>
[INFO] [stderr]      |                           ^^^^^^^^^                    ^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]      |                           |
[INFO] [stderr]      |                           the lifetime is elided here
[INFO] [stderr]      |
[INFO] [stderr]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]      |
[INFO] [stderr] 1124 |     pub fn alloc_owned<D>(&mut self, def: D) -> Result<OwnedGcRef<'_, D::Value>>
[INFO] [stderr]      |                                                                   +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]     --> vm/src/gc.rs:1140:34
[INFO] [stderr]      |
[INFO] [stderr] 1140 |     pub fn alloc_ignore_limit<D>(&mut self, def: D) -> GcRef<D::Value>
[INFO] [stderr]      |                                  ^^^^^^^^^             ^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]      |                                  |
[INFO] [stderr]      |                                  the lifetime is elided here
[INFO] [stderr]      |
[INFO] [stderr]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]      |
[INFO] [stderr] 1140 |     pub fn alloc_ignore_limit<D>(&mut self, def: D) -> GcRef<'_, D::Value>
[INFO] [stderr]      |                                                              +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]     --> vm/src/gc.rs:1212:31
[INFO] [stderr]      |
[INFO] [stderr] 1212 |     fn alloc_ignore_limit_<D>(&mut self, size: usize, def: D) -> OwnedGcRef<D::Value>
[INFO] [stderr]      |                               ^^^^^^^^^                          ^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]      |                               |
[INFO] [stderr]      |                               the lifetime is elided here
[INFO] [stderr]      |
[INFO] [stderr]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]      |
[INFO] [stderr] 1212 |     fn alloc_ignore_limit_<D>(&mut self, size: usize, def: D) -> OwnedGcRef<'_, D::Value>
[INFO] [stderr]      |                                                                             +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]   --> vm/src/gc/mutex.rs:73:17
[INFO] [stderr]    |
[INFO] [stderr] 73 |     pub fn lock(&self) -> LockResult<MutexGuard<T>> {
[INFO] [stderr]    |                 ^^^^^                ^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]    |                 |
[INFO] [stderr]    |                 the lifetime is elided here
[INFO] [stderr]    |
[INFO] [stderr]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]    |
[INFO] [stderr] 73 |     pub fn lock(&self) -> LockResult<MutexGuard<'_, T>> {
[INFO] [stderr]    |                                                 +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]   --> vm/src/gc/mutex.rs:84:21
[INFO] [stderr]    |
[INFO] [stderr] 84 |     pub fn try_lock(&self) -> TryLockResult<MutexGuard<T>> {
[INFO] [stderr]    |                     ^^^^^                   ^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]    |                     |
[INFO] [stderr]    |                     the lifetime is elided here
[INFO] [stderr]    |
[INFO] [stderr]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]    |
[INFO] [stderr] 84 |     pub fn try_lock(&self) -> TryLockResult<MutexGuard<'_, T>> {
[INFO] [stderr]    |                                                        +++
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]    --> vm/src/api/mod.rs:301:10
[INFO] [stderr]     |
[INFO] [stderr] 301 | #[derive(Trace, PartialEq)]
[INFO] [stderr]     |          ^----
[INFO] [stderr]     |          |
[INFO] [stderr]     |          `Trace` is not local
[INFO] [stderr]     |          move the `impl` block outside of this constant `_IMPL_TRAVERSEABLE_FOR_Unrooted`
[INFO] [stderr] 302 | #[gluon(gluon_vm)]
[INFO] [stderr] 303 | pub(crate) struct Unrooted<T: ?Sized>(Value, PhantomData<T>);
[INFO] [stderr]     |                   -------- `Unrooted` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `Trace` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `Trace` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stderr]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]     = note: this warning originates in the derive macro `Trace` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> vm/src/api/function.rs:164:24
[INFO] [stderr]     |
[INFO] [stderr] 164 |     pub fn get_variant(&self) -> Variants {
[INFO] [stderr]     |                        ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]     |                        |
[INFO] [stderr]     |                        the lifetime is elided here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 164 |     pub fn get_variant(&self) -> Variants<'_> {
[INFO] [stderr]     |                                          ++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]   --> vm/src/api/opaque.rs:35:21
[INFO] [stderr]    |
[INFO] [stderr] 35 |     fn as_value_ref(&self) -> ValueRef;
[INFO] [stderr]    |                     ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]    |                     |
[INFO] [stderr]    |                     the lifetime is elided here
[INFO] [stderr]    |
[INFO] [stderr]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]    |
[INFO] [stderr] 35 |     fn as_value_ref(&self) -> ValueRef<'_>;
[INFO] [stderr]    |                                       ++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]   --> vm/src/api/opaque.rs:39:21
[INFO] [stderr]    |
[INFO] [stderr] 39 |     fn as_value_ref(&self) -> ValueRef {
[INFO] [stderr]    |                     ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]    |                     |
[INFO] [stderr]    |                     the lifetime is elided here
[INFO] [stderr]    |
[INFO] [stderr]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]    |
[INFO] [stderr] 39 |     fn as_value_ref(&self) -> ValueRef<'_> {
[INFO] [stderr]    |                                       ++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]   --> vm/src/api/opaque.rs:47:21
[INFO] [stderr]    |
[INFO] [stderr] 47 |     fn as_value_ref(&self) -> ValueRef {
[INFO] [stderr]    |                     ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]    |                     |
[INFO] [stderr]    |                     the lifetime is elided here
[INFO] [stderr]    |
[INFO] [stderr]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]    |
[INFO] [stderr] 47 |     fn as_value_ref(&self) -> ValueRef<'_> {
[INFO] [stderr]    |                                       ++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> vm/src/api/scoped.rs:157:18
[INFO] [stderr]     |
[INFO] [stderr] 157 |     pub fn write(&self) -> Result<WriteGuard<T>> {
[INFO] [stderr]     |                  ^^^^^            ^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]     |                  |
[INFO] [stderr]     |                  the lifetime is elided here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 157 |     pub fn write(&self) -> Result<WriteGuard<'_, T>> {
[INFO] [stderr]     |                                              +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> vm/src/api/scoped.rs:167:17
[INFO] [stderr]     |
[INFO] [stderr] 167 |     pub fn read(&self) -> Result<ReadGuard<T>> {
[INFO] [stderr]     |                 ^^^^^            ^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]     |                 |
[INFO] [stderr]     |                 the lifetime is elided here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 167 |     pub fn read(&self) -> Result<ReadGuard<'_, T>> {
[INFO] [stderr]     |                                            +++
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]    --> vm/src/api/mod.rs:344:53
[INFO] [stderr]     |
[INFO] [stderr] 344 |             #[derive(Clone, Copy, PartialEq, Debug, Trace)]
[INFO] [stderr]     |                                                     ^----
[INFO] [stderr]     |                                                     |
[INFO] [stderr]     |                                                     `Trace` is not local
[INFO] [stderr]     |                                                     move the `impl` block outside of this constant `_IMPL_TRAVERSEABLE_FOR_A`
[INFO] [stderr] ...
[INFO] [stderr] 360 |     make_generics! {A B C D E F G H I J K L M N O P Q R S T U V X Y Z}
[INFO] [stderr]     |     ------------------------------------------------------------------
[INFO] [stderr]     |     |               |
[INFO] [stderr]     |     |               `A` is not local
[INFO] [stderr]     |     in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `Trace` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `Trace` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stderr]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]     = note: this warning originates in the derive macro `Trace` which comes from the expansion of the macro `make_generics` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]    --> vm/src/api/mod.rs:344:53
[INFO] [stderr]     |
[INFO] [stderr] 344 |             #[derive(Clone, Copy, PartialEq, Debug, Trace)]
[INFO] [stderr]     |                                                     ^----
[INFO] [stderr]     |                                                     |
[INFO] [stderr]     |                                                     `Trace` is not local
[INFO] [stderr]     |                                                     move the `impl` block outside of this constant `_IMPL_TRAVERSEABLE_FOR_B`
[INFO] [stderr] ...
[INFO] [stderr] 360 |     make_generics! {A B C D E F G H I J K L M N O P Q R S T U V X Y Z}
[INFO] [stderr]     |     ------------------------------------------------------------------
[INFO] [stderr]     |     |                 |
[INFO] [stderr]     |     |                 `B` is not local
[INFO] [stderr]     |     in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `Trace` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `Trace` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stderr]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]     = note: this warning originates in the derive macro `Trace` which comes from the expansion of the macro `make_generics` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]    --> vm/src/api/mod.rs:344:53
[INFO] [stderr]     |
[INFO] [stderr] 344 |             #[derive(Clone, Copy, PartialEq, Debug, Trace)]
[INFO] [stderr]     |                                                     ^----
[INFO] [stderr]     |                                                     |
[INFO] [stderr]     |                                                     `Trace` is not local
[INFO] [stderr]     |                                                     move the `impl` block outside of this constant `_IMPL_TRAVERSEABLE_FOR_C`
[INFO] [stderr] ...
[INFO] [stderr] 360 |     make_generics! {A B C D E F G H I J K L M N O P Q R S T U V X Y Z}
[INFO] [stderr]     |     ------------------------------------------------------------------
[INFO] [stderr]     |     |                   |
[INFO] [stderr]     |     |                   `C` is not local
[INFO] [stderr]     |     in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `Trace` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `Trace` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stderr]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]     = note: this warning originates in the derive macro `Trace` which comes from the expansion of the macro `make_generics` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]    --> vm/src/api/mod.rs:344:53
[INFO] [stderr]     |
[INFO] [stderr] 344 |             #[derive(Clone, Copy, PartialEq, Debug, Trace)]
[INFO] [stderr]     |                                                     ^----
[INFO] [stderr]     |                                                     |
[INFO] [stderr]     |                                                     `Trace` is not local
[INFO] [stderr]     |                                                     move the `impl` block outside of this constant `_IMPL_TRAVERSEABLE_FOR_D`
[INFO] [stderr] ...
[INFO] [stderr] 360 |     make_generics! {A B C D E F G H I J K L M N O P Q R S T U V X Y Z}
[INFO] [stderr]     |     ------------------------------------------------------------------
[INFO] [stderr]     |     |                     |
[INFO] [stderr]     |     |                     `D` is not local
[INFO] [stderr]     |     in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `Trace` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `Trace` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stderr]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]     = note: this warning originates in the derive macro `Trace` which comes from the expansion of the macro `make_generics` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]    --> vm/src/api/mod.rs:344:53
[INFO] [stderr]     |
[INFO] [stderr] 344 |             #[derive(Clone, Copy, PartialEq, Debug, Trace)]
[INFO] [stderr]     |                                                     ^----
[INFO] [stderr]     |                                                     |
[INFO] [stderr]     |                                                     `Trace` is not local
[INFO] [stderr]     |                                                     move the `impl` block outside of this constant `_IMPL_TRAVERSEABLE_FOR_E`
[INFO] [stderr] ...
[INFO] [stderr] 360 |     make_generics! {A B C D E F G H I J K L M N O P Q R S T U V X Y Z}
[INFO] [stderr]     |     ------------------------------------------------------------------
[INFO] [stderr]     |     |                       |
[INFO] [stderr]     |     |                       `E` is not local
[INFO] [stderr]     |     in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `Trace` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `Trace` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stderr]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]     = note: this warning originates in the derive macro `Trace` which comes from the expansion of the macro `make_generics` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]    --> vm/src/api/mod.rs:344:53
[INFO] [stderr]     |
[INFO] [stderr] 344 |             #[derive(Clone, Copy, PartialEq, Debug, Trace)]
[INFO] [stderr]     |                                                     ^----
[INFO] [stderr]     |                                                     |
[INFO] [stderr]     |                                                     `Trace` is not local
[INFO] [stderr]     |                                                     move the `impl` block outside of this constant `_IMPL_TRAVERSEABLE_FOR_F`
[INFO] [stderr] ...
[INFO] [stderr] 360 |     make_generics! {A B C D E F G H I J K L M N O P Q R S T U V X Y Z}
[INFO] [stderr]     |     ------------------------------------------------------------------
[INFO] [stderr]     |     |                         |
[INFO] [stderr]     |     |                         `F` is not local
[INFO] [stderr]     |     in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `Trace` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `Trace` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stderr]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]     = note: this warning originates in the derive macro `Trace` which comes from the expansion of the macro `make_generics` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]    --> vm/src/api/mod.rs:344:53
[INFO] [stderr]     |
[INFO] [stderr] 344 |             #[derive(Clone, Copy, PartialEq, Debug, Trace)]
[INFO] [stderr]     |                                                     ^----
[INFO] [stderr]     |                                                     |
[INFO] [stderr]     |                                                     `Trace` is not local
[INFO] [stderr]     |                                                     move the `impl` block outside of this constant `_IMPL_TRAVERSEABLE_FOR_G`
[INFO] [stderr] ...
[INFO] [stderr] 360 |     make_generics! {A B C D E F G H I J K L M N O P Q R S T U V X Y Z}
[INFO] [stderr]     |     ------------------------------------------------------------------
[INFO] [stderr]     |     |                           |
[INFO] [stderr]     |     |                           `G` is not local
[INFO] [stderr]     |     in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `Trace` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `Trace` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stderr]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]     = note: this warning originates in the derive macro `Trace` which comes from the expansion of the macro `make_generics` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]    --> vm/src/api/mod.rs:344:53
[INFO] [stderr]     |
[INFO] [stderr] 344 |             #[derive(Clone, Copy, PartialEq, Debug, Trace)]
[INFO] [stderr]     |                                                     ^----
[INFO] [stderr]     |                                                     |
[INFO] [stderr]     |                                                     `Trace` is not local
[INFO] [stderr]     |                                                     move the `impl` block outside of this constant `_IMPL_TRAVERSEABLE_FOR_H`
[INFO] [stderr] ...
[INFO] [stderr] 360 |     make_generics! {A B C D E F G H I J K L M N O P Q R S T U V X Y Z}
[INFO] [stderr]     |     ------------------------------------------------------------------
[INFO] [stderr]     |     |                             |
[INFO] [stderr]     |     |                             `H` is not local
[INFO] [stderr]     |     in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `Trace` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `Trace` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stderr]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]     = note: this warning originates in the derive macro `Trace` which comes from the expansion of the macro `make_generics` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]    --> vm/src/api/mod.rs:344:53
[INFO] [stderr]     |
[INFO] [stderr] 344 |             #[derive(Clone, Copy, PartialEq, Debug, Trace)]
[INFO] [stderr]     |                                                     ^----
[INFO] [stderr]     |                                                     |
[INFO] [stderr]     |                                                     `Trace` is not local
[INFO] [stderr]     |                                                     move the `impl` block outside of this constant `_IMPL_TRAVERSEABLE_FOR_I`
[INFO] [stderr] ...
[INFO] [stderr] 360 |     make_generics! {A B C D E F G H I J K L M N O P Q R S T U V X Y Z}
[INFO] [stderr]     |     ------------------------------------------------------------------
[INFO] [stderr]     |     |                               |
[INFO] [stderr]     |     |                               `I` is not local
[INFO] [stderr]     |     in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `Trace` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `Trace` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stderr]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]     = note: this warning originates in the derive macro `Trace` which comes from the expansion of the macro `make_generics` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]    --> vm/src/api/mod.rs:344:53
[INFO] [stderr]     |
[INFO] [stderr] 344 |             #[derive(Clone, Copy, PartialEq, Debug, Trace)]
[INFO] [stderr]     |                                                     ^----
[INFO] [stderr]     |                                                     |
[INFO] [stderr]     |                                                     `Trace` is not local
[INFO] [stderr]     |                                                     move the `impl` block outside of this constant `_IMPL_TRAVERSEABLE_FOR_J`
[INFO] [stderr] ...
[INFO] [stderr] 360 |     make_generics! {A B C D E F G H I J K L M N O P Q R S T U V X Y Z}
[INFO] [stderr]     |     ------------------------------------------------------------------
[INFO] [stderr]     |     |                                 |
[INFO] [stderr]     |     |                                 `J` is not local
[INFO] [stderr]     |     in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `Trace` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `Trace` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stderr]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]     = note: this warning originates in the derive macro `Trace` which comes from the expansion of the macro `make_generics` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]    --> vm/src/api/mod.rs:344:53
[INFO] [stderr]     |
[INFO] [stderr] 344 |             #[derive(Clone, Copy, PartialEq, Debug, Trace)]
[INFO] [stderr]     |                                                     ^----
[INFO] [stderr]     |                                                     |
[INFO] [stderr]     |                                                     `Trace` is not local
[INFO] [stderr]     |                                                     move the `impl` block outside of this constant `_IMPL_TRAVERSEABLE_FOR_K`
[INFO] [stderr] ...
[INFO] [stderr] 360 |     make_generics! {A B C D E F G H I J K L M N O P Q R S T U V X Y Z}
[INFO] [stderr]     |     ------------------------------------------------------------------
[INFO] [stderr]     |     |                                   |
[INFO] [stderr]     |     |                                   `K` is not local
[INFO] [stderr]     |     in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `Trace` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `Trace` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stderr]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]     = note: this warning originates in the derive macro `Trace` which comes from the expansion of the macro `make_generics` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]    --> vm/src/api/mod.rs:344:53
[INFO] [stderr]     |
[INFO] [stderr] 344 |             #[derive(Clone, Copy, PartialEq, Debug, Trace)]
[INFO] [stderr]     |                                                     ^----
[INFO] [stderr]     |                                                     |
[INFO] [stderr]     |                                                     `Trace` is not local
[INFO] [stderr]     |                                                     move the `impl` block outside of this constant `_IMPL_TRAVERSEABLE_FOR_L`
[INFO] [stderr] ...
[INFO] [stderr] 360 |     make_generics! {A B C D E F G H I J K L M N O P Q R S T U V X Y Z}
[INFO] [stderr]     |     ------------------------------------------------------------------
[INFO] [stderr]     |     |                                     |
[INFO] [stderr]     |     |                                     `L` is not local
[INFO] [stderr]     |     in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `Trace` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `Trace` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stderr]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]     = note: this warning originates in the derive macro `Trace` which comes from the expansion of the macro `make_generics` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]    --> vm/src/api/mod.rs:344:53
[INFO] [stderr]     |
[INFO] [stderr] 344 |             #[derive(Clone, Copy, PartialEq, Debug, Trace)]
[INFO] [stderr]     |                                                     ^----
[INFO] [stderr]     |                                                     |
[INFO] [stderr]     |                                                     `Trace` is not local
[INFO] [stderr]     |                                                     move the `impl` block outside of this constant `_IMPL_TRAVERSEABLE_FOR_M`
[INFO] [stderr] ...
[INFO] [stderr] 360 |     make_generics! {A B C D E F G H I J K L M N O P Q R S T U V X Y Z}
[INFO] [stderr]     |     ------------------------------------------------------------------
[INFO] [stderr]     |     |                                       |
[INFO] [stderr]     |     |                                       `M` is not local
[INFO] [stderr]     |     in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `Trace` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `Trace` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stderr]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]     = note: this warning originates in the derive macro `Trace` which comes from the expansion of the macro `make_generics` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]    --> vm/src/api/mod.rs:344:53
[INFO] [stderr]     |
[INFO] [stderr] 344 |             #[derive(Clone, Copy, PartialEq, Debug, Trace)]
[INFO] [stderr]     |                                                     ^----
[INFO] [stderr]     |                                                     |
[INFO] [stderr]     |                                                     `Trace` is not local
[INFO] [stderr]     |                                                     move the `impl` block outside of this constant `_IMPL_TRAVERSEABLE_FOR_N`
[INFO] [stderr] ...
[INFO] [stderr] 360 |     make_generics! {A B C D E F G H I J K L M N O P Q R S T U V X Y Z}
[INFO] [stderr]     |     ------------------------------------------------------------------
[INFO] [stderr]     |     |                                         |
[INFO] [stderr]     |     |                                         `N` is not local
[INFO] [stderr]     |     in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `Trace` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `Trace` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stderr]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]     = note: this warning originates in the derive macro `Trace` which comes from the expansion of the macro `make_generics` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]    --> vm/src/api/mod.rs:344:53
[INFO] [stderr]     |
[INFO] [stderr] 344 |             #[derive(Clone, Copy, PartialEq, Debug, Trace)]
[INFO] [stderr]     |                                                     ^----
[INFO] [stderr]     |                                                     |
[INFO] [stderr]     |                                                     `Trace` is not local
[INFO] [stderr]     |                                                     move the `impl` block outside of this constant `_IMPL_TRAVERSEABLE_FOR_O`
[INFO] [stderr] ...
[INFO] [stderr] 360 |     make_generics! {A B C D E F G H I J K L M N O P Q R S T U V X Y Z}
[INFO] [stderr]     |     ------------------------------------------------------------------
[INFO] [stderr]     |     |                                           |
[INFO] [stderr]     |     |                                           `O` is not local
[INFO] [stderr]     |     in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `Trace` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `Trace` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stderr]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]     = note: this warning originates in the derive macro `Trace` which comes from the expansion of the macro `make_generics` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]    --> vm/src/api/mod.rs:344:53
[INFO] [stderr]     |
[INFO] [stderr] 344 |             #[derive(Clone, Copy, PartialEq, Debug, Trace)]
[INFO] [stderr]     |                                                     ^----
[INFO] [stderr]     |                                                     |
[INFO] [stderr]     |                                                     `Trace` is not local
[INFO] [stderr]     |                                                     move the `impl` block outside of this constant `_IMPL_TRAVERSEABLE_FOR_P`
[INFO] [stderr] ...
[INFO] [stderr] 360 |     make_generics! {A B C D E F G H I J K L M N O P Q R S T U V X Y Z}
[INFO] [stderr]     |     ------------------------------------------------------------------
[INFO] [stderr]     |     |                                             |
[INFO] [stderr]     |     |                                             `P` is not local
[INFO] [stderr]     |     in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `Trace` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `Trace` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stderr]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]     = note: this warning originates in the derive macro `Trace` which comes from the expansion of the macro `make_generics` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]    --> vm/src/api/mod.rs:344:53
[INFO] [stderr]     |
[INFO] [stderr] 344 |             #[derive(Clone, Copy, PartialEq, Debug, Trace)]
[INFO] [stderr]     |                                                     ^----
[INFO] [stderr]     |                                                     |
[INFO] [stderr]     |                                                     `Trace` is not local
[INFO] [stderr]     |                                                     move the `impl` block outside of this constant `_IMPL_TRAVERSEABLE_FOR_Q`
[INFO] [stderr] ...
[INFO] [stderr] 360 |     make_generics! {A B C D E F G H I J K L M N O P Q R S T U V X Y Z}
[INFO] [stderr]     |     ------------------------------------------------------------------
[INFO] [stderr]     |     |                                               |
[INFO] [stderr]     |     |                                               `Q` is not local
[INFO] [stderr]     |     in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `Trace` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `Trace` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stderr]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]     = note: this warning originates in the derive macro `Trace` which comes from the expansion of the macro `make_generics` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]    --> vm/src/api/mod.rs:344:53
[INFO] [stderr]     |
[INFO] [stderr] 344 |             #[derive(Clone, Copy, PartialEq, Debug, Trace)]
[INFO] [stderr]     |                                                     ^----
[INFO] [stderr]     |                                                     |
[INFO] [stderr]     |                                                     `Trace` is not local
[INFO] [stderr]     |                                                     move the `impl` block outside of this constant `_IMPL_TRAVERSEABLE_FOR_R`
[INFO] [stderr] ...
[INFO] [stderr] 360 |     make_generics! {A B C D E F G H I J K L M N O P Q R S T U V X Y Z}
[INFO] [stderr]     |     ------------------------------------------------------------------
[INFO] [stderr]     |     |                                                 |
[INFO] [stderr]     |     |                                                 `R` is not local
[INFO] [stderr]     |     in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `Trace` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `Trace` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stderr]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]     = note: this warning originates in the derive macro `Trace` which comes from the expansion of the macro `make_generics` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]    --> vm/src/api/mod.rs:344:53
[INFO] [stderr]     |
[INFO] [stderr] 344 |             #[derive(Clone, Copy, PartialEq, Debug, Trace)]
[INFO] [stderr]     |                                                     ^----
[INFO] [stderr]     |                                                     |
[INFO] [stderr]     |                                                     `Trace` is not local
[INFO] [stderr]     |                                                     move the `impl` block outside of this constant `_IMPL_TRAVERSEABLE_FOR_S`
[INFO] [stderr] ...
[INFO] [stderr] 360 |     make_generics! {A B C D E F G H I J K L M N O P Q R S T U V X Y Z}
[INFO] [stderr]     |     ------------------------------------------------------------------
[INFO] [stderr]     |     |                                                   |
[INFO] [stderr]     |     |                                                   `S` is not local
[INFO] [stderr]     |     in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `Trace` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `Trace` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stderr]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]     = note: this warning originates in the derive macro `Trace` which comes from the expansion of the macro `make_generics` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]    --> vm/src/api/mod.rs:344:53
[INFO] [stderr]     |
[INFO] [stderr] 344 |             #[derive(Clone, Copy, PartialEq, Debug, Trace)]
[INFO] [stderr]     |                                                     ^----
[INFO] [stderr]     |                                                     |
[INFO] [stderr]     |                                                     `Trace` is not local
[INFO] [stderr]     |                                                     move the `impl` block outside of this constant `_IMPL_TRAVERSEABLE_FOR_T`
[INFO] [stderr] ...
[INFO] [stderr] 360 |     make_generics! {A B C D E F G H I J K L M N O P Q R S T U V X Y Z}
[INFO] [stderr]     |     ------------------------------------------------------------------
[INFO] [stderr]     |     |                                                     |
[INFO] [stderr]     |     |                                                     `T` is not local
[INFO] [stderr]     |     in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `Trace` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `Trace` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stderr]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]     = note: this warning originates in the derive macro `Trace` which comes from the expansion of the macro `make_generics` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]    --> vm/src/api/mod.rs:344:53
[INFO] [stderr]     |
[INFO] [stderr] 344 |             #[derive(Clone, Copy, PartialEq, Debug, Trace)]
[INFO] [stderr]     |                                                     ^----
[INFO] [stderr]     |                                                     |
[INFO] [stderr]     |                                                     `Trace` is not local
[INFO] [stderr]     |                                                     move the `impl` block outside of this constant `_IMPL_TRAVERSEABLE_FOR_U`
[INFO] [stderr] ...
[INFO] [stderr] 360 |     make_generics! {A B C D E F G H I J K L M N O P Q R S T U V X Y Z}
[INFO] [stderr]     |     ------------------------------------------------------------------
[INFO] [stderr]     |     |                                                       |
[INFO] [stderr]     |     |                                                       `U` is not local
[INFO] [stderr]     |     in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `Trace` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `Trace` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stderr]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]     = note: this warning originates in the derive macro `Trace` which comes from the expansion of the macro `make_generics` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]    --> vm/src/api/mod.rs:344:53
[INFO] [stderr]     |
[INFO] [stderr] 344 |             #[derive(Clone, Copy, PartialEq, Debug, Trace)]
[INFO] [stderr]     |                                                     ^----
[INFO] [stderr]     |                                                     |
[INFO] [stderr]     |                                                     `Trace` is not local
[INFO] [stderr]     |                                                     move the `impl` block outside of this constant `_IMPL_TRAVERSEABLE_FOR_V`
[INFO] [stderr] ...
[INFO] [stderr] 360 |     make_generics! {A B C D E F G H I J K L M N O P Q R S T U V X Y Z}
[INFO] [stderr]     |     ------------------------------------------------------------------
[INFO] [stderr]     |     |                                                         |
[INFO] [stderr]     |     |                                                         `V` is not local
[INFO] [stderr]     |     in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `Trace` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `Trace` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stderr]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]     = note: this warning originates in the derive macro `Trace` which comes from the expansion of the macro `make_generics` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]    --> vm/src/api/mod.rs:344:53
[INFO] [stderr]     |
[INFO] [stderr] 344 |             #[derive(Clone, Copy, PartialEq, Debug, Trace)]
[INFO] [stderr]     |                                                     ^----
[INFO] [stderr]     |                                                     |
[INFO] [stderr]     |                                                     `Trace` is not local
[INFO] [stderr]     |                                                     move the `impl` block outside of this constant `_IMPL_TRAVERSEABLE_FOR_X`
[INFO] [stderr] ...
[INFO] [stderr] 360 |     make_generics! {A B C D E F G H I J K L M N O P Q R S T U V X Y Z}
[INFO] [stderr]     |     ------------------------------------------------------------------
[INFO] [stderr]     |     |                                                           |
[INFO] [stderr]     |     |                                                           `X` is not local
[INFO] [stderr]     |     in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `Trace` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `Trace` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stderr]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]     = note: this warning originates in the derive macro `Trace` which comes from the expansion of the macro `make_generics` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]    --> vm/src/api/mod.rs:344:53
[INFO] [stderr]     |
[INFO] [stderr] 344 |             #[derive(Clone, Copy, PartialEq, Debug, Trace)]
[INFO] [stderr]     |                                                     ^----
[INFO] [stderr]     |                                                     |
[INFO] [stderr]     |                                                     `Trace` is not local
[INFO] [stderr]     |                                                     move the `impl` block outside of this constant `_IMPL_TRAVERSEABLE_FOR_Y`
[INFO] [stderr] ...
[INFO] [stderr] 360 |     make_generics! {A B C D E F G H I J K L M N O P Q R S T U V X Y Z}
[INFO] [stderr]     |     ------------------------------------------------------------------
[INFO] [stderr]     |     |                                                             |
[INFO] [stderr]     |     |                                                             `Y` is not local
[INFO] [stderr]     |     in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `Trace` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `Trace` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stderr]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]     = note: this warning originates in the derive macro `Trace` which comes from the expansion of the macro `make_generics` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]    --> vm/src/api/mod.rs:344:53
[INFO] [stderr]     |
[INFO] [stderr] 344 |             #[derive(Clone, Copy, PartialEq, Debug, Trace)]
[INFO] [stderr]     |                                                     ^----
[INFO] [stderr]     |                                                     |
[INFO] [stderr]     |                                                     `Trace` is not local
[INFO] [stderr]     |                                                     move the `impl` block outside of this constant `_IMPL_TRAVERSEABLE_FOR_Z`
[INFO] [stderr] ...
[INFO] [stderr] 360 |     make_generics! {A B C D E F G H I J K L M N O P Q R S T U V X Y Z}
[INFO] [stderr]     |     ------------------------------------------------------------------
[INFO] [stderr]     |     |                                                               |
[INFO] [stderr]     |     |                                                               `Z` is not local
[INFO] [stderr]     |     in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `Trace` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `Trace` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stderr]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]     = note: this warning originates in the derive macro `Trace` which comes from the expansion of the macro `make_generics` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> vm/src/core/interpreter.rs:332:15
[INFO] [stderr]     |
[INFO] [stderr] 332 |     fn as_ref(&self) -> &Expr {
[INFO] [stderr]     |               ^^^^^     ^^^^^
[INFO] [stderr]     |               |         ||
[INFO] [stderr]     |               |         |the same lifetime is hidden here
[INFO] [stderr]     |               |         the same lifetime is elided here
[INFO] [stderr]     |               the lifetime is elided here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 332 |     fn as_ref(&self) -> &Expr<'_> {
[INFO] [stderr]     |                              ++++
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]    --> vm/src/macros.rs:335:10
[INFO] [stderr]     |
[INFO] [stderr] 335 | #[derive(Trace, Default)]
[INFO] [stderr]     |          ^----
[INFO] [stderr]     |          |
[INFO] [stderr]     |          `Trace` is not local
[INFO] [stderr]     |          move the `impl` block outside of this constant `_IMPL_TRAVERSEABLE_FOR_MacroEnv`
[INFO] [stderr] 336 | #[gluon(gluon_vm)]
[INFO] [stderr] 337 | pub struct MacroEnv {
[INFO] [stderr]     |            -------- `MacroEnv` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `Trace` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `Trace` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stderr]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]     = note: this warning originates in the derive macro `Trace` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]    --> vm/src/primitives.rs:710:10
[INFO] [stderr]     |
[INFO] [stderr] 710 | #[derive(Pushable, VmType)]
[INFO] [stderr]     |          ^-------
[INFO] [stderr]     |          |
[INFO] [stderr]     |          `Pushable` is not local
[INFO] [stderr]     |          move the `impl` block outside of this constant `_IMPL_PUSHABLE_FOR_Component`
[INFO] [stderr] ...
[INFO] [stderr] 713 | pub enum Component<'a> {
[INFO] [stderr]     |          --------- `Component` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `Pushable` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `Pushable` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stderr]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]     = note: this warning originates in the derive macro `Pushable` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]    --> vm/src/primitives.rs:710:20
[INFO] [stderr]     |
[INFO] [stderr] 710 | #[derive(Pushable, VmType)]
[INFO] [stderr]     |                    ^-----
[INFO] [stderr]     |                    |
[INFO] [stderr]     |                    `VmType` is not local
[INFO] [stderr]     |                    move the `impl` block outside of this constant `_IMPL_VM_TYPE_FOR_Component`
[INFO] [stderr] ...
[INFO] [stderr] 713 | pub enum Component<'a> {
[INFO] [stderr]     |          --------- `Component` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `VmType` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `VmType` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stderr]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]     = note: this warning originates in the derive macro `VmType` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]    --> vm/src/primitives.rs:721:10
[INFO] [stderr]     |
[INFO] [stderr] 721 | #[derive(Userdata, Debug, VmType)]
[INFO] [stderr]     |          ^-------
[INFO] [stderr]     |          |
[INFO] [stderr]     |          `Userdata` is not local
[INFO] [stderr]     |          move the `impl` block outside of this constant `_IMPL_USERDATA_FOR_Metadata`
[INFO] [stderr] ...
[INFO] [stderr] 724 | pub struct Metadata(fs::Metadata);
[INFO] [stderr]     |            -------- `Metadata` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `Userdata` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `Userdata` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stderr]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]     = note: this warning originates in the derive macro `Userdata` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]    --> vm/src/primitives.rs:721:27
[INFO] [stderr]     |
[INFO] [stderr] 721 | #[derive(Userdata, Debug, VmType)]
[INFO] [stderr]     |                           ^-----
[INFO] [stderr]     |                           |
[INFO] [stderr]     |                           `VmType` is not local
[INFO] [stderr]     |                           move the `impl` block outside of this constant `_IMPL_VM_TYPE_FOR_Metadata`
[INFO] [stderr] ...
[INFO] [stderr] 724 | pub struct Metadata(fs::Metadata);
[INFO] [stderr]     |            -------- `Metadata` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `VmType` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `VmType` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stderr]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]     = note: this warning originates in the derive macro `VmType` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]    --> vm/src/primitives.rs:730:10
[INFO] [stderr]     |
[INFO] [stderr] 730 | #[derive(Userdata, Debug, VmType)]
[INFO] [stderr]     |          ^-------
[INFO] [stderr]     |          |
[INFO] [stderr]     |          `Userdata` is not local
[INFO] [stderr]     |          move the `impl` block outside of this constant `_IMPL_USERDATA_FOR_DirEntry`
[INFO] [stderr] ...
[INFO] [stderr] 733 | pub struct DirEntry(fs::DirEntry);
[INFO] [stderr]     |            -------- `DirEntry` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `Userdata` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `Userdata` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stderr]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]     = note: this warning originates in the derive macro `Userdata` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]    --> vm/src/primitives.rs:730:27
[INFO] [stderr]     |
[INFO] [stderr] 730 | #[derive(Userdata, Debug, VmType)]
[INFO] [stderr]     |                           ^-----
[INFO] [stderr]     |                           |
[INFO] [stderr]     |                           `VmType` is not local
[INFO] [stderr]     |                           move the `impl` block outside of this constant `_IMPL_VM_TYPE_FOR_DirEntry`
[INFO] [stderr] ...
[INFO] [stderr] 733 | pub struct DirEntry(fs::DirEntry);
[INFO] [stderr]     |            -------- `DirEntry` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `VmType` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `VmType` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stderr]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]     = note: this warning originates in the derive macro `VmType` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]    --> vm/src/primitives.rs:863:26
[INFO] [stderr]     |
[INFO] [stderr] 863 | #[derive(Debug, Default, VmType, Userdata, Trace)]
[INFO] [stderr]     |                          ^-----
[INFO] [stderr]     |                          |
[INFO] [stderr]     |                          `VmType` is not local
[INFO] [stderr]     |                          move the `impl` block outside of this constant `_IMPL_VM_TYPE_FOR_StringBuf`
[INFO] [stderr] ...
[INFO] [stderr] 866 | pub(crate) struct StringBuf<S>(Mutex<String>, PhantomData<S>);
[INFO] [stderr]     |                   --------- `StringBuf` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `VmType` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `VmType` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stderr]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]     = note: this warning originates in the derive macro `VmType` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]    --> vm/src/primitives.rs:863:34
[INFO] [stderr]     |
[INFO] [stderr] 863 | #[derive(Debug, Default, VmType, Userdata, Trace)]
[INFO] [stderr]     |                                  ^-------
[INFO] [stderr]     |                                  |
[INFO] [stderr]     |                                  `Userdata` is not local
[INFO] [stderr]     |                                  move the `impl` block outside of this constant `_IMPL_USERDATA_FOR_StringBuf`
[INFO] [stderr] ...
[INFO] [stderr] 866 | pub(crate) struct StringBuf<S>(Mutex<String>, PhantomData<S>);
[INFO] [stderr]     |                   --------- `StringBuf` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `Userdata` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `Userdata` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stderr]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]     = note: this warning originates in the derive macro `Userdata` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]    --> vm/src/primitives.rs:863:44
[INFO] [stderr]     |
[INFO] [stderr] 863 | #[derive(Debug, Default, VmType, Userdata, Trace)]
[INFO] [stderr]     |                                            ^----
[INFO] [stderr]     |                                            |
[INFO] [stderr]     |                                            `Trace` is not local
[INFO] [stderr]     |                                            move the `impl` block outside of this constant `_IMPL_TRAVERSEABLE_FOR_StringBuf`
[INFO] [stderr] ...
[INFO] [stderr] 866 | pub(crate) struct StringBuf<S>(Mutex<String>, PhantomData<S>);
[INFO] [stderr]     |                   --------- `StringBuf` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `Trace` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `Trace` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stderr]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]     = note: this warning originates in the derive macro `Trace` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> vm/src/primitives.rs:68:18
[INFO] [stderr]    |
[INFO] [stderr] 68 |         #[derive(Trace)]
[INFO] [stderr]    |                  ^----
[INFO] [stderr]    |                  |
[INFO] [stderr]    |                  `Trace` is not local
[INFO] [stderr]    |                  move the `impl` block outside of this constant `_IMPL_TRAVERSEABLE_FOR_Slice` and up 2 bodies
[INFO] [stderr] 69 |         #[gluon(gluon_vm)]
[INFO] [stderr] 70 |         struct Slice<'a> {
[INFO] [stderr]    |                ----- `Slice` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `Trace` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `Trace` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: this warning originates in the derive macro `Trace` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]    --> vm/src/primitives.rs:117:18
[INFO] [stderr]     |
[INFO] [stderr] 117 |         #[derive(Trace)]
[INFO] [stderr]     |                  ^----
[INFO] [stderr]     |                  |
[INFO] [stderr]     |                  `Trace` is not local
[INFO] [stderr]     |                  move the `impl` block outside of this constant `_IMPL_TRAVERSEABLE_FOR_Append` and up 2 bodies
[INFO] [stderr] 118 |         #[gluon(gluon_vm)]
[INFO] [stderr] 119 |         struct Append<'b> {
[INFO] [stderr]     |                ------ `Append` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `Trace` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `Trace` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stderr]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]     = note: this warning originates in the derive macro `Trace` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]    --> vm/src/primitives.rs:251:18
[INFO] [stderr]     |
[INFO] [stderr] 251 |         #[derive(Trace)]
[INFO] [stderr]     |                  ^----
[INFO] [stderr]     |                  |
[INFO] [stderr]     |                  `Trace` is not local
[INFO] [stderr]     |                  move the `impl` block outside of this constant `_IMPL_TRAVERSEABLE_FOR_StrAppend` and up 2 bodies
[INFO] [stderr] 252 |         #[gluon(gluon_vm)]
[INFO] [stderr] 253 |         struct StrAppend<'b> {
[INFO] [stderr]     |                --------- `StrAppend` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `Trace` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `Trace` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stderr]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]     = note: this warning originates in the derive macro `Trace` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> vm/src/reference.rs:12:10
[INFO] [stderr]    |
[INFO] [stderr] 12 | #[derive(VmType)]
[INFO] [stderr]    |          ^-----
[INFO] [stderr]    |          |
[INFO] [stderr]    |          `VmType` is not local
[INFO] [stderr]    |          move the `impl` block outside of this constant `_IMPL_VM_TYPE_FOR_Reference`
[INFO] [stderr] ...
[INFO] [stderr] 15 | pub struct Reference<T> {
[INFO] [stderr]    |            --------- `Reference` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `VmType` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `VmType` may come from an old version of the `gluon_codegen` crate, try updating your dependency with `cargo update -p gluon_codegen`
[INFO] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: this warning originates in the derive macro `VmType` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> vm/src/stack.rs:184:26
[INFO] [stderr]     |
[INFO] [stderr] 184 |     pub fn new(function: &GcPtr<ExternFunction>) -> gc::Borrow<Self> {
[INFO] [stderr]     |                          ^^^^^^^^^^^^^^^^^^^^^^     ^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]     |                          |
[INFO] [stderr]     |                          the lifetime is elided here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 184 |     pub fn new(function: &GcPtr<ExternFunction>) -> gc::Borrow<'_, Self> {
[INFO] [stderr]     |                                                                +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> vm/src/stack.rs:202:17
[INFO] [stderr]     |
[INFO] [stderr] 202 |     fn to_state(&self) -> gc::Borrow<State>;
[INFO] [stderr]     |                 ^^^^^     ^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]     |                 |
[INFO] [stderr]     |                 the lifetime is elided here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 202 |     fn to_state(&self) -> gc::Borrow<'_, State>;
[INFO] [stderr]     |                                      +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> vm/src/stack.rs:213:17
[INFO] [stderr]     |
[INFO] [stderr] 213 |     fn to_state(&self) -> gc::Borrow<State> {
[INFO] [stderr]     |                 ^^^^^     ^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]     |                 |
[INFO] [stderr]     |                 the lifetime is elided here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 213 |     fn to_state(&self) -> gc::Borrow<'_, State> {
[INFO] [stderr]     |                                      +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> vm/src/stack.rs:239:17
[INFO] [stderr]     |
[INFO] [stderr] 239 |     fn to_state(&self) -> gc::Borrow<State> {
[INFO] [stderr]     |                 ^^^^^     ^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]     |                 |
[INFO] [stderr]     |                 the lifetime is elided here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 239 |     fn to_state(&self) -> gc::Borrow<'_, State> {
[INFO] [stderr]     |                                      +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> vm/src/stack.rs:260:17
[INFO] [stderr]     |
[INFO] [stderr] 260 |     fn to_state(&self) -> gc::Borrow<State> {
[INFO] [stderr]     |                 ^^^^^     ^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]     |                 |
[INFO] [stderr]     |                 the lifetime is elided here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 260 |     fn to_state(&self) -> gc::Borrow<'_, State> {
[INFO] [stderr]     |                                      +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> vm/src/stack.rs:335:17
[INFO] [stderr]     |
[INFO] [stderr] 335 |     fn to_state(&self) -> gc::Borrow<Frame<State>>
[INFO] [stderr]     |                 ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]     |                 |
[INFO] [stderr]     |                 the lifetime is elided here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 335 |     fn to_state(&self) -> gc::Borrow<'_, Frame<State>>
[INFO] [stderr]     |                                      +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> vm/src/stack.rs:354:22
[INFO] [stderr]     |
[INFO] [stderr] 354 |     fn from_state<S>(&self) -> gc::Borrow<Frame<S>>
[INFO] [stderr]     |                      ^^^^^     ^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]     |                      |
[INFO] [stderr]     |                      the lifetime is elided here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 354 |     fn from_state<S>(&self) -> gc::Borrow<'_, Frame<S>>
[INFO] [stderr]     |                                           +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> vm/src/stack.rs:515:17
[INFO] [stderr]     |
[INFO] [stderr] 515 |     pub fn last(&self) -> Option<Variants> {
[INFO] [stderr]     |                 ^^^^^            ^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]     |                 |
[INFO] [stderr]     |                 the lifetime is elided here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 515 |     pub fn last(&self) -> Option<Variants<'_>> {
[INFO] [stderr]     |                                          ++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> vm/src/stack.rs:520:24
[INFO] [stderr]     |
[INFO] [stderr] 520 |     pub fn get_variant(&self, index: VmIndex) -> Option<Variants> {
[INFO] [stderr]     |                        ^^^^^                            ^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]     |                        |
[INFO] [stderr]     |                        the lifetime is elided here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 520 |     pub fn get_variant(&self, index: VmIndex) -> Option<Variants<'_>> {
[INFO] [stderr]     |                                                                 ++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> vm/src/stack.rs:549:29
[INFO] [stderr]     |
[INFO] [stderr] 549 |     pub fn current_frame<S>(&mut self) -> StackFrame<S>
[INFO] [stderr]     |                             ^^^^^^^^^     ^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]     |                             |
[INFO] [stderr]     |                             the lifetime is elided here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 549 |     pub fn current_frame<S>(&mut self) -> StackFrame<'_, S>
[INFO] [stderr]     |                                                      +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> vm/src/stack.rs:721:22
[INFO] [stderr]     |
[INFO] [stderr] 721 |     pub fn frame_mut(&mut self) -> FrameViewMut<S> {
[INFO] [stderr]     |                      ^^^^^^^^^     ^^^^^^^^^^^^^^^ the same lifetime is hidden here
[WARN] too many lines in the log, truncating it
