[INFO] fetching crate channels-console 0.3.4... [INFO] fixing channels-console-0.3.4 against try#5fed607fb5806ae20927e7e9193e3793c411ac20+cargoflags=-Zfix-edition=end=2015,2024 for pr-157817 [INFO] extracting crate channels-console 0.3.4 into /workspace/builds/worker-2-tc2/source [INFO] started tweaking crates.io crate channels-console 0.3.4 [INFO] removed 0 missing tests [INFO] finished tweaking crates.io crate channels-console 0.3.4 [INFO] tweaked toml for crates.io crate channels-console 0.3.4 written to /workspace/builds/worker-2-tc2/source/Cargo.toml [INFO] validating manifest of crates.io crate channels-console 0.3.4 on toolchain 5fed607fb5806ae20927e7e9193e3793c411ac20 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+5fed607fb5806ae20927e7e9193e3793c411ac20" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate crates.io crate channels-console 0.3.4 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" "+5fed607fb5806ae20927e7e9193e3793c411ac20" "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/source:/opt/rustwide/workdir:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,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" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3e793bdf10248eb2ddbd6b0faebed8155c11b4589982e2893733958d93e8d540" "sleep" "infinity", kill_on_drop: false }` [INFO] [stdout] 4c54833138bb875eb4b5a6a8b47de87720a2153471815c7aa12a005f57b794fe [INFO] running `Command { std: "docker" "start" "4c54833138bb875eb4b5a6a8b47de87720a2153471815c7aa12a005f57b794fe", kill_on_drop: false }` [INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "4c54833138bb875eb4b5a6a8b47de87720a2153471815c7aa12a005f57b794fe" "/opt/rustwide/cargo-home/bin/cargo" "+5fed607fb5806ae20927e7e9193e3793c411ac20" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "4c54833138bb875eb4b5a6a8b47de87720a2153471815c7aa12a005f57b794fe", kill_on_drop: false }` [INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=" "-e" "RUSTDOCFLAGS=" "-w" "/opt/rustwide/workdir" "--user" "0:0" "4c54833138bb875eb4b5a6a8b47de87720a2153471815c7aa12a005f57b794fe" "/opt/rustwide/cargo-home/bin/cargo" "+5fed607fb5806ae20927e7e9193e3793c411ac20" "fix" "--allow-no-vcs" "--allow-dirty" "--frozen" "--all" "--all-targets" "--message-format=json" "-Zfix-edition=end=2015,2024", kill_on_drop: false }` [INFO] [stderr] crater-edition-check: migrating to next edition [INFO] [stderr] Migrating Cargo.toml from 2021 edition to 2024 [INFO] [stderr] Compiling libc v0.2.177 [INFO] [stderr] Checking cfg-if v1.0.4 [INFO] [stderr] Compiling proc-macro2 v1.0.103 [INFO] [stderr] Compiling unicode-ident v1.0.20 [INFO] [stderr] Compiling quote v1.0.41 [INFO] [stderr] Compiling find-msvc-tools v0.1.4 [INFO] [stderr] Compiling shlex v1.3.0 [INFO] [stderr] Compiling serde_core v1.0.228 [INFO] [stderr] Checking memchr v2.7.6 [INFO] [stderr] Checking log v0.4.28 [INFO] [stderr] Checking zeroize v1.8.2 [INFO] [stderr] Checking itoa v1.0.15 [INFO] [stderr] Compiling crossbeam-utils v0.8.21 [INFO] [stderr] Compiling httparse v1.10.1 [INFO] [stderr] Checking untrusted v0.9.0 [INFO] [stderr] Compiling serde_json v1.0.145 [INFO] [stderr] Compiling crc32fast v1.5.0 [INFO] [stderr] Compiling serde v1.0.228 [INFO] [stderr] Checking once_cell v1.21.3 [INFO] [stderr] Compiling eyre v0.6.12 [INFO] [stderr] Checking regex-syntax v0.8.8 [INFO] [stderr] Checking bytes v1.10.1 [INFO] [stderr] Compiling cc v1.2.44 [INFO] [stderr] Checking rustls-pki-types v1.13.0 [INFO] [stderr] Checking ryu v1.0.20 [INFO] [stderr] Compiling rustls v0.23.34 [INFO] [stderr] Checking fnv v1.0.7 [INFO] [stderr] Checking simd-adler32 v0.3.7 [INFO] [stderr] Checking adler2 v2.0.1 [INFO] [stderr] Checking slab v0.4.11 [INFO] [stderr] Checking encode_unicode v1.0.0 [INFO] [stderr] Checking httpdate v1.0.3 [INFO] [stderr] Checking futures-task v0.3.31 [INFO] [stderr] Checking miniz_oxide v0.8.9 [INFO] [stderr] Checking chunked_transfer v1.5.0 [INFO] [stderr] Checking futures-core v0.3.31 [INFO] [stderr] Checking lazy_static v1.5.0 [INFO] [stderr] Checking aho-corasick v1.1.4 [INFO] [stderr] Checking unicode-width v0.1.14 [INFO] [stderr] Checking indenter v0.3.4 [INFO] [stderr] Checking subtle v2.6.1 [INFO] [stderr] Checking pin-utils v0.1.0 [INFO] [stderr] Checking base64 v0.22.1 [INFO] [stderr] Checking futures-sink v0.3.31 [INFO] [stderr] Checking http v1.3.1 [INFO] [stderr] Checking pin-project-lite v0.2.16 [INFO] [stderr] Checking ascii v1.1.0 [INFO] [stderr] Checking crossbeam-channel v0.5.15 [INFO] [stderr] Checking webpki-roots v1.0.4 [INFO] [stderr] Checking utf-8 v0.7.6 [INFO] [stderr] Checking percent-encoding v2.3.2 [INFO] [stderr] Checking flate2 v1.1.5 [INFO] [stderr] Checking tiny_http v0.12.0 [INFO] [stderr] Compiling syn v2.0.108 [INFO] [stderr] Checking ureq-proto v0.5.2 [INFO] [stderr] Compiling ring v0.17.14 [INFO] [stderr] Checking getrandom v0.2.16 [INFO] [stderr] Checking dirs-sys-next v0.1.2 [INFO] [stderr] Checking is-terminal v0.4.17 [INFO] [stderr] Checking dirs-next v2.0.0 [INFO] [stderr] Checking term v0.7.0 [INFO] [stderr] Checking prettytable-rs v0.10.0 [INFO] [stderr] Checking regex-automata v0.4.13 [INFO] [stderr] Checking regex v1.12.2 [INFO] [stderr] Compiling serde_derive v1.0.228 [INFO] [stderr] Compiling futures-macro v0.3.31 [INFO] [stderr] Checking futures-util v0.3.31 [INFO] [stderr] Checking rustls-webpki v0.103.8 [INFO] [stderr] Checking channels-console v0.3.4 (/opt/rustwide/workdir) [INFO] [stderr] Migrating src/lib.rs from 2021 edition to 2024 [INFO] [stderr] Fixed src/lib.rs (46 fixes) [INFO] [stdout] warning: relative drop order changing in Rust 2024 [INFO] [stdout] --> src/wrappers/std.rs:64:19 [INFO] [stdout] | [INFO] [stdout] 64 | match to_inner_rx.recv_timeout(std::time::Duration::from_millis(10)) { [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] 67 | if inner_tx.send(msg).is_err() { [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] 86 | } [INFO] [stdout] | - now the temporary value is dropped here, before the local variables in the block or statement [INFO] [stdout] | [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] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: relative drop order changing in Rust 2024 [INFO] [stdout] --> src/wrappers/std.rs:93:29 [INFO] [stdout] | [INFO] [stdout] 93 | while let Ok(msg) = inner_rx.recv() { [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] 94 | if from_inner_tx.send(msg).is_err() { [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] 103 | } [INFO] [stdout] | - now the temporary value is dropped here, before the local variables in the block or statement [INFO] [stdout] | [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] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: relative drop order changing in Rust 2024 [INFO] [stdout] --> src/wrappers/std.rs:190:19 [INFO] [stdout] | [INFO] [stdout] 190 | match to_inner_rx.recv_timeout(std::time::Duration::from_millis(10)) { [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] 193 | if inner_tx.send(msg).is_err() { [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] 212 | } [INFO] [stdout] | - now the temporary value is dropped here, before the local variables in the block or statement [INFO] [stdout] | [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] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: relative drop order changing in Rust 2024 [INFO] [stdout] --> src/wrappers/std.rs:219:29 [INFO] [stdout] | [INFO] [stdout] 219 | while let Ok(msg) = inner_rx.recv() { [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] 220 | if from_inner_tx.send(msg).is_err() { [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] 229 | } [INFO] [stdout] | - now the temporary value is dropped here, before the local variables in the block or statement [INFO] [stdout] | [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] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Checking ureq v3.1.4 [INFO] [stderr] Migrating tests/cli_tests_std.rs from 2021 edition to 2024 [INFO] [stdout] warning: relative drop order changing in Rust 2024 [INFO] [stdout] --> tests/cli_tests_std.rs:127:19 [INFO] [stdout] | [INFO] [stdout] 127 | match ureq::get("http://127.0.0.1:6770/channels").call() { [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] 128 | Ok(mut response) => { [INFO] [stdout] | ------------ [INFO] [stdout] | | [INFO] [stdout] | `response` calls a custom destructor [INFO] [stdout] | `response` will be dropped later as of Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 136 | Err(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] 140 | } [INFO] [stdout] | - now the temporary value is dropped here, before the local variables in the block or statement [INFO] [stdout] | [INFO] [stdout] = note: `#1` may invoke a custom destructor because it contains a trait object [INFO] [stdout] note: `#1` invokes this custom destructor [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.10.1/src/bytes.rs:684:1 [INFO] [stdout] | [INFO] [stdout] 684 | impl Drop for Bytes { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] note: `#1` invokes this custom destructor [INFO] [stdout] --> /rustc/5fed607fb5806ae20927e7e9193e3793c411ac20/library/alloc/src/sync.rs:3468:0 [INFO] [stdout] = note: `response` may invoke a custom destructor because it contains a trait object [INFO] [stdout] note: `response` invokes this custom destructor [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.10.1/src/bytes.rs:684:1 [INFO] [stdout] | [INFO] [stdout] 684 | impl Drop for Bytes { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] note: `response` invokes this custom destructor [INFO] [stdout] --> /rustc/5fed607fb5806ae20927e7e9193e3793c411ac20/library/alloc/src/sync.rs:3468:0 [INFO] [stdout] = note: `e` may invoke a custom destructor because it contains a trait object [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] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Migrating tests/cli_tests_crossbeam.rs from 2021 edition to 2024 [INFO] [stdout] warning: relative drop order changing in Rust 2024 [INFO] [stdout] --> tests/cli_tests_crossbeam.rs:180:19 [INFO] [stdout] | [INFO] [stdout] 180 | match ureq::get("http://127.0.0.1:6770/channels").call() { [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] 181 | Ok(mut response) => { [INFO] [stdout] | ------------ [INFO] [stdout] | | [INFO] [stdout] | `response` calls a custom destructor [INFO] [stdout] | `response` will be dropped later as of Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 189 | Err(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] 193 | } [INFO] [stdout] | - now the temporary value is dropped here, before the local variables in the block or statement [INFO] [stdout] | [INFO] [stdout] = note: `#1` may invoke a custom destructor because it contains a trait object [INFO] [stdout] note: `#1` invokes this custom destructor [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.10.1/src/bytes.rs:684:1 [INFO] [stdout] | [INFO] [stdout] 684 | impl Drop for Bytes { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] note: `#1` invokes this custom destructor [INFO] [stdout] --> /rustc/5fed607fb5806ae20927e7e9193e3793c411ac20/library/alloc/src/sync.rs:3468:0 [INFO] [stdout] = note: `response` may invoke a custom destructor because it contains a trait object [INFO] [stdout] note: `response` invokes this custom destructor [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.10.1/src/bytes.rs:684:1 [INFO] [stdout] | [INFO] [stdout] 684 | impl Drop for Bytes { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] note: `response` invokes this custom destructor [INFO] [stdout] --> /rustc/5fed607fb5806ae20927e7e9193e3793c411ac20/library/alloc/src/sync.rs:3468:0 [INFO] [stdout] = note: `e` may invoke a custom destructor because it contains a trait object [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] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: relative drop order changing in Rust 2024 [INFO] [stdout] --> src/wrappers/std.rs:64:19 [INFO] [stdout] | [INFO] [stdout] 64 | match to_inner_rx.recv_timeout(std::time::Duration::from_millis(10)) { [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] 67 | if inner_tx.send(msg).is_err() { [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] 86 | } [INFO] [stdout] | - now the temporary value is dropped here, before the local variables in the block or statement [INFO] [stdout] | [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] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Migrating tests/cli_tests_futures.rs from 2021 edition to 2024 [INFO] [stdout] warning: relative drop order changing in Rust 2024 [INFO] [stdout] --> src/wrappers/std.rs:93:29 [INFO] [stdout] | [INFO] [stdout] 93 | while let Ok(msg) = inner_rx.recv() { [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] 94 | if from_inner_tx.send(msg).is_err() { [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] 103 | } [INFO] [stdout] | - now the temporary value is dropped here, before the local variables in the block or statement [INFO] [stdout] | [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] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: relative drop order changing in Rust 2024 [INFO] [stdout] --> src/wrappers/std.rs:190:19 [INFO] [stdout] | [INFO] [stdout] 190 | match to_inner_rx.recv_timeout(std::time::Duration::from_millis(10)) { [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] 193 | if inner_tx.send(msg).is_err() { [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] 212 | } [INFO] [stdout] | - now the temporary value is dropped here, before the local variables in the block or statement [INFO] [stdout] | [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] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: relative drop order changing in Rust 2024 [INFO] [stdout] --> src/wrappers/std.rs:219:29 [INFO] [stdout] | [INFO] [stdout] 219 | while let Ok(msg) = inner_rx.recv() { [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] 220 | if from_inner_tx.send(msg).is_err() { [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] 229 | } [INFO] [stdout] | - now the temporary value is dropped here, before the local variables in the block or statement [INFO] [stdout] | [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] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Migrating tests/cli_tests_tokio.rs from 2021 edition to 2024 [INFO] [stdout] warning: relative drop order changing in Rust 2024 [INFO] [stdout] --> tests/cli_tests_futures.rs:181:19 [INFO] [stdout] | [INFO] [stdout] 181 | match ureq::get("http://127.0.0.1:6770/channels").call() { [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] 182 | Ok(mut response) => { [INFO] [stdout] | ------------ [INFO] [stdout] | | [INFO] [stdout] | `response` calls a custom destructor [INFO] [stdout] | `response` will be dropped later as of Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 190 | Err(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] 194 | } [INFO] [stdout] | - now the temporary value is dropped here, before the local variables in the block or statement [INFO] [stdout] | [INFO] [stdout] = note: `#1` may invoke a custom destructor because it contains a trait object [INFO] [stdout] note: `#1` invokes this custom destructor [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.10.1/src/bytes.rs:684:1 [INFO] [stdout] | [INFO] [stdout] 684 | impl Drop for Bytes { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] note: `#1` invokes this custom destructor [INFO] [stdout] --> /rustc/5fed607fb5806ae20927e7e9193e3793c411ac20/library/alloc/src/sync.rs:3468:0 [INFO] [stdout] = note: `response` may invoke a custom destructor because it contains a trait object [INFO] [stdout] note: `response` invokes this custom destructor [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.10.1/src/bytes.rs:684:1 [INFO] [stdout] | [INFO] [stdout] 684 | impl Drop for Bytes { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] note: `response` invokes this custom destructor [INFO] [stdout] --> /rustc/5fed607fb5806ae20927e7e9193e3793c411ac20/library/alloc/src/sync.rs:3468:0 [INFO] [stdout] = note: `e` may invoke a custom destructor because it contains a trait object [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] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: relative drop order changing in Rust 2024 [INFO] [stdout] --> tests/cli_tests_tokio.rs:182:19 [INFO] [stdout] | [INFO] [stdout] 182 | match ureq::get("http://127.0.0.1:6770/channels").call() { [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] 183 | Ok(mut response) => { [INFO] [stdout] | ------------ [INFO] [stdout] | | [INFO] [stdout] | `response` calls a custom destructor [INFO] [stdout] | `response` will be dropped later as of Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 191 | Err(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] 195 | } [INFO] [stdout] | - now the temporary value is dropped here, before the local variables in the block or statement [INFO] [stdout] | [INFO] [stdout] = note: `#1` may invoke a custom destructor because it contains a trait object [INFO] [stdout] note: `#1` invokes this custom destructor [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.10.1/src/bytes.rs:684:1 [INFO] [stdout] | [INFO] [stdout] 684 | impl Drop for Bytes { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] note: `#1` invokes this custom destructor [INFO] [stdout] --> /rustc/5fed607fb5806ae20927e7e9193e3793c411ac20/library/alloc/src/sync.rs:3468:0 [INFO] [stdout] = note: `response` may invoke a custom destructor because it contains a trait object [INFO] [stdout] note: `response` invokes this custom destructor [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.10.1/src/bytes.rs:684:1 [INFO] [stdout] | [INFO] [stdout] 684 | impl Drop for Bytes { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] note: `response` invokes this custom destructor [INFO] [stdout] --> /rustc/5fed607fb5806ae20927e7e9193e3793c411ac20/library/alloc/src/sync.rs:3468:0 [INFO] [stdout] = note: `e` may invoke a custom destructor because it contains a trait object [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] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 11.45s [INFO] [stderr] crater-edition-check: channels-console v0.3.4 (/opt/rustwide/workdir) updating edition from 2021 to 2024 [INFO] [stderr] Checking channels-console v0.3.4 (/opt/rustwide/workdir) [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 12.27s [INFO] [stderr] crater-edition-check all packages now at latest edition [INFO] [stderr] crater-edition-check: all finished [INFO] running `Command { std: "docker" "inspect" "4c54833138bb875eb4b5a6a8b47de87720a2153471815c7aa12a005f57b794fe", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "4c54833138bb875eb4b5a6a8b47de87720a2153471815c7aa12a005f57b794fe", kill_on_drop: false }` [INFO] [stdout] 4c54833138bb875eb4b5a6a8b47de87720a2153471815c7aa12a005f57b794fe