[INFO] cloning repository https://github.com/jD91mZM2/nix-lsp [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/jD91mZM2/nix-lsp" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FjD91mZM2%2Fnix-lsp", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FjD91mZM2%2Fnix-lsp'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 95d40673fe43642e2e1144341e86d0036abd95d9 [INFO] checking jD91mZM2/nix-lsp against master#bca37a20bd376ce3fd138e7cdee7fe704e0f8814 for pr-139493-3 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FjD91mZM2%2Fnix-lsp" "/workspace/builds/worker-4-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc1/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/jD91mZM2/nix-lsp [INFO] finished tweaking git repo https://github.com/jD91mZM2/nix-lsp [INFO] tweaked toml for git repo https://github.com/jD91mZM2/nix-lsp written to /workspace/builds/worker-4-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/jD91mZM2/nix-lsp on toolchain bca37a20bd376ce3fd138e7cdee7fe704e0f8814 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+bca37a20bd376ce3fd138e7cdee7fe704e0f8814" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/jD91mZM2/nix-lsp 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" "+bca37a20bd376ce3fd138e7cdee7fe704e0f8814" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded stoppable_thread v0.2.1 [INFO] [stderr] Downloaded smol_str v0.1.23 [INFO] [stderr] Downloaded cbitset v0.2.0 [INFO] [stderr] Downloaded text-size v1.1.0 [INFO] [stderr] Downloaded nixpkgs-fmt-rnix v1.2.0 [INFO] [stderr] Downloaded gc v0.4.1 [INFO] [stderr] Downloaded gc_derive v0.4.1 [INFO] [stderr] Downloaded serde_derive v1.0.138 [INFO] [stderr] Downloaded lsp-server v0.6.0 [INFO] [stderr] Downloaded serde_repr v0.1.8 [INFO] [stderr] Downloaded once_cell v1.12.1 [INFO] [stderr] Downloaded lsp-types v0.93.0 [INFO] [stderr] Downloaded countme v2.0.4 [INFO] [stderr] Downloaded rnix v0.10.2 [INFO] [stderr] Downloaded crossbeam-channel v0.5.5 [INFO] [stderr] Downloaded rowan v0.12.6 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+bca37a20bd376ce3fd138e7cdee7fe704e0f8814" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 977e1c8a312c7c55c615d3d87e92c97a2b2eedb50b75e0da21194e7e51de4e9f [INFO] running `Command { std: "docker" "start" "-a" "977e1c8a312c7c55c615d3d87e92c97a2b2eedb50b75e0da21194e7e51de4e9f", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "977e1c8a312c7c55c615d3d87e92c97a2b2eedb50b75e0da21194e7e51de4e9f", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "977e1c8a312c7c55c615d3d87e92c97a2b2eedb50b75e0da21194e7e51de4e9f", kill_on_drop: false }` [INFO] [stdout] 977e1c8a312c7c55c615d3d87e92c97a2b2eedb50b75e0da21194e7e51de4e9f [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+bca37a20bd376ce3fd138e7cdee7fe704e0f8814" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 3d81fa1afcd7fbd978aa5be0243c470ffb9fb072de8c7845fa786a46a33cec51 [INFO] running `Command { std: "docker" "start" "-a" "3d81fa1afcd7fbd978aa5be0243c470ffb9fb072de8c7845fa786a46a33cec51", kill_on_drop: false }` [INFO] [stderr] Compiling syn v1.0.98 [INFO] [stderr] Compiling serde_derive v1.0.138 [INFO] [stderr] Compiling serde v1.0.138 [INFO] [stderr] Compiling log v0.4.17 [INFO] [stderr] Checking once_cell v1.12.1 [INFO] [stderr] Checking regex-syntax v0.6.26 [INFO] [stderr] Checking unicode-normalization v0.1.21 [INFO] [stderr] Checking atty v0.2.14 [INFO] [stderr] Checking hashbrown v0.9.1 [INFO] [stderr] Checking countme v2.0.4 [INFO] [stderr] Checking cbitset v0.2.0 [INFO] [stderr] Checking crossbeam-channel v0.3.9 [INFO] [stderr] Checking dirs-sys v0.3.7 [INFO] [stderr] Checking stoppable_thread v0.2.1 [INFO] [stderr] Checking crossbeam-utils v0.8.10 [INFO] [stderr] Checking thread_local v1.1.4 [INFO] [stderr] Checking idna v0.2.3 [INFO] [stderr] Checking clap v2.34.0 [INFO] [stderr] Checking dirs v4.0.0 [INFO] [stderr] Checking crossbeam-channel v0.5.5 [INFO] [stderr] Checking regex v1.5.6 [INFO] [stderr] Checking globset v0.4.9 [INFO] [stderr] Checking env_logger v0.9.0 [INFO] [stderr] Checking ignore v0.4.18 [INFO] [stderr] Compiling synstructure v0.12.6 [INFO] [stderr] Compiling serde_repr v0.1.8 [INFO] [stderr] Compiling gc_derive v0.4.1 [INFO] [stderr] Checking gc v0.4.1 [INFO] [stderr] Checking text-size v1.1.0 [INFO] [stderr] Checking serde_json v1.0.82 [INFO] [stderr] Checking smol_str v0.1.23 [INFO] [stderr] Checking url v2.2.2 [INFO] [stderr] Checking rowan v0.12.6 [INFO] [stderr] Checking rnix v0.10.2 [INFO] [stderr] Checking lsp-server v0.6.0 [INFO] [stderr] Checking lsp-types v0.93.0 [INFO] [stderr] Checking nixpkgs-fmt-rnix v1.2.0 [INFO] [stderr] Checking rnix-lsp v0.3.0-dev (/opt/rustwide/workdir) [INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing [INFO] [stdout] --> src/main.rs:406:50 [INFO] [stdout] | [INFO] [stdout] 406 | let child_expr = climb_expr(expr, offset).clone(); [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the type `Expr` does not implement `Clone`, so calling `clone` on `&Expr` copies the reference, which does not do anything and can be removed [INFO] [stdout] = note: `#[warn(noop_method_call)]` on by default [INFO] [stdout] help: remove this redundant call [INFO] [stdout] | [INFO] [stdout] 406 - let child_expr = climb_expr(expr, offset).clone(); [INFO] [stdout] 406 + let child_expr = climb_expr(expr, offset); [INFO] [stdout] | [INFO] [stdout] help: if you meant to clone `Expr`, implement `Clone` for it [INFO] [stdout] --> src/eval.rs:93:1 [INFO] [stdout] | [INFO] [stdout] 93 + #[derive(Clone)] [INFO] [stdout] 94 | pub struct 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] --> src/error.rs:9:24 [INFO] [stdout] | [INFO] [stdout] 9 | #[derive(Debug, Clone, Trace, Finalize)] [INFO] [stdout] | ^---- [INFO] [stdout] | | [INFO] [stdout] | `Trace` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_gc_Trace_FOR_AppError` [INFO] [stdout] 10 | pub enum AppError { [INFO] [stdout] | -------- `AppError` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Trace` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Trace` may come from an old version of the `gc_derive` crate, try updating your dependency with `cargo update -p gc_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const 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/error.rs:9:24 [INFO] [stdout] | [INFO] [stdout] 9 | #[derive(Debug, Clone, Trace, Finalize)] [INFO] [stdout] | ^---- [INFO] [stdout] | | [INFO] [stdout] | `Drop` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_std_ops_Drop_FOR_AppError` [INFO] [stdout] 10 | pub enum AppError { [INFO] [stdout] | -------- `AppError` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Trace` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Trace` may come from an old version of the `gc_derive` crate, try updating your dependency with `cargo update -p gc_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Trace` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/error.rs:9:31 [INFO] [stdout] | [INFO] [stdout] 9 | #[derive(Debug, Clone, Trace, Finalize)] [INFO] [stdout] | ^------- [INFO] [stdout] | | [INFO] [stdout] | `Finalize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_gc_Finalize_FOR_AppError` [INFO] [stdout] 10 | pub enum AppError { [INFO] [stdout] | -------- `AppError` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Finalize` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Finalize` may come from an old version of the `gc_derive` crate, try updating your dependency with `cargo update -p gc_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Finalize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/error.rs:26:24 [INFO] [stdout] | [INFO] [stdout] 26 | #[derive(Debug, Clone, Trace, Finalize)] [INFO] [stdout] | ^---- [INFO] [stdout] | | [INFO] [stdout] | `Trace` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_gc_Trace_FOR_EvalError` [INFO] [stdout] 27 | pub enum EvalError { [INFO] [stdout] | --------- `EvalError` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Trace` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Trace` may come from an old version of the `gc_derive` crate, try updating your dependency with `cargo update -p gc_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Trace` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/error.rs:26:24 [INFO] [stdout] | [INFO] [stdout] 26 | #[derive(Debug, Clone, Trace, Finalize)] [INFO] [stdout] | ^---- [INFO] [stdout] | | [INFO] [stdout] | `Drop` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_std_ops_Drop_FOR_EvalError` [INFO] [stdout] 27 | pub enum EvalError { [INFO] [stdout] | --------- `EvalError` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Trace` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Trace` may come from an old version of the `gc_derive` crate, try updating your dependency with `cargo update -p gc_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Trace` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/error.rs:26:31 [INFO] [stdout] | [INFO] [stdout] 26 | #[derive(Debug, Clone, Trace, Finalize)] [INFO] [stdout] | ^------- [INFO] [stdout] | | [INFO] [stdout] | `Finalize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_gc_Finalize_FOR_EvalError` [INFO] [stdout] 27 | pub enum EvalError { [INFO] [stdout] | --------- `EvalError` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Finalize` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Finalize` may come from an old version of the `gc_derive` crate, try updating your dependency with `cargo update -p gc_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Finalize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/error.rs:47:24 [INFO] [stdout] | [INFO] [stdout] 47 | #[derive(Debug, Clone, Trace, Finalize)] [INFO] [stdout] | ^---- [INFO] [stdout] | | [INFO] [stdout] | `Trace` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_gc_Trace_FOR_InternalError` [INFO] [stdout] 48 | pub enum InternalError { [INFO] [stdout] | ------------- `InternalError` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Trace` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Trace` may come from an old version of the `gc_derive` crate, try updating your dependency with `cargo update -p gc_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Trace` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/error.rs:47:24 [INFO] [stdout] | [INFO] [stdout] 47 | #[derive(Debug, Clone, Trace, Finalize)] [INFO] [stdout] | ^---- [INFO] [stdout] | | [INFO] [stdout] | `Drop` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_std_ops_Drop_FOR_InternalError` [INFO] [stdout] 48 | pub enum InternalError { [INFO] [stdout] | ------------- `InternalError` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Trace` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Trace` may come from an old version of the `gc_derive` crate, try updating your dependency with `cargo update -p gc_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Trace` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/error.rs:47:31 [INFO] [stdout] | [INFO] [stdout] 47 | #[derive(Debug, Clone, Trace, Finalize)] [INFO] [stdout] | ^------- [INFO] [stdout] | | [INFO] [stdout] | `Finalize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_gc_Finalize_FOR_InternalError` [INFO] [stdout] 48 | pub enum InternalError { [INFO] [stdout] | ------------- `InternalError` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Finalize` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Finalize` may come from an old version of the `gc_derive` crate, try updating your dependency with `cargo update -p gc_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Finalize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/error.rs:56:24 [INFO] [stdout] | [INFO] [stdout] 56 | #[derive(Debug, Clone, Trace, Finalize, PartialEq, Eq)] [INFO] [stdout] | ^---- [INFO] [stdout] | | [INFO] [stdout] | `Trace` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_gc_Trace_FOR_ValueError` [INFO] [stdout] ... [INFO] [stdout] 61 | pub enum ValueError { [INFO] [stdout] | ---------- `ValueError` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Trace` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Trace` may come from an old version of the `gc_derive` crate, try updating your dependency with `cargo update -p gc_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Trace` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/error.rs:56:24 [INFO] [stdout] | [INFO] [stdout] 56 | #[derive(Debug, Clone, Trace, Finalize, PartialEq, Eq)] [INFO] [stdout] | ^---- [INFO] [stdout] | | [INFO] [stdout] | `Drop` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_std_ops_Drop_FOR_ValueError` [INFO] [stdout] ... [INFO] [stdout] 61 | pub enum ValueError { [INFO] [stdout] | ---------- `ValueError` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Trace` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Trace` may come from an old version of the `gc_derive` crate, try updating your dependency with `cargo update -p gc_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Trace` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/error.rs:56:31 [INFO] [stdout] | [INFO] [stdout] 56 | #[derive(Debug, Clone, Trace, Finalize, PartialEq, Eq)] [INFO] [stdout] | ^------- [INFO] [stdout] | | [INFO] [stdout] | `Finalize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_gc_Finalize_FOR_ValueError` [INFO] [stdout] ... [INFO] [stdout] 61 | pub enum ValueError { [INFO] [stdout] | ---------- `ValueError` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Finalize` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Finalize` may come from an old version of the `gc_derive` crate, try updating your dependency with `cargo update -p gc_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Finalize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/error.rs:75:24 [INFO] [stdout] | [INFO] [stdout] 75 | #[derive(Debug, Clone, Trace, Finalize, PartialEq, Eq)] [INFO] [stdout] | ^---- [INFO] [stdout] | | [INFO] [stdout] | `Trace` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_gc_Trace_FOR_Located` [INFO] [stdout] 76 | /// An error augmented with a location [INFO] [stdout] 77 | pub struct Located { [INFO] [stdout] | ------- `Located` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Trace` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Trace` may come from an old version of the `gc_derive` crate, try updating your dependency with `cargo update -p gc_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Trace` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/error.rs:75:24 [INFO] [stdout] | [INFO] [stdout] 75 | #[derive(Debug, Clone, Trace, Finalize, PartialEq, Eq)] [INFO] [stdout] | ^---- [INFO] [stdout] | | [INFO] [stdout] | `Drop` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_std_ops_Drop_FOR_Located` [INFO] [stdout] 76 | /// An error augmented with a location [INFO] [stdout] 77 | pub struct Located { [INFO] [stdout] | ------- `Located` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Trace` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Trace` may come from an old version of the `gc_derive` crate, try updating your dependency with `cargo update -p gc_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Trace` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/error.rs:75:31 [INFO] [stdout] | [INFO] [stdout] 75 | #[derive(Debug, Clone, Trace, Finalize, PartialEq, Eq)] [INFO] [stdout] | ^------- [INFO] [stdout] | | [INFO] [stdout] | `Finalize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_gc_Finalize_FOR_Located` [INFO] [stdout] 76 | /// An error augmented with a location [INFO] [stdout] 77 | pub struct Located { [INFO] [stdout] | ------- `Located` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Finalize` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Finalize` may come from an old version of the `gc_derive` crate, try updating your dependency with `cargo update -p gc_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Finalize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/eval.rs:24:17 [INFO] [stdout] | [INFO] [stdout] 24 | #[derive(Debug, Trace, Finalize)] [INFO] [stdout] | ^---- [INFO] [stdout] | | [INFO] [stdout] | `Trace` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_gc_Trace_FOR_ExprSource` [INFO] [stdout] 25 | pub enum ExprSource { [INFO] [stdout] | ---------- `ExprSource` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Trace` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Trace` may come from an old version of the `gc_derive` crate, try updating your dependency with `cargo update -p gc_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Trace` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/eval.rs:24:17 [INFO] [stdout] | [INFO] [stdout] 24 | #[derive(Debug, Trace, Finalize)] [INFO] [stdout] | ^---- [INFO] [stdout] | | [INFO] [stdout] | `Drop` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_std_ops_Drop_FOR_ExprSource` [INFO] [stdout] 25 | pub enum ExprSource { [INFO] [stdout] | ---------- `ExprSource` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Trace` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Trace` may come from an old version of the `gc_derive` crate, try updating your dependency with `cargo update -p gc_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Trace` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/eval.rs:24:24 [INFO] [stdout] | [INFO] [stdout] 24 | #[derive(Debug, Trace, Finalize)] [INFO] [stdout] | ^------- [INFO] [stdout] | | [INFO] [stdout] | `Finalize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_gc_Finalize_FOR_ExprSource` [INFO] [stdout] 25 | pub enum ExprSource { [INFO] [stdout] | ---------- `ExprSource` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Finalize` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Finalize` may come from an old version of the `gc_derive` crate, try updating your dependency with `cargo update -p gc_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Finalize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/eval.rs:92:10 [INFO] [stdout] | [INFO] [stdout] 92 | #[derive(Trace, Finalize)] [INFO] [stdout] | ^---- [INFO] [stdout] | | [INFO] [stdout] | `Trace` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_gc_Trace_FOR_Expr` [INFO] [stdout] 93 | pub struct Expr { [INFO] [stdout] | ---- `Expr` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Trace` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Trace` may come from an old version of the `gc_derive` crate, try updating your dependency with `cargo update -p gc_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Trace` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/eval.rs:92:10 [INFO] [stdout] | [INFO] [stdout] 92 | #[derive(Trace, Finalize)] [INFO] [stdout] | ^---- [INFO] [stdout] | | [INFO] [stdout] | `Drop` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_std_ops_Drop_FOR_Expr` [INFO] [stdout] 93 | pub struct Expr { [INFO] [stdout] | ---- `Expr` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Trace` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Trace` may come from an old version of the `gc_derive` crate, try updating your dependency with `cargo update -p gc_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Trace` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/eval.rs:92:17 [INFO] [stdout] | [INFO] [stdout] 92 | #[derive(Trace, Finalize)] [INFO] [stdout] | ^------- [INFO] [stdout] | | [INFO] [stdout] | `Finalize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_gc_Finalize_FOR_Expr` [INFO] [stdout] 93 | pub struct Expr { [INFO] [stdout] | ---- `Expr` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Finalize` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Finalize` may come from an old version of the `gc_derive` crate, try updating your dependency with `cargo update -p gc_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Finalize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/parse.rs:23:24 [INFO] [stdout] | [INFO] [stdout] 23 | #[derive(Debug, Clone, Trace, Finalize)] [INFO] [stdout] | ^---- [INFO] [stdout] | | [INFO] [stdout] | `Trace` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_gc_Trace_FOR_BinOpKind` [INFO] [stdout] 24 | pub enum BinOpKind { [INFO] [stdout] | --------- `BinOpKind` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Trace` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Trace` may come from an old version of the `gc_derive` crate, try updating your dependency with `cargo update -p gc_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Trace` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/parse.rs:23:24 [INFO] [stdout] | [INFO] [stdout] 23 | #[derive(Debug, Clone, Trace, Finalize)] [INFO] [stdout] | ^---- [INFO] [stdout] | | [INFO] [stdout] | `Drop` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_std_ops_Drop_FOR_BinOpKind` [INFO] [stdout] 24 | pub enum BinOpKind { [INFO] [stdout] | --------- `BinOpKind` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Trace` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Trace` may come from an old version of the `gc_derive` crate, try updating your dependency with `cargo update -p gc_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Trace` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/parse.rs:23:31 [INFO] [stdout] | [INFO] [stdout] 23 | #[derive(Debug, Clone, Trace, Finalize)] [INFO] [stdout] | ^------- [INFO] [stdout] | | [INFO] [stdout] | `Finalize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_gc_Finalize_FOR_BinOpKind` [INFO] [stdout] 24 | pub enum BinOpKind { [INFO] [stdout] | --------- `BinOpKind` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Finalize` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Finalize` may come from an old version of the `gc_derive` crate, try updating your dependency with `cargo update -p gc_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Finalize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/scope.rs:21:10 [INFO] [stdout] | [INFO] [stdout] 21 | #[derive(Trace, Finalize)] [INFO] [stdout] | ^---- [INFO] [stdout] | | [INFO] [stdout] | `Trace` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_gc_Trace_FOR_Scope` [INFO] [stdout] 22 | pub enum Scope { [INFO] [stdout] | ----- `Scope` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Trace` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Trace` may come from an old version of the `gc_derive` crate, try updating your dependency with `cargo update -p gc_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Trace` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/scope.rs:21:10 [INFO] [stdout] | [INFO] [stdout] 21 | #[derive(Trace, Finalize)] [INFO] [stdout] | ^---- [INFO] [stdout] | | [INFO] [stdout] | `Drop` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_std_ops_Drop_FOR_Scope` [INFO] [stdout] 22 | pub enum Scope { [INFO] [stdout] | ----- `Scope` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Trace` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Trace` may come from an old version of the `gc_derive` crate, try updating your dependency with `cargo update -p gc_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Trace` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/scope.rs:21:17 [INFO] [stdout] | [INFO] [stdout] 21 | #[derive(Trace, Finalize)] [INFO] [stdout] | ^------- [INFO] [stdout] | | [INFO] [stdout] | `Finalize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_gc_Finalize_FOR_Scope` [INFO] [stdout] 22 | pub enum Scope { [INFO] [stdout] | ----- `Scope` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Finalize` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Finalize` may come from an old version of the `gc_derive` crate, try updating your dependency with `cargo update -p gc_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Finalize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/value.rs:8:17 [INFO] [stdout] | [INFO] [stdout] 8 | #[derive(Clone, Trace, Finalize)] [INFO] [stdout] | ^---- [INFO] [stdout] | | [INFO] [stdout] | `Trace` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_gc_Trace_FOR_NixValue` [INFO] [stdout] 9 | pub enum NixValue { [INFO] [stdout] | -------- `NixValue` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Trace` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Trace` may come from an old version of the `gc_derive` crate, try updating your dependency with `cargo update -p gc_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Trace` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/value.rs:8:17 [INFO] [stdout] | [INFO] [stdout] 8 | #[derive(Clone, Trace, Finalize)] [INFO] [stdout] | ^---- [INFO] [stdout] | | [INFO] [stdout] | `Drop` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_std_ops_Drop_FOR_NixValue` [INFO] [stdout] 9 | pub enum NixValue { [INFO] [stdout] | -------- `NixValue` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Trace` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Trace` may come from an old version of the `gc_derive` crate, try updating your dependency with `cargo update -p gc_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Trace` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/value.rs:8:24 [INFO] [stdout] | [INFO] [stdout] 8 | #[derive(Clone, Trace, Finalize)] [INFO] [stdout] | ^------- [INFO] [stdout] | | [INFO] [stdout] | `Finalize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_gc_Finalize_FOR_NixValue` [INFO] [stdout] 9 | pub enum NixValue { [INFO] [stdout] | -------- `NixValue` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Finalize` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Finalize` may come from an old version of the `gc_derive` crate, try updating your dependency with `cargo update -p gc_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Finalize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing [INFO] [stdout] --> src/main.rs:406:50 [INFO] [stdout] | [INFO] [stdout] 406 | let child_expr = climb_expr(expr, offset).clone(); [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the type `Expr` does not implement `Clone`, so calling `clone` on `&Expr` copies the reference, which does not do anything and can be removed [INFO] [stdout] = note: `#[warn(noop_method_call)]` on by default [INFO] [stdout] help: remove this redundant call [INFO] [stdout] | [INFO] [stdout] 406 - let child_expr = climb_expr(expr, offset).clone(); [INFO] [stdout] 406 + let child_expr = climb_expr(expr, offset); [INFO] [stdout] | [INFO] [stdout] help: if you meant to clone `Expr`, implement `Clone` for it [INFO] [stdout] --> src/eval.rs:93:1 [INFO] [stdout] | [INFO] [stdout] 93 + #[derive(Clone)] [INFO] [stdout] 94 | pub struct 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] --> src/error.rs:9:24 [INFO] [stdout] | [INFO] [stdout] 9 | #[derive(Debug, Clone, Trace, Finalize)] [INFO] [stdout] | ^---- [INFO] [stdout] | | [INFO] [stdout] | `Trace` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_gc_Trace_FOR_AppError` [INFO] [stdout] 10 | pub enum AppError { [INFO] [stdout] | -------- `AppError` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Trace` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Trace` may come from an old version of the `gc_derive` crate, try updating your dependency with `cargo update -p gc_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const 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/error.rs:9:24 [INFO] [stdout] | [INFO] [stdout] 9 | #[derive(Debug, Clone, Trace, Finalize)] [INFO] [stdout] | ^---- [INFO] [stdout] | | [INFO] [stdout] | `Drop` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_std_ops_Drop_FOR_AppError` [INFO] [stdout] 10 | pub enum AppError { [INFO] [stdout] | -------- `AppError` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Trace` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Trace` may come from an old version of the `gc_derive` crate, try updating your dependency with `cargo update -p gc_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Trace` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/error.rs:9:31 [INFO] [stdout] | [INFO] [stdout] 9 | #[derive(Debug, Clone, Trace, Finalize)] [INFO] [stdout] | ^------- [INFO] [stdout] | | [INFO] [stdout] | `Finalize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_gc_Finalize_FOR_AppError` [INFO] [stdout] 10 | pub enum AppError { [INFO] [stdout] | -------- `AppError` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Finalize` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Finalize` may come from an old version of the `gc_derive` crate, try updating your dependency with `cargo update -p gc_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Finalize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/error.rs:26:24 [INFO] [stdout] | [INFO] [stdout] 26 | #[derive(Debug, Clone, Trace, Finalize)] [INFO] [stdout] | ^---- [INFO] [stdout] | | [INFO] [stdout] | `Trace` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_gc_Trace_FOR_EvalError` [INFO] [stdout] 27 | pub enum EvalError { [INFO] [stdout] | --------- `EvalError` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Trace` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Trace` may come from an old version of the `gc_derive` crate, try updating your dependency with `cargo update -p gc_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Trace` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/error.rs:26:24 [INFO] [stdout] | [INFO] [stdout] 26 | #[derive(Debug, Clone, Trace, Finalize)] [INFO] [stdout] | ^---- [INFO] [stdout] | | [INFO] [stdout] | `Drop` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_std_ops_Drop_FOR_EvalError` [INFO] [stdout] 27 | pub enum EvalError { [INFO] [stdout] | --------- `EvalError` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Trace` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Trace` may come from an old version of the `gc_derive` crate, try updating your dependency with `cargo update -p gc_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Trace` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/error.rs:26:31 [INFO] [stdout] | [INFO] [stdout] 26 | #[derive(Debug, Clone, Trace, Finalize)] [INFO] [stdout] | ^------- [INFO] [stdout] | | [INFO] [stdout] | `Finalize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_gc_Finalize_FOR_EvalError` [INFO] [stdout] 27 | pub enum EvalError { [INFO] [stdout] | --------- `EvalError` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Finalize` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Finalize` may come from an old version of the `gc_derive` crate, try updating your dependency with `cargo update -p gc_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Finalize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/error.rs:47:24 [INFO] [stdout] | [INFO] [stdout] 47 | #[derive(Debug, Clone, Trace, Finalize)] [INFO] [stdout] | ^---- [INFO] [stdout] | | [INFO] [stdout] | `Trace` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_gc_Trace_FOR_InternalError` [INFO] [stdout] 48 | pub enum InternalError { [INFO] [stdout] | ------------- `InternalError` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Trace` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Trace` may come from an old version of the `gc_derive` crate, try updating your dependency with `cargo update -p gc_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Trace` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/error.rs:47:24 [INFO] [stdout] | [INFO] [stdout] 47 | #[derive(Debug, Clone, Trace, Finalize)] [INFO] [stdout] | ^---- [INFO] [stdout] | | [INFO] [stdout] | `Drop` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_std_ops_Drop_FOR_InternalError` [INFO] [stdout] 48 | pub enum InternalError { [INFO] [stdout] | ------------- `InternalError` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Trace` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Trace` may come from an old version of the `gc_derive` crate, try updating your dependency with `cargo update -p gc_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Trace` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/error.rs:47:31 [INFO] [stdout] | [INFO] [stdout] 47 | #[derive(Debug, Clone, Trace, Finalize)] [INFO] [stdout] | ^------- [INFO] [stdout] | | [INFO] [stdout] | `Finalize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_gc_Finalize_FOR_InternalError` [INFO] [stdout] 48 | pub enum InternalError { [INFO] [stdout] | ------------- `InternalError` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Finalize` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Finalize` may come from an old version of the `gc_derive` crate, try updating your dependency with `cargo update -p gc_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Finalize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/error.rs:56:24 [INFO] [stdout] | [INFO] [stdout] 56 | #[derive(Debug, Clone, Trace, Finalize, PartialEq, Eq)] [INFO] [stdout] | ^---- [INFO] [stdout] | | [INFO] [stdout] | `Trace` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_gc_Trace_FOR_ValueError` [INFO] [stdout] ... [INFO] [stdout] 61 | pub enum ValueError { [INFO] [stdout] | ---------- `ValueError` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Trace` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Trace` may come from an old version of the `gc_derive` crate, try updating your dependency with `cargo update -p gc_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Trace` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/error.rs:56:24 [INFO] [stdout] | [INFO] [stdout] 56 | #[derive(Debug, Clone, Trace, Finalize, PartialEq, Eq)] [INFO] [stdout] | ^---- [INFO] [stdout] | | [INFO] [stdout] | `Drop` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_std_ops_Drop_FOR_ValueError` [INFO] [stdout] ... [INFO] [stdout] 61 | pub enum ValueError { [INFO] [stdout] | ---------- `ValueError` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Trace` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Trace` may come from an old version of the `gc_derive` crate, try updating your dependency with `cargo update -p gc_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Trace` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/error.rs:56:31 [INFO] [stdout] | [INFO] [stdout] 56 | #[derive(Debug, Clone, Trace, Finalize, PartialEq, Eq)] [INFO] [stdout] | ^------- [INFO] [stdout] | | [INFO] [stdout] | `Finalize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_gc_Finalize_FOR_ValueError` [INFO] [stdout] ... [INFO] [stdout] 61 | pub enum ValueError { [INFO] [stdout] | ---------- `ValueError` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Finalize` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Finalize` may come from an old version of the `gc_derive` crate, try updating your dependency with `cargo update -p gc_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Finalize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/error.rs:75:24 [INFO] [stdout] | [INFO] [stdout] 75 | #[derive(Debug, Clone, Trace, Finalize, PartialEq, Eq)] [INFO] [stdout] | ^---- [INFO] [stdout] | | [INFO] [stdout] | `Trace` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_gc_Trace_FOR_Located` [INFO] [stdout] 76 | /// An error augmented with a location [INFO] [stdout] 77 | pub struct Located { [INFO] [stdout] | ------- `Located` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Trace` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Trace` may come from an old version of the `gc_derive` crate, try updating your dependency with `cargo update -p gc_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Trace` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/error.rs:75:24 [INFO] [stdout] | [INFO] [stdout] 75 | #[derive(Debug, Clone, Trace, Finalize, PartialEq, Eq)] [INFO] [stdout] | ^---- [INFO] [stdout] | | [INFO] [stdout] | `Drop` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_std_ops_Drop_FOR_Located` [INFO] [stdout] 76 | /// An error augmented with a location [INFO] [stdout] 77 | pub struct Located { [INFO] [stdout] | ------- `Located` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Trace` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Trace` may come from an old version of the `gc_derive` crate, try updating your dependency with `cargo update -p gc_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Trace` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/error.rs:75:31 [INFO] [stdout] | [INFO] [stdout] 75 | #[derive(Debug, Clone, Trace, Finalize, PartialEq, Eq)] [INFO] [stdout] | ^------- [INFO] [stdout] | | [INFO] [stdout] | `Finalize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_gc_Finalize_FOR_Located` [INFO] [stdout] 76 | /// An error augmented with a location [INFO] [stdout] 77 | pub struct Located { [INFO] [stdout] | ------- `Located` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Finalize` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Finalize` may come from an old version of the `gc_derive` crate, try updating your dependency with `cargo update -p gc_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Finalize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/eval.rs:24:17 [INFO] [stdout] | [INFO] [stdout] 24 | #[derive(Debug, Trace, Finalize)] [INFO] [stdout] | ^---- [INFO] [stdout] | | [INFO] [stdout] | `Trace` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_gc_Trace_FOR_ExprSource` [INFO] [stdout] 25 | pub enum ExprSource { [INFO] [stdout] | ---------- `ExprSource` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Trace` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Trace` may come from an old version of the `gc_derive` crate, try updating your dependency with `cargo update -p gc_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Trace` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/eval.rs:24:17 [INFO] [stdout] | [INFO] [stdout] 24 | #[derive(Debug, Trace, Finalize)] [INFO] [stdout] | ^---- [INFO] [stdout] | | [INFO] [stdout] | `Drop` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_std_ops_Drop_FOR_ExprSource` [INFO] [stdout] 25 | pub enum ExprSource { [INFO] [stdout] | ---------- `ExprSource` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Trace` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Trace` may come from an old version of the `gc_derive` crate, try updating your dependency with `cargo update -p gc_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Trace` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/eval.rs:24:24 [INFO] [stdout] | [INFO] [stdout] 24 | #[derive(Debug, Trace, Finalize)] [INFO] [stdout] | ^------- [INFO] [stdout] | | [INFO] [stdout] | `Finalize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_gc_Finalize_FOR_ExprSource` [INFO] [stdout] 25 | pub enum ExprSource { [INFO] [stdout] | ---------- `ExprSource` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Finalize` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Finalize` may come from an old version of the `gc_derive` crate, try updating your dependency with `cargo update -p gc_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Finalize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/eval.rs:92:10 [INFO] [stdout] | [INFO] [stdout] 92 | #[derive(Trace, Finalize)] [INFO] [stdout] | ^---- [INFO] [stdout] | | [INFO] [stdout] | `Trace` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_gc_Trace_FOR_Expr` [INFO] [stdout] 93 | pub struct Expr { [INFO] [stdout] | ---- `Expr` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Trace` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Trace` may come from an old version of the `gc_derive` crate, try updating your dependency with `cargo update -p gc_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Trace` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/eval.rs:92:10 [INFO] [stdout] | [INFO] [stdout] 92 | #[derive(Trace, Finalize)] [INFO] [stdout] | ^---- [INFO] [stdout] | | [INFO] [stdout] | `Drop` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_std_ops_Drop_FOR_Expr` [INFO] [stdout] 93 | pub struct Expr { [INFO] [stdout] | ---- `Expr` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Trace` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Trace` may come from an old version of the `gc_derive` crate, try updating your dependency with `cargo update -p gc_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Trace` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/eval.rs:92:17 [INFO] [stdout] | [INFO] [stdout] 92 | #[derive(Trace, Finalize)] [INFO] [stdout] | ^------- [INFO] [stdout] | | [INFO] [stdout] | `Finalize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_gc_Finalize_FOR_Expr` [INFO] [stdout] 93 | pub struct Expr { [INFO] [stdout] | ---- `Expr` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Finalize` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Finalize` may come from an old version of the `gc_derive` crate, try updating your dependency with `cargo update -p gc_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Finalize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/parse.rs:23:24 [INFO] [stdout] | [INFO] [stdout] 23 | #[derive(Debug, Clone, Trace, Finalize)] [INFO] [stdout] | ^---- [INFO] [stdout] | | [INFO] [stdout] | `Trace` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_gc_Trace_FOR_BinOpKind` [INFO] [stdout] 24 | pub enum BinOpKind { [INFO] [stdout] | --------- `BinOpKind` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Trace` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Trace` may come from an old version of the `gc_derive` crate, try updating your dependency with `cargo update -p gc_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Trace` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/parse.rs:23:24 [INFO] [stdout] | [INFO] [stdout] 23 | #[derive(Debug, Clone, Trace, Finalize)] [INFO] [stdout] | ^---- [INFO] [stdout] | | [INFO] [stdout] | `Drop` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_std_ops_Drop_FOR_BinOpKind` [INFO] [stdout] 24 | pub enum BinOpKind { [INFO] [stdout] | --------- `BinOpKind` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Trace` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Trace` may come from an old version of the `gc_derive` crate, try updating your dependency with `cargo update -p gc_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Trace` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/parse.rs:23:31 [INFO] [stdout] | [INFO] [stdout] 23 | #[derive(Debug, Clone, Trace, Finalize)] [INFO] [stdout] | ^------- [INFO] [stdout] | | [INFO] [stdout] | `Finalize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_gc_Finalize_FOR_BinOpKind` [INFO] [stdout] 24 | pub enum BinOpKind { [INFO] [stdout] | --------- `BinOpKind` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Finalize` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Finalize` may come from an old version of the `gc_derive` crate, try updating your dependency with `cargo update -p gc_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Finalize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/scope.rs:21:10 [INFO] [stdout] | [INFO] [stdout] 21 | #[derive(Trace, Finalize)] [INFO] [stdout] | ^---- [INFO] [stdout] | | [INFO] [stdout] | `Trace` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_gc_Trace_FOR_Scope` [INFO] [stdout] 22 | pub enum Scope { [INFO] [stdout] | ----- `Scope` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Trace` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Trace` may come from an old version of the `gc_derive` crate, try updating your dependency with `cargo update -p gc_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Trace` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/scope.rs:21:10 [INFO] [stdout] | [INFO] [stdout] 21 | #[derive(Trace, Finalize)] [INFO] [stdout] | ^---- [INFO] [stdout] | | [INFO] [stdout] | `Drop` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_std_ops_Drop_FOR_Scope` [INFO] [stdout] 22 | pub enum Scope { [INFO] [stdout] | ----- `Scope` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Trace` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Trace` may come from an old version of the `gc_derive` crate, try updating your dependency with `cargo update -p gc_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Trace` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/scope.rs:21:17 [INFO] [stdout] | [INFO] [stdout] 21 | #[derive(Trace, Finalize)] [INFO] [stdout] | ^------- [INFO] [stdout] | | [INFO] [stdout] | `Finalize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_gc_Finalize_FOR_Scope` [INFO] [stdout] 22 | pub enum Scope { [INFO] [stdout] | ----- `Scope` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Finalize` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Finalize` may come from an old version of the `gc_derive` crate, try updating your dependency with `cargo update -p gc_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Finalize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/value.rs:8:17 [INFO] [stdout] | [INFO] [stdout] 8 | #[derive(Clone, Trace, Finalize)] [INFO] [stdout] | ^---- [INFO] [stdout] | | [INFO] [stdout] | `Trace` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_gc_Trace_FOR_NixValue` [INFO] [stdout] 9 | pub enum NixValue { [INFO] [stdout] | -------- `NixValue` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Trace` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Trace` may come from an old version of the `gc_derive` crate, try updating your dependency with `cargo update -p gc_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Trace` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/value.rs:8:17 [INFO] [stdout] | [INFO] [stdout] 8 | #[derive(Clone, Trace, Finalize)] [INFO] [stdout] | ^---- [INFO] [stdout] | | [INFO] [stdout] | `Drop` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_std_ops_Drop_FOR_NixValue` [INFO] [stdout] 9 | pub enum NixValue { [INFO] [stdout] | -------- `NixValue` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Trace` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Trace` may come from an old version of the `gc_derive` crate, try updating your dependency with `cargo update -p gc_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Trace` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/value.rs:8:24 [INFO] [stdout] | [INFO] [stdout] 8 | #[derive(Clone, Trace, Finalize)] [INFO] [stdout] | ^------- [INFO] [stdout] | | [INFO] [stdout] | `Finalize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_gc_Finalize_FOR_NixValue` [INFO] [stdout] 9 | pub enum NixValue { [INFO] [stdout] | -------- `NixValue` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Finalize` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Finalize` may come from an old version of the `gc_derive` crate, try updating your dependency with `cargo update -p gc_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Finalize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 25.89s [INFO] running `Command { std: "docker" "inspect" "3d81fa1afcd7fbd978aa5be0243c470ffb9fb072de8c7845fa786a46a33cec51", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "3d81fa1afcd7fbd978aa5be0243c470ffb9fb072de8c7845fa786a46a33cec51", kill_on_drop: false }` [INFO] [stdout] 3d81fa1afcd7fbd978aa5be0243c470ffb9fb072de8c7845fa786a46a33cec51