[INFO] fetching crate monkeyinterpreter 0.2.0... [INFO] checking monkeyinterpreter-0.2.0 against try#4d98531622e1718ae0bc3c7a1ab9cd8938428452+rustflags=-Dtail_expr_drop_order for pr-129604 [INFO] extracting crate monkeyinterpreter 0.2.0 into /workspace/builds/worker-4-tc2/source [INFO] validating manifest of crates.io crate monkeyinterpreter 0.2.0 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 crates.io crate monkeyinterpreter 0.2.0 [INFO] finished tweaking crates.io crate monkeyinterpreter 0.2.0 [INFO] tweaked toml for crates.io crate monkeyinterpreter 0.2.0 written to /workspace/builds/worker-4-tc2/source/Cargo.toml [INFO] crate crates.io crate monkeyinterpreter 0.2.0 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-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:923055f121b5182466d55868a8b05e67af8ba4a3a3f6bad814e953ca3cd3ac2a" "/opt/rustwide/cargo-home/bin/cargo" "+4d98531622e1718ae0bc3c7a1ab9cd8938428452" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 3d68a1ab758463eb0d8be70a13d10b350e4dfe72f33bdf2d80acbbc5d120cc27 [INFO] running `Command { std: "docker" "start" "-a" "3d68a1ab758463eb0d8be70a13d10b350e4dfe72f33bdf2d80acbbc5d120cc27", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "3d68a1ab758463eb0d8be70a13d10b350e4dfe72f33bdf2d80acbbc5d120cc27", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "3d68a1ab758463eb0d8be70a13d10b350e4dfe72f33bdf2d80acbbc5d120cc27", kill_on_drop: false }` [INFO] [stdout] 3d68a1ab758463eb0d8be70a13d10b350e4dfe72f33bdf2d80acbbc5d120cc27 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid -Dtail_expr_drop_order" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:923055f121b5182466d55868a8b05e67af8ba4a3a3f6bad814e953ca3cd3ac2a" "/opt/rustwide/cargo-home/bin/cargo" "+4d98531622e1718ae0bc3c7a1ab9cd8938428452" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 7b0c89600cac1cab9d5dcc91fcf1c684b1c20d12161f61dfd340ee9fe6c9d5b6 [INFO] running `Command { std: "docker" "start" "-a" "7b0c89600cac1cab9d5dcc91fcf1c684b1c20d12161f61dfd340ee9fe6c9d5b6", kill_on_drop: false }` [INFO] [stderr] Checking monkeyinterpreter v0.2.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: field `token` is never read [INFO] [stdout] --> src/ast.rs:75:9 [INFO] [stdout] | [INFO] [stdout] 74 | pub struct Identifier { [INFO] [stdout] | ---------- field in this struct [INFO] [stdout] 75 | pub token: Token, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `token` is never read [INFO] [stdout] --> src/ast.rs:100:9 [INFO] [stdout] | [INFO] [stdout] 99 | pub struct IntegerLiteral { [INFO] [stdout] | -------------- field in this struct [INFO] [stdout] 100 | pub token: Token, [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `token` is never read [INFO] [stdout] --> src/ast.rs:125:9 [INFO] [stdout] | [INFO] [stdout] 124 | pub struct StringLiteral { [INFO] [stdout] | ------------- field in this struct [INFO] [stdout] 125 | pub token: Token, [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `token` is never read [INFO] [stdout] --> src/ast.rs:150:9 [INFO] [stdout] | [INFO] [stdout] 149 | pub struct ArrayLiteral { [INFO] [stdout] | ------------ field in this struct [INFO] [stdout] 150 | pub token: Token, [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `token` is never read [INFO] [stdout] --> src/ast.rs:169:9 [INFO] [stdout] | [INFO] [stdout] 168 | pub struct HashLiteral { [INFO] [stdout] | ----------- field in this struct [INFO] [stdout] 169 | pub token: Token, [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `token` is never read [INFO] [stdout] --> src/ast.rs:188:9 [INFO] [stdout] | [INFO] [stdout] 187 | pub struct IndexExpression { [INFO] [stdout] | --------------- field in this struct [INFO] [stdout] 188 | pub token: Token, [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `token` is never read [INFO] [stdout] --> src/ast.rs:200:9 [INFO] [stdout] | [INFO] [stdout] 199 | pub struct Boolean { [INFO] [stdout] | ------- field in this struct [INFO] [stdout] 200 | pub token: Token, [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `token` is never read [INFO] [stdout] --> src/ast.rs:222:9 [INFO] [stdout] | [INFO] [stdout] 221 | pub struct CallExpression { [INFO] [stdout] | -------------- field in this struct [INFO] [stdout] 222 | pub token: Token, [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `token` is never read [INFO] [stdout] --> src/ast.rs:254:9 [INFO] [stdout] | [INFO] [stdout] 253 | pub struct InfixExpression { [INFO] [stdout] | --------------- field in this struct [INFO] [stdout] 254 | pub token: Token, [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `token` is never read [INFO] [stdout] --> src/ast.rs:278:9 [INFO] [stdout] | [INFO] [stdout] 277 | pub struct BlockStatement { [INFO] [stdout] | -------------- field in this struct [INFO] [stdout] 278 | pub token: Token, [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `token` is never read [INFO] [stdout] --> src/ast.rs:317:9 [INFO] [stdout] | [INFO] [stdout] 316 | pub struct IfExpression { [INFO] [stdout] | ------------ field in this struct [INFO] [stdout] 317 | pub token: Token, [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `token` is never read [INFO] [stdout] --> src/ast.rs:381:9 [INFO] [stdout] | [INFO] [stdout] 380 | pub struct ExpressionStatement { [INFO] [stdout] | ------------------- field in this struct [INFO] [stdout] 381 | pub token: Token, // the first token of the expression [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/lib.rs:60:15 [INFO] [stdout] | [INFO] [stdout] 59 | fn evaluate_program(&self, program: Program) -> String { [INFO] [stdout] | ---------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 60 | match self.evaluator.eval_program(&program, &self.environment) { [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/ast.rs:270:19 [INFO] [stdout] | [INFO] [stdout] 267 | pub fn new(operator: Token, left: Expression, right: Expression) -> InfixExpression { [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] 270 | left: Box::new(left), [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/ast.rs:271:20 [INFO] [stdout] | [INFO] [stdout] 267 | pub fn new(operator: Token, left: Expression, right: Expression) -> InfixExpression { [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] 271 | right: Box::new(right), [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:44:40 [INFO] [stdout] | [INFO] [stdout] 44 | .and_then(|b| Some(Rc::clone(b))) [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:66:28 [INFO] [stdout] | [INFO] [stdout] 65 | let (k, v) = (self.eval_expression(k, env)?, self.eval_expression(v, env)?); [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] 66 | Ok((k, v)) [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/evaluator/mod.rs:259:12 [INFO] [stdout] | [INFO] [stdout] 206 | let res = match (left, right) { [INFO] [stdout] | --- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 259 | Ok(Rc::new(res)) [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/builtin.rs:150:13 [INFO] [stdout] | [INFO] [stdout] 149 | fn wrapped_builtin(b: Builtin) -> RObject { [INFO] [stdout] | ---------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 150 | Rc::new(Object::Builtin(b)) [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/object.rs:136:12 [INFO] [stdout] | [INFO] [stdout] 128 | pub fn new(pairs: Vec<(RObject, RObject)>) -> Result { [INFO] [stdout] | ------------------------------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 129 | let elements: Result, _> = pairs [INFO] [stdout] | -------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 136 | Ok(Hash { [INFO] [stdout] | ____________^ [INFO] [stdout] 137 | | elements: elements?, [INFO] [stdout] 138 | | }) [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/object.rs:202:46 [INFO] [stdout] | [INFO] [stdout] 202 | parent: parent.and_then(|p| Some(Rc::clone(p))), [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:203:12 [INFO] [stdout] | [INFO] [stdout] 202 | let right_expression = self.parse_expression(&Precedence::Prefix, ctx)?; [INFO] [stdout] | ---------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 203 | Ok(Expression::PrefixExpression(PrefixExpression { [INFO] [stdout] | ____________^ [INFO] [stdout] 204 | | token, [INFO] [stdout] 205 | | right: Box::new(right_expression), [INFO] [stdout] 206 | | })) [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.rs:232:12 [INFO] [stdout] | [INFO] [stdout] 220 | let condition = self.parse_expression(&Precedence::Lowest, ctx)?; [INFO] [stdout] | --------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 223 | let consequence = self.parse_block_statement(ctx)?; [INFO] [stdout] | ----------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 224 | let mut alternate = None; [INFO] [stdout] | --------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 232 | Ok(Expression::IfExpression(IfExpression { [INFO] [stdout] | ____________^ [INFO] [stdout] 233 | | token, [INFO] [stdout] 234 | | condition: Box::new(condition), [INFO] [stdout] 235 | | consequence, [INFO] [stdout] 236 | | alternate, [INFO] [stdout] 237 | | })) [INFO] [stdout] | | ^ [INFO] [stdout] | | | [INFO] [stdout] | | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | |__________these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | [INFO] [stdout] | [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:246:12 [INFO] [stdout] | [INFO] [stdout] 245 | let body = self.parse_block_statement(ctx)?; [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 246 | Ok(Expression::FunctionLiteral(FunctionLiteral { [INFO] [stdout] | ____________^ [INFO] [stdout] 247 | | token, [INFO] [stdout] 248 | | parameters: Rc::new(parameters), [INFO] [stdout] 249 | | body: Rc::new(body), [INFO] [stdout] 250 | | })) [INFO] [stdout] | | ^ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | |__________| [INFO] [stdout] | [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/parser.rs:256:12 [INFO] [stdout] | [INFO] [stdout] 255 | let elements = self.parse_list(ctx, Token::RBracket, Self::parse_expression)?; [INFO] [stdout] | -------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 256 | Ok(Expression::ArrayLiteral(ArrayLiteral { token, 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:262:12 [INFO] [stdout] | [INFO] [stdout] 261 | let elements = self.parse_list(ctx, Token::RBrace, Self::parse_expression_pair)?; [INFO] [stdout] | -------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 262 | Ok(Expression::HashLiteral(HashLiteral { token, 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:274:12 [INFO] [stdout] | [INFO] [stdout] 267 | left: Expression, [INFO] [stdout] | ---------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 273 | let right = self.parse_expression(precedence, ctx)?; [INFO] [stdout] | ----- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 274 | Ok(Expression::InfixExpression(InfixExpression::new( [INFO] [stdout] | ____________^ [INFO] [stdout] 275 | | operator, left, right, [INFO] [stdout] 276 | | ))) [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.rs:286:12 [INFO] [stdout] | [INFO] [stdout] 281 | left: Expression, [INFO] [stdout] | ---------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 285 | let arguments = self.parse_list(ctx, Token::RParen, Self::parse_expression)?; [INFO] [stdout] | --------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 286 | Ok(Expression::CallExpression(CallExpression { [INFO] [stdout] | ____________^ [INFO] [stdout] 287 | | token, [INFO] [stdout] 288 | | function: Box::new(left), [INFO] [stdout] 289 | | arguments, [INFO] [stdout] 290 | | })) [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.rs:302:12 [INFO] [stdout] | [INFO] [stdout] 295 | left: Expression, [INFO] [stdout] | ---------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 300 | let index = self.parse_expression(&Precedence::Lowest, ctx)?; [INFO] [stdout] | ----- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 301 | self.expect_peek(Token::RBracket)?; [INFO] [stdout] 302 | Ok(Expression::IndexExpression(IndexExpression { [INFO] [stdout] | ____________^ [INFO] [stdout] 303 | | token, [INFO] [stdout] 304 | | left: Box::new(left), [INFO] [stdout] 305 | | index: Box::new(index), [INFO] [stdout] 306 | | })) [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.rs:317:12 [INFO] [stdout] | [INFO] [stdout] 314 | let first = self.parse_expression(precedence, ctx)?; [INFO] [stdout] | ----- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 317 | Ok((first, self.parse_expression(precedence, ctx)?)) [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:401:12 [INFO] [stdout] | [INFO] [stdout] 397 | let expression = self.parse_expression(&Precedence::Lowest, ctx)?; [INFO] [stdout] | ---------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 401 | Ok(Statement::ExpressionStatement(ExpressionStatement { [INFO] [stdout] | ____________^ [INFO] [stdout] 402 | | token: first_token, [INFO] [stdout] 403 | | expression, [INFO] [stdout] 404 | | })) [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.rs:423:12 [INFO] [stdout] | [INFO] [stdout] 418 | let value = self.parse_expression(&Precedence::Lowest, ctx)?; [INFO] [stdout] | ----- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 423 | Ok(Statement::LetStatement(LetStatement::new( [INFO] [stdout] | ____________^ [INFO] [stdout] 424 | | let_token, [INFO] [stdout] 425 | | ident_token, [INFO] [stdout] 426 | | value, [INFO] [stdout] 427 | | ))) [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.rs:438:12 [INFO] [stdout] | [INFO] [stdout] 433 | let return_value = self.parse_expression(&Precedence::Lowest, ctx)?; [INFO] [stdout] | ------------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 438 | Ok(Statement::ReturnStatement(ReturnStatement { [INFO] [stdout] | ____________^ [INFO] [stdout] 439 | | token, [INFO] [stdout] 440 | | return_value, [INFO] [stdout] 441 | | })) [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.rs:482:12 [INFO] [stdout] | [INFO] [stdout] 474 | 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] 482 | Ok(BlockStatement { token, 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: aborting due to 22 previous errors; 12 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `monkeyinterpreter` (lib) due to 23 previous errors; 12 warnings emitted [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stdout] warning: field `token` is never read [INFO] [stdout] --> src/ast.rs:125:9 [INFO] [stdout] | [INFO] [stdout] 124 | pub struct StringLiteral { [INFO] [stdout] | ------------- field in this struct [INFO] [stdout] 125 | pub token: Token, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `token` is never read [INFO] [stdout] --> src/ast.rs:150:9 [INFO] [stdout] | [INFO] [stdout] 149 | pub struct ArrayLiteral { [INFO] [stdout] | ------------ field in this struct [INFO] [stdout] 150 | pub token: Token, [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `token` is never read [INFO] [stdout] --> src/ast.rs:169:9 [INFO] [stdout] | [INFO] [stdout] 168 | pub struct HashLiteral { [INFO] [stdout] | ----------- field in this struct [INFO] [stdout] 169 | pub token: Token, [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `token` is never read [INFO] [stdout] --> src/ast.rs:188:9 [INFO] [stdout] | [INFO] [stdout] 187 | pub struct IndexExpression { [INFO] [stdout] | --------------- field in this struct [INFO] [stdout] 188 | pub token: Token, [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `token` is never read [INFO] [stdout] --> src/ast.rs:200:9 [INFO] [stdout] | [INFO] [stdout] 199 | pub struct Boolean { [INFO] [stdout] | ------- field in this struct [INFO] [stdout] 200 | pub token: Token, [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `token` is never read [INFO] [stdout] --> src/ast.rs:222:9 [INFO] [stdout] | [INFO] [stdout] 221 | pub struct CallExpression { [INFO] [stdout] | -------------- field in this struct [INFO] [stdout] 222 | pub token: Token, [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `token` is never read [INFO] [stdout] --> src/ast.rs:254:9 [INFO] [stdout] | [INFO] [stdout] 253 | pub struct InfixExpression { [INFO] [stdout] | --------------- field in this struct [INFO] [stdout] 254 | pub token: Token, [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `token` is never read [INFO] [stdout] --> src/ast.rs:278:9 [INFO] [stdout] | [INFO] [stdout] 277 | pub struct BlockStatement { [INFO] [stdout] | -------------- field in this struct [INFO] [stdout] 278 | pub token: Token, [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `token` is never read [INFO] [stdout] --> src/ast.rs:317:9 [INFO] [stdout] | [INFO] [stdout] 316 | pub struct IfExpression { [INFO] [stdout] | ------------ field in this struct [INFO] [stdout] 317 | pub token: Token, [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/lib.rs:60:15 [INFO] [stdout] | [INFO] [stdout] 59 | fn evaluate_program(&self, program: Program) -> String { [INFO] [stdout] | ---------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 60 | match self.evaluator.eval_program(&program, &self.environment) { [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/ast.rs:270:19 [INFO] [stdout] | [INFO] [stdout] 267 | pub fn new(operator: Token, left: Expression, right: Expression) -> InfixExpression { [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] 270 | left: Box::new(left), [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/ast.rs:271:20 [INFO] [stdout] | [INFO] [stdout] 267 | pub fn new(operator: Token, left: Expression, right: Expression) -> InfixExpression { [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] 271 | right: Box::new(right), [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:44:40 [INFO] [stdout] | [INFO] [stdout] 44 | .and_then(|b| Some(Rc::clone(b))) [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:66:28 [INFO] [stdout] | [INFO] [stdout] 65 | let (k, v) = (self.eval_expression(k, env)?, self.eval_expression(v, env)?); [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] 66 | Ok((k, v)) [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/evaluator/mod.rs:259:12 [INFO] [stdout] | [INFO] [stdout] 206 | let res = match (left, right) { [INFO] [stdout] | --- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 259 | Ok(Rc::new(res)) [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/builtin.rs:150:13 [INFO] [stdout] | [INFO] [stdout] 149 | fn wrapped_builtin(b: Builtin) -> RObject { [INFO] [stdout] | ---------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 150 | Rc::new(Object::Builtin(b)) [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:712:9 [INFO] [stdout] | [INFO] [stdout] 711 | let program = p.parse_program().unwrap(); [INFO] [stdout] | ------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 712 | Evaluator::new().eval_program(&program, &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:712:50 [INFO] [stdout] | [INFO] [stdout] 711 | let program = p.parse_program().unwrap(); [INFO] [stdout] | ------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 712 | Evaluator::new().eval_program(&program, &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/object.rs:136:12 [INFO] [stdout] | [INFO] [stdout] 128 | pub fn new(pairs: Vec<(RObject, RObject)>) -> Result { [INFO] [stdout] | ------------------------------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 129 | let elements: Result, _> = pairs [INFO] [stdout] | -------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 136 | Ok(Hash { [INFO] [stdout] | ____________^ [INFO] [stdout] 137 | | elements: elements?, [INFO] [stdout] 138 | | }) [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/object.rs:202:46 [INFO] [stdout] | [INFO] [stdout] 202 | parent: parent.and_then(|p| Some(Rc::clone(p))), [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:203:12 [INFO] [stdout] | [INFO] [stdout] 202 | let right_expression = self.parse_expression(&Precedence::Prefix, ctx)?; [INFO] [stdout] | ---------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 203 | Ok(Expression::PrefixExpression(PrefixExpression { [INFO] [stdout] | ____________^ [INFO] [stdout] 204 | | token, [INFO] [stdout] 205 | | right: Box::new(right_expression), [INFO] [stdout] 206 | | })) [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.rs:232:12 [INFO] [stdout] | [INFO] [stdout] 220 | let condition = self.parse_expression(&Precedence::Lowest, ctx)?; [INFO] [stdout] | --------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 223 | let consequence = self.parse_block_statement(ctx)?; [INFO] [stdout] | ----------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 224 | let mut alternate = None; [INFO] [stdout] | --------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 232 | Ok(Expression::IfExpression(IfExpression { [INFO] [stdout] | ____________^ [INFO] [stdout] 233 | | token, [INFO] [stdout] 234 | | condition: Box::new(condition), [INFO] [stdout] 235 | | consequence, [INFO] [stdout] 236 | | alternate, [INFO] [stdout] 237 | | })) [INFO] [stdout] | | ^ [INFO] [stdout] | | | [INFO] [stdout] | | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | |__________these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | [INFO] [stdout] | [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:246:12 [INFO] [stdout] | [INFO] [stdout] 245 | let body = self.parse_block_statement(ctx)?; [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 246 | Ok(Expression::FunctionLiteral(FunctionLiteral { [INFO] [stdout] | ____________^ [INFO] [stdout] 247 | | token, [INFO] [stdout] 248 | | parameters: Rc::new(parameters), [INFO] [stdout] 249 | | body: Rc::new(body), [INFO] [stdout] 250 | | })) [INFO] [stdout] | | ^ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | |__________| [INFO] [stdout] | [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/parser.rs:256:12 [INFO] [stdout] | [INFO] [stdout] 255 | let elements = self.parse_list(ctx, Token::RBracket, Self::parse_expression)?; [INFO] [stdout] | -------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 256 | Ok(Expression::ArrayLiteral(ArrayLiteral { token, 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:262:12 [INFO] [stdout] | [INFO] [stdout] 261 | let elements = self.parse_list(ctx, Token::RBrace, Self::parse_expression_pair)?; [INFO] [stdout] | -------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 262 | Ok(Expression::HashLiteral(HashLiteral { token, 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:274:12 [INFO] [stdout] | [INFO] [stdout] 267 | left: Expression, [INFO] [stdout] | ---------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 273 | let right = self.parse_expression(precedence, ctx)?; [INFO] [stdout] | ----- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 274 | Ok(Expression::InfixExpression(InfixExpression::new( [INFO] [stdout] | ____________^ [INFO] [stdout] 275 | | operator, left, right, [INFO] [stdout] 276 | | ))) [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.rs:286:12 [INFO] [stdout] | [INFO] [stdout] 281 | left: Expression, [INFO] [stdout] | ---------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 285 | let arguments = self.parse_list(ctx, Token::RParen, Self::parse_expression)?; [INFO] [stdout] | --------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 286 | Ok(Expression::CallExpression(CallExpression { [INFO] [stdout] | ____________^ [INFO] [stdout] 287 | | token, [INFO] [stdout] 288 | | function: Box::new(left), [INFO] [stdout] 289 | | arguments, [INFO] [stdout] 290 | | })) [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.rs:302:12 [INFO] [stdout] | [INFO] [stdout] 295 | left: Expression, [INFO] [stdout] | ---------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 300 | let index = self.parse_expression(&Precedence::Lowest, ctx)?; [INFO] [stdout] | ----- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 301 | self.expect_peek(Token::RBracket)?; [INFO] [stdout] 302 | Ok(Expression::IndexExpression(IndexExpression { [INFO] [stdout] | ____________^ [INFO] [stdout] 303 | | token, [INFO] [stdout] 304 | | left: Box::new(left), [INFO] [stdout] 305 | | index: Box::new(index), [INFO] [stdout] 306 | | })) [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.rs:317:12 [INFO] [stdout] | [INFO] [stdout] 314 | let first = self.parse_expression(precedence, ctx)?; [INFO] [stdout] | ----- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 317 | Ok((first, self.parse_expression(precedence, ctx)?)) [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:401:12 [INFO] [stdout] | [INFO] [stdout] 397 | let expression = self.parse_expression(&Precedence::Lowest, ctx)?; [INFO] [stdout] | ---------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 401 | Ok(Statement::ExpressionStatement(ExpressionStatement { [INFO] [stdout] | ____________^ [INFO] [stdout] 402 | | token: first_token, [INFO] [stdout] 403 | | expression, [INFO] [stdout] 404 | | })) [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.rs:423:12 [INFO] [stdout] | [INFO] [stdout] 418 | let value = self.parse_expression(&Precedence::Lowest, ctx)?; [INFO] [stdout] | ----- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 423 | Ok(Statement::LetStatement(LetStatement::new( [INFO] [stdout] | ____________^ [INFO] [stdout] 424 | | let_token, [INFO] [stdout] 425 | | ident_token, [INFO] [stdout] 426 | | value, [INFO] [stdout] 427 | | ))) [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.rs:438:12 [INFO] [stdout] | [INFO] [stdout] 433 | let return_value = self.parse_expression(&Precedence::Lowest, ctx)?; [INFO] [stdout] | ------------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 438 | Ok(Statement::ReturnStatement(ReturnStatement { [INFO] [stdout] | ____________^ [INFO] [stdout] 439 | | token, [INFO] [stdout] 440 | | return_value, [INFO] [stdout] 441 | | })) [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.rs:482:12 [INFO] [stdout] | [INFO] [stdout] 474 | 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] 482 | Ok(BlockStatement { token, 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: aborting due to 24 previous errors; 9 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `monkeyinterpreter` (lib test) due to 25 previous errors; 9 warnings emitted [INFO] running `Command { std: "docker" "inspect" "7b0c89600cac1cab9d5dcc91fcf1c684b1c20d12161f61dfd340ee9fe6c9d5b6", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "7b0c89600cac1cab9d5dcc91fcf1c684b1c20d12161f61dfd340ee9fe6c9d5b6", kill_on_drop: false }` [INFO] [stdout] 7b0c89600cac1cab9d5dcc91fcf1c684b1c20d12161f61dfd340ee9fe6c9d5b6