[INFO] fetching crate tslite 0.1.5... [INFO] checking tslite-0.1.5 against try#4d98531622e1718ae0bc3c7a1ab9cd8938428452+rustflags=-Dtail_expr_drop_order for pr-129604 [INFO] extracting crate tslite 0.1.5 into /workspace/builds/worker-2-tc2/source [INFO] validating manifest of crates.io crate tslite 0.1.5 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 tslite 0.1.5 [INFO] finished tweaking crates.io crate tslite 0.1.5 [INFO] tweaked toml for crates.io crate tslite 0.1.5 written to /workspace/builds/worker-2-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 37 packages to latest compatible versions [INFO] [stderr] Adding windows-core v0.52.0 (latest: v0.58.0) [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-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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] 89f609e728ab2f62bf9326df27ddee41f0bbf0b9a1cbde0c415108e05dce6132 [INFO] running `Command { std: "docker" "start" "-a" "89f609e728ab2f62bf9326df27ddee41f0bbf0b9a1cbde0c415108e05dce6132", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "89f609e728ab2f62bf9326df27ddee41f0bbf0b9a1cbde0c415108e05dce6132", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "89f609e728ab2f62bf9326df27ddee41f0bbf0b9a1cbde0c415108e05dce6132", kill_on_drop: false }` [INFO] [stdout] 89f609e728ab2f62bf9326df27ddee41f0bbf0b9a1cbde0c415108e05dce6132 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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] 4026428bba65e81a547f0710a0c4ac73d8ed3dc3a51ec11ca633eec01420317b [INFO] running `Command { std: "docker" "start" "-a" "4026428bba65e81a547f0710a0c4ac73d8ed3dc3a51ec11ca633eec01420317b", kill_on_drop: false }` [INFO] [stderr] Checking chrono v0.4.38 [INFO] [stderr] Checking tslite v0.1.5 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `chrono::prelude::*` [INFO] [stdout] --> src/lib.rs:597:9 [INFO] [stdout] | [INFO] [stdout] 597 | use chrono::prelude::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::error::Error` [INFO] [stdout] --> src/lib.rs:598:9 [INFO] [stdout] | [INFO] [stdout] 598 | use std::error::Error; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::io::prelude::*` [INFO] [stdout] --> src/lib.rs:600:9 [INFO] [stdout] | [INFO] [stdout] 600 | use std::io::prelude::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `chrono::TimeZone::ymd`: use `with_ymd_and_hms()` instead [INFO] [stdout] --> src/lib.rs:128:13 [INFO] [stdout] | [INFO] [stdout] 128 | Utc.ymd(self.year as i32, self.month as u32, self.day as u32) [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `chrono::Date::::and_hms`: Use and_hms_opt() instead [INFO] [stdout] --> src/lib.rs:129:14 [INFO] [stdout] | [INFO] [stdout] 129 | .and_hms(self.hour as u32, self.minute as u32, self.second as u32) [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `chrono::TimeZone::ymd`: use `with_ymd_and_hms()` instead [INFO] [stdout] --> src/lib.rs:128:13 [INFO] [stdout] | [INFO] [stdout] 128 | Utc.ymd(self.year as i32, self.month as u32, self.day as u32) [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `chrono::Date::::and_hms`: Use and_hms_opt() instead [INFO] [stdout] --> src/lib.rs:129:14 [INFO] [stdout] | [INFO] [stdout] 129 | .and_hms(self.hour as u32, self.minute as u32, self.second as u32) [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `chrono::TimeZone::ymd`: use `with_ymd_and_hms()` instead [INFO] [stdout] --> src/lib.rs:615:31 [INFO] [stdout] | [INFO] [stdout] 615 | let origin_date = Utc.ymd(1994, 07, 08).and_hms(6, 55, 34); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `chrono::Date::::and_hms`: Use and_hms_opt() instead [INFO] [stdout] --> src/lib.rs:615:49 [INFO] [stdout] | [INFO] [stdout] 615 | let origin_date = Utc.ymd(1994, 07, 08).and_hms(6, 55, 34); [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:339:12 [INFO] [stdout] | [INFO] [stdout] 325 | let mut file = File::create(path).map_err(|e| TSLiteError::IOError(e.to_string()))?; [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 339 | Ok(PhysicalDB { [INFO] [stdout] | ____________^ [INFO] [stdout] 340 | | path: PathBuf::from(path), [INFO] [stdout] 341 | | file: None, // don't want to open the file right away. [INFO] [stdout] 342 | | header, [INFO] [stdout] 343 | | }) [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] = note: requested on the command line with `-D tail-expr-drop-order` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 1 previous error; 2 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `tslite` (lib) due to 2 previous errors; 2 warnings emitted [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stdout] warning: unused variable: `header` [INFO] [stdout] --> src/lib.rs:703:13 [INFO] [stdout] | [INFO] [stdout] 703 | let header = db.read_header().expect("could not read header."); [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_header` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `header` [INFO] [stdout] --> src/lib.rs:728:13 [INFO] [stdout] | [INFO] [stdout] 728 | let header = db.read_header().expect("could not read header."); [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_header` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `header` [INFO] [stdout] --> src/lib.rs:753:13 [INFO] [stdout] | [INFO] [stdout] 753 | let header = db.read_header().expect("could not read header."); [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_header` [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:339:12 [INFO] [stdout] | [INFO] [stdout] 325 | let mut file = File::create(path).map_err(|e| TSLiteError::IOError(e.to_string()))?; [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 339 | Ok(PhysicalDB { [INFO] [stdout] | ____________^ [INFO] [stdout] 340 | | path: PathBuf::from(path), [INFO] [stdout] 341 | | file: None, // don't want to open the file right away. [INFO] [stdout] 342 | | header, [INFO] [stdout] 343 | | }) [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] = note: requested on the command line with `-D tail-expr-drop-order` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/lib.rs:605:9 [INFO] [stdout] | [INFO] [stdout] 605 | fs::remove_file("create_db_origin_now.db"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 605 | let _ = fs::remove_file("create_db_origin_now.db"); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/lib.rs:608:9 [INFO] [stdout] | [INFO] [stdout] 608 | fs::remove_file("create_db_origin_now.db"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 608 | let _ = fs::remove_file("create_db_origin_now.db"); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/lib.rs:613:9 [INFO] [stdout] | [INFO] [stdout] 613 | fs::remove_file("create_db_origin_specific.db"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 613 | let _ = fs::remove_file("create_db_origin_specific.db"); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `dbHeader` should have a snake case name [INFO] [stdout] --> src/lib.rs:628:13 [INFO] [stdout] | [INFO] [stdout] 628 | let dbHeader = DbHeader::from(buf.as_slice()); [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to snake case: `db_header` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_snake_case)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/lib.rs:637:9 [INFO] [stdout] | [INFO] [stdout] 637 | fs::remove_file("create_db_origin_specific.db"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 637 | let _ = fs::remove_file("create_db_origin_specific.db"); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/lib.rs:643:9 [INFO] [stdout] | [INFO] [stdout] 643 | fs::remove_file(path); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 643 | let _ = fs::remove_file(path); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/lib.rs:663:9 [INFO] [stdout] | [INFO] [stdout] 663 | fs::remove_file(path); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 663 | let _ = fs::remove_file(path); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/lib.rs:700:9 [INFO] [stdout] | [INFO] [stdout] 700 | fs::remove_file(path); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 700 | let _ = fs::remove_file(path); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/lib.rs:718:9 [INFO] [stdout] | [INFO] [stdout] 718 | fs::remove_file(path); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 718 | let _ = fs::remove_file(path); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/lib.rs:725:9 [INFO] [stdout] | [INFO] [stdout] 725 | fs::remove_file(path); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 725 | let _ = fs::remove_file(path); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/lib.rs:743:9 [INFO] [stdout] | [INFO] [stdout] 743 | fs::remove_file(path); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 743 | let _ = fs::remove_file(path); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/lib.rs:750:9 [INFO] [stdout] | [INFO] [stdout] 750 | fs::remove_file(path); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 750 | let _ = fs::remove_file(path); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/lib.rs:774:9 [INFO] [stdout] | [INFO] [stdout] 774 | fs::remove_file(path); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 774 | let _ = fs::remove_file(path); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/lib.rs:781:9 [INFO] [stdout] | [INFO] [stdout] 781 | fs::remove_file(path); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 781 | let _ = fs::remove_file(path); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/lib.rs:802:9 [INFO] [stdout] | [INFO] [stdout] 802 | fs::remove_file(path); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 802 | let _ = fs::remove_file(path); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 1 previous error; 25 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `tslite` (lib test) due to 2 previous errors; 25 warnings emitted [INFO] running `Command { std: "docker" "inspect" "4026428bba65e81a547f0710a0c4ac73d8ed3dc3a51ec11ca633eec01420317b", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "4026428bba65e81a547f0710a0c4ac73d8ed3dc3a51ec11ca633eec01420317b", kill_on_drop: false }` [INFO] [stdout] 4026428bba65e81a547f0710a0c4ac73d8ed3dc3a51ec11ca633eec01420317b