[INFO] fetching crate rush-analyzer 0.1.1... [INFO] checking rush-analyzer-0.1.1 against try#4d98531622e1718ae0bc3c7a1ab9cd8938428452+rustflags=-Dtail_expr_drop_order for pr-129604 [INFO] extracting crate rush-analyzer 0.1.1 into /workspace/builds/worker-0-tc2/source [INFO] validating manifest of crates.io crate rush-analyzer 0.1.1 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 rush-analyzer 0.1.1 [INFO] finished tweaking crates.io crate rush-analyzer 0.1.1 [INFO] tweaked toml for crates.io crate rush-analyzer 0.1.1 written to /workspace/builds/worker-0-tc2/source/Cargo.toml [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+4d98531622e1718ae0bc3c7a1ab9cd8938428452" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Locking 3 packages to latest compatible versions [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-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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] 430bc4bfa005bb9305e61b01f1fa0167102c0159b38b0558e0d87a9a3cf661e9 [INFO] running `Command { std: "docker" "start" "-a" "430bc4bfa005bb9305e61b01f1fa0167102c0159b38b0558e0d87a9a3cf661e9", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "430bc4bfa005bb9305e61b01f1fa0167102c0159b38b0558e0d87a9a3cf661e9", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "430bc4bfa005bb9305e61b01f1fa0167102c0159b38b0558e0d87a9a3cf661e9", kill_on_drop: false }` [INFO] [stdout] 430bc4bfa005bb9305e61b01f1fa0167102c0159b38b0558e0d87a9a3cf661e9 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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] fc75abf7c2989d3bcf598fdbdb2826f88c33306f6587bd65e115994191ce0300 [INFO] running `Command { std: "docker" "start" "-a" "fc75abf7c2989d3bcf598fdbdb2826f88c33306f6587bd65e115994191ce0300", kill_on_drop: false }` [INFO] [stderr] Checking either v1.13.0 [INFO] [stderr] Checking rush-parser v0.1.1 [INFO] [stderr] Checking rush-analyzer v0.1.1 (/opt/rustwide/workdir) [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/analyzer.rs:1267:29 [INFO] [stdout] | [INFO] [stdout] 1267 | let mut var = self [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] 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:29:11 [INFO] [stdout] | [INFO] [stdout] 27 | let (ast, errs) = parser.parse(); [INFO] [stdout] | --- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 28 | [INFO] [stdout] 29 | match (ast, errs.len()) { [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/analyzer.rs:600:14 [INFO] [stdout] | [INFO] [stdout] 599 | fn statement(&mut self, node: Statement<'src>) -> Option> { [INFO] [stdout] | --------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 600 | Some(match node { [INFO] [stdout] | ______________^ [INFO] [stdout] 601 | | Statement::Let(node) => self.let_stmt(node), [INFO] [stdout] 602 | | Statement::Return(node) => self.return_stmt(node), [INFO] [stdout] 603 | | Statement::Loop(node) => self.loop_stmt(node), [INFO] [stdout] ... | [INFO] [stdout] 608 | | Statement::Expr(node) => AnalyzedStatement::Expr(self.expression(node.expr)), [INFO] [stdout] 609 | | }) [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/analyzer.rs:682:32 [INFO] [stdout] | [INFO] [stdout] 612 | fn let_stmt(&mut self, node: LetStmt<'src>) -> AnalyzedStatement<'src> { [INFO] [stdout] | ------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 617 | let expr = self.expression(node.expr); [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 682 | AnalyzedStatement::Let(AnalyzedLetStmt { [INFO] [stdout] | ________________________________^ [INFO] [stdout] 683 | | name: node.name.inner, [INFO] [stdout] 684 | | expr, [INFO] [stdout] 685 | | mutable: node.mutable, [INFO] [stdout] 686 | | used: true, [INFO] [stdout] 687 | | }) [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/analyzer.rs:762:33 [INFO] [stdout] | [INFO] [stdout] 738 | fn loop_stmt(&mut self, node: LoopStmt<'src>) -> AnalyzedStatement<'src> { [INFO] [stdout] | -------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 743 | let block = self.block(node.block, true); [INFO] [stdout] | ----- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 762 | AnalyzedStatement::Loop(AnalyzedLoopStmt { [INFO] [stdout] | _________________________________^ [INFO] [stdout] 763 | | block, [INFO] [stdout] 764 | | never_terminates, [INFO] [stdout] 765 | | }) [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/analyzer.rs:972:32 [INFO] [stdout] | [INFO] [stdout] 868 | fn for_stmt(&mut self, node: ForStmt<'src>) -> AnalyzedStatement<'src> { [INFO] [stdout] | ------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 875 | let initializer = self.expression(node.initializer); [INFO] [stdout] | ----------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 890 | let cond = self.expression(node.cond); [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 931 | let update = self.expression(node.update); [INFO] [stdout] | ------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 952 | let block = self.block(node.block, false); [INFO] [stdout] | ----- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 972 | AnalyzedStatement::For(AnalyzedForStmt { [INFO] [stdout] | ________________________________^ [INFO] [stdout] 973 | | ident: node.ident.inner, [INFO] [stdout] 974 | | initializer, [INFO] [stdout] 975 | | cond, [INFO] [stdout] ... | [INFO] [stdout] 978 | | never_terminates, [INFO] [stdout] 979 | | }) [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/analyzer.rs:1054:15 [INFO] [stdout] | [INFO] [stdout] 1051 | fn block_expr(&mut self, node: Block<'src>) -> AnalyzedExpression<'src> { [INFO] [stdout] | ----------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 1052 | let block = self.block(node, true); [INFO] [stdout] | ----- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 1053 | [INFO] [stdout] 1054 | match Self::eval_block(&block) { [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/analyzer.rs:1178:13 [INFO] [stdout] | [INFO] [stdout] 1069 | fn if_expr(&mut self, node: IfExpr<'src>) -> AnalyzedExpression<'src> { [INFO] [stdout] | ------------------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 1070 | let cond_span = node.cond.span(); [INFO] [stdout] 1071 | let cond = self.expression(node.cond); [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 1107 | let then_block = self.block(node.then_block, true); [INFO] [stdout] | ---------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 1111 | let else_block = match node.else_block { [INFO] [stdout] | ---------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 1112 | Some(else_block) => { [INFO] [stdout] | ---------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 1113 | let else_result_span = else_block.result_span(); [INFO] [stdout] 1114 | let else_block = self.block(else_block, true); [INFO] [stdout] | ---------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 1178 | / AnalyzedIfExpr { [INFO] [stdout] 1179 | | result_type, [INFO] [stdout] 1180 | | cond, [INFO] [stdout] 1181 | | then_block, [INFO] [stdout] 1182 | | else_block, [INFO] [stdout] 1183 | | } [INFO] [stdout] 1184 | | .into(), [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/analyzer.rs:1351:13 [INFO] [stdout] | [INFO] [stdout] 1217 | fn prefix_expr(&mut self, node: PrefixExpr<'src>) -> AnalyzedExpression<'src> { [INFO] [stdout] | ---------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 1218 | let expr_span = node.expr.span(); [INFO] [stdout] 1219 | let expr = self.expression(node.expr); [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 1351 | / AnalyzedPrefixExpr { [INFO] [stdout] 1352 | | result_type, [INFO] [stdout] 1353 | | op: node.op, [INFO] [stdout] 1354 | | expr, [INFO] [stdout] 1355 | | } [INFO] [stdout] 1356 | | .into(), [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/analyzer.rs:1533:13 [INFO] [stdout] | [INFO] [stdout] 1360 | fn infix_expr(&mut self, node: InfixExpr<'src>) -> AnalyzedExpression<'src> { [INFO] [stdout] | --------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 1363 | let lhs = self.expression(node.lhs); [INFO] [stdout] | --- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 1364 | let rhs = self.expression(node.rhs); [INFO] [stdout] | --- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 1533 | / AnalyzedInfixExpr { [INFO] [stdout] 1534 | | result_type, [INFO] [stdout] 1535 | | lhs, [INFO] [stdout] 1536 | | op: node.op, [INFO] [stdout] 1537 | | rhs, [INFO] [stdout] 1538 | | } [INFO] [stdout] 1539 | | .into(), [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/analyzer.rs:1665:13 [INFO] [stdout] | [INFO] [stdout] 1553 | fn assign_expr(&mut self, node: AssignExpr<'src>) -> AnalyzedExpression<'src> { [INFO] [stdout] | ---------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 1621 | let expr = self.expression(node.expr); [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 1665 | / AnalyzedAssignExpr { [INFO] [stdout] 1666 | | result_type, [INFO] [stdout] 1667 | | assignee: node.assignee.inner, [INFO] [stdout] 1668 | | assignee_ptr_count: node.assignee_ptr_count, [INFO] [stdout] ... | [INFO] [stdout] 1671 | | } [INFO] [stdout] 1672 | | .into(), [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/analyzer.rs:1797:13 [INFO] [stdout] | [INFO] [stdout] 1676 | fn call_expr(&mut self, node: CallExpr<'src>) -> AnalyzedExpression<'src> { [INFO] [stdout] | -------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 1694 | let (result_type, args) = if node.args.len() != builtin.param_types.len() { [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 1709 | let args = node [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 1743 | let (result_type, args) = match func { [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 1768 | let args = node [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 1781 | let args = node [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 1797 | / AnalyzedCallExpr { [INFO] [stdout] 1798 | | result_type, [INFO] [stdout] 1799 | | func: node.func.inner, [INFO] [stdout] 1800 | | args, [INFO] [stdout] 1801 | | } [INFO] [stdout] 1802 | | .into(), [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/analyzer.rs:1868:15 [INFO] [stdout] | [INFO] [stdout] 1834 | fn cast_expr(&mut self, node: CastExpr<'src>) -> AnalyzedExpression<'src> { [INFO] [stdout] | -------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 1835 | let expr_span = node.expr.span(); [INFO] [stdout] 1836 | let expr = self.expression(node.expr); [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 1868 | match (expr, result_type) { [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 12 previous errors; 1 warning emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `rush-analyzer` (lib) due to 13 previous errors; 1 warning 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/analyzer.rs:1267:29 [INFO] [stdout] | [INFO] [stdout] 1267 | let mut var = self [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] 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:29:11 [INFO] [stdout] | [INFO] [stdout] 27 | let (ast, errs) = parser.parse(); [INFO] [stdout] | --- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 28 | [INFO] [stdout] 29 | match (ast, errs.len()) { [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/analyzer.rs:600:14 [INFO] [stdout] | [INFO] [stdout] 599 | fn statement(&mut self, node: Statement<'src>) -> Option> { [INFO] [stdout] | --------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 600 | Some(match node { [INFO] [stdout] | ______________^ [INFO] [stdout] 601 | | Statement::Let(node) => self.let_stmt(node), [INFO] [stdout] 602 | | Statement::Return(node) => self.return_stmt(node), [INFO] [stdout] 603 | | Statement::Loop(node) => self.loop_stmt(node), [INFO] [stdout] ... | [INFO] [stdout] 608 | | Statement::Expr(node) => AnalyzedStatement::Expr(self.expression(node.expr)), [INFO] [stdout] 609 | | }) [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/analyzer.rs:682:32 [INFO] [stdout] | [INFO] [stdout] 612 | fn let_stmt(&mut self, node: LetStmt<'src>) -> AnalyzedStatement<'src> { [INFO] [stdout] | ------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 617 | let expr = self.expression(node.expr); [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 682 | AnalyzedStatement::Let(AnalyzedLetStmt { [INFO] [stdout] | ________________________________^ [INFO] [stdout] 683 | | name: node.name.inner, [INFO] [stdout] 684 | | expr, [INFO] [stdout] 685 | | mutable: node.mutable, [INFO] [stdout] 686 | | used: true, [INFO] [stdout] 687 | | }) [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/analyzer.rs:762:33 [INFO] [stdout] | [INFO] [stdout] 738 | fn loop_stmt(&mut self, node: LoopStmt<'src>) -> AnalyzedStatement<'src> { [INFO] [stdout] | -------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 743 | let block = self.block(node.block, true); [INFO] [stdout] | ----- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 762 | AnalyzedStatement::Loop(AnalyzedLoopStmt { [INFO] [stdout] | _________________________________^ [INFO] [stdout] 763 | | block, [INFO] [stdout] 764 | | never_terminates, [INFO] [stdout] 765 | | }) [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/analyzer.rs:972:32 [INFO] [stdout] | [INFO] [stdout] 868 | fn for_stmt(&mut self, node: ForStmt<'src>) -> AnalyzedStatement<'src> { [INFO] [stdout] | ------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 875 | let initializer = self.expression(node.initializer); [INFO] [stdout] | ----------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 890 | let cond = self.expression(node.cond); [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 931 | let update = self.expression(node.update); [INFO] [stdout] | ------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 952 | let block = self.block(node.block, false); [INFO] [stdout] | ----- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 972 | AnalyzedStatement::For(AnalyzedForStmt { [INFO] [stdout] | ________________________________^ [INFO] [stdout] 973 | | ident: node.ident.inner, [INFO] [stdout] 974 | | initializer, [INFO] [stdout] 975 | | cond, [INFO] [stdout] ... | [INFO] [stdout] 978 | | never_terminates, [INFO] [stdout] 979 | | }) [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/analyzer.rs:1054:15 [INFO] [stdout] | [INFO] [stdout] 1051 | fn block_expr(&mut self, node: Block<'src>) -> AnalyzedExpression<'src> { [INFO] [stdout] | ----------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 1052 | let block = self.block(node, true); [INFO] [stdout] | ----- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 1053 | [INFO] [stdout] 1054 | match Self::eval_block(&block) { [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/analyzer.rs:1178:13 [INFO] [stdout] | [INFO] [stdout] 1069 | fn if_expr(&mut self, node: IfExpr<'src>) -> AnalyzedExpression<'src> { [INFO] [stdout] | ------------------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 1070 | let cond_span = node.cond.span(); [INFO] [stdout] 1071 | let cond = self.expression(node.cond); [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 1107 | let then_block = self.block(node.then_block, true); [INFO] [stdout] | ---------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 1111 | let else_block = match node.else_block { [INFO] [stdout] | ---------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 1112 | Some(else_block) => { [INFO] [stdout] | ---------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 1113 | let else_result_span = else_block.result_span(); [INFO] [stdout] 1114 | let else_block = self.block(else_block, true); [INFO] [stdout] | ---------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 1178 | / AnalyzedIfExpr { [INFO] [stdout] 1179 | | result_type, [INFO] [stdout] 1180 | | cond, [INFO] [stdout] 1181 | | then_block, [INFO] [stdout] 1182 | | else_block, [INFO] [stdout] 1183 | | } [INFO] [stdout] 1184 | | .into(), [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/analyzer.rs:1351:13 [INFO] [stdout] | [INFO] [stdout] 1217 | fn prefix_expr(&mut self, node: PrefixExpr<'src>) -> AnalyzedExpression<'src> { [INFO] [stdout] | ---------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 1218 | let expr_span = node.expr.span(); [INFO] [stdout] 1219 | let expr = self.expression(node.expr); [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 1351 | / AnalyzedPrefixExpr { [INFO] [stdout] 1352 | | result_type, [INFO] [stdout] 1353 | | op: node.op, [INFO] [stdout] 1354 | | expr, [INFO] [stdout] 1355 | | } [INFO] [stdout] 1356 | | .into(), [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/analyzer.rs:1533:13 [INFO] [stdout] | [INFO] [stdout] 1360 | fn infix_expr(&mut self, node: InfixExpr<'src>) -> AnalyzedExpression<'src> { [INFO] [stdout] | --------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 1363 | let lhs = self.expression(node.lhs); [INFO] [stdout] | --- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 1364 | let rhs = self.expression(node.rhs); [INFO] [stdout] | --- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 1533 | / AnalyzedInfixExpr { [INFO] [stdout] 1534 | | result_type, [INFO] [stdout] 1535 | | lhs, [INFO] [stdout] 1536 | | op: node.op, [INFO] [stdout] 1537 | | rhs, [INFO] [stdout] 1538 | | } [INFO] [stdout] 1539 | | .into(), [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/analyzer.rs:1665:13 [INFO] [stdout] | [INFO] [stdout] 1553 | fn assign_expr(&mut self, node: AssignExpr<'src>) -> AnalyzedExpression<'src> { [INFO] [stdout] | ---------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 1621 | let expr = self.expression(node.expr); [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 1665 | / AnalyzedAssignExpr { [INFO] [stdout] 1666 | | result_type, [INFO] [stdout] 1667 | | assignee: node.assignee.inner, [INFO] [stdout] 1668 | | assignee_ptr_count: node.assignee_ptr_count, [INFO] [stdout] ... | [INFO] [stdout] 1671 | | } [INFO] [stdout] 1672 | | .into(), [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/analyzer.rs:1797:13 [INFO] [stdout] | [INFO] [stdout] 1676 | fn call_expr(&mut self, node: CallExpr<'src>) -> AnalyzedExpression<'src> { [INFO] [stdout] | -------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 1694 | let (result_type, args) = if node.args.len() != builtin.param_types.len() { [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 1709 | let args = node [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 1743 | let (result_type, args) = match func { [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 1768 | let args = node [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 1781 | let args = node [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 1797 | / AnalyzedCallExpr { [INFO] [stdout] 1798 | | result_type, [INFO] [stdout] 1799 | | func: node.func.inner, [INFO] [stdout] 1800 | | args, [INFO] [stdout] 1801 | | } [INFO] [stdout] 1802 | | .into(), [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/analyzer.rs:1868:15 [INFO] [stdout] | [INFO] [stdout] 1834 | fn cast_expr(&mut self, node: CastExpr<'src>) -> AnalyzedExpression<'src> { [INFO] [stdout] | -------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 1835 | let expr_span = node.expr.span(); [INFO] [stdout] 1836 | let expr = self.expression(node.expr); [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 1868 | match (expr, result_type) { [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 12 previous errors; 1 warning emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `rush-analyzer` (lib test) due to 13 previous errors; 1 warning emitted [INFO] running `Command { std: "docker" "inspect" "fc75abf7c2989d3bcf598fdbdb2826f88c33306f6587bd65e115994191ce0300", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "fc75abf7c2989d3bcf598fdbdb2826f88c33306f6587bd65e115994191ce0300", kill_on_drop: false }` [INFO] [stdout] fc75abf7c2989d3bcf598fdbdb2826f88c33306f6587bd65e115994191ce0300