[INFO] cloning repository https://github.com/ConradKhakhria/woah [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/ConradKhakhria/woah" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FConradKhakhria%2Fwoah", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FConradKhakhria%2Fwoah'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 250c4fd462854567624d51793f357ecfc18a18f0 [INFO] checking ConradKhakhria/woah/250c4fd462854567624d51793f357ecfc18a18f0 against try#4d98531622e1718ae0bc3c7a1ab9cd8938428452+rustflags=-Dtail_expr_drop_order for pr-129604 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FConradKhakhria%2Fwoah" "/workspace/builds/worker-4-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc2/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/ConradKhakhria/woah on toolchain 4d98531622e1718ae0bc3c7a1ab9cd8938428452 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+4d98531622e1718ae0bc3c7a1ab9cd8938428452" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/ConradKhakhria/woah [INFO] finished tweaking git repo https://github.com/ConradKhakhria/woah [INFO] tweaked toml for git repo https://github.com/ConradKhakhria/woah written to /workspace/builds/worker-4-tc2/source/Cargo.toml [INFO] crate git repo https://github.com/ConradKhakhria/woah 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] 0dbf017ac861659370863f50a464cece5d0d9fbde0f8b9a67d2cced1a7d63345 [INFO] running `Command { std: "docker" "start" "-a" "0dbf017ac861659370863f50a464cece5d0d9fbde0f8b9a67d2cced1a7d63345", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "0dbf017ac861659370863f50a464cece5d0d9fbde0f8b9a67d2cced1a7d63345", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "0dbf017ac861659370863f50a464cece5d0d9fbde0f8b9a67d2cced1a7d63345", kill_on_drop: false }` [INFO] [stdout] 0dbf017ac861659370863f50a464cece5d0d9fbde0f8b9a67d2cced1a7d63345 [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] e99398d59c4f81327b24ca317fe1fc5b0036ca78a80ed9624236a3b3fa188c51 [INFO] running `Command { std: "docker" "start" "-a" "e99398d59c4f81327b24ca317fe1fc5b0036ca78a80ed9624236a3b3fa188c51", kill_on_drop: false }` [INFO] [stderr] Compiling proc-macro2 v1.0.26 [INFO] [stderr] Compiling unicode-xid v0.2.1 [INFO] [stderr] Compiling syn v1.0.70 [INFO] [stderr] Compiling memchr v2.3.4 [INFO] [stderr] Compiling doc-comment v0.3.3 [INFO] [stderr] Checking regex-syntax v0.6.23 [INFO] [stderr] Checking aho-corasick v0.7.15 [INFO] [stderr] Compiling quote v1.0.9 [INFO] [stderr] Checking regex v1.4.6 [INFO] [stderr] Compiling snafu-derive v0.6.10 [INFO] [stderr] Compiling derive-getters v0.2.0 [INFO] [stderr] Checking snafu v0.6.10 [INFO] [stderr] Checking woah v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `analyser::StaticAnalysisResults as StaticAnalysisResults` [INFO] [stdout] --> src/analysis/mod.rs:5:9 [INFO] [stdout] | [INFO] [stdout] 5 | pub use analyser::StaticAnalysisResults as StaticAnalysisResults; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `function::Argument as Argument` [INFO] [stdout] --> src/parse/mod.rs:11:9 [INFO] [stdout] | [INFO] [stdout] 11 | pub use function::Argument as Argument; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `analyser::StaticAnalysisResults as StaticAnalysisResults` [INFO] [stdout] --> src/analysis/mod.rs:5:9 [INFO] [stdout] | [INFO] [stdout] 5 | pub use analyser::StaticAnalysisResults as StaticAnalysisResults; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `function::Argument as Argument` [INFO] [stdout] --> src/parse/mod.rs:11:9 [INFO] [stdout] | [INFO] [stdout] 11 | pub use function::Argument as Argument; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `root_path` [INFO] [stdout] --> src/interface.rs:18:9 [INFO] [stdout] | [INFO] [stdout] 18 | let root_path = src_path.parent().unwrap().to_path_buf(); [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_root_path` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `static_analysis_results` [INFO] [stdout] --> src/interface.rs:23:9 [INFO] [stdout] | [INFO] [stdout] 23 | let static_analysis_results = analyse_program(&mut modules)?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_static_analysis_results` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `root_path` [INFO] [stdout] --> src/interface.rs:18:9 [INFO] [stdout] | [INFO] [stdout] 18 | let root_path = src_path.parent().unwrap().to_path_buf(); [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_root_path` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `static_analysis_results` [INFO] [stdout] --> src/interface.rs:23:9 [INFO] [stdout] | [INFO] [stdout] 23 | let static_analysis_results = analyse_program(&mut modules)?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_static_analysis_results` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `get_attr_res_type` is never used [INFO] [stdout] --> src/analysis/type_checker.rs:593:8 [INFO] [stdout] | [INFO] [stdout] 21 | impl<'a> TypeChecker<'a> { [INFO] [stdout] | ------------------------ method in this implementation [INFO] [stdout] ... [INFO] [stdout] 593 | fn get_attr_res_type(&self, parent: &Box, attr_name: &String) -> Result, Vec> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `instance_methods_mut`, `module_methods_mut`, `module_path`, and `module_type` are never used [INFO] [stdout] --> src/parse/module.rs:49:12 [INFO] [stdout] | [INFO] [stdout] 30 | impl Module { [INFO] [stdout] | ----------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 49 | pub fn instance_methods_mut(&mut self) -> &mut HashMap { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 65 | pub fn module_methods_mut(&mut self) -> &mut HashMap { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 75 | pub fn module_path(&self) -> &Vec { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 80 | pub fn module_type(&self) -> &ModuleType { [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/parse/expr.rs:191:10 [INFO] [stdout] | [INFO] [stdout] 121 | let expr_kind = match &tokens[0] { [INFO] [stdout] | --------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 168 | Ok(es) => Ok(Expr { [INFO] [stdout] | -- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 191 | Some(Ok( [INFO] [stdout] | __________^ [INFO] [stdout] 192 | | Expr { [INFO] [stdout] 193 | | expr_kind, [INFO] [stdout] 194 | | expr_type: None, [INFO] [stdout] ... | [INFO] [stdout] 199 | | } [INFO] [stdout] 200 | | )) [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/parse/expr.rs:374:10 [INFO] [stdout] | [INFO] [stdout] 342 | let args = match tokens.last().unwrap() { [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 345 | let mut exprs = Vec::new(); [INFO] [stdout] | ----- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 352 | Ok(expr) => exprs.push(expr), [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 369 | let function = match parse_expr(&tokens[..tokens_len-1], tokens[0].position()) { [INFO] [stdout] | -------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 370 | Ok(fb) => Box::new(fb), [INFO] [stdout] | -- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 371 | err => return Some(err) [INFO] [stdout] | --- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 374 | Some(Ok( [INFO] [stdout] | __________^ [INFO] [stdout] 375 | | Expr { [INFO] [stdout] 376 | | expr_kind: ExprKind::FunctionCall { function, args }, [INFO] [stdout] 377 | | expr_type: None, [INFO] [stdout] ... | [INFO] [stdout] 382 | | } [INFO] [stdout] 383 | | )) [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/parse/expr.rs:411:10 [INFO] [stdout] | [INFO] [stdout] 392 | let index = match tokens.last().unwrap() { [INFO] [stdout] | ----- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 396 | Ok(expr) => Box::new(expr), [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 397 | err => return Some(err) [INFO] [stdout] | --- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 406 | let array = match parse_expr(&tokens[..tokens_len-1], tokens[0].position()) { [INFO] [stdout] | ----- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 407 | Ok(arr) => Box::new(arr), [INFO] [stdout] | --- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 408 | err => return Some(err) [INFO] [stdout] | --- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 411 | Some(Ok( [INFO] [stdout] | __________^ [INFO] [stdout] 412 | | Expr { [INFO] [stdout] 413 | | expr_kind: ExprKind::ArrayIndexing { array, index }, [INFO] [stdout] 414 | | expr_type: None, [INFO] [stdout] ... | [INFO] [stdout] 419 | | } [INFO] [stdout] 420 | | )) [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/parse/expr.rs:449:10 [INFO] [stdout] | [INFO] [stdout] 432 | let mut parent = parse_expr(&tokens[..tokens.len()-2], tokens[0].position()); [INFO] [stdout] | ------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 449 | Some(if errors.is_empty() { [INFO] [stdout] | __________^ [INFO] [stdout] 450 | | Ok(Expr { [INFO] [stdout] 451 | | expr_kind: ExprKind::ObjectAttrRes { [INFO] [stdout] 452 | | parent: Box::new(parent.unwrap()), [INFO] [stdout] ... | [INFO] [stdout] 462 | | Err(errors) [INFO] [stdout] 463 | | }) [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/parse/statement.rs:185:10 [INFO] [stdout] | [INFO] [stdout] 176 | let mut value = parse_expr( [INFO] [stdout] | ----- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 185 | Some(if errors.is_empty() { [INFO] [stdout] | __________^ [INFO] [stdout] 186 | | Ok(Statement { [INFO] [stdout] 187 | | stmt_type: StatementType::Declare { [INFO] [stdout] 188 | | value_name, [INFO] [stdout] ... | [INFO] [stdout] 199 | | Err(errors) [INFO] [stdout] 200 | | }) [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `get_attr_res_type` is never used [INFO] [stdout] --> src/analysis/type_checker.rs:593:8 [INFO] [stdout] | [INFO] [stdout] 21 | impl<'a> TypeChecker<'a> { [INFO] [stdout] | ------------------------ method in this implementation [INFO] [stdout] ... [INFO] [stdout] 593 | fn get_attr_res_type(&self, parent: &Box, attr_name: &String) -> Result, Vec> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `instance_methods_mut`, `module_methods_mut`, `module_path`, and `module_type` are never used [INFO] [stdout] --> src/parse/module.rs:49:12 [INFO] [stdout] | [INFO] [stdout] 30 | impl Module { [INFO] [stdout] | ----------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 49 | pub fn instance_methods_mut(&mut self) -> &mut HashMap { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 65 | pub fn module_methods_mut(&mut self) -> &mut HashMap { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 75 | pub fn module_path(&self) -> &Vec { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 80 | pub fn module_type(&self) -> &ModuleType { [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/parse/statement.rs:240:10 [INFO] [stdout] | [INFO] [stdout] 229 | let mut assigned_to = parse_expr(&tokens[..eq_index], tokens[0].position()); [INFO] [stdout] | ----------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 230 | let mut new_value = parse_expr(&tokens[eq_index+1..], tokens[eq_index + 1].position()); [INFO] [stdout] | --------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 240 | Some(if errors.is_empty() { [INFO] [stdout] | __________^ [INFO] [stdout] 241 | | Ok(Statement { [INFO] [stdout] 242 | | stmt_type: StatementType::Assign { [INFO] [stdout] 243 | | assigned_to: assigned_to.unwrap(), [INFO] [stdout] ... | [INFO] [stdout] 252 | | Err(errors) [INFO] [stdout] 253 | | }) [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/parse/statement.rs:506:10 [INFO] [stdout] | [INFO] [stdout] 496 | let value = match &tokens[1..] { [INFO] [stdout] | ----- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 500 | Ok(expr) => Some(expr), [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 506 | Some(Ok(Statement { [INFO] [stdout] | __________^ [INFO] [stdout] 507 | | stmt_type: StatementType::Return { value }, [INFO] [stdout] 508 | | positions: [ [INFO] [stdout] 509 | | line.first_position(), [INFO] [stdout] 510 | | line.last_position() [INFO] [stdout] 511 | | ] [INFO] [stdout] 512 | | })) [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/parse/statement.rs:548:9 [INFO] [stdout] | [INFO] [stdout] 535 | let mut condition = parse_expr(&tokens[1..], tokens[1].position()); [INFO] [stdout] | --------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 536 | let mut block = parse_statement_block(&line.line_derivs); [INFO] [stdout] | ----- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 548 | / if errors.is_empty() { [INFO] [stdout] 549 | | Ok(Statement { [INFO] [stdout] 550 | | stmt_type: StatementType::WhileLoop { [INFO] [stdout] 551 | | condition: condition.unwrap(), [INFO] [stdout] ... | [INFO] [stdout] 560 | | Err(errors) [INFO] [stdout] 561 | | } [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/parse/expr.rs:191:10 [INFO] [stdout] | [INFO] [stdout] 121 | let expr_kind = match &tokens[0] { [INFO] [stdout] | --------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 168 | Ok(es) => Ok(Expr { [INFO] [stdout] | -- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 191 | Some(Ok( [INFO] [stdout] | __________^ [INFO] [stdout] 192 | | Expr { [INFO] [stdout] 193 | | expr_kind, [INFO] [stdout] 194 | | expr_type: None, [INFO] [stdout] ... | [INFO] [stdout] 199 | | } [INFO] [stdout] 200 | | )) [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/parse/expr.rs:374:10 [INFO] [stdout] | [INFO] [stdout] 342 | let args = match tokens.last().unwrap() { [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 345 | let mut exprs = Vec::new(); [INFO] [stdout] | ----- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 352 | Ok(expr) => exprs.push(expr), [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 369 | let function = match parse_expr(&tokens[..tokens_len-1], tokens[0].position()) { [INFO] [stdout] | -------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 370 | Ok(fb) => Box::new(fb), [INFO] [stdout] | -- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 371 | err => return Some(err) [INFO] [stdout] | --- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 374 | Some(Ok( [INFO] [stdout] | __________^ [INFO] [stdout] 375 | | Expr { [INFO] [stdout] 376 | | expr_kind: ExprKind::FunctionCall { function, args }, [INFO] [stdout] 377 | | expr_type: None, [INFO] [stdout] ... | [INFO] [stdout] 382 | | } [INFO] [stdout] 383 | | )) [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/parse/expr.rs:411:10 [INFO] [stdout] | [INFO] [stdout] 392 | let index = match tokens.last().unwrap() { [INFO] [stdout] | ----- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 396 | Ok(expr) => Box::new(expr), [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 397 | err => return Some(err) [INFO] [stdout] | --- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 406 | let array = match parse_expr(&tokens[..tokens_len-1], tokens[0].position()) { [INFO] [stdout] | ----- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 407 | Ok(arr) => Box::new(arr), [INFO] [stdout] | --- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 408 | err => return Some(err) [INFO] [stdout] | --- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 411 | Some(Ok( [INFO] [stdout] | __________^ [INFO] [stdout] 412 | | Expr { [INFO] [stdout] 413 | | expr_kind: ExprKind::ArrayIndexing { array, index }, [INFO] [stdout] 414 | | expr_type: None, [INFO] [stdout] ... | [INFO] [stdout] 419 | | } [INFO] [stdout] 420 | | )) [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/parse/expr.rs:449:10 [INFO] [stdout] | [INFO] [stdout] 432 | let mut parent = parse_expr(&tokens[..tokens.len()-2], tokens[0].position()); [INFO] [stdout] | ------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 449 | Some(if errors.is_empty() { [INFO] [stdout] | __________^ [INFO] [stdout] 450 | | Ok(Expr { [INFO] [stdout] 451 | | expr_kind: ExprKind::ObjectAttrRes { [INFO] [stdout] 452 | | parent: Box::new(parent.unwrap()), [INFO] [stdout] ... | [INFO] [stdout] 462 | | Err(errors) [INFO] [stdout] 463 | | }) [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/parse/statement.rs:185:10 [INFO] [stdout] | [INFO] [stdout] 176 | let mut value = parse_expr( [INFO] [stdout] | ----- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 185 | Some(if errors.is_empty() { [INFO] [stdout] | __________^ [INFO] [stdout] 186 | | Ok(Statement { [INFO] [stdout] 187 | | stmt_type: StatementType::Declare { [INFO] [stdout] 188 | | value_name, [INFO] [stdout] ... | [INFO] [stdout] 199 | | Err(errors) [INFO] [stdout] 200 | | }) [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/parse/statement.rs:240:10 [INFO] [stdout] | [INFO] [stdout] 229 | let mut assigned_to = parse_expr(&tokens[..eq_index], tokens[0].position()); [INFO] [stdout] | ----------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 230 | let mut new_value = parse_expr(&tokens[eq_index+1..], tokens[eq_index + 1].position()); [INFO] [stdout] | --------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 240 | Some(if errors.is_empty() { [INFO] [stdout] | __________^ [INFO] [stdout] 241 | | Ok(Statement { [INFO] [stdout] 242 | | stmt_type: StatementType::Assign { [INFO] [stdout] 243 | | assigned_to: assigned_to.unwrap(), [INFO] [stdout] ... | [INFO] [stdout] 252 | | Err(errors) [INFO] [stdout] 253 | | }) [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/parse/statement.rs:506:10 [INFO] [stdout] | [INFO] [stdout] 496 | let value = match &tokens[1..] { [INFO] [stdout] | ----- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 500 | Ok(expr) => Some(expr), [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 506 | Some(Ok(Statement { [INFO] [stdout] | __________^ [INFO] [stdout] 507 | | stmt_type: StatementType::Return { value }, [INFO] [stdout] 508 | | positions: [ [INFO] [stdout] 509 | | line.first_position(), [INFO] [stdout] 510 | | line.last_position() [INFO] [stdout] 511 | | ] [INFO] [stdout] 512 | | })) [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/parse/statement.rs:548:9 [INFO] [stdout] | [INFO] [stdout] 535 | let mut condition = parse_expr(&tokens[1..], tokens[1].position()); [INFO] [stdout] | --------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 536 | let mut block = parse_statement_block(&line.line_derivs); [INFO] [stdout] | ----- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 548 | / if errors.is_empty() { [INFO] [stdout] 549 | | Ok(Statement { [INFO] [stdout] 550 | | stmt_type: StatementType::WhileLoop { [INFO] [stdout] 551 | | condition: condition.unwrap(), [INFO] [stdout] ... | [INFO] [stdout] 560 | | Err(errors) [INFO] [stdout] 561 | | } [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 8 previous errors; 6 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 8 previous errors; 6 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `woah` (bin "woah" test) due to 9 previous errors; 6 warnings emitted [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stderr] error: could not compile `woah` (bin "woah") due to 9 previous errors; 6 warnings emitted [INFO] running `Command { std: "docker" "inspect" "e99398d59c4f81327b24ca317fe1fc5b0036ca78a80ed9624236a3b3fa188c51", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "e99398d59c4f81327b24ca317fe1fc5b0036ca78a80ed9624236a3b3fa188c51", kill_on_drop: false }` [INFO] [stdout] e99398d59c4f81327b24ca317fe1fc5b0036ca78a80ed9624236a3b3fa188c51