[INFO] cloning repository https://github.com/jnsahaj/monkey-rs [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/jnsahaj/monkey-rs" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjnsahaj%2Fmonkey-rs", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjnsahaj%2Fmonkey-rs'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 293b4a73a29e721f3c41bf206a97998bf0c142e7 [INFO] checking jnsahaj/monkey-rs against master#1f12b9b0fdbe735968ac002792a720f0ba4faca6 for crater-rollup-uwu [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjnsahaj%2Fmonkey-rs" "/workspace/builds/worker-4-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc1/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/jnsahaj/monkey-rs on toolchain 1f12b9b0fdbe735968ac002792a720f0ba4faca6 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1f12b9b0fdbe735968ac002792a720f0ba4faca6" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/jnsahaj/monkey-rs [INFO] finished tweaking git repo https://github.com/jnsahaj/monkey-rs [INFO] tweaked toml for git repo https://github.com/jnsahaj/monkey-rs written to /workspace/builds/worker-4-tc1/source/Cargo.toml [INFO] crate git repo https://github.com/jnsahaj/monkey-rs 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" "+1f12b9b0fdbe735968ac002792a720f0ba4faca6" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:923055f121b5182466d55868a8b05e67af8ba4a3a3f6bad814e953ca3cd3ac2a" "/opt/rustwide/cargo-home/bin/cargo" "+1f12b9b0fdbe735968ac002792a720f0ba4faca6" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 96592f413b899d81604005bb403ace5cb7d01741a932baab5fe26759b6857763 [INFO] running `Command { std: "docker" "start" "-a" "96592f413b899d81604005bb403ace5cb7d01741a932baab5fe26759b6857763", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "96592f413b899d81604005bb403ace5cb7d01741a932baab5fe26759b6857763", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "96592f413b899d81604005bb403ace5cb7d01741a932baab5fe26759b6857763", kill_on_drop: false }` [INFO] [stdout] 96592f413b899d81604005bb403ace5cb7d01741a932baab5fe26759b6857763 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:923055f121b5182466d55868a8b05e67af8ba4a3a3f6bad814e953ca3cd3ac2a" "/opt/rustwide/cargo-home/bin/cargo" "+1f12b9b0fdbe735968ac002792a720f0ba4faca6" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 1de27b302f67644dfe85653509d7a164b0bdc952177dda6cdb8418bbfe6737f1 [INFO] running `Command { std: "docker" "start" "-a" "1de27b302f67644dfe85653509d7a164b0bdc952177dda6cdb8418bbfe6737f1", kill_on_drop: false }` [INFO] [stderr] Checking byteorder v1.5.0 [INFO] [stderr] Checking monkey-rs v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/compiler/vm.rs:163:17 [INFO] [stdout] | [INFO] [stdout] 163 | _ => todo!(), [INFO] [stdout] | ^ no value can reach this [INFO] [stdout] | [INFO] [stdout] note: multiple earlier patterns match some of the same values [INFO] [stdout] --> src/compiler/vm.rs:163:17 [INFO] [stdout] | [INFO] [stdout] 132 | Op::Constant => { [INFO] [stdout] | ------------ matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 137 | op @ (Op::Add | Op::Sub | Op::Mul | Op::Div) => { [INFO] [stdout] | ------------------------------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 141 | Op::Pop => { [INFO] [stdout] | ------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 144 | Op::True => self.push(TRUE)?, [INFO] [stdout] | -------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 163 | _ => todo!(), [INFO] [stdout] | ^ ...and 7 other patterns collectively make this unreachable [INFO] [stdout] = note: `#[warn(unreachable_patterns)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 1 warning emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/compiler/vm.rs:163:17 [INFO] [stdout] | [INFO] [stdout] 163 | _ => todo!(), [INFO] [stdout] | ^ no value can reach this [INFO] [stdout] | [INFO] [stdout] note: multiple earlier patterns match some of the same values [INFO] [stdout] --> src/compiler/vm.rs:163:17 [INFO] [stdout] | [INFO] [stdout] 132 | Op::Constant => { [INFO] [stdout] | ------------ matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 137 | op @ (Op::Add | Op::Sub | Op::Mul | Op::Div) => { [INFO] [stdout] | ------------------------------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 141 | Op::Pop => { [INFO] [stdout] | ------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 144 | Op::True => self.push(TRUE)?, [INFO] [stdout] | -------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 163 | _ => todo!(), [INFO] [stdout] | ^ ...and 7 other patterns collectively make this unreachable [INFO] [stdout] = note: `#[warn(unreachable_patterns)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 1 warning emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.44s [INFO] running `Command { std: "docker" "inspect" "1de27b302f67644dfe85653509d7a164b0bdc952177dda6cdb8418bbfe6737f1", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "1de27b302f67644dfe85653509d7a164b0bdc952177dda6cdb8418bbfe6737f1", kill_on_drop: false }` [INFO] [stdout] 1de27b302f67644dfe85653509d7a164b0bdc952177dda6cdb8418bbfe6737f1 [INFO] checking jnsahaj/monkey-rs against try#f9935d29d867449445ee008640ccca1bf1ae0889+rustflags=-Dtail_expr_drop_order for crater-rollup-uwu [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjnsahaj%2Fmonkey-rs" "/workspace/builds/worker-4-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc2/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/jnsahaj/monkey-rs on toolchain f9935d29d867449445ee008640ccca1bf1ae0889 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+f9935d29d867449445ee008640ccca1bf1ae0889" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/jnsahaj/monkey-rs [INFO] finished tweaking git repo https://github.com/jnsahaj/monkey-rs [INFO] tweaked toml for git repo https://github.com/jnsahaj/monkey-rs written to /workspace/builds/worker-4-tc2/source/Cargo.toml [INFO] crate git repo https://github.com/jnsahaj/monkey-rs 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" "+f9935d29d867449445ee008640ccca1bf1ae0889" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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" "+f9935d29d867449445ee008640ccca1bf1ae0889" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] cdb2348fdf80ef1ad6982f8e29803219bb58f198b9639b9cbdc9e3cb3f7cb242 [INFO] running `Command { std: "docker" "start" "-a" "cdb2348fdf80ef1ad6982f8e29803219bb58f198b9639b9cbdc9e3cb3f7cb242", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "cdb2348fdf80ef1ad6982f8e29803219bb58f198b9639b9cbdc9e3cb3f7cb242", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "cdb2348fdf80ef1ad6982f8e29803219bb58f198b9639b9cbdc9e3cb3f7cb242", kill_on_drop: false }` [INFO] [stdout] cdb2348fdf80ef1ad6982f8e29803219bb58f198b9639b9cbdc9e3cb3f7cb242 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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" "+f9935d29d867449445ee008640ccca1bf1ae0889" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 9caae83d0d7295dde0fe394d0571182bf2284beca042f5e97f18324557a15485 [INFO] running `Command { std: "docker" "start" "-a" "9caae83d0d7295dde0fe394d0571182bf2284beca042f5e97f18324557a15485", kill_on_drop: false }` [INFO] [stderr] Checking byteorder v1.5.0 [INFO] [stderr] Checking monkey-rs v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/compiler/vm.rs:163:17 [INFO] [stdout] | [INFO] [stdout] 163 | _ => todo!(), [INFO] [stdout] | ^ no value can reach this [INFO] [stdout] | [INFO] [stdout] note: multiple earlier patterns match some of the same values [INFO] [stdout] --> src/compiler/vm.rs:163:17 [INFO] [stdout] | [INFO] [stdout] 132 | Op::Constant => { [INFO] [stdout] | ------------ matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 137 | op @ (Op::Add | Op::Sub | Op::Mul | Op::Div) => { [INFO] [stdout] | ------------------------------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 141 | Op::Pop => { [INFO] [stdout] | ------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 144 | Op::True => self.push(TRUE)?, [INFO] [stdout] | -------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 163 | _ => todo!(), [INFO] [stdout] | ^ ...and 7 other patterns collectively make this unreachable [INFO] [stdout] = note: `#[warn(unreachable_patterns)]` on by default [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/common/object/environment.rs:22:17 [INFO] [stdout] | [INFO] [stdout] 21 | pub fn new_enclosed(outer: MutEnv) -> MutEnv { [INFO] [stdout] | ------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 22 | Rc::new(RefCell::new(Self { [INFO] [stdout] | _________________^ [INFO] [stdout] 23 | | store: HashMap::new(), [INFO] [stdout] 24 | | outer: Some(outer), [INFO] [stdout] 25 | | })) [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/common/object/environment.rs:34:35 [INFO] [stdout] | [INFO] [stdout] 34 | .and_then(|outer| outer.borrow().get(key)), [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/common/parser.rs:146:12 [INFO] [stdout] | [INFO] [stdout] 140 | let expr = self.parse_expression(Precedence::Lowest)?; [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 146 | Ok(Statement::Let { name, value: expr }) [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/common/parser.rs:158:12 [INFO] [stdout] | [INFO] [stdout] 152 | let expr = self.parse_expression(Precedence::Lowest)?; [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 158 | Ok(Statement::Return { value: expr }) [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/common/parser.rs:168:12 [INFO] [stdout] | [INFO] [stdout] 162 | let expr = self.parse_expression(Precedence::Lowest)?; [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 168 | Ok(Statement::Expression { value: expr }) [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/common/parser.rs:246:12 [INFO] [stdout] | [INFO] [stdout] 238 | fn parse_infix_expression(&mut self, left_expr: Box) -> R { [INFO] [stdout] | -------------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 244 | let right_expr = self.parse_expression(precedence)?; [INFO] [stdout] | ---------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 245 | [INFO] [stdout] 246 | Ok(Expression::Infix( [INFO] [stdout] | ____________^ [INFO] [stdout] 247 | | left_expr, [INFO] [stdout] 248 | | operator_token, [INFO] [stdout] 249 | | Box::new(right_expr), [INFO] [stdout] 250 | | )) [INFO] [stdout] | | ^ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | |_________| [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/common/parser.rs:280:12 [INFO] [stdout] | [INFO] [stdout] 265 | let condition = Box::new(self.parse_expression(Precedence::Lowest)?); [INFO] [stdout] | --------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 270 | let consequence = self.parse_block_statement()?; [INFO] [stdout] | ----------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 271 | [INFO] [stdout] 272 | let alternative = if self.peek_token == Token::Else { [INFO] [stdout] | ----------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 280 | Ok(Expression::If { [INFO] [stdout] | ____________^ [INFO] [stdout] 281 | | condition, [INFO] [stdout] 282 | | consequence, [INFO] [stdout] 283 | | alternative, [INFO] [stdout] 284 | | }) [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] | [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/common/parser.rs:294:12 [INFO] [stdout] | [INFO] [stdout] 289 | let parameters = self.parse_function_parameters()?; [INFO] [stdout] | ---------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 292 | let body = self.parse_block_statement()?; [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 293 | [INFO] [stdout] 294 | Ok(Expression::Function { parameters, 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/common/parser.rs:333:12 [INFO] [stdout] | [INFO] [stdout] 325 | let mut statements: Vec = vec![]; [INFO] [stdout] | ---------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 333 | Ok(BlockStatement { statements }) [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/common/parser.rs:338:12 [INFO] [stdout] | [INFO] [stdout] 336 | fn parse_call_expression(&mut self, left_expr: Box) -> R { [INFO] [stdout] | -------------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 337 | let arguments = self.parse_call_arguments()?; [INFO] [stdout] | --------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 338 | Ok(Expression::Call { [INFO] [stdout] | ____________^ [INFO] [stdout] 339 | | function: left_expr, [INFO] [stdout] 340 | | arguments, [INFO] [stdout] 341 | | }) [INFO] [stdout] | | ^ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | |_________| [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/common/parser.rs:373:12 [INFO] [stdout] | [INFO] [stdout] 372 | let elements = self.parse_expression_list(Token::RBracket)?; [INFO] [stdout] | -------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 373 | Ok(Expression::Array(elements)) [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/common/parser.rs:409:12 [INFO] [stdout] | [INFO] [stdout] 403 | fn parse_index_expression(&mut self, left: Box) -> R { [INFO] [stdout] | --------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 404 | self.next_token(); [INFO] [stdout] 405 | let expr = self.parse_expression(Precedence::Lowest)?; [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 409 | Ok(Expression::Index(left, Box::new(expr))) [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/common/parser.rs:442:12 [INFO] [stdout] | [INFO] [stdout] 413 | let mut pairs: Vec<(Expression, Expression)> = vec![]; [INFO] [stdout] | ----- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 442 | Ok(Expression::Hash(pairs)) [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/compiler/code.rs:105:22 [INFO] [stdout] | [INFO] [stdout] 104 | fn from_iter>(iter: T) -> Self { [INFO] [stdout] | ------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 105 | Instructions(iter.into_iter().collect()) [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/interpreter/evaluator.rs:25:15 [INFO] [stdout] | [INFO] [stdout] 24 | pub fn eval(program: Program, env: MutEnv) -> Object { [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] 25 | match Evaluator::eval_statements(&program.statements, env) { [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/interpreter/evaluator.rs:122:12 [INFO] [stdout] | [INFO] [stdout] 121 | fn eval_bang_operator_expression(object: Object, _: MutEnv) -> R { [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] 122 | Ok(match object { [INFO] [stdout] | ____________^ [INFO] [stdout] 123 | | TRUE => FALSE, [INFO] [stdout] 124 | | FALSE => TRUE, [INFO] [stdout] 125 | | NULL => TRUE, [INFO] [stdout] 126 | | _ => FALSE, [INFO] [stdout] 127 | | }) [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/interpreter/evaluator.rs:225:12 [INFO] [stdout] | [INFO] [stdout] 224 | fn eval_return_statement_expression(expression: &Expression, env: MutEnv) -> R { [INFO] [stdout] | ----------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 225 | Ok(Object::Return(Box::new(Evaluator::eval_expression( [INFO] [stdout] | ____________^ [INFO] [stdout] 226 | | expression, [INFO] [stdout] 227 | | Rc::clone(&env), [INFO] [stdout] 228 | | )?))) [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/interpreter/evaluator.rs:236:12 [INFO] [stdout] | [INFO] [stdout] 231 | fn eval_let_statement(ident: &str, expression: &Expression, env: MutEnv) -> R { [INFO] [stdout] | ----------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 232 | let value = Evaluator::eval_expression(expression, Rc::clone(&env))?; [INFO] [stdout] | ----- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 236 | Ok(NULL) [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/interpreter/evaluator.rs:256:12 [INFO] [stdout] | [INFO] [stdout] 254 | env: MutEnv, [INFO] [stdout] | ----------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 255 | ) -> R { [INFO] [stdout] 256 | Ok(Object::Function { [INFO] [stdout] | ____________^ [INFO] [stdout] 257 | | parameters: parameters.clone(), [INFO] [stdout] 258 | | body: body.clone(), [INFO] [stdout] 259 | | env, [INFO] [stdout] 260 | | }) [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/interpreter/evaluator.rs:348:12 [INFO] [stdout] | [INFO] [stdout] 339 | fn eval_hash_literal(pairs: &[(Expression, Expression)], env: MutEnv) -> R { [INFO] [stdout] | ----------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 340 | let mut map = HashMap::new(); [INFO] [stdout] | --- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 348 | Ok(Object::Hash(map)) [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 20 previous errors; 1 warning emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `monkey-rs` (lib) due to 21 previous errors; 1 warning emitted [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/compiler/vm.rs:163:17 [INFO] [stdout] | [INFO] [stdout] 163 | _ => todo!(), [INFO] [stdout] | ^ no value can reach this [INFO] [stdout] | [INFO] [stdout] note: multiple earlier patterns match some of the same values [INFO] [stdout] --> src/compiler/vm.rs:163:17 [INFO] [stdout] | [INFO] [stdout] 132 | Op::Constant => { [INFO] [stdout] | ------------ matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 137 | op @ (Op::Add | Op::Sub | Op::Mul | Op::Div) => { [INFO] [stdout] | ------------------------------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 141 | Op::Pop => { [INFO] [stdout] | ------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 144 | Op::True => self.push(TRUE)?, [INFO] [stdout] | -------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 163 | _ => todo!(), [INFO] [stdout] | ^ ...and 7 other patterns collectively make this unreachable [INFO] [stdout] = note: `#[warn(unreachable_patterns)]` on by default [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/common/object/environment.rs:22:17 [INFO] [stdout] | [INFO] [stdout] 21 | pub fn new_enclosed(outer: MutEnv) -> MutEnv { [INFO] [stdout] | ------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 22 | Rc::new(RefCell::new(Self { [INFO] [stdout] | _________________^ [INFO] [stdout] 23 | | store: HashMap::new(), [INFO] [stdout] 24 | | outer: Some(outer), [INFO] [stdout] 25 | | })) [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/common/object/environment.rs:34:35 [INFO] [stdout] | [INFO] [stdout] 34 | .and_then(|outer| outer.borrow().get(key)), [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/common/parser.rs:146:12 [INFO] [stdout] | [INFO] [stdout] 140 | let expr = self.parse_expression(Precedence::Lowest)?; [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 146 | Ok(Statement::Let { name, value: expr }) [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/common/parser.rs:158:12 [INFO] [stdout] | [INFO] [stdout] 152 | let expr = self.parse_expression(Precedence::Lowest)?; [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 158 | Ok(Statement::Return { value: expr }) [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/common/parser.rs:168:12 [INFO] [stdout] | [INFO] [stdout] 162 | let expr = self.parse_expression(Precedence::Lowest)?; [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 168 | Ok(Statement::Expression { value: expr }) [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/common/parser.rs:246:12 [INFO] [stdout] | [INFO] [stdout] 238 | fn parse_infix_expression(&mut self, left_expr: Box) -> R { [INFO] [stdout] | -------------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 244 | let right_expr = self.parse_expression(precedence)?; [INFO] [stdout] | ---------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 245 | [INFO] [stdout] 246 | Ok(Expression::Infix( [INFO] [stdout] | ____________^ [INFO] [stdout] 247 | | left_expr, [INFO] [stdout] 248 | | operator_token, [INFO] [stdout] 249 | | Box::new(right_expr), [INFO] [stdout] 250 | | )) [INFO] [stdout] | | ^ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | |_________| [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/common/parser.rs:280:12 [INFO] [stdout] | [INFO] [stdout] 265 | let condition = Box::new(self.parse_expression(Precedence::Lowest)?); [INFO] [stdout] | --------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 270 | let consequence = self.parse_block_statement()?; [INFO] [stdout] | ----------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 271 | [INFO] [stdout] 272 | let alternative = if self.peek_token == Token::Else { [INFO] [stdout] | ----------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 280 | Ok(Expression::If { [INFO] [stdout] | ____________^ [INFO] [stdout] 281 | | condition, [INFO] [stdout] 282 | | consequence, [INFO] [stdout] 283 | | alternative, [INFO] [stdout] 284 | | }) [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] | [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/common/parser.rs:294:12 [INFO] [stdout] | [INFO] [stdout] 289 | let parameters = self.parse_function_parameters()?; [INFO] [stdout] | ---------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 292 | let body = self.parse_block_statement()?; [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 293 | [INFO] [stdout] 294 | Ok(Expression::Function { parameters, 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/common/parser.rs:333:12 [INFO] [stdout] | [INFO] [stdout] 325 | let mut statements: Vec = vec![]; [INFO] [stdout] | ---------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 333 | Ok(BlockStatement { statements }) [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/common/parser.rs:338:12 [INFO] [stdout] | [INFO] [stdout] 336 | fn parse_call_expression(&mut self, left_expr: Box) -> R { [INFO] [stdout] | -------------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 337 | let arguments = self.parse_call_arguments()?; [INFO] [stdout] | --------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 338 | Ok(Expression::Call { [INFO] [stdout] | ____________^ [INFO] [stdout] 339 | | function: left_expr, [INFO] [stdout] 340 | | arguments, [INFO] [stdout] 341 | | }) [INFO] [stdout] | | ^ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | |_________| [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/common/parser.rs:373:12 [INFO] [stdout] | [INFO] [stdout] 372 | let elements = self.parse_expression_list(Token::RBracket)?; [INFO] [stdout] | -------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 373 | Ok(Expression::Array(elements)) [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/common/parser.rs:409:12 [INFO] [stdout] | [INFO] [stdout] 403 | fn parse_index_expression(&mut self, left: Box) -> R { [INFO] [stdout] | --------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 404 | self.next_token(); [INFO] [stdout] 405 | let expr = self.parse_expression(Precedence::Lowest)?; [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 409 | Ok(Expression::Index(left, Box::new(expr))) [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/common/parser.rs:442:12 [INFO] [stdout] | [INFO] [stdout] 413 | let mut pairs: Vec<(Expression, Expression)> = vec![]; [INFO] [stdout] | ----- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 442 | Ok(Expression::Hash(pairs)) [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/common/parser.rs:539:20 [INFO] [stdout] | [INFO] [stdout] 539 | value: Expression::Infix( [INFO] [stdout] | ____________________^ [INFO] [stdout] 540 | | Box::new(Expression::Integer(5)), [INFO] [stdout] 541 | | token, [INFO] [stdout] 542 | | Box::new(Expression::Integer(5)), [INFO] [stdout] 543 | | ), [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/compiler/code.rs:105:22 [INFO] [stdout] | [INFO] [stdout] 104 | fn from_iter>(iter: T) -> Self { [INFO] [stdout] | ------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 105 | Instructions(iter.into_iter().collect()) [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/interpreter/evaluator.rs:25:15 [INFO] [stdout] | [INFO] [stdout] 24 | pub fn eval(program: Program, env: MutEnv) -> Object { [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] 25 | match Evaluator::eval_statements(&program.statements, env) { [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/interpreter/evaluator.rs:122:12 [INFO] [stdout] | [INFO] [stdout] 121 | fn eval_bang_operator_expression(object: Object, _: MutEnv) -> R { [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] 122 | Ok(match object { [INFO] [stdout] | ____________^ [INFO] [stdout] 123 | | TRUE => FALSE, [INFO] [stdout] 124 | | FALSE => TRUE, [INFO] [stdout] 125 | | NULL => TRUE, [INFO] [stdout] 126 | | _ => FALSE, [INFO] [stdout] 127 | | }) [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/interpreter/evaluator.rs:225:12 [INFO] [stdout] | [INFO] [stdout] 224 | fn eval_return_statement_expression(expression: &Expression, env: MutEnv) -> R { [INFO] [stdout] | ----------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 225 | Ok(Object::Return(Box::new(Evaluator::eval_expression( [INFO] [stdout] | ____________^ [INFO] [stdout] 226 | | expression, [INFO] [stdout] 227 | | Rc::clone(&env), [INFO] [stdout] 228 | | )?))) [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/interpreter/evaluator.rs:236:12 [INFO] [stdout] | [INFO] [stdout] 231 | fn eval_let_statement(ident: &str, expression: &Expression, env: MutEnv) -> R { [INFO] [stdout] | ----------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 232 | let value = Evaluator::eval_expression(expression, Rc::clone(&env))?; [INFO] [stdout] | ----- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 236 | Ok(NULL) [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/interpreter/evaluator.rs:256:12 [INFO] [stdout] | [INFO] [stdout] 254 | env: MutEnv, [INFO] [stdout] | ----------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 255 | ) -> R { [INFO] [stdout] 256 | Ok(Object::Function { [INFO] [stdout] | ____________^ [INFO] [stdout] 257 | | parameters: parameters.clone(), [INFO] [stdout] 258 | | body: body.clone(), [INFO] [stdout] 259 | | env, [INFO] [stdout] 260 | | }) [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/interpreter/evaluator.rs:348:12 [INFO] [stdout] | [INFO] [stdout] 339 | fn eval_hash_literal(pairs: &[(Expression, Expression)], env: MutEnv) -> R { [INFO] [stdout] | ----------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 340 | let mut map = HashMap::new(); [INFO] [stdout] | --- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 348 | Ok(Object::Hash(map)) [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 21 previous errors; 1 warning emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `monkey-rs` (lib test) due to 22 previous errors; 1 warning emitted [INFO] running `Command { std: "docker" "inspect" "9caae83d0d7295dde0fe394d0571182bf2284beca042f5e97f18324557a15485", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "9caae83d0d7295dde0fe394d0571182bf2284beca042f5e97f18324557a15485", kill_on_drop: false }` [INFO] [stdout] 9caae83d0d7295dde0fe394d0571182bf2284beca042f5e97f18324557a15485