[INFO] cloning repository https://github.com/NaviHX/risuppu [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/NaviHX/risuppu" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FNaviHX%2Frisuppu", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FNaviHX%2Frisuppu'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 14d8ba3c25a77bd45d91ec1ff059fab064160a9b [INFO] checking NaviHX/risuppu/14d8ba3c25a77bd45d91ec1ff059fab064160a9b against try#7014e13d5becc920d4bea3cd87942c8a13d359bf+rustflags=-Dtail_expr_drop_order for pr-129864 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FNaviHX%2Frisuppu" "/workspace/builds/worker-2-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc2/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/NaviHX/risuppu on toolchain 7014e13d5becc920d4bea3cd87942c8a13d359bf [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+7014e13d5becc920d4bea3cd87942c8a13d359bf" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/NaviHX/risuppu [INFO] finished tweaking git repo https://github.com/NaviHX/risuppu [INFO] tweaked toml for git repo https://github.com/NaviHX/risuppu written to /workspace/builds/worker-2-tc2/source/Cargo.toml [INFO] crate git repo https://github.com/NaviHX/risuppu 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" "+7014e13d5becc920d4bea3cd87942c8a13d359bf" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:ceb6ea022f8a89cebbe621bb4987e73a935bd40dfbb726f832cfff4742a5b95a" "/opt/rustwide/cargo-home/bin/cargo" "+7014e13d5becc920d4bea3cd87942c8a13d359bf" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] e78ad62aaf11bfa5cd8874cc5b59cfd3b93fcac7f8f1cb2e1cc21f8cab16977d [INFO] running `Command { std: "docker" "start" "-a" "e78ad62aaf11bfa5cd8874cc5b59cfd3b93fcac7f8f1cb2e1cc21f8cab16977d", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "e78ad62aaf11bfa5cd8874cc5b59cfd3b93fcac7f8f1cb2e1cc21f8cab16977d", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "e78ad62aaf11bfa5cd8874cc5b59cfd3b93fcac7f8f1cb2e1cc21f8cab16977d", kill_on_drop: false }` [INFO] [stdout] e78ad62aaf11bfa5cd8874cc5b59cfd3b93fcac7f8f1cb2e1cc21f8cab16977d [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid -Dtail_expr_drop_order" "-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:ceb6ea022f8a89cebbe621bb4987e73a935bd40dfbb726f832cfff4742a5b95a" "/opt/rustwide/cargo-home/bin/cargo" "+7014e13d5becc920d4bea3cd87942c8a13d359bf" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] afaa73deaae461516fb2cfe2d03d8bfa316205c160a284235417f4bca0db34dc [INFO] running `Command { std: "docker" "start" "-a" "afaa73deaae461516fb2cfe2d03d8bfa316205c160a284235417f4bca0db34dc", kill_on_drop: false }` [INFO] [stderr] Compiling proc-macro2 v1.0.76 [INFO] [stderr] Compiling syn v1.0.109 [INFO] [stderr] Compiling thiserror v1.0.56 [INFO] [stderr] Compiling unicode-xid v0.2.4 [INFO] [stderr] Checking memchr v2.7.1 [INFO] [stderr] Checking minimal-lexical v0.2.1 [INFO] [stderr] Compiling rustix v0.38.31 [INFO] [stderr] Compiling libc v0.2.153 [INFO] [stderr] Checking bitflags v2.4.2 [INFO] [stderr] Checking anstyle-parse v0.2.3 [INFO] [stderr] Checking linux-raw-sys v0.4.13 [INFO] [stderr] Checking anstyle v1.0.6 [INFO] [stderr] Checking colorchoice v1.0.0 [INFO] [stderr] Checking smallvec v1.13.1 [INFO] [stderr] Checking anstyle-query v1.0.2 [INFO] [stderr] Compiling heck v0.4.1 [INFO] [stderr] Checking endian-type v0.1.2 [INFO] [stderr] Checking anstream v0.6.11 [INFO] [stderr] Checking nibble_vec v0.1.0 [INFO] [stderr] Checking strsim v0.11.0 [INFO] [stderr] Checking log v0.4.20 [INFO] [stderr] Checking nom v7.1.3 [INFO] [stderr] Checking unicode-segmentation v1.10.1 [INFO] [stderr] Checking radix_trie v0.2.1 [INFO] [stderr] Checking home v0.5.9 [INFO] [stderr] Compiling quote v1.0.35 [INFO] [stderr] Checking clap_builder v4.5.0 [INFO] [stderr] Compiling syn v2.0.48 [INFO] [stderr] Checking nix v0.27.1 [INFO] [stderr] Checking fd-lock v4.0.2 [INFO] [stderr] Checking rustyline v13.0.0 [INFO] [stderr] Compiling synstructure v0.12.6 [INFO] [stderr] Compiling gc_derive v0.5.0 [INFO] [stderr] Compiling thiserror-impl v1.0.56 [INFO] [stderr] Compiling clap_derive v4.5.0 [INFO] [stderr] Checking gc v0.5.0 [INFO] [stderr] Checking unescaper v0.1.4 [INFO] [stderr] Checking risuppu v0.1.0 (/opt/rustwide/workdir/risuppu-core) [INFO] [stdout] error: this value of type `GcCellRef<'_, Frame>` has significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> risuppu-core/src/semantic/frame.rs:29:9 [INFO] [stdout] | [INFO] [stdout] 28 | pub fn pop(cur: MutPtr) -> Option> { [INFO] [stdout] | --- these local bindings with significant drop implementation may observe changes in drop order under Edition 2024 [INFO] [stdout] 29 | cur.borrow().pre.clone() [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] = note: requested on the command line with `-D tail-expr-drop-order` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this value of type `GcCellRef<'_, Frame>` has significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> risuppu-core/src/semantic/frame.rs:38:13 [INFO] [stdout] | [INFO] [stdout] 37 | pub fn read(frame_ptr: MutPtr, mut f: impl FnMut(&InnerFrame) -> O) -> O { [INFO] [stdout] | --------- ----- these local bindings with significant drop implementation may observe changes in drop order under Edition 2024 [INFO] [stdout] | | [INFO] [stdout] | these local bindings with significant drop implementation may observe changes in drop order under Edition 2024 [INFO] [stdout] 38 | f(& frame_ptr.borrow().inner) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this value of type `ControlFlow>, Option<()>>` has significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> risuppu-core/src/semantic/env.rs:63:15 [INFO] [stdout] | [INFO] [stdout] 60 | pub fn get(&self, identity: impl AsRef) -> Option> { [INFO] [stdout] | -------- these local bindings with significant drop implementation may observe changes in drop order under Edition 2024 [INFO] [stdout] 61 | let identity = identity.as_ref(); [INFO] [stdout] 62 | let mut cur = self.stack_frame_ptr.clone(); [INFO] [stdout] | ------- these local bindings with significant drop implementation may observe changes in drop order under Edition 2024 [INFO] [stdout] 63 | match from_fn(|| match cur.clone() { [INFO] [stdout] | _______________^ [INFO] [stdout] 64 | | None => None, [INFO] [stdout] 65 | | Some(frame_ptr) => { [INFO] [stdout] 66 | | cur = frame_ptr.borrow().pre.clone(); [INFO] [stdout] ... | [INFO] [stdout] 74 | | } [INFO] [stdout] 75 | | }) { [INFO] [stdout] | |__________^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this value of type `Option>>` has significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> risuppu-core/src/semantic/env.rs:82:30 [INFO] [stdout] | [INFO] [stdout] 81 | pub fn set(&mut self, identity: impl ToString, expr: Ptr) { [INFO] [stdout] | -------- ---- these local bindings with significant drop implementation may observe changes in drop order under Edition 2024 [INFO] [stdout] | | [INFO] [stdout] | these local bindings with significant drop implementation may observe changes in drop order under Edition 2024 [INFO] [stdout] 82 | if let Some(frame) = self.stack_frame_ptr.clone() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this value of type `Gc` has significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> risuppu-core/src/semantic.rs:152:31 [INFO] [stdout] | [INFO] [stdout] 147 | pub fn process_if(body: Ptr, env: &mut Env) -> Ptr { [INFO] [stdout] | ---- these local bindings with significant drop implementation may observe changes in drop order under Edition 2024 [INFO] [stdout] 148 | let condition = body.car(); [INFO] [stdout] 149 | let if_branch = body.cdr().car(); [INFO] [stdout] | --------- these local bindings with significant drop implementation may observe changes in drop order under Edition 2024 [INFO] [stdout] 150 | let else_branch = body.cdr().cdr().car(); [INFO] [stdout] | ----------- these local bindings with significant drop implementation may observe changes in drop order under Edition 2024 [INFO] [stdout] 151 | [INFO] [stdout] 152 | if let Sexp::Bool(true) = evaluate(condition, env).as_ref() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> risuppu-core/src/sexp.rs:14:32 [INFO] [stdout] | [INFO] [stdout] 14 | #[derive(Debug, PartialEq, Eq, 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_Sexp` [INFO] [stdout] 15 | pub enum Sexp { [INFO] [stdout] | ---- `Sexp` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Trace` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Trace` may come from an old version of the `gc_derive` crate, try updating your dependency with `cargo update -p gc_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue [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] --> risuppu-core/src/sexp.rs:14:32 [INFO] [stdout] | [INFO] [stdout] 14 | #[derive(Debug, PartialEq, Eq, 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_Sexp` [INFO] [stdout] 15 | pub enum Sexp { [INFO] [stdout] | ---- `Sexp` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Trace` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Trace` may come from an old version of the `gc_derive` crate, try updating your dependency with `cargo update -p gc_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue [INFO] [stdout] = note: this warning originates in the derive macro `Trace` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> risuppu-core/src/sexp.rs:14:39 [INFO] [stdout] | [INFO] [stdout] 14 | #[derive(Debug, PartialEq, Eq, 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_Sexp` [INFO] [stdout] 15 | pub enum Sexp { [INFO] [stdout] | ---- `Sexp` 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 lint may become deny-by-default in the edition 2024 and higher, see the tracking issue [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] --> risuppu-core/src/sexp.rs:63:32 [INFO] [stdout] | [INFO] [stdout] 63 | #[derive(Debug, PartialEq, Eq, 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_Cons` [INFO] [stdout] 64 | pub struct Cons { [INFO] [stdout] | ---- `Cons` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Trace` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Trace` may come from an old version of the `gc_derive` crate, try updating your dependency with `cargo update -p gc_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue [INFO] [stdout] = note: this warning originates in the derive macro `Trace` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> risuppu-core/src/sexp.rs:63:32 [INFO] [stdout] | [INFO] [stdout] 63 | #[derive(Debug, PartialEq, Eq, 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_Cons` [INFO] [stdout] 64 | pub struct Cons { [INFO] [stdout] | ---- `Cons` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Trace` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Trace` may come from an old version of the `gc_derive` crate, try updating your dependency with `cargo update -p gc_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue [INFO] [stdout] = note: this warning originates in the derive macro `Trace` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> risuppu-core/src/sexp.rs:63:39 [INFO] [stdout] | [INFO] [stdout] 63 | #[derive(Debug, PartialEq, Eq, 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_Cons` [INFO] [stdout] 64 | pub struct Cons { [INFO] [stdout] | ---- `Cons` 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 lint may become deny-by-default in the edition 2024 and higher, see the tracking issue [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] --> risuppu-core/src/sexp/rustfn.rs:12:10 [INFO] [stdout] | [INFO] [stdout] 12 | #[derive(Finalize)] [INFO] [stdout] | ^------- [INFO] [stdout] | | [INFO] [stdout] | `Finalize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_gc_Finalize_FOR_RustFn` [INFO] [stdout] 13 | pub struct RustFn { [INFO] [stdout] | ------ `RustFn` 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 lint may become deny-by-default in the edition 2024 and higher, see the tracking issue [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] --> risuppu-core/src/semantic/frame.rs:8:24 [INFO] [stdout] | [INFO] [stdout] 8 | #[derive(Debug, Clone, Trace, Finalize, PartialEq, Eq)] [INFO] [stdout] | ^---- [INFO] [stdout] | | [INFO] [stdout] | `Trace` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_gc_Trace_FOR_Frame` [INFO] [stdout] 9 | pub struct Frame { [INFO] [stdout] | ----- `Frame` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Trace` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Trace` may come from an old version of the `gc_derive` crate, try updating your dependency with `cargo update -p gc_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue [INFO] [stdout] = note: this warning originates in the derive macro `Trace` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> risuppu-core/src/semantic/frame.rs:8:24 [INFO] [stdout] | [INFO] [stdout] 8 | #[derive(Debug, Clone, Trace, Finalize, PartialEq, Eq)] [INFO] [stdout] | ^---- [INFO] [stdout] | | [INFO] [stdout] | `Drop` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_std_ops_Drop_FOR_Frame` [INFO] [stdout] 9 | pub struct Frame { [INFO] [stdout] | ----- `Frame` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Trace` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Trace` may come from an old version of the `gc_derive` crate, try updating your dependency with `cargo update -p gc_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue [INFO] [stdout] = note: this warning originates in the derive macro `Trace` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> risuppu-core/src/semantic/frame.rs:8:31 [INFO] [stdout] | [INFO] [stdout] 8 | #[derive(Debug, Clone, Trace, Finalize, PartialEq, Eq)] [INFO] [stdout] | ^------- [INFO] [stdout] | | [INFO] [stdout] | `Finalize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_gc_Finalize_FOR_Frame` [INFO] [stdout] 9 | pub struct Frame { [INFO] [stdout] | ----- `Frame` 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 lint may become deny-by-default in the edition 2024 and higher, see the tracking issue [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] error: aborting due to 5 previous errors; 10 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `risuppu` (lib) due to 6 previous errors; 10 warnings emitted [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stdout] error: this value of type `GcCellRef<'_, Frame>` has significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> risuppu-core/src/semantic/frame.rs:29:9 [INFO] [stdout] | [INFO] [stdout] 28 | pub fn pop(cur: MutPtr) -> Option> { [INFO] [stdout] | --- these local bindings with significant drop implementation may observe changes in drop order under Edition 2024 [INFO] [stdout] 29 | cur.borrow().pre.clone() [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] = note: requested on the command line with `-D tail-expr-drop-order` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this value of type `GcCellRef<'_, Frame>` has significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> risuppu-core/src/semantic/frame.rs:38:13 [INFO] [stdout] | [INFO] [stdout] 37 | pub fn read(frame_ptr: MutPtr, mut f: impl FnMut(&InnerFrame) -> O) -> O { [INFO] [stdout] | --------- ----- these local bindings with significant drop implementation may observe changes in drop order under Edition 2024 [INFO] [stdout] | | [INFO] [stdout] | these local bindings with significant drop implementation may observe changes in drop order under Edition 2024 [INFO] [stdout] 38 | f(& frame_ptr.borrow().inner) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this value of type `ControlFlow>, Option<()>>` has significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> risuppu-core/src/semantic/env.rs:63:15 [INFO] [stdout] | [INFO] [stdout] 60 | pub fn get(&self, identity: impl AsRef) -> Option> { [INFO] [stdout] | -------- these local bindings with significant drop implementation may observe changes in drop order under Edition 2024 [INFO] [stdout] 61 | let identity = identity.as_ref(); [INFO] [stdout] 62 | let mut cur = self.stack_frame_ptr.clone(); [INFO] [stdout] | ------- these local bindings with significant drop implementation may observe changes in drop order under Edition 2024 [INFO] [stdout] 63 | match from_fn(|| match cur.clone() { [INFO] [stdout] | _______________^ [INFO] [stdout] 64 | | None => None, [INFO] [stdout] 65 | | Some(frame_ptr) => { [INFO] [stdout] 66 | | cur = frame_ptr.borrow().pre.clone(); [INFO] [stdout] ... | [INFO] [stdout] 74 | | } [INFO] [stdout] 75 | | }) { [INFO] [stdout] | |__________^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this value of type `Option>>` has significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> risuppu-core/src/semantic/env.rs:82:30 [INFO] [stdout] | [INFO] [stdout] 81 | pub fn set(&mut self, identity: impl ToString, expr: Ptr) { [INFO] [stdout] | -------- ---- these local bindings with significant drop implementation may observe changes in drop order under Edition 2024 [INFO] [stdout] | | [INFO] [stdout] | these local bindings with significant drop implementation may observe changes in drop order under Edition 2024 [INFO] [stdout] 82 | if let Some(frame) = self.stack_frame_ptr.clone() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this value of type `Gc` has significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> risuppu-core/src/semantic.rs:152:31 [INFO] [stdout] | [INFO] [stdout] 147 | pub fn process_if(body: Ptr, env: &mut Env) -> Ptr { [INFO] [stdout] | ---- these local bindings with significant drop implementation may observe changes in drop order under Edition 2024 [INFO] [stdout] 148 | let condition = body.car(); [INFO] [stdout] 149 | let if_branch = body.cdr().car(); [INFO] [stdout] | --------- these local bindings with significant drop implementation may observe changes in drop order under Edition 2024 [INFO] [stdout] 150 | let else_branch = body.cdr().cdr().car(); [INFO] [stdout] | ----------- these local bindings with significant drop implementation may observe changes in drop order under Edition 2024 [INFO] [stdout] 151 | [INFO] [stdout] 152 | if let Sexp::Bool(true) = evaluate(condition, env).as_ref() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> risuppu-core/src/sexp.rs:14:32 [INFO] [stdout] | [INFO] [stdout] 14 | #[derive(Debug, PartialEq, Eq, 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_Sexp` [INFO] [stdout] 15 | pub enum Sexp { [INFO] [stdout] | ---- `Sexp` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Trace` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Trace` may come from an old version of the `gc_derive` crate, try updating your dependency with `cargo update -p gc_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue [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] --> risuppu-core/src/sexp.rs:14:32 [INFO] [stdout] | [INFO] [stdout] 14 | #[derive(Debug, PartialEq, Eq, 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_Sexp` [INFO] [stdout] 15 | pub enum Sexp { [INFO] [stdout] | ---- `Sexp` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Trace` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Trace` may come from an old version of the `gc_derive` crate, try updating your dependency with `cargo update -p gc_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue [INFO] [stdout] = note: this warning originates in the derive macro `Trace` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> risuppu-core/src/sexp.rs:14:39 [INFO] [stdout] | [INFO] [stdout] 14 | #[derive(Debug, PartialEq, Eq, 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_Sexp` [INFO] [stdout] 15 | pub enum Sexp { [INFO] [stdout] | ---- `Sexp` 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 lint may become deny-by-default in the edition 2024 and higher, see the tracking issue [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] --> risuppu-core/src/sexp.rs:63:32 [INFO] [stdout] | [INFO] [stdout] 63 | #[derive(Debug, PartialEq, Eq, 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_Cons` [INFO] [stdout] 64 | pub struct Cons { [INFO] [stdout] | ---- `Cons` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Trace` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Trace` may come from an old version of the `gc_derive` crate, try updating your dependency with `cargo update -p gc_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue [INFO] [stdout] = note: this warning originates in the derive macro `Trace` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> risuppu-core/src/sexp.rs:63:32 [INFO] [stdout] | [INFO] [stdout] 63 | #[derive(Debug, PartialEq, Eq, 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_Cons` [INFO] [stdout] 64 | pub struct Cons { [INFO] [stdout] | ---- `Cons` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Trace` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Trace` may come from an old version of the `gc_derive` crate, try updating your dependency with `cargo update -p gc_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue [INFO] [stdout] = note: this warning originates in the derive macro `Trace` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> risuppu-core/src/sexp.rs:63:39 [INFO] [stdout] | [INFO] [stdout] 63 | #[derive(Debug, PartialEq, Eq, 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_Cons` [INFO] [stdout] 64 | pub struct Cons { [INFO] [stdout] | ---- `Cons` 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 lint may become deny-by-default in the edition 2024 and higher, see the tracking issue [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] --> risuppu-core/src/sexp/rustfn.rs:12:10 [INFO] [stdout] | [INFO] [stdout] 12 | #[derive(Finalize)] [INFO] [stdout] | ^------- [INFO] [stdout] | | [INFO] [stdout] | `Finalize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_gc_Finalize_FOR_RustFn` [INFO] [stdout] 13 | pub struct RustFn { [INFO] [stdout] | ------ `RustFn` 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 lint may become deny-by-default in the edition 2024 and higher, see the tracking issue [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] --> risuppu-core/src/semantic/frame.rs:8:24 [INFO] [stdout] | [INFO] [stdout] 8 | #[derive(Debug, Clone, Trace, Finalize, PartialEq, Eq)] [INFO] [stdout] | ^---- [INFO] [stdout] | | [INFO] [stdout] | `Trace` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_gc_Trace_FOR_Frame` [INFO] [stdout] 9 | pub struct Frame { [INFO] [stdout] | ----- `Frame` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Trace` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Trace` may come from an old version of the `gc_derive` crate, try updating your dependency with `cargo update -p gc_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue [INFO] [stdout] = note: this warning originates in the derive macro `Trace` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> risuppu-core/src/semantic/frame.rs:8:24 [INFO] [stdout] | [INFO] [stdout] 8 | #[derive(Debug, Clone, Trace, Finalize, PartialEq, Eq)] [INFO] [stdout] | ^---- [INFO] [stdout] | | [INFO] [stdout] | `Drop` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_std_ops_Drop_FOR_Frame` [INFO] [stdout] 9 | pub struct Frame { [INFO] [stdout] | ----- `Frame` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Trace` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Trace` may come from an old version of the `gc_derive` crate, try updating your dependency with `cargo update -p gc_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue [INFO] [stdout] = note: this warning originates in the derive macro `Trace` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> risuppu-core/src/semantic/frame.rs:8:31 [INFO] [stdout] | [INFO] [stdout] 8 | #[derive(Debug, Clone, Trace, Finalize, PartialEq, Eq)] [INFO] [stdout] | ^------- [INFO] [stdout] | | [INFO] [stdout] | `Finalize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_gc_Finalize_FOR_Frame` [INFO] [stdout] 9 | pub struct Frame { [INFO] [stdout] | ----- `Frame` 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 lint may become deny-by-default in the edition 2024 and higher, see the tracking issue [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] error: aborting due to 5 previous errors; 10 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `risuppu` (lib test) due to 6 previous errors; 10 warnings emitted [INFO] running `Command { std: "docker" "inspect" "afaa73deaae461516fb2cfe2d03d8bfa316205c160a284235417f4bca0db34dc", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "afaa73deaae461516fb2cfe2d03d8bfa316205c160a284235417f4bca0db34dc", kill_on_drop: false }` [INFO] [stdout] afaa73deaae461516fb2cfe2d03d8bfa316205c160a284235417f4bca0db34dc