[INFO] cloning repository https://github.com/aryan-programmer/evilang [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/aryan-programmer/evilang" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Faryan-programmer%2Fevilang", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Faryan-programmer%2Fevilang'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] a5d2459ac1b74c6b19fd5381d012d745b89df2b7 [INFO] checking aryan-programmer/evilang against master#3350c1eb3fd8fe1bee1ed4c76944d707bd256876 for pr-140558 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Faryan-programmer%2Fevilang" "/workspace/builds/worker-6-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc1/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/aryan-programmer/evilang on toolchain 3350c1eb3fd8fe1bee1ed4c76944d707bd256876 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+3350c1eb3fd8fe1bee1ed4c76944d707bd256876" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/aryan-programmer/evilang [INFO] finished tweaking git repo https://github.com/aryan-programmer/evilang [INFO] tweaked toml for git repo https://github.com/aryan-programmer/evilang written to /workspace/builds/worker-6-tc1/source/Cargo.toml [INFO] crate git repo https://github.com/aryan-programmer/evilang 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" "+3350c1eb3fd8fe1bee1ed4c76944d707bd256876" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Updating crates.io index [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded proc-macro-hack-impl v0.4.3 [INFO] [stderr] Downloaded synstructure v0.13.0 [INFO] [stderr] Downloaded const-str v0.5.6 [INFO] [stderr] Downloaded delegate v0.10.0 [INFO] [stderr] Downloaded unhygienic v0.1.1 [INFO] [stderr] Downloaded gc_derive v0.5.0 [INFO] [stderr] Downloaded gc v0.5.0 [INFO] [stderr] Downloaded proc-macro-hack v0.4.3 [INFO] [stderr] Downloaded unhygienic-impl v0.1.0 [INFO] [stderr] Downloaded clap v4.3.23 [INFO] [stderr] Downloaded clap_builder v4.3.23 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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:b0b074c097205a61b89e8ad263052f976b2b332c4dc5f02aef1fe52501660d6e" "/opt/rustwide/cargo-home/bin/cargo" "+3350c1eb3fd8fe1bee1ed4c76944d707bd256876" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 05119be16cc1557f9047c96a5b65d7f6d4d25e4a5eb7e9c01147364e3dc30a83 [INFO] running `Command { std: "docker" "start" "-a" "05119be16cc1557f9047c96a5b65d7f6d4d25e4a5eb7e9c01147364e3dc30a83", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "05119be16cc1557f9047c96a5b65d7f6d4d25e4a5eb7e9c01147364e3dc30a83", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "05119be16cc1557f9047c96a5b65d7f6d4d25e4a5eb7e9c01147364e3dc30a83", kill_on_drop: false }` [INFO] [stdout] 05119be16cc1557f9047c96a5b65d7f6d4d25e4a5eb7e9c01147364e3dc30a83 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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:b0b074c097205a61b89e8ad263052f976b2b332c4dc5f02aef1fe52501660d6e" "/opt/rustwide/cargo-home/bin/cargo" "+3350c1eb3fd8fe1bee1ed4c76944d707bd256876" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] ffdef57cb8fef8e2b7aeb7a6facec0af93c356b362014228fbf59fe29c5cebee [INFO] running `Command { std: "docker" "start" "-a" "ffdef57cb8fef8e2b7aeb7a6facec0af93c356b362014228fbf59fe29c5cebee", kill_on_drop: false }` [INFO] [stderr] Compiling proc-macro2 v1.0.66 [INFO] [stderr] Compiling unicode-ident v1.0.11 [INFO] [stderr] Compiling proc-macro-hack-impl v0.4.3 [INFO] [stderr] Compiling fnv v1.0.7 [INFO] [stderr] Compiling strsim v0.10.0 [INFO] [stderr] Compiling ident_case v1.0.1 [INFO] [stderr] Compiling memchr v2.5.0 [INFO] [stderr] Compiling unicode-xid v0.2.4 [INFO] [stderr] Compiling libc v0.2.147 [INFO] [stderr] Compiling rustix v0.38.8 [INFO] [stderr] Compiling syn v1.0.109 [INFO] [stderr] Checking linux-raw-sys v0.4.5 [INFO] [stderr] Checking bitflags v2.4.0 [INFO] [stderr] Compiling either v1.9.0 [INFO] [stderr] Checking utf8parse v0.2.1 [INFO] [stderr] Compiling maybe-owned v0.3.4 [INFO] [stderr] Checking colorchoice v1.0.0 [INFO] [stderr] Checking adler v1.0.2 [INFO] [stderr] Compiling split-iter v0.1.0 [INFO] [stderr] Checking anstyle v1.0.1 [INFO] [stderr] Checking anstyle-parse v0.2.1 [INFO] [stderr] Compiling autocfg v1.1.0 [INFO] [stderr] Compiling itertools v0.11.0 [INFO] [stderr] Checking anstyle-query v1.0.0 [INFO] [stderr] Checking gimli v0.27.3 [INFO] [stderr] Checking miniz_oxide v0.7.1 [INFO] [stderr] Compiling heck v0.4.1 [INFO] [stderr] Checking rustc-demangle v0.1.23 [INFO] [stderr] Compiling proc-macro-hack v0.4.3 [INFO] [stderr] Compiling unhygienic-impl v0.1.0 [INFO] [stderr] Compiling anyhow v1.0.75 [INFO] [stderr] Checking regex-syntax v0.7.4 [INFO] [stderr] Checking clap_lex v0.5.0 [INFO] [stderr] Checking cfg-if v1.0.0 [INFO] [stderr] Checking aho-corasick v1.0.4 [INFO] [stderr] Compiling num-traits v0.2.16 [INFO] [stderr] Checking object v0.31.1 [INFO] [stderr] Compiling thiserror v1.0.47 [INFO] [stderr] Compiling quote v1.0.33 [INFO] [stderr] Checking once_cell v1.18.0 [INFO] [stderr] Compiling evilang_lib v0.1.0 (/opt/rustwide/workdir/evilang_lib) [INFO] [stderr] Compiling unhygienic v0.1.1 [INFO] [stderr] Checking static_assertions v1.1.0 [INFO] [stderr] Checking const-str v0.5.6 [INFO] [stderr] Compiling evilang v0.1.0 (/opt/rustwide/workdir) [INFO] [stderr] Compiling syn v2.0.29 [INFO] [stderr] Compiling cc v1.0.82 [INFO] [stderr] Checking is-terminal v0.4.9 [INFO] [stderr] Checking anstream v0.3.2 [INFO] [stderr] Checking clap_builder v4.3.23 [INFO] [stderr] Checking regex-automata v0.3.6 [INFO] [stderr] Compiling backtrace v0.3.68 [INFO] [stderr] Checking addr2line v0.20.0 [INFO] [stderr] Checking regex v1.9.3 [INFO] [stderr] Checking darling_core v0.20.3 [INFO] [stderr] Checking synstructure v0.13.0 [INFO] [stderr] Compiling synstructure v0.12.6 [INFO] [stderr] Compiling gc_derive v0.5.0 [INFO] [stderr] Compiling delegate v0.10.0 [INFO] [stderr] Checking gc v0.5.0 [INFO] [stderr] Compiling clap_derive v4.3.12 [INFO] [stderr] Compiling thiserror-impl v1.0.47 [INFO] [stderr] Compiling darling_macro v0.20.3 [INFO] [stderr] Compiling darling v0.20.3 [INFO] [stderr] Checking evilang_proc_macros v0.1.0 (/opt/rustwide/workdir/evilang_proc_macros) [INFO] [stderr] Checking clap v4.3.23 [INFO] [stdout] warning: method `get_attribute` is never used [INFO] [stdout] --> evilang_proc_macros/src/utils/attributes/mod.rs:40:5 [INFO] [stdout] | [INFO] [stdout] 34 | pub(crate) trait TryParseAttribute: Default + ParseArgs { [INFO] [stdout] | ----------------- method in this trait [INFO] [stdout] ... [INFO] [stdout] 40 | fn get_attribute(&self) -> Option<&Attribute>; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple fields are never read [INFO] [stdout] --> evilang_proc_macros/src/utils/crate_imports.rs:8:6 [INFO] [stdout] | [INFO] [stdout] 5 | pub struct CrateImports { [INFO] [stdout] | ------------ fields in this struct [INFO] [stdout] ... [INFO] [stdout] 8 | pub ErrorT: TokenStream, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 9 | pub EvilangError: TokenStream, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 10 | pub RuntimeError: TokenStream, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 28 | pub Some_: TokenStream, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 29 | pub None_: TokenStream, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 30 | pub Err_: TokenStream, [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 33 | pub module: TokenStream, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `get_attribute` is never used [INFO] [stdout] --> evilang_proc_macros/src/utils/attributes/mod.rs:40:5 [INFO] [stdout] | [INFO] [stdout] 34 | pub(crate) trait TryParseAttribute: Default + ParseArgs { [INFO] [stdout] | ----------------- method in this trait [INFO] [stdout] ... [INFO] [stdout] 40 | fn get_attribute(&self) -> Option<&Attribute>; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple fields are never read [INFO] [stdout] --> evilang_proc_macros/src/utils/crate_imports.rs:8:6 [INFO] [stdout] | [INFO] [stdout] 5 | pub struct CrateImports { [INFO] [stdout] | ------------ fields in this struct [INFO] [stdout] ... [INFO] [stdout] 8 | pub ErrorT: TokenStream, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 9 | pub EvilangError: TokenStream, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 10 | pub RuntimeError: TokenStream, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 28 | pub Some_: TokenStream, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 29 | pub None_: TokenStream, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 30 | pub Err_: TokenStream, [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 33 | pub module: TokenStream, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `get_attribute` is never used [INFO] [stdout] --> evilang_proc_macros/src/utils/attributes/mod.rs:40:5 [INFO] [stdout] | [INFO] [stdout] 34 | pub(crate) trait TryParseAttribute: Default + ParseArgs { [INFO] [stdout] | ----------------- method in this trait [INFO] [stdout] ... [INFO] [stdout] 40 | fn get_attribute(&self) -> Option<&Attribute>; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple fields are never read [INFO] [stdout] --> evilang_proc_macros/src/utils/crate_imports.rs:8:6 [INFO] [stdout] | [INFO] [stdout] 5 | pub struct CrateImports { [INFO] [stdout] | ------------ fields in this struct [INFO] [stdout] ... [INFO] [stdout] 8 | pub ErrorT: TokenStream, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 9 | pub EvilangError: TokenStream, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 10 | pub RuntimeError: TokenStream, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 28 | pub Some_: TokenStream, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 29 | pub None_: TokenStream, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 30 | pub Err_: TokenStream, [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 33 | pub module: TokenStream, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Checking evilang_traits v0.1.0 (/opt/rustwide/workdir/evilang_traits) [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> evilang_lib/src/lib/interpreter/environment/mod.rs:30:17 [INFO] [stdout] | [INFO] [stdout] 30 | #[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_Environment` [INFO] [stdout] 31 | pub struct Environment { [INFO] [stdout] | ----------- `Environment` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Trace` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Trace` may come from an old version of the `gc_derive` crate, try updating your dependency with `cargo update -p gc_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const 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] --> evilang_lib/src/lib/interpreter/environment/mod.rs:30:17 [INFO] [stdout] | [INFO] [stdout] 30 | #[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_Environment` [INFO] [stdout] 31 | pub struct Environment { [INFO] [stdout] | ----------- `Environment` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Trace` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Trace` may come from an old version of the `gc_derive` crate, try updating your dependency with `cargo update -p gc_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Trace` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> evilang_lib/src/lib/interpreter/environment/mod.rs:30:24 [INFO] [stdout] | [INFO] [stdout] 30 | #[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_Environment` [INFO] [stdout] 31 | pub struct Environment { [INFO] [stdout] | ----------- `Environment` 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 `.deref()` on a reference in this situation does nothing [INFO] [stdout] --> evilang_lib/src/lib/interpreter/environment/expression_evaluation.rs:97:100 [INFO] [stdout] | [INFO] [stdout] 97 | return Err(RuntimeError::ExpectedValidSubscript(Descriptor::new_both(val.into(), expr.deref().deref().into())).into()); [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the type `Expression` does not implement `Deref`, so calling `deref` on `&Expression` 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] 97 - return Err(RuntimeError::ExpectedValidSubscript(Descriptor::new_both(val.into(), expr.deref().deref().into())).into()); [INFO] [stdout] 97 + return Err(RuntimeError::ExpectedValidSubscript(Descriptor::new_both(val.into(), expr.deref().into())).into()); [INFO] [stdout] | [INFO] [stdout] help: if you meant to clone `Expression`, implement `Clone` for it [INFO] [stdout] --> evilang_lib/src/lib/ast/expression.rs:29:1 [INFO] [stdout] | [INFO] [stdout] 29 + #[derive(Clone)] [INFO] [stdout] 30 | pub enum Expression { [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] --> evilang_lib/src/lib/interpreter/environment/mod.rs:30:17 [INFO] [stdout] | [INFO] [stdout] 30 | #[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_Environment` [INFO] [stdout] 31 | pub struct Environment { [INFO] [stdout] | ----------- `Environment` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Trace` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Trace` may come from an old version of the `gc_derive` crate, try updating your dependency with `cargo update -p gc_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const 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] --> evilang_lib/src/lib/interpreter/environment/mod.rs:30:17 [INFO] [stdout] | [INFO] [stdout] 30 | #[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_Environment` [INFO] [stdout] 31 | pub struct Environment { [INFO] [stdout] | ----------- `Environment` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Trace` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Trace` may come from an old version of the `gc_derive` crate, try updating your dependency with `cargo update -p gc_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Trace` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> evilang_lib/src/lib/interpreter/environment/native_items/classes/vector.rs:18:24 [INFO] [stdout] | [INFO] [stdout] 18 | #[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_Vector` [INFO] [stdout] 19 | pub struct Vector { [INFO] [stdout] | ------ `Vector` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Trace` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Trace` may come from an old version of the `gc_derive` crate, try updating your dependency with `cargo update -p gc_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Trace` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> evilang_lib/src/lib/interpreter/environment/native_items/classes/vector.rs:18:24 [INFO] [stdout] | [INFO] [stdout] 18 | #[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_Vector` [INFO] [stdout] 19 | pub struct Vector { [INFO] [stdout] | ------ `Vector` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Trace` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Trace` may come from an old version of the `gc_derive` crate, try updating your dependency with `cargo update -p gc_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Trace` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> evilang_lib/src/lib/interpreter/environment/mod.rs:30:24 [INFO] [stdout] | [INFO] [stdout] 30 | #[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_Environment` [INFO] [stdout] 31 | pub struct Environment { [INFO] [stdout] | ----------- `Environment` 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] --> evilang_lib/src/lib/interpreter/environment/native_items/classes/vector.rs:18:31 [INFO] [stdout] | [INFO] [stdout] 18 | #[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_Vector` [INFO] [stdout] 19 | pub struct Vector { [INFO] [stdout] | ------ `Vector` 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] --> evilang_lib/src/lib/interpreter/environment/resolver.rs:69:28 [INFO] [stdout] | [INFO] [stdout] 69 | #[derive(Clone, PartialEq, Trace, Finalize)] [INFO] [stdout] | ^---- [INFO] [stdout] | | [INFO] [stdout] | `Trace` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_gc_Trace_FOR_DefaultResolver` [INFO] [stdout] 70 | pub struct DefaultResolver {} [INFO] [stdout] | --------------- `DefaultResolver` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Trace` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Trace` may come from an old version of the `gc_derive` crate, try updating your dependency with `cargo update -p gc_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Trace` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> evilang_lib/src/lib/interpreter/environment/resolver.rs:69:28 [INFO] [stdout] | [INFO] [stdout] 69 | #[derive(Clone, PartialEq, Trace, Finalize)] [INFO] [stdout] | ^---- [INFO] [stdout] | | [INFO] [stdout] | `Drop` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_std_ops_Drop_FOR_DefaultResolver` [INFO] [stdout] 70 | pub struct DefaultResolver {} [INFO] [stdout] | --------------- `DefaultResolver` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Trace` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Trace` may come from an old version of the `gc_derive` crate, try updating your dependency with `cargo update -p gc_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Trace` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> evilang_lib/src/lib/interpreter/environment/resolver.rs:69:35 [INFO] [stdout] | [INFO] [stdout] 69 | #[derive(Clone, PartialEq, Trace, Finalize)] [INFO] [stdout] | ^------- [INFO] [stdout] | | [INFO] [stdout] | `Finalize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_gc_Finalize_FOR_DefaultResolver` [INFO] [stdout] 70 | pub struct DefaultResolver {} [INFO] [stdout] | --------------- `DefaultResolver` 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] --> evilang_lib/src/lib/interpreter/runtime_values/mod.rs:36:24 [INFO] [stdout] | [INFO] [stdout] 36 | #[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_PrimitiveValue` [INFO] [stdout] 37 | pub enum PrimitiveValue { [INFO] [stdout] | -------------- `PrimitiveValue` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Trace` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Trace` may come from an old version of the `gc_derive` crate, try updating your dependency with `cargo update -p gc_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Trace` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> evilang_lib/src/lib/interpreter/runtime_values/mod.rs:36:24 [INFO] [stdout] | [INFO] [stdout] 36 | #[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_PrimitiveValue` [INFO] [stdout] 37 | pub enum PrimitiveValue { [INFO] [stdout] | -------------- `PrimitiveValue` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Trace` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Trace` may come from an old version of the `gc_derive` crate, try updating your dependency with `cargo update -p gc_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Trace` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> evilang_lib/src/lib/interpreter/runtime_values/mod.rs:36:31 [INFO] [stdout] | [INFO] [stdout] 36 | #[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_PrimitiveValue` [INFO] [stdout] 37 | pub enum PrimitiveValue { [INFO] [stdout] | -------------- `PrimitiveValue` 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 `.deref()` on a reference in this situation does nothing [INFO] [stdout] --> evilang_lib/src/lib/interpreter/runtime_values/mod.rs:56:73 [INFO] [stdout] | [INFO] [stdout] 56 | PrimitiveValue::Function(fnc) => { std::fmt::Display::fmt(fnc.deref().deref(), f) } [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the type `Function` does not implement `Deref`, so calling `deref` on `&Function` copies the reference, which does not do anything and can be removed [INFO] [stdout] help: remove this redundant call [INFO] [stdout] | [INFO] [stdout] 56 - PrimitiveValue::Function(fnc) => { std::fmt::Display::fmt(fnc.deref().deref(), f) } [INFO] [stdout] 56 + PrimitiveValue::Function(fnc) => { std::fmt::Display::fmt(fnc.deref(), f) } [INFO] [stdout] | [INFO] [stdout] help: if you meant to clone `Function`, implement `Clone` for it [INFO] [stdout] --> evilang_lib/src/lib/interpreter/runtime_values/functions/mod.rs:22:1 [INFO] [stdout] | [INFO] [stdout] 22 + #[derive(Clone)] [INFO] [stdout] 23 | pub enum Function { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to `.deref()` on a reference in this situation does nothing [INFO] [stdout] --> evilang_lib/src/lib/interpreter/runtime_values/ref_to_value/deref_of_ref_to_value.rs:21:50 [INFO] [stdout] | [INFO] [stdout] 21 | DerefOfRefToValue::DerefLValue(r) => r.deref().deref().try_clone_err(), [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the type `PrimitiveValue` does not implement `Deref`, so calling `deref` on `&PrimitiveValue` copies the reference, which does not do anything and can be removed [INFO] [stdout] help: remove this redundant call [INFO] [stdout] | [INFO] [stdout] 21 - DerefOfRefToValue::DerefLValue(r) => r.deref().deref().try_clone_err(), [INFO] [stdout] 21 + DerefOfRefToValue::DerefLValue(r) => r.deref().try_clone_err(), [INFO] [stdout] | [INFO] [stdout] help: if you meant to clone `PrimitiveValue`, implement `Clone` for it [INFO] [stdout] --> evilang_lib/src/lib/interpreter/runtime_values/mod.rs:37:1 [INFO] [stdout] | [INFO] [stdout] 37 + #[derive(Clone)] [INFO] [stdout] 38 | pub enum PrimitiveValue { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to `.deref()` on a reference in this situation does nothing [INFO] [stdout] --> evilang_lib/src/lib/interpreter/environment/expression_evaluation.rs:97:100 [INFO] [stdout] | [INFO] [stdout] 97 | return Err(RuntimeError::ExpectedValidSubscript(Descriptor::new_both(val.into(), expr.deref().deref().into())).into()); [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the type `Expression` does not implement `Deref`, so calling `deref` on `&Expression` 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] 97 - return Err(RuntimeError::ExpectedValidSubscript(Descriptor::new_both(val.into(), expr.deref().deref().into())).into()); [INFO] [stdout] 97 + return Err(RuntimeError::ExpectedValidSubscript(Descriptor::new_both(val.into(), expr.deref().into())).into()); [INFO] [stdout] | [INFO] [stdout] help: if you meant to clone `Expression`, implement `Clone` for it [INFO] [stdout] --> evilang_lib/src/lib/ast/expression.rs:29:1 [INFO] [stdout] | [INFO] [stdout] 29 + #[derive(Clone)] [INFO] [stdout] 30 | pub enum Expression { [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] --> evilang_lib/src/lib/interpreter/runtime_values/functions/mod.rs:21:28 [INFO] [stdout] | [INFO] [stdout] 21 | #[derive(Debug, PartialEq, Trace, Finalize)] [INFO] [stdout] | ^---- [INFO] [stdout] | | [INFO] [stdout] | `Trace` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_gc_Trace_FOR_Function` [INFO] [stdout] 22 | pub enum Function { [INFO] [stdout] | -------- `Function` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Trace` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Trace` may come from an old version of the `gc_derive` crate, try updating your dependency with `cargo update -p gc_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Trace` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> evilang_lib/src/lib/interpreter/runtime_values/functions/mod.rs:21:28 [INFO] [stdout] | [INFO] [stdout] 21 | #[derive(Debug, PartialEq, Trace, Finalize)] [INFO] [stdout] | ^---- [INFO] [stdout] | | [INFO] [stdout] | `Drop` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_std_ops_Drop_FOR_Function` [INFO] [stdout] 22 | pub enum Function { [INFO] [stdout] | -------- `Function` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Trace` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Trace` may come from an old version of the `gc_derive` crate, try updating your dependency with `cargo update -p gc_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Trace` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> evilang_lib/src/lib/interpreter/runtime_values/functions/mod.rs:21:35 [INFO] [stdout] | [INFO] [stdout] 21 | #[derive(Debug, PartialEq, Trace, Finalize)] [INFO] [stdout] | ^------- [INFO] [stdout] | | [INFO] [stdout] | `Finalize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_gc_Finalize_FOR_Function` [INFO] [stdout] 22 | pub enum Function { [INFO] [stdout] | -------- `Function` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Finalize` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Finalize` may come from an old version of the `gc_derive` crate, try updating your dependency with `cargo update -p gc_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Finalize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> evilang_lib/src/lib/interpreter/runtime_values/functions/closure.rs:16:10 [INFO] [stdout] | [INFO] [stdout] 16 | #[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_Closure` [INFO] [stdout] 17 | pub struct Closure { [INFO] [stdout] | ------- `Closure` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Trace` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Trace` may come from an old version of the `gc_derive` crate, try updating your dependency with `cargo update -p gc_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Trace` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> evilang_lib/src/lib/interpreter/runtime_values/functions/closure.rs:16:10 [INFO] [stdout] | [INFO] [stdout] 16 | #[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_Closure` [INFO] [stdout] 17 | pub struct Closure { [INFO] [stdout] | ------- `Closure` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Trace` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Trace` may come from an old version of the `gc_derive` crate, try updating your dependency with `cargo update -p gc_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Trace` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> evilang_lib/src/lib/interpreter/runtime_values/functions/closure.rs:16:17 [INFO] [stdout] | [INFO] [stdout] 16 | #[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_Closure` [INFO] [stdout] 17 | pub struct Closure { [INFO] [stdout] | ------- `Closure` 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] --> evilang_lib/src/lib/interpreter/runtime_values/objects/runtime_object.rs:27:28 [INFO] [stdout] | [INFO] [stdout] 27 | #[derive(Debug, PartialEq, Trace, Finalize)] [INFO] [stdout] | ^---- [INFO] [stdout] | | [INFO] [stdout] | `Trace` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_gc_Trace_FOR_RuntimeObject` [INFO] [stdout] 28 | pub struct RuntimeObject { [INFO] [stdout] | ------------- `RuntimeObject` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Trace` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Trace` may come from an old version of the `gc_derive` crate, try updating your dependency with `cargo update -p gc_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Trace` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> evilang_lib/src/lib/interpreter/environment/native_items/classes/vector.rs:18:24 [INFO] [stdout] | [INFO] [stdout] 18 | #[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_Vector` [INFO] [stdout] 19 | pub struct Vector { [INFO] [stdout] | ------ `Vector` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Trace` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Trace` may come from an old version of the `gc_derive` crate, try updating your dependency with `cargo update -p gc_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Trace` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> evilang_lib/src/lib/interpreter/runtime_values/objects/runtime_object.rs:27:28 [INFO] [stdout] | [INFO] [stdout] 27 | #[derive(Debug, PartialEq, Trace, Finalize)] [INFO] [stdout] | ^---- [INFO] [stdout] | | [INFO] [stdout] | `Drop` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_std_ops_Drop_FOR_RuntimeObject` [INFO] [stdout] 28 | pub struct RuntimeObject { [INFO] [stdout] | ------------- `RuntimeObject` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Trace` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Trace` may come from an old version of the `gc_derive` crate, try updating your dependency with `cargo update -p gc_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Trace` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> evilang_lib/src/lib/interpreter/runtime_values/objects/runtime_object.rs:27:35 [INFO] [stdout] | [INFO] [stdout] 27 | #[derive(Debug, PartialEq, Trace, Finalize)] [INFO] [stdout] | ^------- [INFO] [stdout] | | [INFO] [stdout] | `Finalize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_gc_Finalize_FOR_RuntimeObject` [INFO] [stdout] 28 | pub struct RuntimeObject { [INFO] [stdout] | ------------- `RuntimeObject` 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] --> evilang_lib/src/lib/interpreter/variables_containers/mod.rs:19:21 [INFO] [stdout] | [INFO] [stdout] 19 | #[derive(PartialEq, Trace, Finalize)] [INFO] [stdout] | ^---- [INFO] [stdout] | | [INFO] [stdout] | `Trace` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_gc_Trace_FOR_GlobalScope` [INFO] [stdout] 20 | pub struct GlobalScope { [INFO] [stdout] | ----------- `GlobalScope` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Trace` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Trace` may come from an old version of the `gc_derive` crate, try updating your dependency with `cargo update -p gc_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Trace` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> evilang_lib/src/lib/interpreter/variables_containers/mod.rs:19:21 [INFO] [stdout] | [INFO] [stdout] 19 | #[derive(PartialEq, Trace, Finalize)] [INFO] [stdout] | ^---- [INFO] [stdout] | | [INFO] [stdout] | `Drop` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_std_ops_Drop_FOR_GlobalScope` [INFO] [stdout] 20 | pub struct GlobalScope { [INFO] [stdout] | ----------- `GlobalScope` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Trace` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Trace` may come from an old version of the `gc_derive` crate, try updating your dependency with `cargo update -p gc_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Trace` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> evilang_lib/src/lib/interpreter/variables_containers/mod.rs:19:28 [INFO] [stdout] | [INFO] [stdout] 19 | #[derive(PartialEq, Trace, Finalize)] [INFO] [stdout] | ^------- [INFO] [stdout] | | [INFO] [stdout] | `Finalize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_gc_Finalize_FOR_GlobalScope` [INFO] [stdout] 20 | pub struct GlobalScope { [INFO] [stdout] | ----------- `GlobalScope` 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] --> evilang_lib/src/lib/interpreter/environment/native_items/classes/vector.rs:18:24 [INFO] [stdout] | [INFO] [stdout] 18 | #[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_Vector` [INFO] [stdout] 19 | pub struct Vector { [INFO] [stdout] | ------ `Vector` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Trace` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Trace` may come from an old version of the `gc_derive` crate, try updating your dependency with `cargo update -p gc_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Trace` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> evilang_lib/src/lib/interpreter/variables_containers/map.rs:78:28 [INFO] [stdout] | [INFO] [stdout] 78 | #[derive(Debug, PartialEq, Trace, Finalize)] [INFO] [stdout] | ^---- [INFO] [stdout] | | [INFO] [stdout] | `Trace` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_gc_Trace_FOR_VariablesMap` [INFO] [stdout] 79 | pub struct VariablesMap { [INFO] [stdout] | ------------ `VariablesMap` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Trace` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Trace` may come from an old version of the `gc_derive` crate, try updating your dependency with `cargo update -p gc_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Trace` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> evilang_lib/src/lib/interpreter/environment/native_items/classes/vector.rs:18:31 [INFO] [stdout] | [INFO] [stdout] 18 | #[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_Vector` [INFO] [stdout] 19 | pub struct Vector { [INFO] [stdout] | ------ `Vector` 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] --> evilang_lib/src/lib/interpreter/variables_containers/map.rs:78:28 [INFO] [stdout] | [INFO] [stdout] 78 | #[derive(Debug, PartialEq, Trace, Finalize)] [INFO] [stdout] | ^---- [INFO] [stdout] | | [INFO] [stdout] | `Drop` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_std_ops_Drop_FOR_VariablesMap` [INFO] [stdout] 79 | pub struct VariablesMap { [INFO] [stdout] | ------------ `VariablesMap` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Trace` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Trace` may come from an old version of the `gc_derive` crate, try updating your dependency with `cargo update -p gc_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Trace` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> evilang_lib/src/lib/interpreter/variables_containers/map.rs:78:35 [INFO] [stdout] | [INFO] [stdout] 78 | #[derive(Debug, PartialEq, Trace, Finalize)] [INFO] [stdout] | ^------- [INFO] [stdout] | | [INFO] [stdout] | `Finalize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_gc_Finalize_FOR_VariablesMap` [INFO] [stdout] 79 | pub struct VariablesMap { [INFO] [stdout] | ------------ `VariablesMap` 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] --> evilang_lib/src/lib/interpreter/variables_containers/scope.rs:64:21 [INFO] [stdout] | [INFO] [stdout] 64 | #[derive(PartialEq, Trace, Finalize)] [INFO] [stdout] | ^---- [INFO] [stdout] | | [INFO] [stdout] | `Trace` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_gc_Trace_FOR_VariableScope` [INFO] [stdout] 65 | pub struct VariableScope { [INFO] [stdout] | ------------- `VariableScope` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Trace` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Trace` may come from an old version of the `gc_derive` crate, try updating your dependency with `cargo update -p gc_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Trace` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> evilang_lib/src/lib/interpreter/variables_containers/scope.rs:64:21 [INFO] [stdout] | [INFO] [stdout] 64 | #[derive(PartialEq, Trace, Finalize)] [INFO] [stdout] | ^---- [INFO] [stdout] | | [INFO] [stdout] | `Drop` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_std_ops_Drop_FOR_VariableScope` [INFO] [stdout] 65 | pub struct VariableScope { [INFO] [stdout] | ------------- `VariableScope` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Trace` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Trace` may come from an old version of the `gc_derive` crate, try updating your dependency with `cargo update -p gc_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Trace` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> evilang_lib/src/lib/interpreter/variables_containers/scope.rs:64:28 [INFO] [stdout] | [INFO] [stdout] 64 | #[derive(PartialEq, Trace, Finalize)] [INFO] [stdout] | ^------- [INFO] [stdout] | | [INFO] [stdout] | `Finalize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_gc_Finalize_FOR_VariableScope` [INFO] [stdout] 65 | pub struct VariableScope { [INFO] [stdout] | ------------- `VariableScope` 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] --> evilang_lib/src/lib/interpreter/environment/resolver.rs:69:28 [INFO] [stdout] | [INFO] [stdout] 69 | #[derive(Clone, PartialEq, Trace, Finalize)] [INFO] [stdout] | ^---- [INFO] [stdout] | | [INFO] [stdout] | `Trace` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_gc_Trace_FOR_DefaultResolver` [INFO] [stdout] 70 | pub struct DefaultResolver {} [INFO] [stdout] | --------------- `DefaultResolver` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Trace` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Trace` may come from an old version of the `gc_derive` crate, try updating your dependency with `cargo update -p gc_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Trace` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> evilang_lib/src/lib/interpreter/environment/resolver.rs:69:28 [INFO] [stdout] | [INFO] [stdout] 69 | #[derive(Clone, PartialEq, Trace, Finalize)] [INFO] [stdout] | ^---- [INFO] [stdout] | | [INFO] [stdout] | `Drop` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_std_ops_Drop_FOR_DefaultResolver` [INFO] [stdout] 70 | pub struct DefaultResolver {} [INFO] [stdout] | --------------- `DefaultResolver` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Trace` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Trace` may come from an old version of the `gc_derive` crate, try updating your dependency with `cargo update -p gc_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Trace` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> evilang_lib/src/lib/interpreter/environment/resolver.rs:69:35 [INFO] [stdout] | [INFO] [stdout] 69 | #[derive(Clone, PartialEq, Trace, Finalize)] [INFO] [stdout] | ^------- [INFO] [stdout] | | [INFO] [stdout] | `Finalize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_gc_Finalize_FOR_DefaultResolver` [INFO] [stdout] 70 | pub struct DefaultResolver {} [INFO] [stdout] | --------------- `DefaultResolver` 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] --> evilang_lib/src/lib/interpreter/runtime_values/mod.rs:36:24 [INFO] [stdout] | [INFO] [stdout] 36 | #[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_PrimitiveValue` [INFO] [stdout] 37 | pub enum PrimitiveValue { [INFO] [stdout] | -------------- `PrimitiveValue` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Trace` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Trace` may come from an old version of the `gc_derive` crate, try updating your dependency with `cargo update -p gc_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Trace` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> evilang_lib/src/lib/interpreter/runtime_values/mod.rs:36:24 [INFO] [stdout] | [INFO] [stdout] 36 | #[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_PrimitiveValue` [INFO] [stdout] 37 | pub enum PrimitiveValue { [INFO] [stdout] | -------------- `PrimitiveValue` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Trace` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Trace` may come from an old version of the `gc_derive` crate, try updating your dependency with `cargo update -p gc_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Trace` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> evilang_lib/src/lib/interpreter/runtime_values/mod.rs:36:31 [INFO] [stdout] | [INFO] [stdout] 36 | #[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_PrimitiveValue` [INFO] [stdout] 37 | pub enum PrimitiveValue { [INFO] [stdout] | -------------- `PrimitiveValue` 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 `.deref()` on a reference in this situation does nothing [INFO] [stdout] --> evilang_lib/src/lib/interpreter/runtime_values/mod.rs:56:73 [INFO] [stdout] | [INFO] [stdout] 56 | PrimitiveValue::Function(fnc) => { std::fmt::Display::fmt(fnc.deref().deref(), f) } [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the type `Function` does not implement `Deref`, so calling `deref` on `&Function` copies the reference, which does not do anything and can be removed [INFO] [stdout] help: remove this redundant call [INFO] [stdout] | [INFO] [stdout] 56 - PrimitiveValue::Function(fnc) => { std::fmt::Display::fmt(fnc.deref().deref(), f) } [INFO] [stdout] 56 + PrimitiveValue::Function(fnc) => { std::fmt::Display::fmt(fnc.deref(), f) } [INFO] [stdout] | [INFO] [stdout] help: if you meant to clone `Function`, implement `Clone` for it [INFO] [stdout] --> evilang_lib/src/lib/interpreter/runtime_values/functions/mod.rs:22:1 [INFO] [stdout] | [INFO] [stdout] 22 + #[derive(Clone)] [INFO] [stdout] 23 | pub enum Function { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to `.deref()` on a reference in this situation does nothing [INFO] [stdout] --> evilang_lib/src/lib/interpreter/runtime_values/ref_to_value/deref_of_ref_to_value.rs:21:50 [INFO] [stdout] | [INFO] [stdout] 21 | DerefOfRefToValue::DerefLValue(r) => r.deref().deref().try_clone_err(), [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the type `PrimitiveValue` does not implement `Deref`, so calling `deref` on `&PrimitiveValue` copies the reference, which does not do anything and can be removed [INFO] [stdout] help: remove this redundant call [INFO] [stdout] | [INFO] [stdout] 21 - DerefOfRefToValue::DerefLValue(r) => r.deref().deref().try_clone_err(), [INFO] [stdout] 21 + DerefOfRefToValue::DerefLValue(r) => r.deref().try_clone_err(), [INFO] [stdout] | [INFO] [stdout] help: if you meant to clone `PrimitiveValue`, implement `Clone` for it [INFO] [stdout] --> evilang_lib/src/lib/interpreter/runtime_values/mod.rs:37:1 [INFO] [stdout] | [INFO] [stdout] 37 + #[derive(Clone)] [INFO] [stdout] 38 | pub enum PrimitiveValue { [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] --> evilang_lib/src/lib/interpreter/runtime_values/functions/mod.rs:21:28 [INFO] [stdout] | [INFO] [stdout] 21 | #[derive(Debug, PartialEq, Trace, Finalize)] [INFO] [stdout] | ^---- [INFO] [stdout] | | [INFO] [stdout] | `Trace` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_gc_Trace_FOR_Function` [INFO] [stdout] 22 | pub enum Function { [INFO] [stdout] | -------- `Function` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Trace` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Trace` may come from an old version of the `gc_derive` crate, try updating your dependency with `cargo update -p gc_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Trace` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> evilang_lib/src/lib/interpreter/runtime_values/functions/mod.rs:21:28 [INFO] [stdout] | [INFO] [stdout] 21 | #[derive(Debug, PartialEq, Trace, Finalize)] [INFO] [stdout] | ^---- [INFO] [stdout] | | [INFO] [stdout] | `Drop` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_std_ops_Drop_FOR_Function` [INFO] [stdout] 22 | pub enum Function { [INFO] [stdout] | -------- `Function` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Trace` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Trace` may come from an old version of the `gc_derive` crate, try updating your dependency with `cargo update -p gc_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Trace` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> evilang_lib/src/lib/interpreter/runtime_values/functions/mod.rs:21:35 [INFO] [stdout] | [INFO] [stdout] 21 | #[derive(Debug, PartialEq, Trace, Finalize)] [INFO] [stdout] | ^------- [INFO] [stdout] | | [INFO] [stdout] | `Finalize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_gc_Finalize_FOR_Function` [INFO] [stdout] 22 | pub enum Function { [INFO] [stdout] | -------- `Function` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Finalize` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Finalize` may come from an old version of the `gc_derive` crate, try updating your dependency with `cargo update -p gc_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Finalize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> evilang_lib/src/lib/interpreter/runtime_values/functions/closure.rs:16:10 [INFO] [stdout] | [INFO] [stdout] 16 | #[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_Closure` [INFO] [stdout] 17 | pub struct Closure { [INFO] [stdout] | ------- `Closure` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Trace` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Trace` may come from an old version of the `gc_derive` crate, try updating your dependency with `cargo update -p gc_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Trace` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> evilang_lib/src/lib/interpreter/runtime_values/functions/closure.rs:16:10 [INFO] [stdout] | [INFO] [stdout] 16 | #[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_Closure` [INFO] [stdout] 17 | pub struct Closure { [INFO] [stdout] | ------- `Closure` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Trace` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Trace` may come from an old version of the `gc_derive` crate, try updating your dependency with `cargo update -p gc_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Trace` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> evilang_lib/src/lib/interpreter/runtime_values/functions/closure.rs:16:17 [INFO] [stdout] | [INFO] [stdout] 16 | #[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_Closure` [INFO] [stdout] 17 | pub struct Closure { [INFO] [stdout] | ------- `Closure` 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] --> evilang_lib/src/lib/interpreter/runtime_values/objects/runtime_object.rs:27:28 [INFO] [stdout] | [INFO] [stdout] 27 | #[derive(Debug, PartialEq, Trace, Finalize)] [INFO] [stdout] | ^---- [INFO] [stdout] | | [INFO] [stdout] | `Trace` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_gc_Trace_FOR_RuntimeObject` [INFO] [stdout] 28 | pub struct RuntimeObject { [INFO] [stdout] | ------------- `RuntimeObject` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Trace` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Trace` may come from an old version of the `gc_derive` crate, try updating your dependency with `cargo update -p gc_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Trace` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> evilang_lib/src/lib/interpreter/runtime_values/objects/runtime_object.rs:27:28 [INFO] [stdout] | [INFO] [stdout] 27 | #[derive(Debug, PartialEq, Trace, Finalize)] [INFO] [stdout] | ^---- [INFO] [stdout] | | [INFO] [stdout] | `Drop` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_std_ops_Drop_FOR_RuntimeObject` [INFO] [stdout] 28 | pub struct RuntimeObject { [INFO] [stdout] | ------------- `RuntimeObject` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Trace` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Trace` may come from an old version of the `gc_derive` crate, try updating your dependency with `cargo update -p gc_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Trace` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> evilang_lib/src/lib/interpreter/runtime_values/objects/runtime_object.rs:27:35 [INFO] [stdout] | [INFO] [stdout] 27 | #[derive(Debug, PartialEq, Trace, Finalize)] [INFO] [stdout] | ^------- [INFO] [stdout] | | [INFO] [stdout] | `Finalize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_gc_Finalize_FOR_RuntimeObject` [INFO] [stdout] 28 | pub struct RuntimeObject { [INFO] [stdout] | ------------- `RuntimeObject` 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] --> evilang_lib/src/lib/interpreter/variables_containers/mod.rs:19:21 [INFO] [stdout] | [INFO] [stdout] 19 | #[derive(PartialEq, Trace, Finalize)] [INFO] [stdout] | ^---- [INFO] [stdout] | | [INFO] [stdout] | `Trace` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_gc_Trace_FOR_GlobalScope` [INFO] [stdout] 20 | pub struct GlobalScope { [INFO] [stdout] | ----------- `GlobalScope` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Trace` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Trace` may come from an old version of the `gc_derive` crate, try updating your dependency with `cargo update -p gc_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Trace` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> evilang_lib/src/lib/interpreter/variables_containers/mod.rs:19:21 [INFO] [stdout] | [INFO] [stdout] 19 | #[derive(PartialEq, Trace, Finalize)] [INFO] [stdout] | ^---- [INFO] [stdout] | | [INFO] [stdout] | `Drop` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_std_ops_Drop_FOR_GlobalScope` [INFO] [stdout] 20 | pub struct GlobalScope { [INFO] [stdout] | ----------- `GlobalScope` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Trace` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Trace` may come from an old version of the `gc_derive` crate, try updating your dependency with `cargo update -p gc_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Trace` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> evilang_lib/src/lib/interpreter/variables_containers/mod.rs:19:28 [INFO] [stdout] | [INFO] [stdout] 19 | #[derive(PartialEq, Trace, Finalize)] [INFO] [stdout] | ^------- [INFO] [stdout] | | [INFO] [stdout] | `Finalize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_gc_Finalize_FOR_GlobalScope` [INFO] [stdout] 20 | pub struct GlobalScope { [INFO] [stdout] | ----------- `GlobalScope` 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] --> evilang_lib/src/lib/interpreter/variables_containers/map.rs:78:28 [INFO] [stdout] | [INFO] [stdout] 78 | #[derive(Debug, PartialEq, Trace, Finalize)] [INFO] [stdout] | ^---- [INFO] [stdout] | | [INFO] [stdout] | `Trace` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_gc_Trace_FOR_VariablesMap` [INFO] [stdout] 79 | pub struct VariablesMap { [INFO] [stdout] | ------------ `VariablesMap` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Trace` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Trace` may come from an old version of the `gc_derive` crate, try updating your dependency with `cargo update -p gc_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Trace` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> evilang_lib/src/lib/interpreter/variables_containers/map.rs:78:28 [INFO] [stdout] | [INFO] [stdout] 78 | #[derive(Debug, PartialEq, Trace, Finalize)] [INFO] [stdout] | ^---- [INFO] [stdout] | | [INFO] [stdout] | `Drop` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_std_ops_Drop_FOR_VariablesMap` [INFO] [stdout] 79 | pub struct VariablesMap { [INFO] [stdout] | ------------ `VariablesMap` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Trace` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Trace` may come from an old version of the `gc_derive` crate, try updating your dependency with `cargo update -p gc_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Trace` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> evilang_lib/src/lib/interpreter/variables_containers/map.rs:78:35 [INFO] [stdout] | [INFO] [stdout] 78 | #[derive(Debug, PartialEq, Trace, Finalize)] [INFO] [stdout] | ^------- [INFO] [stdout] | | [INFO] [stdout] | `Finalize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_gc_Finalize_FOR_VariablesMap` [INFO] [stdout] 79 | pub struct VariablesMap { [INFO] [stdout] | ------------ `VariablesMap` 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] --> evilang_lib/src/lib/interpreter/variables_containers/scope.rs:64:21 [INFO] [stdout] | [INFO] [stdout] 64 | #[derive(PartialEq, Trace, Finalize)] [INFO] [stdout] | ^---- [INFO] [stdout] | | [INFO] [stdout] | `Trace` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_gc_Trace_FOR_VariableScope` [INFO] [stdout] 65 | pub struct VariableScope { [INFO] [stdout] | ------------- `VariableScope` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Trace` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Trace` may come from an old version of the `gc_derive` crate, try updating your dependency with `cargo update -p gc_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Trace` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> evilang_lib/src/lib/interpreter/variables_containers/scope.rs:64:21 [INFO] [stdout] | [INFO] [stdout] 64 | #[derive(PartialEq, Trace, Finalize)] [INFO] [stdout] | ^---- [INFO] [stdout] | | [INFO] [stdout] | `Drop` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_std_ops_Drop_FOR_VariableScope` [INFO] [stdout] 65 | pub struct VariableScope { [INFO] [stdout] | ------------- `VariableScope` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Trace` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Trace` may come from an old version of the `gc_derive` crate, try updating your dependency with `cargo update -p gc_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Trace` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> evilang_lib/src/lib/interpreter/variables_containers/scope.rs:64:28 [INFO] [stdout] | [INFO] [stdout] 64 | #[derive(PartialEq, Trace, Finalize)] [INFO] [stdout] | ^------- [INFO] [stdout] | | [INFO] [stdout] | `Finalize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_gc_Finalize_FOR_VariableScope` [INFO] [stdout] 65 | pub struct VariableScope { [INFO] [stdout] | ------------- `VariableScope` 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 16.72s [INFO] running `Command { std: "docker" "inspect" "ffdef57cb8fef8e2b7aeb7a6facec0af93c356b362014228fbf59fe29c5cebee", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "ffdef57cb8fef8e2b7aeb7a6facec0af93c356b362014228fbf59fe29c5cebee", kill_on_drop: false }` [INFO] [stdout] ffdef57cb8fef8e2b7aeb7a6facec0af93c356b362014228fbf59fe29c5cebee