[INFO] fetching crate esp-01 0.1.1... [INFO] building esp-01-0.1.1 against master#11663cd3bfefef7d34e8f0892c250bf698049392+rustflags=-Dtail-expr-drop-order for pr-134523 [INFO] extracting crate esp-01 0.1.1 into /workspace/builds/worker-7-tc1/source [INFO] validating manifest of crates.io crate esp-01 0.1.1 on toolchain 11663cd3bfefef7d34e8f0892c250bf698049392 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+11663cd3bfefef7d34e8f0892c250bf698049392" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking crates.io crate esp-01 0.1.1 [INFO] finished tweaking crates.io crate esp-01 0.1.1 [INFO] tweaked toml for crates.io crate esp-01 0.1.1 written to /workspace/builds/worker-7-tc1/source/Cargo.toml [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+11663cd3bfefef7d34e8f0892c250bf698049392" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Updating crates.io index [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Locking 7 packages to latest compatible versions [INFO] [stderr] Adding arrayvec v0.4.12 (available: v0.7.6) [INFO] [stderr] Adding embedded-hal v0.2.7 (available: v1.0.0) [INFO] [stderr] Adding itoa v0.4.8 (available: v1.0.14) [INFO] [stderr] Adding nb v0.1.3 (available: v1.1.0) [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+11663cd3bfefef7d34e8f0892c250bf698049392" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/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:f3a9d4ad9d972b27faf3965f35b62e55ba32bbce8f20bc8fe909558a86702fde" "/opt/rustwide/cargo-home/bin/cargo" "+11663cd3bfefef7d34e8f0892c250bf698049392" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 8229a50a695e4cdbde219abeb254a91136a95bd9fbb59d6a1e9b04c57b24a7d4 [INFO] running `Command { std: "docker" "start" "-a" "8229a50a695e4cdbde219abeb254a91136a95bd9fbb59d6a1e9b04c57b24a7d4", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "8229a50a695e4cdbde219abeb254a91136a95bd9fbb59d6a1e9b04c57b24a7d4", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "8229a50a695e4cdbde219abeb254a91136a95bd9fbb59d6a1e9b04c57b24a7d4", kill_on_drop: false }` [INFO] [stdout] 8229a50a695e4cdbde219abeb254a91136a95bd9fbb59d6a1e9b04c57b24a7d4 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/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:f3a9d4ad9d972b27faf3965f35b62e55ba32bbce8f20bc8fe909558a86702fde" "/opt/rustwide/cargo-home/bin/cargo" "+11663cd3bfefef7d34e8f0892c250bf698049392" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] c4bf82d7e14fc41e3bf0a932ef70e326024a83337b98f4281fb7f7dd6799a1aa [INFO] running `Command { std: "docker" "start" "-a" "c4bf82d7e14fc41e3bf0a932ef70e326024a83337b98f4281fb7f7dd6799a1aa", kill_on_drop: false }` [INFO] [stderr] Compiling arrayvec v0.4.12 [INFO] [stderr] Compiling nb v1.1.0 [INFO] [stderr] Compiling nodrop v0.1.14 [INFO] [stderr] Compiling void v1.0.2 [INFO] [stderr] Compiling nb v0.1.3 [INFO] [stderr] Compiling embedded-hal v0.2.7 [INFO] [stderr] Compiling esp-01 v0.1.1 (/opt/rustwide/workdir) [INFO] [stdout] error: relative drop order changing in Rust 2024 [INFO] [stdout] --> src/serial.rs:72:36 [INFO] [stdout] | [INFO] [stdout] 67 | match read_with_timeout(rx, timer, timeout) { [INFO] [stdout] | ------------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value will be stored in a temporary; let us call it `#1` [INFO] [stdout] | `#1` will be dropped later as of Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 72 | if let Some(val) = parser(buffer, ptr) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value will be stored in a temporary; let us call it `#2` [INFO] [stdout] | up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 75 | }, [INFO] [stdout] | - now the temporary value is dropped here, before the local variables in the block or statement [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages [INFO] [stdout] = note: requested on the command line with `-D tail-expr-drop-order` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: relative drop order changing in Rust 2024 [INFO] [stdout] --> src/serial.rs:93:16 [INFO] [stdout] | [INFO] [stdout] 93 | block!(serial.write(byte))?; [INFO] [stdout] | -------^^^^^^^^^^^^^^^^^^-- [INFO] [stdout] | | | [INFO] [stdout] | | this value will be stored in a temporary; let us call it `#2` [INFO] [stdout] | | up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024 [INFO] [stdout] | this value will be stored in a temporary; let us call it `#1` [INFO] [stdout] | `#1` will be dropped later as of Edition 2024 [INFO] [stdout] | now the temporary value is dropped here, before the local variables in the block or statement [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: relative drop order changing in Rust 2024 [INFO] [stdout] --> src/lib.rs:224:19 [INFO] [stdout] | [INFO] [stdout] 224 | match self.wait_for_got_ip(STARTUP_TIMEOUT.into()) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value will be stored in a temporary; let us call it `#1` [INFO] [stdout] | up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 227 | e => { [INFO] [stdout] | - [INFO] [stdout] | | [INFO] [stdout] | `e` calls a custom destructor [INFO] [stdout] | `e` will be dropped later as of Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 237 | } [INFO] [stdout] | - now the temporary value is dropped here, before the local variables in the block or statement [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `step` and `cause` are never read [INFO] [stdout] --> src/lib.rs:84:5 [INFO] [stdout] | [INFO] [stdout] 83 | pub struct TransmissionError { [INFO] [stdout] | ----------------- fields in this struct [INFO] [stdout] 84 | step: TransmissionStep, [INFO] [stdout] | ^^^^ [INFO] [stdout] 85 | cause: Error [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `TransmissionError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `esp-01` (lib) due to 3 previous errors; 1 warning emitted [INFO] running `Command { std: "docker" "inspect" "c4bf82d7e14fc41e3bf0a932ef70e326024a83337b98f4281fb7f7dd6799a1aa", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "c4bf82d7e14fc41e3bf0a932ef70e326024a83337b98f4281fb7f7dd6799a1aa", kill_on_drop: false }` [INFO] [stdout] c4bf82d7e14fc41e3bf0a932ef70e326024a83337b98f4281fb7f7dd6799a1aa