[INFO] cloning repository https://github.com/0xcacti/interpreter [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/0xcacti/interpreter" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2F0xcacti%2Finterpreter", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2F0xcacti%2Finterpreter'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 8104d6c2479128548f1afa7c884f00e9f6b1a7d5 [INFO] checking 0xcacti/interpreter/8104d6c2479128548f1afa7c884f00e9f6b1a7d5 against try#4d98531622e1718ae0bc3c7a1ab9cd8938428452+rustflags=-Dtail_expr_drop_order for pr-129604 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2F0xcacti%2Finterpreter" "/workspace/builds/worker-6-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc2/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/0xcacti/interpreter on toolchain 4d98531622e1718ae0bc3c7a1ab9cd8938428452 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+4d98531622e1718ae0bc3c7a1ab9cd8938428452" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/0xcacti/interpreter [INFO] finished tweaking git repo https://github.com/0xcacti/interpreter [INFO] tweaked toml for git repo https://github.com/0xcacti/interpreter written to /workspace/builds/worker-6-tc2/source/Cargo.toml [INFO] crate git repo https://github.com/0xcacti/interpreter already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+4d98531622e1718ae0bc3c7a1ab9cd8938428452" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:923055f121b5182466d55868a8b05e67af8ba4a3a3f6bad814e953ca3cd3ac2a" "/opt/rustwide/cargo-home/bin/cargo" "+4d98531622e1718ae0bc3c7a1ab9cd8938428452" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] d45dae96690c47e1832d92e9c101c54b1ffee8b802babc338c2b269a4b697b6f [INFO] running `Command { std: "docker" "start" "-a" "d45dae96690c47e1832d92e9c101c54b1ffee8b802babc338c2b269a4b697b6f", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "d45dae96690c47e1832d92e9c101c54b1ffee8b802babc338c2b269a4b697b6f", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "d45dae96690c47e1832d92e9c101c54b1ffee8b802babc338c2b269a4b697b6f", kill_on_drop: false }` [INFO] [stdout] d45dae96690c47e1832d92e9c101c54b1ffee8b802babc338c2b269a4b697b6f [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid -Dtail_expr_drop_order" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:923055f121b5182466d55868a8b05e67af8ba4a3a3f6bad814e953ca3cd3ac2a" "/opt/rustwide/cargo-home/bin/cargo" "+4d98531622e1718ae0bc3c7a1ab9cd8938428452" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 88425f5e5038b434c5cf20b6d05b75eaebe01731b075bb99b2a05f5d2a1ed06e [INFO] running `Command { std: "docker" "start" "-a" "88425f5e5038b434c5cf20b6d05b75eaebe01731b075bb99b2a05f5d2a1ed06e", kill_on_drop: false }` [INFO] [stderr] Compiling proc-macro2 v1.0.66 [INFO] [stderr] Compiling unicode-ident v1.0.11 [INFO] [stderr] Compiling wasm-bindgen-shared v0.2.87 [INFO] [stderr] Compiling bumpalo v3.13.0 [INFO] [stderr] Compiling once_cell v1.18.0 [INFO] [stderr] Compiling log v0.4.19 [INFO] [stderr] Compiling rustversion v1.0.14 [INFO] [stderr] Compiling wasm-bindgen v0.2.87 [INFO] [stderr] Checking clap_lex v0.6.0 [INFO] [stderr] Compiling thiserror v1.0.46 [INFO] [stderr] Compiling anyhow v1.0.71 [INFO] [stderr] Compiling signal-hook v0.3.17 [INFO] [stderr] Checking strum v0.26.2 [INFO] [stderr] Checking clap_builder v4.4.8 [INFO] [stderr] Compiling quote v1.0.32 [INFO] [stderr] Compiling syn v2.0.28 [INFO] [stderr] Compiling wasm-bindgen-backend v0.2.87 [INFO] [stderr] Compiling thiserror-impl v1.0.46 [INFO] [stderr] Compiling clap_derive v4.4.7 [INFO] [stderr] Compiling strum_macros v0.26.2 [INFO] [stderr] Compiling wasm-bindgen-macro-support v0.2.87 [INFO] [stderr] Compiling wasm-bindgen-macro v0.2.87 [INFO] [stderr] Checking clap v4.4.8 [INFO] [stderr] Checking monkey v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `std::iter::once` [INFO] [stdout] --> src/compiler/symbol_table.rs:129:9 [INFO] [stdout] | [INFO] [stdout] 129 | use std::iter::once; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `name` [INFO] [stdout] --> src/parser/ast.rs:232:34 [INFO] [stdout] | [INFO] [stdout] 232 | Expression::Function(name, arguments, body) => { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_name` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `num_free` [INFO] [stdout] --> src/vm/mod.rs:245:60 [INFO] [stdout] | [INFO] [stdout] 245 | Object::Closure(compiled_function, num_free) => { [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_num_free` [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/code/mod.rs:108:22 [INFO] [stdout] | [INFO] [stdout] 107 | fn from_iter>(iter: I) -> Self { [INFO] [stdout] | ------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 108 | Instructions(iter.into_iter().collect()) [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] = 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/compiler/mod.rs:407:9 [INFO] [stdout] | [INFO] [stdout] 404 | pub fn add_constant(&mut self, object: Rc) -> usize { [INFO] [stdout] | ------------------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 407 | self.constants.borrow_mut().len() - 1 [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/evaluator/mod.rs:115:33 [INFO] [stdout] | [INFO] [stdout] 114 | fn quote(node: Node, env: Env) -> Result { [INFO] [stdout] | ---------- -------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | | [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 115 | evaluate_unquote_call(node, 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/evaluator/mod.rs:139:8 [INFO] [stdout] | [INFO] [stdout] 118 | fn evaluate_unquote_call(node: Node, env: Env) -> Result { [INFO] [stdout] | ---------- -------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | | [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 139 | Ok(modify(node, modifier)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/evaluator/mod.rs:193:11 [INFO] [stdout] | [INFO] [stdout] 192 | fn evaluate_identifier(identifier: &str, env: Env) -> Result, EvaluatorError> { [INFO] [stdout] | -------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 193 | match env.borrow().get(identifier) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/evaluator/mod.rs:329:8 [INFO] [stdout] | [INFO] [stdout] 318 | let result = match operator { [INFO] [stdout] | ------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 329 | Ok(Rc::new(result)) [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/evaluator/mod.rs:359:8 [INFO] [stdout] | [INFO] [stdout] 337 | let result = match operator { [INFO] [stdout] | ------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 359 | Ok(Rc::new(result)) [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/evaluator/mod.rs:423:8 [INFO] [stdout] | [INFO] [stdout] 422 | pub fn expand_macros(program: Node, env: Env) -> Result { [INFO] [stdout] | ------------- -------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | | [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 423 | Ok(ast::modify(program, |node: Node| -> Node { [INFO] [stdout] | ________^ [INFO] [stdout] 424 | | match &node { [INFO] [stdout] 425 | | Node::Expression(expression) => match expression { [INFO] [stdout] 426 | | Expression::FunctionCall(function, arguments) => match &**function { [INFO] [stdout] ... | [INFO] [stdout] 460 | | } [INFO] [stdout] 461 | | })) [INFO] [stdout] | |______^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/evaluator/mod.rs:435:64 [INFO] [stdout] | [INFO] [stdout] 435 | ... .map(|a| Object::Quote(Node::Expression(a.clone()))) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/monkey/mod.rs:147:45 [INFO] [stdout] | [INFO] [stdout] 147 | let env = env.unwrap_or_else(|| Rc::new(RefCell::new(Environment::new()))); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/monkey/mod.rs:148:57 [INFO] [stdout] | [INFO] [stdout] 148 | let macro_env = macro_env.unwrap_or_else(|| Rc::new(RefCell::new(Environment::new()))); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/monkey/mod.rs:176:57 [INFO] [stdout] | [INFO] [stdout] 176 | let macro_env = macro_env.unwrap_or_else(|| Rc::new(RefCell::new(Environment::new()))); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/parser/mod.rs:93:12 [INFO] [stdout] | [INFO] [stdout] 80 | let mut exp = 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] 93 | Ok(Statement::Let(ident, 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/mod.rs:103:12 [INFO] [stdout] | [INFO] [stdout] 98 | let exp = 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] 103 | Ok(Statement::Return(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/mod.rs:112:12 [INFO] [stdout] | [INFO] [stdout] 107 | let expression_statement = 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] 112 | Ok(Statement::Expression(expression_statement)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/parser/mod.rs:174:12 [INFO] [stdout] | [INFO] [stdout] 173 | let exp = self.parse_expression(Precedence::Prefix)?; [INFO] [stdout] | --- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 174 | Ok(Expression::Prefix(prefix, 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/mod.rs:182:12 [INFO] [stdout] | [INFO] [stdout] 177 | fn parse_infix_expression(&mut self, left_exp: Expression) -> Result { [INFO] [stdout] | -------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 181 | let right_exp = self.parse_expression(precedence)?; [INFO] [stdout] | --------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 182 | Ok(Expression::Infix( [INFO] [stdout] | ____________^ [INFO] [stdout] 183 | | Box::new(left_exp), [INFO] [stdout] 184 | | infix, [INFO] [stdout] 185 | | Box::new(right_exp), [INFO] [stdout] 186 | | )) [INFO] [stdout] | | ^ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | |_________| [INFO] [stdout] | [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/parser/mod.rs:202:12 [INFO] [stdout] | [INFO] [stdout] 191 | let condition = 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] 194 | let if_block = self.parse_block_statement()?; [INFO] [stdout] | -------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 195 | let else_block = if self.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] 202 | Ok(Expression::If(Box::new(condition), if_block, else_block)) [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/mod.rs:210:12 [INFO] [stdout] | [INFO] [stdout] 209 | let body = self.parse_block_statement()?; [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 210 | Ok(Expression::Macro(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/mod.rs:218:12 [INFO] [stdout] | [INFO] [stdout] 217 | let body = self.parse_block_statement()?; [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 218 | Ok(Expression::Function(None, 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/mod.rs:223:12 [INFO] [stdout] | [INFO] [stdout] 222 | let elements = self.parse_expression_list(&Token::RBracket)?; [INFO] [stdout] | -------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 223 | Ok(Expression::Literal(Literal::Array(Rc::new(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/mod.rs:278:12 [INFO] [stdout] | [INFO] [stdout] 275 | exp: Expression, [INFO] [stdout] | --------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 276 | ) -> Result { [INFO] [stdout] 277 | let arguments = self.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] 278 | Ok(Expression::FunctionCall(Box::new(exp), 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/mod.rs:344:12 [INFO] [stdout] | [INFO] [stdout] 331 | let mut map = Vec::new(); [INFO] [stdout] | --- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 344 | Ok(Expression::Literal(Literal::Hash(map))) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/parser/mod.rs:351:12 [INFO] [stdout] | [INFO] [stdout] 347 | fn parse_index_expression(&mut self, left: Expression) -> Result { [INFO] [stdout] | ---------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 348 | self.next_token(); [INFO] [stdout] 349 | let index = 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] 350 | self.expect_peek_token(&Token::RBracket)?; [INFO] [stdout] 351 | Ok(Expression::Index(Box::new(left), Box::new(index))) [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/ast.rs:284:37 [INFO] [stdout] | [INFO] [stdout] 279 | ... let modified_key = [INFO] [stdout] | ------------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 280 | ... modify(Node::Expression(key.clone()), modifier.clone()); [INFO] [stdout] 281 | ... let modified_value = [INFO] [stdout] | -------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 284 | ... unwrap_node_to_expression(modified_key), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/parser/ast.rs:285:37 [INFO] [stdout] | [INFO] [stdout] 279 | ... let modified_key = [INFO] [stdout] | ------------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 280 | ... modify(Node::Expression(key.clone()), modifier.clone()); [INFO] [stdout] 281 | ... let modified_value = [INFO] [stdout] | -------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 285 | ... unwrap_node_to_expression(modified_value), [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 26 previous errors; 2 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `monkey` (lib) due to 27 previous errors; 2 warnings emitted [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/compiler/symbol_table.rs:135:13 [INFO] [stdout] | [INFO] [stdout] 135 | let mut global = SymbolTable::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: unused variable: `name` [INFO] [stdout] --> src/parser/ast.rs:232:34 [INFO] [stdout] | [INFO] [stdout] 232 | Expression::Function(name, arguments, body) => { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_name` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `num_free` [INFO] [stdout] --> src/vm/mod.rs:245:60 [INFO] [stdout] | [INFO] [stdout] 245 | Object::Closure(compiled_function, num_free) => { [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_num_free` [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/code/mod.rs:108:22 [INFO] [stdout] | [INFO] [stdout] 107 | fn from_iter>(iter: I) -> Self { [INFO] [stdout] | ------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 108 | Instructions(iter.into_iter().collect()) [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] = 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/compiler/mod.rs:407:9 [INFO] [stdout] | [INFO] [stdout] 404 | pub fn add_constant(&mut self, object: Rc) -> usize { [INFO] [stdout] | ------------------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 407 | self.constants.borrow_mut().len() - 1 [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/evaluator/mod.rs:115:33 [INFO] [stdout] | [INFO] [stdout] 114 | fn quote(node: Node, env: Env) -> Result { [INFO] [stdout] | ---------- -------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | | [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 115 | evaluate_unquote_call(node, 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/evaluator/mod.rs:139:8 [INFO] [stdout] | [INFO] [stdout] 118 | fn evaluate_unquote_call(node: Node, env: Env) -> Result { [INFO] [stdout] | ---------- -------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | | [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 139 | Ok(modify(node, modifier)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/evaluator/mod.rs:193:11 [INFO] [stdout] | [INFO] [stdout] 192 | fn evaluate_identifier(identifier: &str, env: Env) -> Result, EvaluatorError> { [INFO] [stdout] | -------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 193 | match env.borrow().get(identifier) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/evaluator/mod.rs:329:8 [INFO] [stdout] | [INFO] [stdout] 318 | let result = match operator { [INFO] [stdout] | ------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 329 | Ok(Rc::new(result)) [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/evaluator/mod.rs:359:8 [INFO] [stdout] | [INFO] [stdout] 337 | let result = match operator { [INFO] [stdout] | ------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 359 | Ok(Rc::new(result)) [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/evaluator/mod.rs:423:8 [INFO] [stdout] | [INFO] [stdout] 422 | pub fn expand_macros(program: Node, env: Env) -> Result { [INFO] [stdout] | ------------- -------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | | [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 423 | Ok(ast::modify(program, |node: Node| -> Node { [INFO] [stdout] | ________^ [INFO] [stdout] 424 | | match &node { [INFO] [stdout] 425 | | Node::Expression(expression) => match expression { [INFO] [stdout] 426 | | Expression::FunctionCall(function, arguments) => match &**function { [INFO] [stdout] ... | [INFO] [stdout] 460 | | } [INFO] [stdout] 461 | | })) [INFO] [stdout] | |______^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/evaluator/mod.rs:435:64 [INFO] [stdout] | [INFO] [stdout] 435 | ... .map(|a| Object::Quote(Node::Expression(a.clone()))) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/evaluator/mod.rs:501:13 [INFO] [stdout] | [INFO] [stdout] 499 | let program = p.parse_program(); [INFO] [stdout] | ------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 500 | evaluate( [INFO] [stdout] 501 | Node::Program(program.unwrap()), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/evaluator/mod.rs:502:13 [INFO] [stdout] | [INFO] [stdout] 499 | let program = p.parse_program(); [INFO] [stdout] | ------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 502 | Rc::new(RefCell::new(Environment::new())), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/evaluator/mod.rs:839:34 [INFO] [stdout] | [INFO] [stdout] 839 | .map(|i| Rc::new(Object::Integer(i))) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/evaluator/mod.rs:946:34 [INFO] [stdout] | [INFO] [stdout] 946 | .map(|i| Rc::new(Object::Integer(i))) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/evaluator/mod.rs:978:32 [INFO] [stdout] | [INFO] [stdout] 978 | .map(|(k, v)| (Rc::new(k.clone()), Rc::new(v.clone()))) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/evaluator/mod.rs:978:52 [INFO] [stdout] | [INFO] [stdout] 978 | .map(|(k, v)| (Rc::new(k.clone()), Rc::new(v.clone()))) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/monkey/mod.rs:147:45 [INFO] [stdout] | [INFO] [stdout] 147 | let env = env.unwrap_or_else(|| Rc::new(RefCell::new(Environment::new()))); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/monkey/mod.rs:148:57 [INFO] [stdout] | [INFO] [stdout] 148 | let macro_env = macro_env.unwrap_or_else(|| Rc::new(RefCell::new(Environment::new()))); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/monkey/mod.rs:176:57 [INFO] [stdout] | [INFO] [stdout] 176 | let macro_env = macro_env.unwrap_or_else(|| Rc::new(RefCell::new(Environment::new()))); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/parser/mod.rs:93:12 [INFO] [stdout] | [INFO] [stdout] 80 | let mut exp = 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] 93 | Ok(Statement::Let(ident, 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/mod.rs:103:12 [INFO] [stdout] | [INFO] [stdout] 98 | let exp = 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] 103 | Ok(Statement::Return(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/mod.rs:112:12 [INFO] [stdout] | [INFO] [stdout] 107 | let expression_statement = 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] 112 | Ok(Statement::Expression(expression_statement)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/parser/mod.rs:174:12 [INFO] [stdout] | [INFO] [stdout] 173 | let exp = self.parse_expression(Precedence::Prefix)?; [INFO] [stdout] | --- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 174 | Ok(Expression::Prefix(prefix, 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/mod.rs:182:12 [INFO] [stdout] | [INFO] [stdout] 177 | fn parse_infix_expression(&mut self, left_exp: Expression) -> Result { [INFO] [stdout] | -------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 181 | let right_exp = self.parse_expression(precedence)?; [INFO] [stdout] | --------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 182 | Ok(Expression::Infix( [INFO] [stdout] | ____________^ [INFO] [stdout] 183 | | Box::new(left_exp), [INFO] [stdout] 184 | | infix, [INFO] [stdout] 185 | | Box::new(right_exp), [INFO] [stdout] 186 | | )) [INFO] [stdout] | | ^ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | |_________| [INFO] [stdout] | [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/parser/mod.rs:202:12 [INFO] [stdout] | [INFO] [stdout] 191 | let condition = 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] 194 | let if_block = self.parse_block_statement()?; [INFO] [stdout] | -------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 195 | let else_block = if self.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] 202 | Ok(Expression::If(Box::new(condition), if_block, else_block)) [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/mod.rs:210:12 [INFO] [stdout] | [INFO] [stdout] 209 | let body = self.parse_block_statement()?; [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 210 | Ok(Expression::Macro(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/mod.rs:218:12 [INFO] [stdout] | [INFO] [stdout] 217 | let body = self.parse_block_statement()?; [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 218 | Ok(Expression::Function(None, 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/mod.rs:223:12 [INFO] [stdout] | [INFO] [stdout] 222 | let elements = self.parse_expression_list(&Token::RBracket)?; [INFO] [stdout] | -------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 223 | Ok(Expression::Literal(Literal::Array(Rc::new(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/mod.rs:278:12 [INFO] [stdout] | [INFO] [stdout] 275 | exp: Expression, [INFO] [stdout] | --------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 276 | ) -> Result { [INFO] [stdout] 277 | let arguments = self.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] 278 | Ok(Expression::FunctionCall(Box::new(exp), 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/mod.rs:344:12 [INFO] [stdout] | [INFO] [stdout] 331 | let mut map = Vec::new(); [INFO] [stdout] | --- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 344 | Ok(Expression::Literal(Literal::Hash(map))) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/parser/mod.rs:351:12 [INFO] [stdout] | [INFO] [stdout] 347 | fn parse_index_expression(&mut self, left: Expression) -> Result { [INFO] [stdout] | ---------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 348 | self.next_token(); [INFO] [stdout] 349 | let index = 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] 350 | self.expect_peek_token(&Token::RBracket)?; [INFO] [stdout] 351 | Ok(Expression::Index(Box::new(left), Box::new(index))) [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/ast.rs:284:37 [INFO] [stdout] | [INFO] [stdout] 279 | ... let modified_key = [INFO] [stdout] | ------------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 280 | ... modify(Node::Expression(key.clone()), modifier.clone()); [INFO] [stdout] 281 | ... let modified_value = [INFO] [stdout] | -------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 284 | ... unwrap_node_to_expression(modified_key), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/parser/ast.rs:285:37 [INFO] [stdout] | [INFO] [stdout] 279 | ... let modified_key = [INFO] [stdout] | ------------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 280 | ... modify(Node::Expression(key.clone()), modifier.clone()); [INFO] [stdout] 281 | ... let modified_value = [INFO] [stdout] | -------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 285 | ... unwrap_node_to_expression(modified_value), [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/mod.rs:681:14 [INFO] [stdout] | [INFO] [stdout] 677 | let program = parser.parse_program().unwrap(); [INFO] [stdout] | ------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 681 | &Expression::If( [INFO] [stdout] | ______________^ [INFO] [stdout] 682 | | Box::new(Expression::Infix( [INFO] [stdout] 683 | | Box::new(Expression::Identifier("x".into())), [INFO] [stdout] 684 | | Token::Lt, [INFO] [stdout] ... | [INFO] [stdout] 688 | | None, [INFO] [stdout] 689 | | ), [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 33 previous errors; 4 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `monkey` (lib test) due to 34 previous errors; 4 warnings emitted [INFO] running `Command { std: "docker" "inspect" "88425f5e5038b434c5cf20b6d05b75eaebe01731b075bb99b2a05f5d2a1ed06e", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "88425f5e5038b434c5cf20b6d05b75eaebe01731b075bb99b2a05f5d2a1ed06e", kill_on_drop: false }` [INFO] [stdout] 88425f5e5038b434c5cf20b6d05b75eaebe01731b075bb99b2a05f5d2a1ed06e