[INFO] fetching crate stuck 0.4.0... [INFO] checking stuck-0.4.0 against try#7014e13d5becc920d4bea3cd87942c8a13d359bf+rustflags=-Dtail_expr_drop_order for pr-129864 [INFO] extracting crate stuck 0.4.0 into /workspace/builds/worker-6-tc2/source [INFO] validating manifest of crates.io crate stuck 0.4.0 on toolchain 7014e13d5becc920d4bea3cd87942c8a13d359bf [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+7014e13d5becc920d4bea3cd87942c8a13d359bf" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking crates.io crate stuck 0.4.0 [INFO] finished tweaking crates.io crate stuck 0.4.0 [INFO] tweaked toml for crates.io crate stuck 0.4.0 written to /workspace/builds/worker-6-tc2/source/Cargo.toml [INFO] crate crates.io crate stuck 0.4.0 already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+7014e13d5becc920d4bea3cd87942c8a13d359bf" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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:ceb6ea022f8a89cebbe621bb4987e73a935bd40dfbb726f832cfff4742a5b95a" "/opt/rustwide/cargo-home/bin/cargo" "+7014e13d5becc920d4bea3cd87942c8a13d359bf" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 7cf94284e970554e8901d52c111ed810a0950f5af67d8317e936dea4101b03f4 [INFO] running `Command { std: "docker" "start" "-a" "7cf94284e970554e8901d52c111ed810a0950f5af67d8317e936dea4101b03f4", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "7cf94284e970554e8901d52c111ed810a0950f5af67d8317e936dea4101b03f4", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "7cf94284e970554e8901d52c111ed810a0950f5af67d8317e936dea4101b03f4", kill_on_drop: false }` [INFO] [stdout] 7cf94284e970554e8901d52c111ed810a0950f5af67d8317e936dea4101b03f4 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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:ceb6ea022f8a89cebbe621bb4987e73a935bd40dfbb726f832cfff4742a5b95a" "/opt/rustwide/cargo-home/bin/cargo" "+7014e13d5becc920d4bea3cd87942c8a13d359bf" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 68e9c896cfbefff4c65f5e6f06e083e2c10f26232f5dff69d72e96cee0313691 [INFO] running `Command { std: "docker" "start" "-a" "68e9c896cfbefff4c65f5e6f06e083e2c10f26232f5dff69d72e96cee0313691", kill_on_drop: false }` [INFO] [stderr] Compiling proc-macro2 v1.0.82 [INFO] [stderr] Compiling libc v0.2.154 [INFO] [stderr] Compiling rustversion v1.0.16 [INFO] [stderr] Compiling toml_datetime v0.6.5 [INFO] [stderr] Compiling ahash v0.7.8 [INFO] [stderr] Checking memchr v2.7.2 [INFO] [stderr] Checking once_cell v1.19.0 [INFO] [stderr] Checking regex-syntax v0.8.3 [INFO] [stderr] Compiling io-uring v0.6.4 [INFO] [stderr] Compiling toml_edit v0.19.15 [INFO] [stderr] Compiling rustix v0.38.34 [INFO] [stderr] Checking linux-raw-sys v0.4.13 [INFO] [stderr] Checking bitflags v2.5.0 [INFO] [stderr] Checking fastrand v2.1.0 [INFO] [stderr] Checking ignore-result v0.2.0 [INFO] [stderr] Checking yansi v0.5.1 [INFO] [stderr] Checking aho-corasick v1.1.3 [INFO] [stderr] Compiling quote v1.0.36 [INFO] [stderr] Checking pretty_assertions v1.4.0 [INFO] [stderr] Compiling syn v2.0.61 [INFO] [stderr] Compiling syn v1.0.109 [INFO] [stderr] Checking getrandom v0.2.15 [INFO] [stderr] Checking mio v0.8.11 [INFO] [stderr] Checking hashbrown v0.12.3 [INFO] [stderr] Checking errno v0.2.8 [INFO] [stderr] Checking regex-automata v0.4.6 [INFO] [stderr] Compiling proc-macro-crate v1.3.1 [INFO] [stderr] Checking tempfile v3.10.1 [INFO] [stderr] Checking regex v1.10.4 [INFO] [stderr] Compiling num_enum_derive v0.5.11 [INFO] [stderr] Compiling stuck-macros v0.3.1 [INFO] [stderr] Compiling test-case-core v3.3.1 [INFO] [stderr] Checking num_enum v0.5.11 [INFO] [stderr] Compiling strum_macros v0.26.2 [INFO] [stderr] Compiling googletest_macro v0.11.0 [INFO] [stderr] Compiling derive-where v1.2.7 [INFO] [stderr] Compiling test-case-macros v3.3.1 [INFO] [stderr] Checking googletest v0.11.0 [INFO] [stderr] Checking test-case v3.3.1 [INFO] [stderr] Checking strum v0.26.2 [INFO] [stderr] Checking stuck v0.4.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: elided lifetime has a name [INFO] [stdout] --> src/select.rs:222:33 [INFO] [stdout] | [INFO] [stdout] 220 | pub trait Select<'a> { [INFO] [stdout] | -- lifetime `'a` declared here [INFO] [stdout] 221 | /// Returns all selectable candidates. [INFO] [stdout] 222 | fn selectables(&'a self) -> &[Option<&'a dyn Selectable>]; [INFO] [stdout] | ^ this elided lifetime gets resolved as `'a` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(elided_named_lifetimes)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: elided lifetime has a name [INFO] [stdout] --> src/select.rs:222:33 [INFO] [stdout] | [INFO] [stdout] 220 | pub trait Select<'a> { [INFO] [stdout] | -- lifetime `'a` declared here [INFO] [stdout] 221 | /// Returns all selectable candidates. [INFO] [stdout] 222 | fn selectables(&'a self) -> &[Option<&'a dyn Selectable>]; [INFO] [stdout] | ^ this elided lifetime gets resolved as `'a` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(elided_named_lifetimes)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this value of type `Result` has significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/coroutine/suspension.rs:196:15 [INFO] [stdout] | [INFO] [stdout] 195 | let joint = unsafe { self.into_joint() }; [INFO] [stdout] | ----- these local bindings with significant drop implementation may observe changes in drop order under Edition 2024 [INFO] [stdout] 196 | match joint.join() { [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: this value of type `Result<(), T>` has significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/coroutine/suspension.rs:225:9 [INFO] [stdout] | [INFO] [stdout] 224 | let joint = unsafe { self.into_joint() }; [INFO] [stdout] | ----- these local bindings with significant drop implementation may observe changes in drop order under Edition 2024 [INFO] [stdout] 225 | joint.wake(value).is_ok() [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: this value of type `Option>` has significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/coroutine/suspension.rs:278:35 [INFO] [stdout] | [INFO] [stdout] 277 | pub fn join(mut self) -> Result { [INFO] [stdout] | -------- these local bindings with significant drop implementation may observe changes in drop order under Edition 2024 [INFO] [stdout] 278 | if let Some(suspension) = self.suspension.take() { [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: this value of type `Result<(), std::io::Error>` has significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/net/mod.rs:67:15 [INFO] [stdout] | [INFO] [stdout] 65 | let (readable_sender, readable_receiver) = parallel::bounded(2); [INFO] [stdout] | ----------------- these local bindings with significant drop implementation may observe changes in drop order under Edition 2024 [INFO] [stdout] 66 | let token = self.register_entry(Entry::Reader { readable: readable_sender }); [INFO] [stdout] 67 | match self.registry.register(&mut SourceFd(fd), token, Interest::READABLE) { [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: this value of type `Result<(), std::io::Error>` has significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/net/mod.rs:87:15 [INFO] [stdout] | [INFO] [stdout] 84 | let (readable_sender, readable_receiver) = parallel::bounded(2); [INFO] [stdout] | ----------------- these local bindings with significant drop implementation may observe changes in drop order under Edition 2024 [INFO] [stdout] 85 | let (writable_sender, writable_receiver) = parallel::bounded(2); [INFO] [stdout] | ----------------- these local bindings with significant drop implementation may observe changes in drop order under Edition 2024 [INFO] [stdout] 86 | let token = self.register_entry(Entry::Stream { readable: readable_sender, writable: writable_sender }); [INFO] [stdout] 87 | match self.registry.register(stream, token, Interest::READABLE.add(Interest::WRITABLE)) { [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: this value of type `MutexGuard<'_, select::thread::State>` has significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/select/thread.rs:40:17 [INFO] [stdout] | [INFO] [stdout] 37 | let state = unsafe { ptr::read(&self.state) }; [INFO] [stdout] | ----- these local bindings with significant drop implementation may observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 40 | let mut state = state.lock().unwrap(); [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: this value of type `Result<(), T>` has significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/task/session.rs:507:9 [INFO] [stdout] | [INFO] [stdout] 506 | let joint = unsafe { self.into_joint() }; [INFO] [stdout] | ----- these local bindings with significant drop implementation may observe changes in drop order under Edition 2024 [INFO] [stdout] 507 | joint.wake(value).is_ok() [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 7 previous errors; 1 warning emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `stuck` (lib) due to 8 previous errors; 1 warning emitted [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stdout] error: this value of type `Result` has significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/coroutine/suspension.rs:196:15 [INFO] [stdout] | [INFO] [stdout] 195 | let joint = unsafe { self.into_joint() }; [INFO] [stdout] | ----- these local bindings with significant drop implementation may observe changes in drop order under Edition 2024 [INFO] [stdout] 196 | match joint.join() { [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: this value of type `Result<(), T>` has significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/coroutine/suspension.rs:225:9 [INFO] [stdout] | [INFO] [stdout] 224 | let joint = unsafe { self.into_joint() }; [INFO] [stdout] | ----- these local bindings with significant drop implementation may observe changes in drop order under Edition 2024 [INFO] [stdout] 225 | joint.wake(value).is_ok() [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: this value of type `Option>` has significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/coroutine/suspension.rs:278:35 [INFO] [stdout] | [INFO] [stdout] 277 | pub fn join(mut self) -> Result { [INFO] [stdout] | -------- these local bindings with significant drop implementation may observe changes in drop order under Edition 2024 [INFO] [stdout] 278 | if let Some(suspension) = self.suspension.take() { [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: this value of type `Result<(), std::io::Error>` has significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/net/mod.rs:67:15 [INFO] [stdout] | [INFO] [stdout] 65 | let (readable_sender, readable_receiver) = parallel::bounded(2); [INFO] [stdout] | ----------------- these local bindings with significant drop implementation may observe changes in drop order under Edition 2024 [INFO] [stdout] 66 | let token = self.register_entry(Entry::Reader { readable: readable_sender }); [INFO] [stdout] 67 | match self.registry.register(&mut SourceFd(fd), token, Interest::READABLE) { [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: this value of type `Result<(), std::io::Error>` has significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/net/mod.rs:87:15 [INFO] [stdout] | [INFO] [stdout] 84 | let (readable_sender, readable_receiver) = parallel::bounded(2); [INFO] [stdout] | ----------------- these local bindings with significant drop implementation may observe changes in drop order under Edition 2024 [INFO] [stdout] 85 | let (writable_sender, writable_receiver) = parallel::bounded(2); [INFO] [stdout] | ----------------- these local bindings with significant drop implementation may observe changes in drop order under Edition 2024 [INFO] [stdout] 86 | let token = self.register_entry(Entry::Stream { readable: readable_sender, writable: writable_sender }); [INFO] [stdout] 87 | match self.registry.register(stream, token, Interest::READABLE.add(Interest::WRITABLE)) { [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: this value of type `MutexGuard<'_, select::thread::State>` has significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/select/thread.rs:40:17 [INFO] [stdout] | [INFO] [stdout] 37 | let state = unsafe { ptr::read(&self.state) }; [INFO] [stdout] | ----- these local bindings with significant drop implementation may observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 40 | let mut state = state.lock().unwrap(); [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: this value of type `Result<(), T>` has significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/task/session.rs:507:9 [INFO] [stdout] | [INFO] [stdout] 506 | let joint = unsafe { self.into_joint() }; [INFO] [stdout] | ----- these local bindings with significant drop implementation may observe changes in drop order under Edition 2024 [INFO] [stdout] 507 | joint.wake(value).is_ok() [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 7 previous errors; 1 warning emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `stuck` (lib test) due to 8 previous errors; 1 warning emitted [INFO] running `Command { std: "docker" "inspect" "68e9c896cfbefff4c65f5e6f06e083e2c10f26232f5dff69d72e96cee0313691", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "68e9c896cfbefff4c65f5e6f06e083e2c10f26232f5dff69d72e96cee0313691", kill_on_drop: false }` [INFO] [stdout] 68e9c896cfbefff4c65f5e6f06e083e2c10f26232f5dff69d72e96cee0313691