[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 against 1.93.0 for beta-1.94-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fgluon-lang%2Fgluon" "/workspace/builds/worker-0-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-0-tc1/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-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/gluon-lang/gluon on toolchain 1.93.0
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.93.0" "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" "+1.93.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded structopt-derive v0.4.18
[INFO] [stderr]   Downloaded serde_derive v1.0.215
[INFO] [stderr]   Downloaded quick-error v1.2.3
[INFO] [stderr]   Downloaded instant v0.1.13
[INFO] [stderr]   Downloaded tinytemplate v1.2.1
[INFO] [stderr]   Downloaded cargo_metadata v0.8.2
[INFO] [stderr]   Downloaded env_logger v0.9.3
[INFO] [stderr]   Downloaded wasm-bindgen-macro v0.2.97
[INFO] [stderr]   Downloaded pretty v0.10.0
[INFO] [stderr]   Downloaded expect-test v1.5.0
[INFO] [stderr]   Downloaded bytecount v0.5.1
[INFO] [stderr]   Downloaded windows-targets v0.42.2
[INFO] [stderr]   Downloaded gluon-salsa-macros v0.15.2
[INFO] [stderr]   Downloaded write16 v1.0.0
[INFO] [stderr]   Downloaded utf16_iter v1.0.5
[INFO] [stderr]   Downloaded zerovec-derive v0.10.3
[INFO] [stderr]   Downloaded yoke-derive v0.7.5
[INFO] [stderr]   Downloaded icu_locid_transform v1.5.0
[INFO] [stderr]   Downloaded icu_locid_transform_data v1.5.0
[INFO] [stderr]   Downloaded dtoa-short v0.3.5
[INFO] [stderr]   Downloaded safemem v0.3.3
[INFO] [stderr]   Downloaded dirs v2.0.2
[INFO] [stderr]   Downloaded xdg v2.5.2
[INFO] [stderr]   Downloaded ndk-context v0.1.1
[INFO] [stderr]   Downloaded app_dirs2 v2.5.5
[INFO] [stderr]   Downloaded camino v1.1.9
[INFO] [stderr]   Downloaded frunk_core v0.4.3
[INFO] [stderr]   Downloaded ureq v2.12.1
[INFO] [stderr]   Downloaded windows_x86_64_gnullvm v0.42.2
[INFO] [stderr]   Downloaded rustls-webpki v0.102.8
[INFO] [stderr]   Downloaded rustyline v6.0.0
[INFO] [stderr]   Downloaded icu_properties_data v1.5.0
[INFO] [stderr]   Downloaded jni v0.21.1
[INFO] [stderr]   Downloaded rand v0.7.3
[INFO] [stderr]   Downloaded rustls v0.23.19
[INFO] [stderr]   Downloaded gluon-salsa v0.15.2
[INFO] [stderr]   Downloaded nix v0.14.1
[INFO] [stderr]   Downloaded zerovec v0.10.4
[INFO] [stderr]   Downloaded webpki-roots v0.26.7
[INFO] [stderr]   Downloaded difference v2.0.0
[INFO] [stderr]   Downloaded petgraph v0.6.5
[INFO] [stderr]   Downloaded bstr v1.11.0
[INFO] [stderr]   Downloaded rustix v0.38.41
[INFO] [stderr]   Downloaded windows_x86_64_msvc v0.42.2
[INFO] [stderr]   Downloaded libc v0.2.167
[INFO] [stderr]   Downloaded js-sys v0.3.74
[INFO] [stderr]   Downloaded tokio v1.42.0
[INFO] [stderr]   Downloaded combine v4.6.7
[INFO] [stderr]   Downloaded web-sys v0.3.74
[INFO] [stderr]   Downloaded plotters v0.3.7
[INFO] [stderr]   Downloaded object v0.36.5
[INFO] [stderr]   Downloaded cssparser v0.27.2
[INFO] [stderr]   Downloaded selectors v0.22.0
[INFO] [stderr]   Downloaded rustls-pki-types v1.10.0
[INFO] [stderr]   Downloaded lol_html v0.3.3
[INFO] [stderr]   Downloaded icu_normalizer_data v1.5.0
[INFO] [stderr]   Downloaded icu_properties v1.5.1
[INFO] [stderr]   Downloaded windows_x86_64_gnu v0.42.2
[INFO] [stderr]   Downloaded windows_i686_gnu v0.42.2
[INFO] [stderr]   Downloaded windows_i686_msvc v0.42.2
[INFO] [stderr]   Downloaded windows_aarch64_gnullvm v0.42.2
[INFO] [stderr]   Downloaded windows_aarch64_msvc v0.42.2
[INFO] [stderr]   Downloaded tester v0.9.1
[INFO] [stderr]   Downloaded compiletest_rs v0.7.1
[INFO] [stderr]   Downloaded cached v0.25.1
[INFO] [stderr]   Downloaded cargo_metadata v0.14.2
[INFO] [stderr]   Downloaded wasi v0.9.0+wasi-snapshot-preview1
[INFO] [stderr]   Downloaded getrandom v0.1.16
[INFO] [stderr]   Downloaded rand_core v0.5.1
[INFO] [stderr]   Downloaded icu_collections v1.5.0
[INFO] [stderr]   Downloaded codespan-reporting v0.11.1
[INFO] [stderr]   Downloaded anyhow v1.0.94
[INFO] [stderr]   Downloaded rustfix v0.5.1
[INFO] [stderr]   Downloaded cast v0.3.0
[INFO] [stderr]   Downloaded criterion-plot v0.4.5
[INFO] [stderr]   Downloaded csv-core v0.1.11
[INFO] [stderr]   Downloaded csv v1.3.1
[INFO] [stderr]   Downloaded wasm-bindgen-backend v0.2.97
[INFO] [stderr]   Downloaded openssl v0.10.68
[INFO] [stderr]   Downloaded syn v2.0.90
[INFO] [stderr]   Downloaded rexpect v0.4.0
[INFO] [stderr]   Downloaded dirs-sys v0.3.7
[INFO] [stderr]   Downloaded cargo-platform v0.1.9
[INFO] [stderr]   Downloaded cssparser-macros v0.6.1
[INFO] [stderr]   Downloaded dtoa v1.0.9
[INFO] [stderr]   Downloaded matches v0.1.10
[INFO] [stderr]   Downloaded phf_macros v0.8.0
[INFO] [stderr]   Downloaded proc-macro-hack v0.5.20+deprecated
[INFO] [stderr]   Downloaded phf v0.8.0
[INFO] [stderr]   Downloaded thin-slice v0.1.1
[INFO] [stderr]   Downloaded cargo-deadlinks v0.8.1
[INFO] [stderr]   Downloaded codespan v0.11.1
[INFO] [stderr]   Downloaded filetime v0.2.25
[INFO] [stderr]   Downloaded pulldown-cmark v0.5.3
[INFO] [stderr]   Downloaded utf8parse v0.1.1
[INFO] [stderr]   Downloaded phf_generator v0.8.0
[INFO] [stderr]   Downloaded encoding_rs v0.8.35
[INFO] [stderr]   Downloaded lalrpop v0.19.12
[INFO] [stderr]   Downloaded rand_pcg v0.2.1
[INFO] [stderr]   Downloaded rand_chacha v0.2.2
[INFO] [stderr]   Downloaded rand_hc v0.2.0
[INFO] [stderr]   Downloaded phf_shared v0.8.0
[INFO] [stderr]   Downloaded phf_codegen v0.8.0
[INFO] [stderr]   Downloaded nodrop v0.1.14
[INFO] [stderr]   Downloaded servo_arc v0.1.1
[INFO] [stderr]   Downloaded pico-args v0.3.4
[INFO] [stderr]   Downloaded idna_adapter v1.2.0
[INFO] [stderr]   Downloaded anymap v0.12.1
[INFO] [stderr]   Downloaded downcast-rs v1.2.1
[INFO] [stderr]   Downloaded plotters-backend v0.3.7
[INFO] [stderr]   Downloaded plotters-svg v0.3.7
[INFO] [stderr]   Downloaded hyper v0.14.31
[INFO] [stderr]   Downloaded futures v0.1.31
[INFO] [stderr]   Downloaded icu_normalizer v1.5.0
[INFO] [stderr]   Downloaded icu_provider v1.5.0
[INFO] [stderr]   Downloaded collect-mac v0.1.0
[INFO] [stderr]   Downloaded pest v2.7.14
[INFO] [stderr]   Downloaded icu_locid v1.5.0
[INFO] [stderr]   Downloaded writeable v0.5.5
[INFO] [stderr]   Downloaded hashbrown v0.15.2
[INFO] [stderr]   Downloaded serde_json v1.0.133
[INFO] [stderr]   Downloaded litemap v0.7.4
[INFO] [stderr]   Downloaded tinystr v0.7.6
[INFO] [stderr]   Downloaded wasm-bindgen v0.2.97
[INFO] [stderr]   Downloaded half v1.8.3
[INFO] [stderr]   Downloaded cc v1.2.2
[INFO] [stderr]   Downloaded handlebars v4.5.0
[INFO] [stderr]   Downloaded pulldown-cmark v0.8.0
[INFO] [stderr]   Downloaded yoke v0.7.5
[INFO] [stderr]   Downloaded synstructure v0.13.1
[INFO] [stderr]   Downloaded zerofrom-derive v0.1.5
[INFO] [stderr]   Downloaded wasm-bindgen-shared v0.2.97
[INFO] [stderr]   Downloaded criterion v0.3.6
[INFO] [stderr]   Downloaded hashbrown v0.5.0
[INFO] [stderr]   Downloaded insta v1.41.1
[INFO] [stderr]   Downloaded rpds v0.10.0
[INFO] [stderr]   Downloaded ucd-trie v0.1.7
[INFO] [stderr]   Downloaded unicode-segmentation v1.12.0
[INFO] [stderr]   Downloaded bytes v1.9.0
[INFO] [stderr]   Downloaded rand v0.4.6
[INFO] [stderr]   Downloaded openssl-sys v0.9.104
[INFO] [stderr]   Downloaded tokio-stream v0.1.16
[INFO] [stderr]   Downloaded serde_derive_state v0.4.10
[INFO] [stderr]   Downloaded indexmap v2.7.0
[INFO] [stderr]   Downloaded serde v1.0.215
[INFO] [stderr]   Downloaded windows-sys v0.45.0
[INFO] [stderr]   Downloaded zerofrom v0.1.5
[INFO] [stderr]   Downloaded serde_cbor v0.11.2
[INFO] [stderr]   Downloaded failure v0.1.8
[INFO] [stderr]   Downloaded handlebars v2.0.4
[INFO] [stderr]   Downloaded console v0.15.8
[INFO] [stderr]   Downloaded similar v2.6.0
[INFO] [stderr]   Downloaded socket2 v0.5.8
[INFO] [stderr]   Downloaded pest_meta v2.7.14
[INFO] [stderr]   Downloaded pest_derive v2.7.14
[INFO] [stderr]   Downloaded getopts v0.2.21
[INFO] [stderr]   Downloaded proc-macro2 v1.0.92
[INFO] [stderr]   Downloaded icu_provider_macros v1.5.0
[INFO] [stderr]   Downloaded wasm-bindgen-macro-support v0.2.97
[INFO] [stderr]   Downloaded dissimilar v1.0.9
[INFO] [stderr]   Downloaded crossbeam-utils v0.7.2
[INFO] [stderr]   Downloaded httparse v1.9.5
[INFO] [stderr]   Downloaded security-framework-sys v2.12.1
[INFO] [stderr]   Downloaded tempfile v3.14.0
[INFO] [stderr]   Downloaded encode_unicode v0.3.6
[INFO] [stderr]   Downloaded archery v0.4.0
[INFO] [stderr]   Downloaded ahash v0.7.8
[INFO] [stderr]   Downloaded ena v0.14.3
[INFO] [stderr]   Downloaded redox_users v0.4.6
[INFO] [stderr]   Downloaded term v0.7.0
[INFO] [stderr]   Downloaded error-chain v0.12.4
[INFO] [stderr]   Downloaded failure_derive v0.1.8
[INFO] [stderr]   Downloaded schannel v0.1.27
[INFO] [stderr]   Downloaded termcolor v1.4.1
[INFO] [stderr]   Downloaded serde_state v0.4.8
[INFO] [stderr]   Downloaded redox_syscall v0.5.7
[INFO] [stderr]   Downloaded rustversion v1.0.18
[INFO] [stderr]   Downloaded pest_generator v2.7.14
[INFO] [stderr]   Downloaded unicase v2.8.0
[INFO] [stderr]   Downloaded fuchsia-cprng v0.1.1
[INFO] [stderr]   Downloaded rand_core v0.4.2
[INFO] [stderr]   Downloaded remove_dir_all v0.5.3
[INFO] [stderr]   Downloaded rand_xorshift v0.3.0
[INFO] [stderr]   Downloaded is-terminal v0.4.13
[INFO] [stderr]   Downloaded libredox v0.1.3
[INFO] [stderr]   Downloaded dirs-sys-next v0.1.2
[INFO] [stderr]   Downloaded tiny-keccak v2.0.2
[INFO] [stderr]   Downloaded ordered-float v2.10.1
[INFO] [stderr]   Downloaded quick-error v2.0.1
[INFO] [stderr]   Downloaded unicode-ident v1.0.14
[INFO] [stderr]   Downloaded tempdir v0.3.7
[INFO] [stderr]   Downloaded hermit-abi v0.4.0
[INFO] [stderr]   Downloaded lalrpop-util v0.19.12
[INFO] [stderr]   Downloaded cpufeatures v0.2.16
[INFO] [stderr]   Downloaded oorandom v11.1.4
[INFO] [stderr]   Downloaded tensile v0.7.0
[INFO] [stderr]   Downloaded parking_lot_core v0.8.6
[INFO] [stderr]   Downloaded fixedbitset v0.4.2
[INFO] [stderr]   Downloaded itoa v1.0.14
[INFO] [stderr]   Downloaded rand_core v0.3.1
[INFO] [stderr]   Downloaded rdrand v0.4.0
[INFO] [stderr]   Downloaded little-skeptic v0.15.2
[INFO] [stderr]   Downloaded fastrand v2.2.0
[INFO] [stderr]   Downloaded errno v0.3.10
[INFO] [stderr]   Downloaded dirs-next v2.0.0
[INFO] [stderr]   Downloaded typed-arena v2.0.2
[INFO] [stderr]   Downloaded ascii-canvas v3.0.0
[INFO] [stderr]   Downloaded bit-set v0.5.3
[INFO] [stderr]   Downloaded opener v0.5.2
[INFO] [stderr]   Downloaded structopt v0.3.26
[INFO] [stderr]   Downloaded ring v0.17.8
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:98afbf2d16093dec2546ff8915fddc74e65664aa03fc460b3712b1c2c54a33e4" "/opt/rustwide/cargo-home/bin/cargo" "+1.93.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] b1f93aade16635b87072b43cfebb33280cb25e4b76df53d6e63c4a7d30f45ac5
[INFO] running `Command { std: "docker" "start" "-a" "b1f93aade16635b87072b43cfebb33280cb25e4b76df53d6e63c4a7d30f45ac5", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "b1f93aade16635b87072b43cfebb33280cb25e4b76df53d6e63c4a7d30f45ac5", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "b1f93aade16635b87072b43cfebb33280cb25e4b76df53d6e63c4a7d30f45ac5", kill_on_drop: false }`
[INFO] [stdout] b1f93aade16635b87072b43cfebb33280cb25e4b76df53d6e63c4a7d30f45ac5
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:98afbf2d16093dec2546ff8915fddc74e65664aa03fc460b3712b1c2c54a33e4" "/opt/rustwide/cargo-home/bin/cargo" "+1.93.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 7e0385dbf3ef89fb4943b62d9faba9902f68278a7ed1e8655a5e5c919d44c832
[INFO] running `Command { std: "docker" "start" "-a" "7e0385dbf3ef89fb4943b62d9faba9902f68278a7ed1e8655a5e5c919d44c832", kill_on_drop: false }`
[INFO] [stderr]    Compiling autocfg v1.4.0
[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 smallvec v1.13.2
[INFO] [stderr]    Compiling memchr v2.7.4
[INFO] [stderr]    Compiling once_cell v1.20.2
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]    Compiling log v0.4.22
[INFO] [stderr]    Compiling either v1.13.0
[INFO] [stderr]    Compiling version_check v0.9.5
[INFO] [stderr]    Compiling scopeguard v1.2.0
[INFO] [stderr]    Compiling itertools v0.10.5
[INFO] [stderr]    Compiling termcolor v1.4.1
[INFO] [stderr]    Compiling unicode-width v0.1.14
[INFO] [stderr]    Compiling ahash v0.7.8
[INFO] [stderr]    Compiling lock_api v0.4.12
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling arrayvec v0.5.2
[INFO] [stderr]    Compiling codespan-reporting v0.11.1
[INFO] [stderr]    Compiling quote v1.0.37
[INFO] [stderr]    Compiling syn v2.0.90
[INFO] [stderr]    Compiling typed-arena v2.0.2
[INFO] [stderr]    Compiling parking_lot_core v0.9.10
[INFO] [stderr]    Compiling pretty v0.10.0
[INFO] [stderr]    Compiling codespan v0.11.1
[INFO] [stderr]    Compiling aho-corasick v1.1.3
[INFO] [stderr]    Compiling slab v0.4.9
[INFO] [stderr]    Compiling collect-mac v0.1.0
[INFO] [stderr]    Compiling quick-error v2.0.1
[INFO] [stderr]    Compiling hashbrown v0.15.2
[INFO] [stderr]    Compiling equivalent v1.0.1
[INFO] [stderr]    Compiling regex-syntax v0.8.5
[INFO] [stderr]    Compiling ordered-float v2.10.1
[INFO] [stderr]    Compiling getrandom v0.2.15
[INFO] [stderr]    Compiling dirs-sys-next v0.1.2
[INFO] [stderr]    Compiling crunchy v0.2.2
[INFO] [stderr]    Compiling vec_map v0.8.2
[INFO] [stderr]    Compiling hashbrown v0.11.2
[INFO] [stderr]    Compiling indexmap v2.7.0
[INFO] [stderr]    Compiling dirs-next v2.0.0
[INFO] [stderr]    Compiling ena v0.14.3
[INFO] [stderr]    Compiling fixedbitset v0.4.2
[INFO] [stderr]    Compiling pin-project-lite v0.2.15
[INFO] [stderr]    Compiling futures-sink v0.3.31
[INFO] [stderr]    Compiling tiny-keccak v2.0.2
[INFO] [stderr]    Compiling siphasher v0.3.11
[INFO] [stderr]    Compiling futures-core v0.3.31
[INFO] [stderr]    Compiling parking_lot v0.12.3
[INFO] [stderr]    Compiling futures-channel v0.3.31
[INFO] [stderr]    Compiling phf_shared v0.10.0
[INFO] [stderr]    Compiling term v0.7.0
[INFO] [stderr]    Compiling petgraph v0.6.5
[INFO] [stderr]    Compiling futures v0.1.31
[INFO] [stderr]    Compiling bit-vec v0.6.3
[INFO] [stderr]    Compiling precomputed-hash v0.1.1
[INFO] [stderr]    Compiling new_debug_unreachable v1.0.6
[INFO] [stderr]    Compiling parking_lot_core v0.8.6
[INFO] [stderr]    Compiling futures-task v0.3.31
[INFO] [stderr]    Compiling futures-io v0.3.31
[INFO] [stderr]    Compiling string_cache v0.8.7
[INFO] [stderr]    Compiling ascii-canvas v3.0.0
[INFO] [stderr]    Compiling bit-set v0.5.3
[INFO] [stderr]    Compiling regex-automata v0.4.9
[INFO] [stderr]    Compiling is-terminal v0.4.13
[INFO] [stderr]    Compiling instant v0.1.13
[INFO] [stderr]    Compiling static_assertions v1.1.0
[INFO] [stderr]    Compiling diff v0.1.13
[INFO] [stderr]    Compiling unicode-xid v0.2.6
[INFO] [stderr]    Compiling byteorder v1.5.0
[INFO] [stderr]    Compiling regex-syntax v0.6.29
[INFO] [stderr]    Compiling archery v0.4.0
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]    Compiling crossbeam-utils v0.7.2
[INFO] [stderr]    Compiling indexmap v1.9.3
[INFO] [stderr]    Compiling crossbeam-utils v0.8.20
[INFO] [stderr]    Compiling same-file v1.0.6
[INFO] [stderr]    Compiling unicode-segmentation v1.12.0
[INFO] [stderr]    Compiling walkdir v2.5.0
[INFO] [stderr]    Compiling parking_lot v0.11.2
[INFO] [stderr]    Compiling heck v0.3.3
[INFO] [stderr]    Compiling rpds v0.10.0
[INFO] [stderr]    Compiling strsim v0.10.0
[INFO] [stderr]    Compiling cfg-if v0.1.10
[INFO] [stderr]    Compiling gluon_vm v0.18.2 (/opt/rustwide/workdir/vm)
[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 gluon_codegen v0.18.2 (/opt/rustwide/workdir/codegen)
[INFO] [stderr]    Compiling gluon-salsa-macros v0.15.2
[INFO] [stderr]    Compiling futures-util v0.3.31
[INFO] [stderr]    Compiling zerocopy v0.7.35
[INFO] [stderr]    Compiling regex v1.11.1
[INFO] [stderr]    Compiling rustc-hash v1.1.0
[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 lalrpop-util v0.19.12
[INFO] [stderr]    Compiling ppv-lite86 v0.2.20
[INFO] [stderr]    Compiling oorandom v11.1.4
[INFO] [stderr]    Compiling lalrpop v0.19.12
[INFO] [stderr]    Compiling frunk_core v0.4.3
[INFO] [stderr]    Compiling downcast-rs v1.2.1
[INFO] [stderr]    Compiling tokio v1.42.0
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling rand_xorshift v0.3.0
[INFO] [stderr]    Compiling rand v0.8.5
[INFO] [stderr]    Compiling gluon_base v0.18.2 (/opt/rustwide/workdir/base)
[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 futures-executor v0.3.31
[INFO] [stderr]    Compiling gluon-salsa v0.15.2
[INFO] [stderr]    Compiling gluon_check v0.18.2 (/opt/rustwide/workdir/check)
[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] [stderr]    Compiling futures v0.3.31
[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_format v0.18.2 (/opt/rustwide/workdir/format)
[INFO] [stderr]    Compiling gluon v0.18.2 (/opt/rustwide/workdir)
[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 31s
[INFO] running `Command { std: "docker" "inspect" "7e0385dbf3ef89fb4943b62d9faba9902f68278a7ed1e8655a5e5c919d44c832", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "7e0385dbf3ef89fb4943b62d9faba9902f68278a7ed1e8655a5e5c919d44c832", kill_on_drop: false }`
[INFO] [stdout] 7e0385dbf3ef89fb4943b62d9faba9902f68278a7ed1e8655a5e5c919d44c832
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:98afbf2d16093dec2546ff8915fddc74e65664aa03fc460b3712b1c2c54a33e4" "/opt/rustwide/cargo-home/bin/cargo" "+1.93.0" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] fa7f7a13ae22ea5b84189855ecaafaf580ddb0e8804d3cadfb3e3465ab68fa76
[INFO] running `Command { std: "docker" "start" "-a" "fa7f7a13ae22ea5b84189855ecaafaf580ddb0e8804d3cadfb3e3465ab68fa76", 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 proc-macro-error-attr v1.0.4
[INFO] [stderr]    Compiling same-file v1.0.6
[INFO] [stderr]    Compiling diff v0.1.13
[INFO] [stderr]    Compiling atty v0.2.14
[INFO] [stderr]    Compiling proc-macro-error v1.0.4
[INFO] [stderr]    Compiling lazy_static v1.5.0
[INFO] [stderr]    Compiling crossbeam-epoch v0.9.18
[INFO] [stderr]    Compiling textwrap v0.11.0
[INFO] [stderr]    Compiling walkdir v2.5.0
[INFO] [stderr]    Compiling ryu v1.0.18
[INFO] [stderr]    Compiling itoa v1.0.14
[INFO] [stderr]    Compiling lalrpop v0.19.12
[INFO] [stderr]    Compiling rayon-core v1.12.1
[INFO] [stderr]    Compiling ansi_term v0.12.1
[INFO] [stderr]    Compiling strsim v0.8.0
[INFO] [stderr]    Compiling serde_json v1.0.133
[INFO] [stderr]    Compiling crossbeam-deque v0.8.5
[INFO] [stderr]    Compiling plotters-backend v0.3.7
[INFO] [stderr]    Compiling rustix v0.38.41
[INFO] [stderr]    Compiling structopt-derive v0.4.18
[INFO] [stderr]    Compiling gluon v0.18.2 (/opt/rustwide/workdir)
[INFO] [stderr]    Compiling plotters-svg v0.3.7
[INFO] [stderr]    Compiling clap v2.34.0
[INFO] [stderr]    Compiling csv-core v0.1.11
[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 half v1.8.3
[INFO] [stderr]    Compiling anyhow v1.0.94
[INFO] [stderr]    Compiling cast v0.3.0
[INFO] [stderr]    Compiling bitflags v2.6.0
[INFO] [stderr]    Compiling thiserror v1.0.69
[INFO] [stderr]    Compiling serde_derive_state v0.4.10
[INFO] [stderr]    Compiling linux-raw-sys v0.4.14
[INFO] [stderr]    Compiling pulldown-cmark v0.8.0
[INFO] [stderr]    Compiling rayon v1.10.0
[INFO] [stderr]    Compiling criterion-plot v0.4.5
[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 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 structopt v0.3.26
[INFO] [stderr]    Compiling num_cpus v1.16.0
[INFO] [stderr]    Compiling csv v1.3.1
[INFO] [stderr]    Compiling serde_cbor v0.11.2
[INFO] [stderr]    Compiling getopts v0.2.21
[INFO] [stderr]    Compiling yansi v1.0.1
[INFO] [stderr]    Compiling similar v2.6.0
[INFO] [stderr]    Compiling fastrand v2.2.0
[INFO] [stderr]    Compiling unicase v2.8.0
[INFO] [stderr]    Compiling linked-hash-map v0.5.6
[INFO] [stderr]    Compiling humantime v2.1.0
[INFO] [stderr]    Compiling dissimilar v1.0.9
[INFO] [stderr]    Compiling env_logger v0.9.3
[INFO] [stderr]    Compiling tinytemplate v1.2.1
[INFO] [stderr]    Compiling insta v1.41.1
[INFO] [stderr]    Compiling expect-test v1.5.0
[INFO] [stderr]    Compiling tempfile v3.14.0
[INFO] [stderr]    Compiling pretty_assertions v1.4.1
[INFO] [stderr]    Compiling bincode v1.3.3
[INFO] [stderr]    Compiling tensile v0.7.0
[INFO] [stderr]    Compiling criterion v0.3.6
[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: 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] [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] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 2m 38s
[INFO] running `Command { std: "docker" "inspect" "fa7f7a13ae22ea5b84189855ecaafaf580ddb0e8804d3cadfb3e3465ab68fa76", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "fa7f7a13ae22ea5b84189855ecaafaf580ddb0e8804d3cadfb3e3465ab68fa76", kill_on_drop: false }`
[INFO] [stdout] fa7f7a13ae22ea5b84189855ecaafaf580ddb0e8804d3cadfb3e3465ab68fa76
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:98afbf2d16093dec2546ff8915fddc74e65664aa03fc460b3712b1c2c54a33e4" "/opt/rustwide/cargo-home/bin/cargo" "+1.93.0" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 4c296e9c08a07784b4a34587385f2212d90fb95b5ef50451510d83c1a9a1a5a6
[INFO] running `Command { std: "docker" "start" "-a" "4c296e9c08a07784b4a34587385f2212d90fb95b5ef50451510d83c1a9a1a5a6", 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
[WARN] too many lines in the log, truncating it
