[INFO] cloning repository https://github.com/DomParfitt/rlisp [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/DomParfitt/rlisp" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FDomParfitt%2Frlisp", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FDomParfitt%2Frlisp'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 3154b36b4a6fcda8808193e932cde4a69b3cb0e9 [INFO] checking DomParfitt/rlisp/3154b36b4a6fcda8808193e932cde4a69b3cb0e9 against try#4d98531622e1718ae0bc3c7a1ab9cd8938428452+rustflags=-Dtail_expr_drop_order for pr-129604 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FDomParfitt%2Frlisp" "/workspace/builds/worker-3-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc2/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/DomParfitt/rlisp on toolchain 4d98531622e1718ae0bc3c7a1ab9cd8938428452 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+4d98531622e1718ae0bc3c7a1ab9cd8938428452" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/DomParfitt/rlisp [INFO] finished tweaking git repo https://github.com/DomParfitt/rlisp [INFO] tweaked toml for git repo https://github.com/DomParfitt/rlisp written to /workspace/builds/worker-3-tc2/source/Cargo.toml [INFO] crate git repo https://github.com/DomParfitt/rlisp 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" "+4d98531622e1718ae0bc3c7a1ab9cd8938428452" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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:923055f121b5182466d55868a8b05e67af8ba4a3a3f6bad814e953ca3cd3ac2a" "/opt/rustwide/cargo-home/bin/cargo" "+4d98531622e1718ae0bc3c7a1ab9cd8938428452" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] d88cabe3f04c66ec347fb4873037a444a5d9df2d3400e2dcb14bffaf86d9e792 [INFO] running `Command { std: "docker" "start" "-a" "d88cabe3f04c66ec347fb4873037a444a5d9df2d3400e2dcb14bffaf86d9e792", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "d88cabe3f04c66ec347fb4873037a444a5d9df2d3400e2dcb14bffaf86d9e792", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "d88cabe3f04c66ec347fb4873037a444a5d9df2d3400e2dcb14bffaf86d9e792", kill_on_drop: false }` [INFO] [stdout] d88cabe3f04c66ec347fb4873037a444a5d9df2d3400e2dcb14bffaf86d9e792 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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:923055f121b5182466d55868a8b05e67af8ba4a3a3f6bad814e953ca3cd3ac2a" "/opt/rustwide/cargo-home/bin/cargo" "+4d98531622e1718ae0bc3c7a1ab9cd8938428452" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 84aad0e3f14751d12b072e92a6b010fd13af38a282d0e292115b602ecc1341dd [INFO] running `Command { std: "docker" "start" "-a" "84aad0e3f14751d12b072e92a6b010fd13af38a282d0e292115b602ecc1341dd", kill_on_drop: false }` [INFO] [stderr] Checking rlisp v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `Token` [INFO] [stdout] --> src/parser/error.rs:4:20 [INFO] [stdout] | [INFO] [stdout] 4 | use crate::lexer::{Token, TokenKind}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::evaluator::types::Type` [INFO] [stdout] --> src/repl/mod.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use crate::evaluator::types::Type; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Token` [INFO] [stdout] --> src/parser/error.rs:4:20 [INFO] [stdout] | [INFO] [stdout] 4 | use crate::lexer::{Token, TokenKind}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::evaluator::types::Type` [INFO] [stdout] --> src/repl/mod.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use crate::evaluator::types::Type; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `err` [INFO] [stdout] --> src/parser/mod.rs:36:21 [INFO] [stdout] | [INFO] [stdout] 36 | Err(err) => return expr, [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_err` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `args` [INFO] [stdout] --> src/evaluator/types.rs:32:26 [INFO] [stdout] | [INFO] [stdout] 32 | Type::Fn(ref args, ref body, ref scope) => write!(f, "") [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_args` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `err` [INFO] [stdout] --> src/parser/mod.rs:36:21 [INFO] [stdout] | [INFO] [stdout] 36 | Err(err) => return expr, [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_err` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `args` [INFO] [stdout] --> src/evaluator/types.rs:32:26 [INFO] [stdout] | [INFO] [stdout] 32 | Type::Fn(ref args, ref body, ref scope) => write!(f, "") [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_args` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `body` [INFO] [stdout] --> src/evaluator/types.rs:32:36 [INFO] [stdout] | [INFO] [stdout] 32 | Type::Fn(ref args, ref body, ref scope) => write!(f, "") [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_body` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `scope` [INFO] [stdout] --> src/evaluator/types.rs:32:46 [INFO] [stdout] | [INFO] [stdout] 32 | Type::Fn(ref args, ref body, ref scope) => write!(f, "") [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_scope` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `body` [INFO] [stdout] --> src/evaluator/types.rs:32:36 [INFO] [stdout] | [INFO] [stdout] 32 | Type::Fn(ref args, ref body, ref scope) => write!(f, "") [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_body` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `scope` [INFO] [stdout] --> src/evaluator/types.rs:32:46 [INFO] [stdout] | [INFO] [stdout] 32 | Type::Fn(ref args, ref body, ref scope) => write!(f, "") [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_scope` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `line` and `col` are never read [INFO] [stdout] --> src/lexer/mod.rs:27:9 [INFO] [stdout] | [INFO] [stdout] 24 | pub struct Token { [INFO] [stdout] | ----- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 27 | pub line: usize, [INFO] [stdout] | ^^^^ [INFO] [stdout] 28 | pub col: usize, [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Token` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `def_fn` is never used [INFO] [stdout] --> src/parser/mod.rs:108:8 [INFO] [stdout] | [INFO] [stdout] 15 | impl Parser { [INFO] [stdout] | ----------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 108 | fn def_fn(&mut self) -> ParseResult { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `FnDef` and `Base` are never constructed [INFO] [stdout] --> src/parser/grammar.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 4 | pub enum Expr { [INFO] [stdout] | ---- variants in this enum [INFO] [stdout] ... [INFO] [stdout] 8 | FnDef(Box, Box), [INFO] [stdout] | ^^^^^ [INFO] [stdout] 9 | If(Box, Box, Box), [INFO] [stdout] 10 | Base(Box), [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Expr` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/evaluator/scope.rs:20:12 [INFO] [stdout] | [INFO] [stdout] 12 | impl Scope { [INFO] [stdout] | ---------- associated function in this implementation [INFO] [stdout] ... [INFO] [stdout] 20 | pub fn new(parent: RefCell) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `Str` is never constructed [INFO] [stdout] --> src/evaluator/types.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 8 | pub enum Type { [INFO] [stdout] | ---- variant in this enum [INFO] [stdout] ... [INFO] [stdout] 13 | Str(String), [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Type` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Num` is never used [INFO] [stdout] --> src/evaluator/types.rs:38:6 [INFO] [stdout] | [INFO] [stdout] 38 | enum Num { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/parser/mod.rs:40:12 [INFO] [stdout] | [INFO] [stdout] 31 | let mut exprs: Vec = vec!(); [INFO] [stdout] | ----- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 40 | Ok(Expr::List(exprs)) [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: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/parser/mod.rs:96:12 [INFO] [stdout] | [INFO] [stdout] 93 | let left = self.expr()?; [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 94 | let right = self.expr()?; [INFO] [stdout] | ----- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 95 | [INFO] [stdout] 96 | Ok(Expr::BinaryOp(kind, Box::new(left), Box::new(right))) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [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: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/parser/mod.rs:105:12 [INFO] [stdout] | [INFO] [stdout] 102 | let id = self.ident()?; [INFO] [stdout] | -- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 103 | let value = self.expr()?; [INFO] [stdout] | ----- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 104 | [INFO] [stdout] 105 | Ok(Expr::Bind(Box::new(id), Box::new(value))) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [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: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/parser/mod.rs:113:12 [INFO] [stdout] | [INFO] [stdout] 110 | let args = self.list()?; [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 111 | let body = self.expr()?; [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 112 | [INFO] [stdout] 113 | Ok(Expr::FnDef(Box::new(args), Box::new(body))) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [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: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/parser/mod.rs:123:12 [INFO] [stdout] | [INFO] [stdout] 119 | let condition = self.expr()?; [INFO] [stdout] | --------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 120 | let result = self.expr()?; [INFO] [stdout] | ------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 121 | let alternate = self.expr()?; [INFO] [stdout] | --------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 122 | [INFO] [stdout] 123 | Ok(Expr::If(Box::new(condition), Box::new(result), Box::new(alternate))) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [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: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/evaluator/mod.rs:23:30 [INFO] [stdout] | [INFO] [stdout] 22 | pub fn evaluate(&mut self, expr: Expr) -> Type { [INFO] [stdout] | ---------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 23 | self.eval_expr(expr, Rc::clone(&self.scope)) [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: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/evaluator/mod.rs:52:15 [INFO] [stdout] | [INFO] [stdout] 48 | fn eval_bin_op(&mut self, op: TokenKind, left: Expr, right: Expr) -> Type { [INFO] [stdout] | ---------- ----------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | | [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 49 | let left = self.evaluate(left); [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 50 | let right = self.evaluate(right); [INFO] [stdout] | ----- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 51 | [INFO] [stdout] 52 | match (left.clone(), right.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: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/evaluator/scope.rs:22:23 [INFO] [stdout] | [INFO] [stdout] 20 | pub fn new(parent: RefCell) -> Self { [INFO] [stdout] | ---------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 21 | Scope { [INFO] [stdout] 22 | bindings: HashMap::new(), [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: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/evaluator/scope.rs:23:21 [INFO] [stdout] | [INFO] [stdout] 20 | pub fn new(parent: RefCell) -> Self { [INFO] [stdout] | ---------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 23 | parent: Some(Rc::new(parent)), [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: aborting due to 9 previous errors; 12 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `rlisp` (bin "rlisp" test) due to 10 previous errors; 12 warnings emitted [INFO] [stdout] warning: fields `line` and `col` are never read [INFO] [stdout] --> src/lexer/mod.rs:27:9 [INFO] [stdout] | [INFO] [stdout] 24 | pub struct Token { [INFO] [stdout] | ----- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 27 | pub line: usize, [INFO] [stdout] | ^^^^ [INFO] [stdout] 28 | pub col: usize, [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Token` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stdout] warning: method `def_fn` is never used [INFO] [stdout] --> src/parser/mod.rs:108:8 [INFO] [stdout] | [INFO] [stdout] 15 | impl Parser { [INFO] [stdout] | ----------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 108 | fn def_fn(&mut self) -> ParseResult { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `FnDef` and `Base` are never constructed [INFO] [stdout] --> src/parser/grammar.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 4 | pub enum Expr { [INFO] [stdout] | ---- variants in this enum [INFO] [stdout] ... [INFO] [stdout] 8 | FnDef(Box, Box), [INFO] [stdout] | ^^^^^ [INFO] [stdout] 9 | If(Box, Box, Box), [INFO] [stdout] 10 | Base(Box), [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Expr` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/evaluator/scope.rs:20:12 [INFO] [stdout] | [INFO] [stdout] 12 | impl Scope { [INFO] [stdout] | ---------- associated function in this implementation [INFO] [stdout] ... [INFO] [stdout] 20 | pub fn new(parent: RefCell) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `Str` is never constructed [INFO] [stdout] --> src/evaluator/types.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 8 | pub enum Type { [INFO] [stdout] | ---- variant in this enum [INFO] [stdout] ... [INFO] [stdout] 13 | Str(String), [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Type` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Num` is never used [INFO] [stdout] --> src/evaluator/types.rs:38:6 [INFO] [stdout] | [INFO] [stdout] 38 | enum Num { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/parser/mod.rs:40:12 [INFO] [stdout] | [INFO] [stdout] 31 | let mut exprs: Vec = vec!(); [INFO] [stdout] | ----- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 40 | Ok(Expr::List(exprs)) [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: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/parser/mod.rs:96:12 [INFO] [stdout] | [INFO] [stdout] 93 | let left = self.expr()?; [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 94 | let right = self.expr()?; [INFO] [stdout] | ----- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 95 | [INFO] [stdout] 96 | Ok(Expr::BinaryOp(kind, Box::new(left), Box::new(right))) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [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: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/parser/mod.rs:105:12 [INFO] [stdout] | [INFO] [stdout] 102 | let id = self.ident()?; [INFO] [stdout] | -- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 103 | let value = self.expr()?; [INFO] [stdout] | ----- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 104 | [INFO] [stdout] 105 | Ok(Expr::Bind(Box::new(id), Box::new(value))) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [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: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/parser/mod.rs:113:12 [INFO] [stdout] | [INFO] [stdout] 110 | let args = self.list()?; [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 111 | let body = self.expr()?; [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 112 | [INFO] [stdout] 113 | Ok(Expr::FnDef(Box::new(args), Box::new(body))) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [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: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/parser/mod.rs:123:12 [INFO] [stdout] | [INFO] [stdout] 119 | let condition = self.expr()?; [INFO] [stdout] | --------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 120 | let result = self.expr()?; [INFO] [stdout] | ------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 121 | let alternate = self.expr()?; [INFO] [stdout] | --------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 122 | [INFO] [stdout] 123 | Ok(Expr::If(Box::new(condition), Box::new(result), Box::new(alternate))) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [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: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/evaluator/mod.rs:23:30 [INFO] [stdout] | [INFO] [stdout] 22 | pub fn evaluate(&mut self, expr: Expr) -> Type { [INFO] [stdout] | ---------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 23 | self.eval_expr(expr, Rc::clone(&self.scope)) [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: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/evaluator/mod.rs:52:15 [INFO] [stdout] | [INFO] [stdout] 48 | fn eval_bin_op(&mut self, op: TokenKind, left: Expr, right: Expr) -> Type { [INFO] [stdout] | ---------- ----------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | | [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 49 | let left = self.evaluate(left); [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 50 | let right = self.evaluate(right); [INFO] [stdout] | ----- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 51 | [INFO] [stdout] 52 | match (left.clone(), right.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: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/evaluator/scope.rs:22:23 [INFO] [stdout] | [INFO] [stdout] 20 | pub fn new(parent: RefCell) -> Self { [INFO] [stdout] | ---------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 21 | Scope { [INFO] [stdout] 22 | bindings: HashMap::new(), [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: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/evaluator/scope.rs:23:21 [INFO] [stdout] | [INFO] [stdout] 20 | pub fn new(parent: RefCell) -> Self { [INFO] [stdout] | ---------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 23 | parent: Some(Rc::new(parent)), [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: aborting due to 9 previous errors; 12 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `rlisp` (bin "rlisp") due to 10 previous errors; 12 warnings emitted [INFO] running `Command { std: "docker" "inspect" "84aad0e3f14751d12b072e92a6b010fd13af38a282d0e292115b602ecc1341dd", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "84aad0e3f14751d12b072e92a6b010fd13af38a282d0e292115b602ecc1341dd", kill_on_drop: false }` [INFO] [stdout] 84aad0e3f14751d12b072e92a6b010fd13af38a282d0e292115b602ecc1341dd