[INFO] cloning repository https://github.com/phamtrongthang123/VNLang-rust [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/phamtrongthang123/VNLang-rust" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fphamtrongthang123%2FVNLang-rust", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fphamtrongthang123%2FVNLang-rust'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] ffcd62063e9e2b926952430f9766b3454f9e237a [INFO] checking phamtrongthang123/VNLang-rust against master#1f12b9b0fdbe735968ac002792a720f0ba4faca6 for crater-rollup-uwu [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fphamtrongthang123%2FVNLang-rust" "/workspace/builds/worker-7-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc1/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/phamtrongthang123/VNLang-rust 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/phamtrongthang123/VNLang-rust [INFO] finished tweaking git repo https://github.com/phamtrongthang123/VNLang-rust [INFO] tweaked toml for git repo https://github.com/phamtrongthang123/VNLang-rust written to /workspace/builds/worker-7-tc1/source/Cargo.toml [INFO] crate git repo https://github.com/phamtrongthang123/VNLang-rust 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] [stderr] Downloading crates ... [INFO] [stderr] Downloaded enum-iterator v0.3.1 [INFO] [stderr] Downloaded enum-iterator-derive v0.3.1 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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] 8f513f07683bab18e25a2284d81d7b32eece367e5886e787b689497af2df5132 [INFO] running `Command { std: "docker" "start" "-a" "8f513f07683bab18e25a2284d81d7b32eece367e5886e787b689497af2df5132", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "8f513f07683bab18e25a2284d81d7b32eece367e5886e787b689497af2df5132", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "8f513f07683bab18e25a2284d81d7b32eece367e5886e787b689497af2df5132", kill_on_drop: false }` [INFO] [stdout] 8f513f07683bab18e25a2284d81d7b32eece367e5886e787b689497af2df5132 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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] 06d305281b4add0679d78d49571f88962fc576d3d7d97385b0ae855c0f35e5b6 [INFO] running `Command { std: "docker" "start" "-a" "06d305281b4add0679d78d49571f88962fc576d3d7d97385b0ae855c0f35e5b6", kill_on_drop: false }` [INFO] [stderr] Compiling proc-macro2 v1.0.18 [INFO] [stderr] Compiling unicode-xid v0.2.0 [INFO] [stderr] Compiling syn v1.0.33 [INFO] [stderr] Compiling byteorder v1.3.4 [INFO] [stderr] Checking hashbrown v0.3.1 [INFO] [stderr] Compiling quote v1.0.7 [INFO] [stderr] Compiling enum-iterator-derive v0.3.1 [INFO] [stderr] Checking enum-iterator v0.3.1 [INFO] [stderr] Checking monkey v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `crate::parser` [INFO] [stdout] --> src/evaluator.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | use crate::parser; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::io::Cursor` [INFO] [stdout] --> src/code.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use std::io::Cursor; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::parser::parse` [INFO] [stdout] --> src/compiler.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::parser::parse; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::cell::RefCell` [INFO] [stdout] --> src/compiler.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | use std::cell::RefCell; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::borrow::Borrow` [INFO] [stdout] --> src/compiler.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | use std::borrow::Borrow; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::compiler::Compiler` [INFO] [stdout] --> src/vm.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::compiler::Compiler; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::parser::parse` [INFO] [stdout] --> src/vm.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::parser::parse; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::io::Cursor` [INFO] [stdout] --> src/code.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use std::io::Cursor; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::cell::RefCell` [INFO] [stdout] --> src/compiler.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | use std::cell::RefCell; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `ReadBytesExt` [INFO] [stdout] --> src/code.rs:3:60 [INFO] [stdout] | [INFO] [stdout] 3 | use self::byteorder::{ByteOrder, BigEndian, WriteBytesExt, ReadBytesExt}; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `InstructionsFns` [INFO] [stdout] --> src/compiler.rs:2:33 [INFO] [stdout] | [INFO] [stdout] 2 | use crate::code::{Instructions, InstructionsFns, Op, make_instruction}; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `ReadBytesExt` [INFO] [stdout] --> src/vm.rs:6:45 [INFO] [stdout] | [INFO] [stdout] 6 | use self::byteorder::{ByteOrder, BigEndian, ReadBytesExt}; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/compiler.rs:414:13 [INFO] [stdout] | [INFO] [stdout] 414 | _ => panic!("not implemented {:?}", exp) [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.rs:414:13 [INFO] [stdout] | [INFO] [stdout] 273 | ast::Expression::Integer(int) => { [INFO] [stdout] | ----------------------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 278 | ast::Expression::Boolean(b) => { [INFO] [stdout] | --------------------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 285 | ast::Expression::String(s) => { [INFO] [stdout] | -------------------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 289 | ast::Expression::Infix(exp) => { [INFO] [stdout] | --------------------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 414 | _ => panic!("not implemented {:?}", exp) [INFO] [stdout] | ^ ...and 8 other patterns collectively make this unreachable [INFO] [stdout] = note: `#[warn(unreachable_patterns)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/vm.rs:254:17 [INFO] [stdout] | [INFO] [stdout] 254 | _ => panic!("unsupported op {:?}", op), [INFO] [stdout] | ^ no value can reach this [INFO] [stdout] | [INFO] [stdout] note: multiple earlier patterns match some of the same values [INFO] [stdout] --> src/vm.rs:254:17 [INFO] [stdout] | [INFO] [stdout] 140 | Op::Constant => { [INFO] [stdout] | ------------ matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 147 | Op::Add | Op::Sub | Op::Mul | Op::Div => self.execute_binary_operation(op), [INFO] [stdout] | ------------------------------------- matches some of the same values [INFO] [stdout] 148 | Op::GreaterThan | Op::Equal | Op::NotEqual => self.execute_comparison(op), [INFO] [stdout] | ------------------------------------------ matches some of the same values [INFO] [stdout] 149 | Op::Pop => { [INFO] [stdout] | ------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 254 | _ => panic!("unsupported op {:?}", op), [INFO] [stdout] | ^ ...and 20 other patterns collectively make this unreachable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `ip` is never read [INFO] [stdout] --> src/vm.rs:132:17 [INFO] [stdout] | [INFO] [stdout] 132 | let mut ip = 0; [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] = note: `#[warn(unused_assignments)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `is_pop` is never used [INFO] [stdout] --> src/compiler.rs:26:8 [INFO] [stdout] | [INFO] [stdout] 25 | impl EmittedInstruction { [INFO] [stdout] | ----------------------- method in this implementation [INFO] [stdout] 26 | fn is_pop(&self) -> bool { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/compiler.rs:245:17 [INFO] [stdout] | [INFO] [stdout] 245 | self.compile_expression(&ret.value); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 245 | let _ = self.compile_expression(&ret.value); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/compiler.rs:291:21 [INFO] [stdout] | [INFO] [stdout] 291 | self.compile_expression(&exp.right); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 291 | let _ = self.compile_expression(&exp.right); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/compiler.rs:292:21 [INFO] [stdout] | [INFO] [stdout] 292 | self.compile_expression(&exp.left); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 292 | let _ = self.compile_expression(&exp.left); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/compiler.rs:297:17 [INFO] [stdout] | [INFO] [stdout] 297 | self.compile_expression(&exp.left); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 297 | let _ = self.compile_expression(&exp.left); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/compiler.rs:298:17 [INFO] [stdout] | [INFO] [stdout] 298 | self.compile_expression(&exp.right); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 298 | let _ = self.compile_expression(&exp.right); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/compiler.rs:312:17 [INFO] [stdout] | [INFO] [stdout] 312 | self.compile_expression(&exp.right); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 312 | let _ = self.compile_expression(&exp.right); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/compiler.rs:321:17 [INFO] [stdout] | [INFO] [stdout] 321 | self.compile_expression(&ifexp.condition); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 321 | let _ = self.compile_expression(&ifexp.condition); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/compiler.rs:325:17 [INFO] [stdout] | [INFO] [stdout] 325 | self.compile_block_statement(&ifexp.consequence); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 325 | let _ = self.compile_block_statement(&ifexp.consequence); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/compiler.rs:384:17 [INFO] [stdout] | [INFO] [stdout] 384 | self.compile_block_statement(&func.body); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 384 | let _ = self.compile_block_statement(&func.body); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/compiler.rs:406:17 [INFO] [stdout] | [INFO] [stdout] 406 | self.compile_expression(&exp.function); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 406 | let _ = self.compile_expression(&exp.function); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/compiler.rs:409:21 [INFO] [stdout] | [INFO] [stdout] 409 | self.compile_expression(arg); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 409 | let _ = self.compile_expression(arg); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 25 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `ReadBytesExt` [INFO] [stdout] --> src/vm.rs:6:45 [INFO] [stdout] | [INFO] [stdout] 6 | use self::byteorder::{ByteOrder, BigEndian, ReadBytesExt}; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `ReadBytesExt` [INFO] [stdout] --> src/code.rs:3:60 [INFO] [stdout] | [INFO] [stdout] 3 | use self::byteorder::{ByteOrder, BigEndian, WriteBytesExt, ReadBytesExt}; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::error::Error` [INFO] [stdout] --> src/main.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use std::error::Error; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::error::Error` [INFO] [stdout] --> src/main.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use std::error::Error; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:65:17 [INFO] [stdout] | [INFO] [stdout] 65 | let mut env = Rc::new(RefCell::new(Environment::new())); [INFO] [stdout] | ----^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:65:17 [INFO] [stdout] | [INFO] [stdout] 65 | let mut env = Rc::new(RefCell::new(Environment::new())); [INFO] [stdout] | ----^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 2 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 2 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/compiler.rs:414:13 [INFO] [stdout] | [INFO] [stdout] 414 | _ => panic!("not implemented {:?}", exp) [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.rs:414:13 [INFO] [stdout] | [INFO] [stdout] 273 | ast::Expression::Integer(int) => { [INFO] [stdout] | ----------------------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 278 | ast::Expression::Boolean(b) => { [INFO] [stdout] | --------------------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 285 | ast::Expression::String(s) => { [INFO] [stdout] | -------------------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 289 | ast::Expression::Infix(exp) => { [INFO] [stdout] | --------------------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 414 | _ => panic!("not implemented {:?}", exp) [INFO] [stdout] | ^ ...and 8 other patterns collectively make this unreachable [INFO] [stdout] = note: `#[warn(unreachable_patterns)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/vm.rs:254:17 [INFO] [stdout] | [INFO] [stdout] 254 | _ => panic!("unsupported op {:?}", op), [INFO] [stdout] | ^ no value can reach this [INFO] [stdout] | [INFO] [stdout] note: multiple earlier patterns match some of the same values [INFO] [stdout] --> src/vm.rs:254:17 [INFO] [stdout] | [INFO] [stdout] 140 | Op::Constant => { [INFO] [stdout] | ------------ matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 147 | Op::Add | Op::Sub | Op::Mul | Op::Div => self.execute_binary_operation(op), [INFO] [stdout] | ------------------------------------- matches some of the same values [INFO] [stdout] 148 | Op::GreaterThan | Op::Equal | Op::NotEqual => self.execute_comparison(op), [INFO] [stdout] | ------------------------------------------ matches some of the same values [INFO] [stdout] 149 | Op::Pop => { [INFO] [stdout] | ------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 254 | _ => panic!("unsupported op {:?}", op), [INFO] [stdout] | ^ ...and 20 other patterns collectively make this unreachable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `ip` is never read [INFO] [stdout] --> src/vm.rs:132:17 [INFO] [stdout] | [INFO] [stdout] 132 | let mut ip = 0; [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] = note: `#[warn(unused_assignments)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `is_pop` is never used [INFO] [stdout] --> src/compiler.rs:26:8 [INFO] [stdout] | [INFO] [stdout] 25 | impl EmittedInstruction { [INFO] [stdout] | ----------------------- method in this implementation [INFO] [stdout] 26 | fn is_pop(&self) -> bool { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: panic message is not a string literal [INFO] [stdout] --> src/evaluator.rs:560:27 [INFO] [stdout] | [INFO] [stdout] 560 | obj => panic!(format!("expected string but got {:?}", obj)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: the `panic!()` macro supports formatting, so there's no need for the `format!()` macro here [INFO] [stdout] = note: `#[warn(non_fmt_panics)]` on by default [INFO] [stdout] help: remove the `format!(..)` macro call [INFO] [stdout] | [INFO] [stdout] 560 - obj => panic!(format!("expected string but got {:?}", obj)) [INFO] [stdout] 560 + obj => panic!("expected string but got {:?}", obj) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: panic message is not a string literal [INFO] [stdout] --> src/evaluator.rs:571:27 [INFO] [stdout] | [INFO] [stdout] 571 | obj => panic!(format!("expected string but got {:?}", obj)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: the `panic!()` macro supports formatting, so there's no need for the `format!()` macro here [INFO] [stdout] help: remove the `format!(..)` macro call [INFO] [stdout] | [INFO] [stdout] 571 - obj => panic!(format!("expected string but got {:?}", obj)) [INFO] [stdout] 571 + obj => panic!("expected string but got {:?}", obj) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/compiler.rs:245:17 [INFO] [stdout] | [INFO] [stdout] 245 | self.compile_expression(&ret.value); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 245 | let _ = self.compile_expression(&ret.value); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/compiler.rs:291:21 [INFO] [stdout] | [INFO] [stdout] 291 | self.compile_expression(&exp.right); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 291 | let _ = self.compile_expression(&exp.right); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/compiler.rs:292:21 [INFO] [stdout] | [INFO] [stdout] 292 | self.compile_expression(&exp.left); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 292 | let _ = self.compile_expression(&exp.left); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/compiler.rs:297:17 [INFO] [stdout] | [INFO] [stdout] 297 | self.compile_expression(&exp.left); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 297 | let _ = self.compile_expression(&exp.left); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/compiler.rs:298:17 [INFO] [stdout] | [INFO] [stdout] 298 | self.compile_expression(&exp.right); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 298 | let _ = self.compile_expression(&exp.right); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/compiler.rs:312:17 [INFO] [stdout] | [INFO] [stdout] 312 | self.compile_expression(&exp.right); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 312 | let _ = self.compile_expression(&exp.right); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/compiler.rs:321:17 [INFO] [stdout] | [INFO] [stdout] 321 | self.compile_expression(&ifexp.condition); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 321 | let _ = self.compile_expression(&ifexp.condition); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/compiler.rs:325:17 [INFO] [stdout] | [INFO] [stdout] 325 | self.compile_block_statement(&ifexp.consequence); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 325 | let _ = self.compile_block_statement(&ifexp.consequence); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/compiler.rs:384:17 [INFO] [stdout] | [INFO] [stdout] 384 | self.compile_block_statement(&func.body); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 384 | let _ = self.compile_block_statement(&func.body); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/compiler.rs:406:17 [INFO] [stdout] | [INFO] [stdout] 406 | self.compile_expression(&exp.function); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 406 | let _ = self.compile_expression(&exp.function); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/compiler.rs:409:21 [INFO] [stdout] | [INFO] [stdout] 409 | self.compile_expression(arg); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 409 | let _ = self.compile_expression(arg); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to `.borrow()` on a reference in this situation does nothing [INFO] [stdout] --> src/compiler.rs:1589:69 [INFO] [stdout] | [INFO] [stdout] 1589 | test_constants(&t.expected_constants, bytecode.constants.borrow()).unwrap_or_else( [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the type `Vec>` does not implement `Borrow`, so calling `borrow` on `&Vec>` copies the reference, which does not do anything and can be removed [INFO] [stdout] = note: `#[warn(noop_method_call)]` on by default [INFO] [stdout] help: remove this redundant call [INFO] [stdout] | [INFO] [stdout] 1589 - test_constants(&t.expected_constants, bytecode.constants.borrow()).unwrap_or_else( [INFO] [stdout] 1589 + test_constants(&t.expected_constants, bytecode.constants).unwrap_or_else( [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 22 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 2.54s [INFO] running `Command { std: "docker" "inspect" "06d305281b4add0679d78d49571f88962fc576d3d7d97385b0ae855c0f35e5b6", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "06d305281b4add0679d78d49571f88962fc576d3d7d97385b0ae855c0f35e5b6", kill_on_drop: false }` [INFO] [stdout] 06d305281b4add0679d78d49571f88962fc576d3d7d97385b0ae855c0f35e5b6 [INFO] checking phamtrongthang123/VNLang-rust 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%2Fphamtrongthang123%2FVNLang-rust" "/workspace/builds/worker-7-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc2/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/phamtrongthang123/VNLang-rust 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/phamtrongthang123/VNLang-rust [INFO] finished tweaking git repo https://github.com/phamtrongthang123/VNLang-rust [INFO] tweaked toml for git repo https://github.com/phamtrongthang123/VNLang-rust written to /workspace/builds/worker-7-tc2/source/Cargo.toml [INFO] crate git repo https://github.com/phamtrongthang123/VNLang-rust 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-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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] 3dadf6616a271b32629863d206bf08ec81bae220c5ca5b51ab0498ef35f3dfcd [INFO] running `Command { std: "docker" "start" "-a" "3dadf6616a271b32629863d206bf08ec81bae220c5ca5b51ab0498ef35f3dfcd", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "3dadf6616a271b32629863d206bf08ec81bae220c5ca5b51ab0498ef35f3dfcd", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "3dadf6616a271b32629863d206bf08ec81bae220c5ca5b51ab0498ef35f3dfcd", kill_on_drop: false }` [INFO] [stdout] 3dadf6616a271b32629863d206bf08ec81bae220c5ca5b51ab0498ef35f3dfcd [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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] b863bef03652a11f9c43e1e706d55d6b1ca8eab24dbc2265b4fce25479343724 [INFO] running `Command { std: "docker" "start" "-a" "b863bef03652a11f9c43e1e706d55d6b1ca8eab24dbc2265b4fce25479343724", kill_on_drop: false }` [INFO] [stderr] Compiling proc-macro2 v1.0.18 [INFO] [stderr] Compiling unicode-xid v0.2.0 [INFO] [stderr] Compiling syn v1.0.33 [INFO] [stderr] Compiling byteorder v1.3.4 [INFO] [stderr] Checking hashbrown v0.3.1 [INFO] [stderr] Compiling quote v1.0.7 [INFO] [stderr] Compiling enum-iterator-derive v0.3.1 [INFO] [stderr] Checking enum-iterator v0.3.1 [INFO] [stderr] Checking monkey v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `crate::parser` [INFO] [stdout] --> src/evaluator.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | use crate::parser; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::io::Cursor` [INFO] [stdout] --> src/code.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use std::io::Cursor; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::parser::parse` [INFO] [stdout] --> src/compiler.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::parser::parse; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::cell::RefCell` [INFO] [stdout] --> src/compiler.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | use std::cell::RefCell; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::borrow::Borrow` [INFO] [stdout] --> src/compiler.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | use std::borrow::Borrow; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::compiler::Compiler` [INFO] [stdout] --> src/vm.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::compiler::Compiler; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::parser::parse` [INFO] [stdout] --> src/vm.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::parser::parse; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::io::Cursor` [INFO] [stdout] --> src/code.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use std::io::Cursor; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::cell::RefCell` [INFO] [stdout] --> src/compiler.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | use std::cell::RefCell; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `ReadBytesExt` [INFO] [stdout] --> src/code.rs:3:60 [INFO] [stdout] | [INFO] [stdout] 3 | use self::byteorder::{ByteOrder, BigEndian, WriteBytesExt, ReadBytesExt}; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `InstructionsFns` [INFO] [stdout] --> src/compiler.rs:2:33 [INFO] [stdout] | [INFO] [stdout] 2 | use crate::code::{Instructions, InstructionsFns, Op, make_instruction}; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `ReadBytesExt` [INFO] [stdout] --> src/vm.rs:6:45 [INFO] [stdout] | [INFO] [stdout] 6 | use self::byteorder::{ByteOrder, BigEndian, ReadBytesExt}; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/compiler.rs:414:13 [INFO] [stdout] | [INFO] [stdout] 414 | _ => panic!("not implemented {:?}", exp) [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.rs:414:13 [INFO] [stdout] | [INFO] [stdout] 273 | ast::Expression::Integer(int) => { [INFO] [stdout] | ----------------------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 278 | ast::Expression::Boolean(b) => { [INFO] [stdout] | --------------------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 285 | ast::Expression::String(s) => { [INFO] [stdout] | -------------------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 289 | ast::Expression::Infix(exp) => { [INFO] [stdout] | --------------------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 414 | _ => panic!("not implemented {:?}", exp) [INFO] [stdout] | ^ ...and 8 other patterns collectively make this unreachable [INFO] [stdout] = note: `#[warn(unreachable_patterns)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/vm.rs:254:17 [INFO] [stdout] | [INFO] [stdout] 254 | _ => panic!("unsupported op {:?}", op), [INFO] [stdout] | ^ no value can reach this [INFO] [stdout] | [INFO] [stdout] note: multiple earlier patterns match some of the same values [INFO] [stdout] --> src/vm.rs:254:17 [INFO] [stdout] | [INFO] [stdout] 140 | Op::Constant => { [INFO] [stdout] | ------------ matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 147 | Op::Add | Op::Sub | Op::Mul | Op::Div => self.execute_binary_operation(op), [INFO] [stdout] | ------------------------------------- matches some of the same values [INFO] [stdout] 148 | Op::GreaterThan | Op::Equal | Op::NotEqual => self.execute_comparison(op), [INFO] [stdout] | ------------------------------------------ matches some of the same values [INFO] [stdout] 149 | Op::Pop => { [INFO] [stdout] | ------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 254 | _ => panic!("unsupported op {:?}", op), [INFO] [stdout] | ^ ...and 20 other patterns collectively make this unreachable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `ip` is never read [INFO] [stdout] --> src/vm.rs:132:17 [INFO] [stdout] | [INFO] [stdout] 132 | let mut ip = 0; [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] = note: `#[warn(unused_assignments)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `is_pop` is never used [INFO] [stdout] --> src/compiler.rs:26:8 [INFO] [stdout] | [INFO] [stdout] 25 | impl EmittedInstruction { [INFO] [stdout] | ----------------------- method in this implementation [INFO] [stdout] 26 | fn is_pop(&self) -> bool { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` 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/object.rs:306:28 [INFO] [stdout] | [INFO] [stdout] 305 | pub fn new_enclosed(env: Rc>) -> Environment { [INFO] [stdout] | ----------------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 306 | Environment{store: HashMap::new(), outer: Some(Rc::clone(&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] = 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/object.rs:306:51 [INFO] [stdout] | [INFO] [stdout] 305 | pub fn new_enclosed(env: Rc>) -> Environment { [INFO] [stdout] | ----------------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 306 | Environment{store: HashMap::new(), outer: Some(Rc::clone(&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/parser.rs:54:8 [INFO] [stdout] | [INFO] [stdout] 52 | let prog = p.parse_program()?; [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 53 | [INFO] [stdout] 54 | Ok(Node::Program(Box::new(prog))) [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.rs:105:12 [INFO] [stdout] | [INFO] [stdout] 99 | let expression = 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] 105 | Ok(Statement::Expression(Box::new(ExpressionStatement { expression }))) [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.rs:166:12 [INFO] [stdout] | [INFO] [stdout] 147 | let mut pairs: HashMap = HashMap::new(); [INFO] [stdout] | ----- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 166 | Ok(Expression::Hash(Box::new(HashLiteral{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/parser.rs:171:12 [INFO] [stdout] | [INFO] [stdout] 170 | let elements = parser.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] 171 | Ok(Expression::Array(Box::new(ArrayLiteral{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/parser.rs:203:12 [INFO] [stdout] | [INFO] [stdout] 201 | let right = parser.parse_expression(Precedence::Prefix)?; [INFO] [stdout] | ----- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 202 | [INFO] [stdout] 203 | Ok(Expression::Prefix(Box::new(PrefixExpression { operator, right }))) [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.rs:228:12 [INFO] [stdout] | [INFO] [stdout] 210 | let condition = parser.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] 215 | let consequence = parser.parse_block_statement()?; [INFO] [stdout] | ----------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 216 | [INFO] [stdout] 217 | let alternative = if parser.peek_token_is(&Token::Else) { [INFO] [stdout] | ----------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 222 | let alt_block = parser.parse_block_statement()?; [INFO] [stdout] | --------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 228 | Ok(Expression::If(Box::new(IfExpression { condition, consequence, alternative }))) [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/parser.rs:243:12 [INFO] [stdout] | [INFO] [stdout] 232 | let mut statements = Vec::new(); [INFO] [stdout] | ---------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 243 | 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/parser.rs:255:12 [INFO] [stdout] | [INFO] [stdout] 253 | let body = parser.parse_block_statement()?; [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 254 | [INFO] [stdout] 255 | Ok(Expression::Function(Box::new(FunctionLiteral{parameters,body}))) [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.rs:307:12 [INFO] [stdout] | [INFO] [stdout] 300 | fn parse_index_expression(parser: &mut Parser<'_>, left: Expression) -> ParseResult { [INFO] [stdout] | ---------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 303 | let exp = IndexExpression{left, index: parser.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] 307 | Ok(Expression::Index(Box::new(exp))) [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.rs:312:12 [INFO] [stdout] | [INFO] [stdout] 310 | fn parse_call_expression(parser: &mut Parser<'_>, function: Expression) -> ParseResult { [INFO] [stdout] | -------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 311 | let arguments = parser.parse_expression_list(Token::Rparen)?; [INFO] [stdout] | --------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 312 | Ok(Expression::Call(Box::new(CallExpression{function, arguments}))) [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.rs:323:12 [INFO] [stdout] | [INFO] [stdout] 315 | fn parse_infix_expression(parser: &mut Parser<'_>, left: Expression) -> ParseResult { [INFO] [stdout] | ---------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 321 | let right = parser.parse_expression(precedence)?; [INFO] [stdout] | ----- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 322 | [INFO] [stdout] 323 | Ok(Expression::Infix(Box::new(InfixExpression { operator, left, right }))) [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.rs:376:12 [INFO] [stdout] | [INFO] [stdout] 370 | let value = 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] 376 | Ok(Statement::Return(Box::new(ReturnStatement { value }))) [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.rs:392:12 [INFO] [stdout] | [INFO] [stdout] 386 | let value = 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] 392 | Ok(Statement::Let(Box::new(LetStatement { name, value }))) [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.rs:102:8 [INFO] [stdout] | [INFO] [stdout] 93 | fn eval_hash_literal(h: &HashLiteral, env: Rc>) -> EvalResult { [INFO] [stdout] | ----------------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 94 | let mut pairs = HashMap::new(); [INFO] [stdout] | ----- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 102 | Ok(Rc::new(Object::Hash(Rc::new(MonkeyHash{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/evaluator.rs:129:11 [INFO] [stdout] | [INFO] [stdout] 128 | fn eval_identifier(ident: &str, env: Rc>) -> EvalResult { [INFO] [stdout] | ----------------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 129 | match env.borrow().get(ident) { [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.rs:293:8 [INFO] [stdout] | [INFO] [stdout] 292 | fn eval_bang_operator_expression(right: Rc) -> EvalResult { [INFO] [stdout] | ----------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 293 | Ok(Rc::new(match *right { [INFO] [stdout] | ________^ [INFO] [stdout] 294 | | Object::Bool(true) => Object::Bool(false), [INFO] [stdout] 295 | | Object::Bool(false) => Object::Bool(true), [INFO] [stdout] 296 | | Object::Null => Object::Bool(true), [INFO] [stdout] 297 | | _ => Object::Bool(false), [INFO] [stdout] 298 | | })) [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.rs:69:20 [INFO] [stdout] | [INFO] [stdout] 67 | pub fn new_enclosed_symbol_table(outer: SymbolTable) -> SymbolTable { [INFO] [stdout] | ------------------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 68 | SymbolTable{ [INFO] [stdout] 69 | outer: Some(Box::new(outer)), [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.rs:70:20 [INFO] [stdout] | [INFO] [stdout] 67 | pub fn new_enclosed_symbol_table(outer: SymbolTable) -> SymbolTable { [INFO] [stdout] | ------------------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 70 | store: 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] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/compiler.rs:245:17 [INFO] [stdout] | [INFO] [stdout] 245 | self.compile_expression(&ret.value); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 245 | let _ = self.compile_expression(&ret.value); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/compiler.rs:291:21 [INFO] [stdout] | [INFO] [stdout] 291 | self.compile_expression(&exp.right); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 291 | let _ = self.compile_expression(&exp.right); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/compiler.rs:292:21 [INFO] [stdout] | [INFO] [stdout] 292 | self.compile_expression(&exp.left); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 292 | let _ = self.compile_expression(&exp.left); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/compiler.rs:297:17 [INFO] [stdout] | [INFO] [stdout] 297 | self.compile_expression(&exp.left); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 297 | let _ = self.compile_expression(&exp.left); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/compiler.rs:298:17 [INFO] [stdout] | [INFO] [stdout] 298 | self.compile_expression(&exp.right); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 298 | let _ = self.compile_expression(&exp.right); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/compiler.rs:312:17 [INFO] [stdout] | [INFO] [stdout] 312 | self.compile_expression(&exp.right); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 312 | let _ = self.compile_expression(&exp.right); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/compiler.rs:321:17 [INFO] [stdout] | [INFO] [stdout] 321 | self.compile_expression(&ifexp.condition); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 321 | let _ = self.compile_expression(&ifexp.condition); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/compiler.rs:325:17 [INFO] [stdout] | [INFO] [stdout] 325 | self.compile_block_statement(&ifexp.consequence); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 325 | let _ = self.compile_block_statement(&ifexp.consequence); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/compiler.rs:384:17 [INFO] [stdout] | [INFO] [stdout] 384 | self.compile_block_statement(&func.body); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 384 | let _ = self.compile_block_statement(&func.body); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/compiler.rs:406:17 [INFO] [stdout] | [INFO] [stdout] 406 | self.compile_expression(&exp.function); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 406 | let _ = self.compile_expression(&exp.function); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/compiler.rs:409:21 [INFO] [stdout] | [INFO] [stdout] 409 | self.compile_expression(arg); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 409 | let _ = self.compile_expression(arg); [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/vm.rs:68:22 [INFO] [stdout] | [INFO] [stdout] 42 | let mut stack = Vec::with_capacity(STACK_SIZE); [INFO] [stdout] | ----- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 45 | let mut frames = Vec::with_capacity(MAX_FRAMES); [INFO] [stdout] | ------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 46 | let empty_frame = Frame{ [INFO] [stdout] | ----------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 60 | let main_closure = Rc::new(Closure{func: main_func, free: vec![]}); [INFO] [stdout] | ------------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 61 | let main_frame = Frame{cl: main_closure, ip: 0, base_pointer: 0}; [INFO] [stdout] | ---------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 68 | globals: VM::new_globals(), [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/vm.rs:346:23 [INFO] [stdout] | [INFO] [stdout] 337 | let mut elements = Vec::with_capacity(end_index - start_index); [INFO] [stdout] | -------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 346 | Object::Array(Rc::new(Array{elements})) [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/vm.rs:361:22 [INFO] [stdout] | [INFO] [stdout] 350 | let mut hash = HashMap::new(); [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 361 | Object::Hash(Rc::new(MonkeyHash{pairs: hash})) [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 23 previous errors; 25 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `monkey` (lib) due to 24 previous errors; 25 warnings emitted [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stdout] warning: unused import: `ReadBytesExt` [INFO] [stdout] --> src/vm.rs:6:45 [INFO] [stdout] | [INFO] [stdout] 6 | use self::byteorder::{ByteOrder, BigEndian, ReadBytesExt}; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `ReadBytesExt` [INFO] [stdout] --> src/code.rs:3:60 [INFO] [stdout] | [INFO] [stdout] 3 | use self::byteorder::{ByteOrder, BigEndian, WriteBytesExt, ReadBytesExt}; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/compiler.rs:414:13 [INFO] [stdout] | [INFO] [stdout] 414 | _ => panic!("not implemented {:?}", exp) [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.rs:414:13 [INFO] [stdout] | [INFO] [stdout] 273 | ast::Expression::Integer(int) => { [INFO] [stdout] | ----------------------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 278 | ast::Expression::Boolean(b) => { [INFO] [stdout] | --------------------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 285 | ast::Expression::String(s) => { [INFO] [stdout] | -------------------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 289 | ast::Expression::Infix(exp) => { [INFO] [stdout] | --------------------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 414 | _ => panic!("not implemented {:?}", exp) [INFO] [stdout] | ^ ...and 8 other patterns collectively make this unreachable [INFO] [stdout] = note: `#[warn(unreachable_patterns)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/vm.rs:254:17 [INFO] [stdout] | [INFO] [stdout] 254 | _ => panic!("unsupported op {:?}", op), [INFO] [stdout] | ^ no value can reach this [INFO] [stdout] | [INFO] [stdout] note: multiple earlier patterns match some of the same values [INFO] [stdout] --> src/vm.rs:254:17 [INFO] [stdout] | [INFO] [stdout] 140 | Op::Constant => { [INFO] [stdout] | ------------ matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 147 | Op::Add | Op::Sub | Op::Mul | Op::Div => self.execute_binary_operation(op), [INFO] [stdout] | ------------------------------------- matches some of the same values [INFO] [stdout] 148 | Op::GreaterThan | Op::Equal | Op::NotEqual => self.execute_comparison(op), [INFO] [stdout] | ------------------------------------------ matches some of the same values [INFO] [stdout] 149 | Op::Pop => { [INFO] [stdout] | ------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 254 | _ => panic!("unsupported op {:?}", op), [INFO] [stdout] | ^ ...and 20 other patterns collectively make this unreachable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `ip` is never read [INFO] [stdout] --> src/vm.rs:132:17 [INFO] [stdout] | [INFO] [stdout] 132 | let mut ip = 0; [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] = note: `#[warn(unused_assignments)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `is_pop` is never used [INFO] [stdout] --> src/compiler.rs:26:8 [INFO] [stdout] | [INFO] [stdout] 25 | impl EmittedInstruction { [INFO] [stdout] | ----------------------- method in this implementation [INFO] [stdout] 26 | fn is_pop(&self) -> bool { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` 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/object.rs:306:28 [INFO] [stdout] | [INFO] [stdout] 305 | pub fn new_enclosed(env: Rc>) -> Environment { [INFO] [stdout] | ----------------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 306 | Environment{store: HashMap::new(), outer: Some(Rc::clone(&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] = 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/object.rs:306:51 [INFO] [stdout] | [INFO] [stdout] 305 | pub fn new_enclosed(env: Rc>) -> Environment { [INFO] [stdout] | ----------------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 306 | Environment{store: HashMap::new(), outer: Some(Rc::clone(&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/parser.rs:54:8 [INFO] [stdout] | [INFO] [stdout] 52 | let prog = p.parse_program()?; [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 53 | [INFO] [stdout] 54 | Ok(Node::Program(Box::new(prog))) [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.rs:105:12 [INFO] [stdout] | [INFO] [stdout] 99 | let expression = 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] 105 | Ok(Statement::Expression(Box::new(ExpressionStatement { expression }))) [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.rs:166:12 [INFO] [stdout] | [INFO] [stdout] 147 | let mut pairs: HashMap = HashMap::new(); [INFO] [stdout] | ----- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 166 | Ok(Expression::Hash(Box::new(HashLiteral{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/parser.rs:171:12 [INFO] [stdout] | [INFO] [stdout] 170 | let elements = parser.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] 171 | Ok(Expression::Array(Box::new(ArrayLiteral{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/parser.rs:203:12 [INFO] [stdout] | [INFO] [stdout] 201 | let right = parser.parse_expression(Precedence::Prefix)?; [INFO] [stdout] | ----- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 202 | [INFO] [stdout] 203 | Ok(Expression::Prefix(Box::new(PrefixExpression { operator, right }))) [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.rs:228:12 [INFO] [stdout] | [INFO] [stdout] 210 | let condition = parser.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] 215 | let consequence = parser.parse_block_statement()?; [INFO] [stdout] | ----------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 216 | [INFO] [stdout] 217 | let alternative = if parser.peek_token_is(&Token::Else) { [INFO] [stdout] | ----------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 222 | let alt_block = parser.parse_block_statement()?; [INFO] [stdout] | --------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 228 | Ok(Expression::If(Box::new(IfExpression { condition, consequence, alternative }))) [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/parser.rs:243:12 [INFO] [stdout] | [INFO] [stdout] 232 | let mut statements = Vec::new(); [INFO] [stdout] | ---------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 243 | 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/parser.rs:255:12 [INFO] [stdout] | [INFO] [stdout] 253 | let body = parser.parse_block_statement()?; [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 254 | [INFO] [stdout] 255 | Ok(Expression::Function(Box::new(FunctionLiteral{parameters,body}))) [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.rs:307:12 [INFO] [stdout] | [INFO] [stdout] 300 | fn parse_index_expression(parser: &mut Parser<'_>, left: Expression) -> ParseResult { [INFO] [stdout] | ---------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 303 | let exp = IndexExpression{left, index: parser.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] 307 | Ok(Expression::Index(Box::new(exp))) [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.rs:312:12 [INFO] [stdout] | [INFO] [stdout] 310 | fn parse_call_expression(parser: &mut Parser<'_>, function: Expression) -> ParseResult { [INFO] [stdout] | -------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 311 | let arguments = parser.parse_expression_list(Token::Rparen)?; [INFO] [stdout] | --------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 312 | Ok(Expression::Call(Box::new(CallExpression{function, arguments}))) [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.rs:323:12 [INFO] [stdout] | [INFO] [stdout] 315 | fn parse_infix_expression(parser: &mut Parser<'_>, left: Expression) -> ParseResult { [INFO] [stdout] | ---------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 321 | let right = parser.parse_expression(precedence)?; [INFO] [stdout] | ----- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 322 | [INFO] [stdout] 323 | Ok(Expression::Infix(Box::new(InfixExpression { operator, left, right }))) [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.rs:376:12 [INFO] [stdout] | [INFO] [stdout] 370 | let value = 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] 376 | Ok(Statement::Return(Box::new(ReturnStatement { value }))) [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.rs:392:12 [INFO] [stdout] | [INFO] [stdout] 386 | let value = 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] 392 | Ok(Statement::Let(Box::new(LetStatement { name, value }))) [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.rs:102:8 [INFO] [stdout] | [INFO] [stdout] 93 | fn eval_hash_literal(h: &HashLiteral, env: Rc>) -> EvalResult { [INFO] [stdout] | ----------------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 94 | let mut pairs = HashMap::new(); [INFO] [stdout] | ----- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 102 | Ok(Rc::new(Object::Hash(Rc::new(MonkeyHash{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/evaluator.rs:129:11 [INFO] [stdout] | [INFO] [stdout] 128 | fn eval_identifier(ident: &str, env: Rc>) -> EvalResult { [INFO] [stdout] | ----------------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 129 | match env.borrow().get(ident) { [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.rs:293:8 [INFO] [stdout] | [INFO] [stdout] 292 | fn eval_bang_operator_expression(right: Rc) -> EvalResult { [INFO] [stdout] | ----------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 293 | Ok(Rc::new(match *right { [INFO] [stdout] | ________^ [INFO] [stdout] 294 | | Object::Bool(true) => Object::Bool(false), [INFO] [stdout] 295 | | Object::Bool(false) => Object::Bool(true), [INFO] [stdout] 296 | | Object::Null => Object::Bool(true), [INFO] [stdout] 297 | | _ => Object::Bool(false), [INFO] [stdout] 298 | | })) [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: panic message is not a string literal [INFO] [stdout] --> src/evaluator.rs:560:27 [INFO] [stdout] | [INFO] [stdout] 560 | obj => panic!(format!("expected string but got {:?}", obj)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: the `panic!()` macro supports formatting, so there's no need for the `format!()` macro here [INFO] [stdout] = note: `#[warn(non_fmt_panics)]` on by default [INFO] [stdout] help: remove the `format!(..)` macro call [INFO] [stdout] | [INFO] [stdout] 560 - obj => panic!(format!("expected string but got {:?}", obj)) [INFO] [stdout] 560 + obj => panic!("expected string but got {:?}", obj) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: panic message is not a string literal [INFO] [stdout] --> src/evaluator.rs:571:27 [INFO] [stdout] | [INFO] [stdout] 571 | obj => panic!(format!("expected string but got {:?}", obj)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: the `panic!()` macro supports formatting, so there's no need for the `format!()` macro here [INFO] [stdout] help: remove the `format!(..)` macro call [INFO] [stdout] | [INFO] [stdout] 571 - obj => panic!(format!("expected string but got {:?}", obj)) [INFO] [stdout] 571 + obj => panic!("expected string but got {:?}", obj) [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/evaluator.rs:773:15 [INFO] [stdout] | [INFO] [stdout] 772 | let env = Rc::new(RefCell::new(Environment::new())); [INFO] [stdout] | --- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 773 | match parser::parse(input) { [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.rs:69:20 [INFO] [stdout] | [INFO] [stdout] 67 | pub fn new_enclosed_symbol_table(outer: SymbolTable) -> SymbolTable { [INFO] [stdout] | ------------------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 68 | SymbolTable{ [INFO] [stdout] 69 | outer: Some(Box::new(outer)), [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.rs:70:20 [INFO] [stdout] | [INFO] [stdout] 67 | pub fn new_enclosed_symbol_table(outer: SymbolTable) -> SymbolTable { [INFO] [stdout] | ------------------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 70 | store: 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] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/compiler.rs:245:17 [INFO] [stdout] | [INFO] [stdout] 245 | self.compile_expression(&ret.value); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 245 | let _ = self.compile_expression(&ret.value); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/compiler.rs:291:21 [INFO] [stdout] | [INFO] [stdout] 291 | self.compile_expression(&exp.right); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 291 | let _ = self.compile_expression(&exp.right); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/compiler.rs:292:21 [INFO] [stdout] | [INFO] [stdout] 292 | self.compile_expression(&exp.left); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 292 | let _ = self.compile_expression(&exp.left); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/compiler.rs:297:17 [INFO] [stdout] | [INFO] [stdout] 297 | self.compile_expression(&exp.left); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 297 | let _ = self.compile_expression(&exp.left); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/compiler.rs:298:17 [INFO] [stdout] | [INFO] [stdout] 298 | self.compile_expression(&exp.right); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 298 | let _ = self.compile_expression(&exp.right); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/compiler.rs:312:17 [INFO] [stdout] | [INFO] [stdout] 312 | self.compile_expression(&exp.right); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 312 | let _ = self.compile_expression(&exp.right); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/compiler.rs:321:17 [INFO] [stdout] | [INFO] [stdout] 321 | self.compile_expression(&ifexp.condition); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 321 | let _ = self.compile_expression(&ifexp.condition); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/compiler.rs:325:17 [INFO] [stdout] | [INFO] [stdout] 325 | self.compile_block_statement(&ifexp.consequence); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 325 | let _ = self.compile_block_statement(&ifexp.consequence); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/compiler.rs:384:17 [INFO] [stdout] | [INFO] [stdout] 384 | self.compile_block_statement(&func.body); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 384 | let _ = self.compile_block_statement(&func.body); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/compiler.rs:406:17 [INFO] [stdout] | [INFO] [stdout] 406 | self.compile_expression(&exp.function); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 406 | let _ = self.compile_expression(&exp.function); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/compiler.rs:409:21 [INFO] [stdout] | [INFO] [stdout] 409 | self.compile_expression(arg); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 409 | let _ = self.compile_expression(arg); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to `.borrow()` on a reference in this situation does nothing [INFO] [stdout] --> src/compiler.rs:1589:69 [INFO] [stdout] | [INFO] [stdout] 1589 | test_constants(&t.expected_constants, bytecode.constants.borrow()).unwrap_or_else( [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the type `Vec>` does not implement `Borrow`, so calling `borrow` on `&Vec>` copies the reference, which does not do anything and can be removed [INFO] [stdout] = note: `#[warn(noop_method_call)]` on by default [INFO] [stdout] help: remove this redundant call [INFO] [stdout] | [INFO] [stdout] 1589 - test_constants(&t.expected_constants, bytecode.constants.borrow()).unwrap_or_else( [INFO] [stdout] 1589 + test_constants(&t.expected_constants, bytecode.constants).unwrap_or_else( [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/vm.rs:68:22 [INFO] [stdout] | [INFO] [stdout] 42 | let mut stack = Vec::with_capacity(STACK_SIZE); [INFO] [stdout] | ----- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 45 | let mut frames = Vec::with_capacity(MAX_FRAMES); [INFO] [stdout] | ------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 46 | let empty_frame = Frame{ [INFO] [stdout] | ----------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 60 | let main_closure = Rc::new(Closure{func: main_func, free: vec![]}); [INFO] [stdout] | ------------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 61 | let main_frame = Frame{cl: main_closure, ip: 0, base_pointer: 0}; [INFO] [stdout] | ---------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 68 | globals: VM::new_globals(), [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/vm.rs:346:23 [INFO] [stdout] | [INFO] [stdout] 337 | let mut elements = Vec::with_capacity(end_index - start_index); [INFO] [stdout] | -------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 346 | Object::Array(Rc::new(Array{elements})) [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/vm.rs:361:22 [INFO] [stdout] | [INFO] [stdout] 350 | let mut hash = HashMap::new(); [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 361 | Object::Hash(Rc::new(MonkeyHash{pairs: hash})) [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/vm.rs:938:22 [INFO] [stdout] | [INFO] [stdout] 930 | fn hash_to_object(h: HashMap) -> Object { [INFO] [stdout] | ------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 931 | let hash = HashMap::new(); [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 932 | let mut mh = MonkeyHash{pairs: hash}; [INFO] [stdout] | -- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 938 | Object::Hash(Rc::new(mh)) [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 25 previous errors; 22 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `monkey` (lib test) due to 26 previous errors; 22 warnings emitted [INFO] running `Command { std: "docker" "inspect" "b863bef03652a11f9c43e1e706d55d6b1ca8eab24dbc2265b4fce25479343724", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "b863bef03652a11f9c43e1e706d55d6b1ca8eab24dbc2265b4fce25479343724", kill_on_drop: false }` [INFO] [stdout] b863bef03652a11f9c43e1e706d55d6b1ca8eab24dbc2265b4fce25479343724