[INFO] fetching crate tokactor 2.1.0... [INFO] checking tokactor-2.1.0 against try#65132f36b923285d5da381c2fbafee6ce899e841 for pr-132712-1 [INFO] extracting crate tokactor 2.1.0 into /workspace/builds/worker-6-tc2/source [INFO] validating manifest of crates.io crate tokactor 2.1.0 on toolchain 65132f36b923285d5da381c2fbafee6ce899e841 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+65132f36b923285d5da381c2fbafee6ce899e841" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking crates.io crate tokactor 2.1.0 [INFO] finished tweaking crates.io crate tokactor 2.1.0 [INFO] tweaked toml for crates.io crate tokactor 2.1.0 written to /workspace/builds/worker-6-tc2/source/Cargo.toml [INFO] crate crates.io crate tokactor 2.1.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" "+65132f36b923285d5da381c2fbafee6ce899e841" "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:4a844ea9eb2546a2d2c7022eacef16ef2e8229c7fbb2c7d4d55a9ceca922f72d" "/opt/rustwide/cargo-home/bin/cargo" "+65132f36b923285d5da381c2fbafee6ce899e841" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] f9ddbd5d6ae2d6be63140e49b07c7cf78e08856ce20790f858b7bca7d5b88d86 [INFO] running `Command { std: "docker" "start" "-a" "f9ddbd5d6ae2d6be63140e49b07c7cf78e08856ce20790f858b7bca7d5b88d86", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "f9ddbd5d6ae2d6be63140e49b07c7cf78e08856ce20790f858b7bca7d5b88d86", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "f9ddbd5d6ae2d6be63140e49b07c7cf78e08856ce20790f858b7bca7d5b88d86", kill_on_drop: false }` [INFO] [stdout] f9ddbd5d6ae2d6be63140e49b07c7cf78e08856ce20790f858b7bca7d5b88d86 [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=allow" "-e" "RUSTDOCFLAGS=--cap-lints=allow" "-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:4a844ea9eb2546a2d2c7022eacef16ef2e8229c7fbb2c7d4d55a9ceca922f72d" "/opt/rustwide/cargo-home/bin/cargo" "+65132f36b923285d5da381c2fbafee6ce899e841" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 21bbf5bfe8a27c935c67f6d44210d9ee267f1274ec54fa58313e25a9fc5545b8 [INFO] running `Command { std: "docker" "start" "-a" "21bbf5bfe8a27c935c67f6d44210d9ee267f1274ec54fa58313e25a9fc5545b8", kill_on_drop: false }` [INFO] [stderr] Copying to /tmp/fixit [INFO] [stderr] Running `cargo fix --edition` [INFO] [stderr] Migrating Cargo.toml from 2021 edition to 2024 [INFO] [stderr] Compiling serde v1.0.180 [INFO] [stderr] Compiling futures-core v0.3.28 [INFO] [stderr] Compiling serde_derive v1.0.180 [INFO] [stderr] Compiling futures-task v0.3.28 [INFO] [stderr] Checking tracing-core v0.1.31 [INFO] [stderr] Compiling tokio v1.29.1 [INFO] [stderr] Checking futures-sink v0.3.28 [INFO] [stderr] Compiling futures-util v0.3.28 [INFO] [stderr] Compiling rustix v0.38.6 [INFO] [stderr] Checking bytes v1.4.0 [INFO] [stderr] Compiling futures-channel v0.3.28 [INFO] [stderr] Compiling syn v2.0.28 [INFO] [stderr] Checking socket2 v0.4.9 [INFO] [stderr] Checking mio v0.8.8 [INFO] [stderr] Checking bitflags v2.3.3 [INFO] [stderr] Checking regex-syntax v0.7.4 [INFO] [stderr] Checking clap_builder v4.3.19 [INFO] [stderr] Checking futures-io v0.3.28 [INFO] [stderr] Checking overload v0.1.1 [INFO] [stderr] Compiling httparse v1.8.0 [INFO] [stderr] Checking log v0.4.19 [INFO] [stderr] Checking nu-ansi-term v0.46.0 [INFO] [stderr] Checking sharded-slab v0.1.4 [INFO] [stderr] Checking tracing-log v0.1.3 [INFO] [stderr] Checking http v0.2.9 [INFO] [stderr] Checking is-terminal v0.4.9 [INFO] [stderr] Checking tracing-subscriber v0.3.17 [INFO] [stderr] Checking regex-automata v0.3.4 [INFO] [stderr] Checking clap v4.3.19 [INFO] [stderr] Checking futures v0.3.28 [INFO] [stderr] Checking regex v1.9.1 [INFO] [stderr] Checking serde_json v1.0.104 [INFO] [stderr] Checking ciborium v0.2.1 [INFO] [stderr] Checking tinytemplate v1.2.1 [INFO] [stderr] Compiling tokio-macros v2.1.0 [INFO] [stderr] Compiling tracing-attributes v0.1.26 [INFO] [stderr] Checking tracing v0.1.37 [INFO] [stderr] Checking criterion v0.5.1 [INFO] [stderr] Checking tokactor v2.1.0 (/tmp/fixit) [INFO] [stderr] Migrating src/lib.rs from 2021 edition to 2024 [INFO] [stderr] Fixed src/io/mod.rs (2 fixes) [INFO] [stderr] Fixed src/address.rs (4 fixes) [INFO] [stderr] Fixed src/context.rs (1 fix) [INFO] [stderr] Fixed src/world/mod.rs (2 fixes) [INFO] [stderr] Fixed src/single/address.rs (5 fixes) [INFO] [stderr] Fixed src/io/tcp.rs (1 fix) [INFO] [stderr] Fixed src/executor.rs (11 fixes) [INFO] [stderr] Fixed src/envelope.rs (1 fix) [INFO] [stdout] warning: `impl io::Component` will capture more lifetimes than possibly intended in edition 2024 [INFO] [stdout] --> src/world/mod.rs:52:26 [INFO] [stdout] | [INFO] [stdout] 52 | ) -> std::io::Result [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see [INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds [INFO] [stdout] --> src/world/mod.rs:49:9 [INFO] [stdout] | [INFO] [stdout] 49 | &self, [INFO] [stdout] | ^ [INFO] [stdout] = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024 [INFO] [stdout] note: you could use a `use<...>` bound to explicitly specify captures, but argument-position `impl Trait`s are not nameable [INFO] [stdout] --> src/world/mod.rs:50:18 [INFO] [stdout] | [INFO] [stdout] 50 | address: impl ToSocketAddrs, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 51 | actor: impl Actor + Ask, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: `--force-warn impl-trait-overcaptures` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit [INFO] [stdout] | [INFO] [stdout] 48 ~ pub fn tcp_component>( [INFO] [stdout] 49 | &self, [INFO] [stdout] 50 ~ address: T, [INFO] [stdout] 51 ~ actor: U, [INFO] [stdout] 52 ~ ) -> std::io::Result> [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: relative drop order changing in Rust 2024 [INFO] [stdout] --> src/context.rs:381:34 [INFO] [stdout] | [INFO] [stdout] 380 | let _permit = permit; [INFO] [stdout] | ------- [INFO] [stdout] | | [INFO] [stdout] | `_permit` calls a custom destructor [INFO] [stdout] | `_permit` will be dropped later as of Edition 2024 [INFO] [stdout] 381 | actor.handle(future).await [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] 382 | }); [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 issue #123739 [INFO] [stdout] note: `#1` invokes this custom destructor [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.29.1/src/sync/watch.rs:769:1 [INFO] [stdout] | [INFO] [stdout] 769 | impl Drop for Receiver { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] note: `_permit` invokes this custom destructor [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.29.1/src/sync/semaphore.rs:692:1 [INFO] [stdout] | [INFO] [stdout] 692 | impl Drop for OwnedSemaphorePermit { [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] = 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/executor.rs:73:15 [INFO] [stdout] | [INFO] [stdout] 72 | let mut this = executor.shutdown().await; [INFO] [stdout] | -------- [INFO] [stdout] | | [INFO] [stdout] | `this` calls a custom destructor [INFO] [stdout] | `this` will be dropped later as of Edition 2024 [INFO] [stdout] 73 | match this.context.into_future_sender.take() { Some(tx) => { [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] 76 | } [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 issue #123739 [INFO] [stdout] note: `#1` invokes this custom destructor [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.29.1/src/sync/oneshot.rs:843:1 [INFO] [stdout] | [INFO] [stdout] 843 | impl Drop for Sender { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] note: `this` invokes this custom destructor [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.29.1/src/sync/watch.rs:769:1 [INFO] [stdout] | [INFO] [stdout] 769 | impl Drop for Receiver { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] note: `this` invokes this custom destructor [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.29.1/src/sync/oneshot.rs:843:1 [INFO] [stdout] | [INFO] [stdout] 843 | impl Drop for Sender { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] note: `this` invokes this custom destructor [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.29.1/src/sync/watch.rs:1145:1 [INFO] [stdout] | [INFO] [stdout] 1145 | impl Drop for Sender { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] note: `this` invokes this custom destructor [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.29.1/src/sync/mpsc/chan.rs:341:1 [INFO] [stdout] | [INFO] [stdout] 341 | impl Drop for Rx { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] note: `this` invokes this custom destructor [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.29.1/src/sync/mpsc/chan.rs:205:1 [INFO] [stdout] | [INFO] [stdout] 205 | impl Drop for Tx { [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] [INFO] [stdout] [INFO] [stdout] warning: relative drop order changing in Rust 2024 [INFO] [stdout] --> src/executor.rs:237:31 [INFO] [stdout] | [INFO] [stdout] 237 | while let Some(msg) = self.context.mailbox.recv().await { [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] | | this value will be stored in a temporary; let us call it `#5` [INFO] [stdout] | | up until Edition 2021 `#5` is dropped last but will be dropped earlier in Edition 2024 [INFO] [stdout] | `msg` calls a custom destructor [INFO] [stdout] | `msg` will be dropped later as of Edition 2024 [INFO] [stdout] 238 | self.check_anonymous_actors().await; [INFO] [stdout] | ----------------------------------- [INFO] [stdout] | | [INFO] [stdout] | `__awaitee` calls a custom destructor [INFO] [stdout] | `__awaitee` will be dropped later as of Edition 2024 [INFO] [stdout] 239 | let (this, event) = self.process_message(msg).await; [INFO] [stdout] | ------------------------------- [INFO] [stdout] | | | [INFO] [stdout] | | this value will be stored in a temporary; let us call it `#4` [INFO] [stdout] | | `#4` will be dropped later as of Edition 2024 [INFO] [stdout] | this value will be stored in a temporary; let us call it `#2` [INFO] [stdout] | `#2` will be dropped later as of Edition 2024 [INFO] [stdout] | this value will be stored in a temporary; let us call it `#3` [INFO] [stdout] | `#3` will be dropped later as of Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 245 | } [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 issue #123739 [INFO] [stdout] = note: `#5` may invoke a custom destructor because it contains a trait object [INFO] [stdout] = note: `#1` may invoke a custom destructor because it contains a trait object [INFO] [stdout] = note: `msg` may invoke a custom destructor because it contains a trait object [INFO] [stdout] note: `#2` invokes this custom destructor [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.29.1/src/sync/watch.rs:769:1 [INFO] [stdout] | [INFO] [stdout] 769 | impl Drop for Receiver { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] note: `#2` invokes this custom destructor [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.29.1/src/sync/oneshot.rs:843:1 [INFO] [stdout] | [INFO] [stdout] 843 | impl Drop for Sender { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] note: `#2` invokes this custom destructor [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.29.1/src/sync/watch.rs:1145:1 [INFO] [stdout] | [INFO] [stdout] 1145 | impl Drop for Sender { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] note: `#2` invokes this custom destructor [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.29.1/src/sync/mpsc/chan.rs:341:1 [INFO] [stdout] | [INFO] [stdout] 341 | impl Drop for Rx { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] note: `#2` invokes this custom destructor [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.29.1/src/sync/mpsc/chan.rs:205:1 [INFO] [stdout] | [INFO] [stdout] 205 | impl Drop for Tx { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: `#3` may invoke a custom destructor because it contains a trait object [INFO] [stdout] note: `#3` invokes this custom destructor [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.29.1/src/runtime/task/join.rs:346:1 [INFO] [stdout] | [INFO] [stdout] 346 | impl Drop for JoinHandle { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] note: `#3` invokes this custom destructor [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.29.1/src/sync/watch.rs:769:1 [INFO] [stdout] | [INFO] [stdout] 769 | impl Drop for Receiver { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] note: `#3` invokes this custom destructor [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.29.1/src/sync/oneshot.rs:843:1 [INFO] [stdout] | [INFO] [stdout] 843 | impl Drop for Sender { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] note: `#3` invokes this custom destructor [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.29.1/src/sync/watch.rs:1145:1 [INFO] [stdout] | [INFO] [stdout] 1145 | impl Drop for Sender { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] note: `#3` invokes this custom destructor [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.29.1/src/sync/mpsc/chan.rs:341:1 [INFO] [stdout] | [INFO] [stdout] 341 | impl Drop for Rx { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] note: `#3` invokes this custom destructor [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.29.1/src/sync/mpsc/chan.rs:205:1 [INFO] [stdout] | [INFO] [stdout] 205 | impl Drop for Tx { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] note: `#4` invokes this custom destructor [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.29.1/src/sync/watch.rs:769:1 [INFO] [stdout] | [INFO] [stdout] 769 | impl Drop for Receiver { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] note: `#4` invokes this custom destructor [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.29.1/src/sync/oneshot.rs:843:1 [INFO] [stdout] | [INFO] [stdout] 843 | impl Drop for Sender { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] note: `#4` invokes this custom destructor [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.29.1/src/sync/watch.rs:1145:1 [INFO] [stdout] | [INFO] [stdout] 1145 | impl Drop for Sender { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] note: `#4` invokes this custom destructor [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.29.1/src/sync/mpsc/chan.rs:341:1 [INFO] [stdout] | [INFO] [stdout] 341 | impl Drop for Rx { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] note: `#4` invokes this custom destructor [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.29.1/src/sync/mpsc/chan.rs:205:1 [INFO] [stdout] | [INFO] [stdout] 205 | impl Drop for Tx { [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] [INFO] [stdout] [INFO] [stdout] warning: relative drop order changing in Rust 2024 [INFO] [stdout] --> src/executor.rs:247:15 [INFO] [stdout] | [INFO] [stdout] 246 | let mut this = self.shutdown().await; [INFO] [stdout] | -------- [INFO] [stdout] | | [INFO] [stdout] | `this` calls a custom destructor [INFO] [stdout] | `this` will be dropped later as of Edition 2024 [INFO] [stdout] 247 | match this.context.into_future_sender.take() { Some(tx) => { [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] 250 | } [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 issue #123739 [INFO] [stdout] note: `#1` invokes this custom destructor [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.29.1/src/sync/oneshot.rs:843:1 [INFO] [stdout] | [INFO] [stdout] 843 | impl Drop for Sender { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] note: `this` invokes this custom destructor [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.29.1/src/sync/watch.rs:769:1 [INFO] [stdout] | [INFO] [stdout] 769 | impl Drop for Receiver { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] note: `this` invokes this custom destructor [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.29.1/src/sync/oneshot.rs:843:1 [INFO] [stdout] | [INFO] [stdout] 843 | impl Drop for Sender { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] note: `this` invokes this custom destructor [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.29.1/src/sync/watch.rs:1145:1 [INFO] [stdout] | [INFO] [stdout] 1145 | impl Drop for Sender { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] note: `this` invokes this custom destructor [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.29.1/src/sync/mpsc/chan.rs:341:1 [INFO] [stdout] | [INFO] [stdout] 341 | impl Drop for Rx { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] note: `this` invokes this custom destructor [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.29.1/src/sync/mpsc/chan.rs:205:1 [INFO] [stdout] | [INFO] [stdout] 205 | impl Drop for Tx { [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] [INFO] [stdout] [INFO] [stdout] warning: relative drop order changing in Rust 2024 [INFO] [stdout] --> src/executor.rs:442:29 [INFO] [stdout] | [INFO] [stdout] 442 | while let Ok(msg) = self.context.mailbox.try_recv() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value will be stored in a temporary; let us call it `#3` [INFO] [stdout] | up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024 [INFO] [stdout] 443 | let (this, _) = self.process_message(msg).await; [INFO] [stdout] | ------------------------------- [INFO] [stdout] | | | [INFO] [stdout] | | this value will be stored in a temporary; let us call it `#2` [INFO] [stdout] | | `#2` will be dropped later as of 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] | `__awaitee` calls a custom destructor [INFO] [stdout] | `__awaitee` will be dropped later as of Edition 2024 [INFO] [stdout] 444 | self = this; [INFO] [stdout] 445 | } [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 issue #123739 [INFO] [stdout] = note: `#3` 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-6f17d22bba15001f/tokio-1.29.1/src/sync/watch.rs:769:1 [INFO] [stdout] | [INFO] [stdout] 769 | impl Drop for Receiver { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] note: `#1` invokes this custom destructor [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.29.1/src/sync/oneshot.rs:843:1 [INFO] [stdout] | [INFO] [stdout] 843 | impl Drop for Sender { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] note: `#1` invokes this custom destructor [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.29.1/src/sync/watch.rs:1145:1 [INFO] [stdout] | [INFO] [stdout] 1145 | impl Drop for Sender { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] note: `#1` invokes this custom destructor [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.29.1/src/sync/mpsc/chan.rs:341:1 [INFO] [stdout] | [INFO] [stdout] 341 | impl Drop for Rx { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] note: `#1` invokes this custom destructor [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.29.1/src/sync/mpsc/chan.rs:205:1 [INFO] [stdout] | [INFO] [stdout] 205 | impl Drop for Tx { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: `__awaitee` may invoke a custom destructor because it contains a trait object [INFO] [stdout] note: `__awaitee` invokes this custom destructor [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.29.1/src/runtime/task/join.rs:346:1 [INFO] [stdout] | [INFO] [stdout] 346 | impl Drop for JoinHandle { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] note: `__awaitee` invokes this custom destructor [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.29.1/src/sync/watch.rs:769:1 [INFO] [stdout] | [INFO] [stdout] 769 | impl Drop for Receiver { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] note: `__awaitee` invokes this custom destructor [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.29.1/src/sync/oneshot.rs:843:1 [INFO] [stdout] | [INFO] [stdout] 843 | impl Drop for Sender { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] note: `__awaitee` invokes this custom destructor [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.29.1/src/sync/watch.rs:1145:1 [INFO] [stdout] | [INFO] [stdout] 1145 | impl Drop for Sender { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] note: `__awaitee` invokes this custom destructor [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.29.1/src/sync/mpsc/chan.rs:341:1 [INFO] [stdout] | [INFO] [stdout] 341 | impl Drop for Rx { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] note: `__awaitee` invokes this custom destructor [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.29.1/src/sync/mpsc/chan.rs:205:1 [INFO] [stdout] | [INFO] [stdout] 205 | impl Drop for Tx { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] note: `#2` invokes this custom destructor [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.29.1/src/sync/watch.rs:769:1 [INFO] [stdout] | [INFO] [stdout] 769 | impl Drop for Receiver { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] note: `#2` invokes this custom destructor [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.29.1/src/sync/oneshot.rs:843:1 [INFO] [stdout] | [INFO] [stdout] 843 | impl Drop for Sender { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] note: `#2` invokes this custom destructor [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.29.1/src/sync/watch.rs:1145:1 [INFO] [stdout] | [INFO] [stdout] 1145 | impl Drop for Sender { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] note: `#2` invokes this custom destructor [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.29.1/src/sync/mpsc/chan.rs:341:1 [INFO] [stdout] | [INFO] [stdout] 341 | impl Drop for Rx { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] note: `#2` invokes this custom destructor [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.29.1/src/sync/mpsc/chan.rs:205:1 [INFO] [stdout] | [INFO] [stdout] 205 | impl Drop for Tx { [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] [INFO] [stdout] [INFO] [stdout] warning: relative drop order changing in Rust 2024 [INFO] [stdout] --> src/executor.rs:478:31 [INFO] [stdout] | [INFO] [stdout] 464 | let event = tokio::select! { [INFO] [stdout] | _________________________- [INFO] [stdout] 465 | | // Or recieve a message from our supervisor [INFO] [stdout] 466 | | result = reciever.changed() => match result { [INFO] [stdout] 467 | | Ok(_) => match *reciever.borrow() { [INFO] [stdout] | | ----------------- [INFO] [stdout] | | | [INFO] [stdout] | | this value will be stored in a temporary; let us call it `#2` [INFO] [stdout] | | `#2` will be dropped later as of Edition 2024 [INFO] [stdout] ... | [INFO] [stdout] 476 | | option = rx.recv() => { [INFO] [stdout] | | ------ [INFO] [stdout] | | | [INFO] [stdout] | | `option` calls a custom destructor [INFO] [stdout] | | `option` will be dropped later as of Edition 2024 [INFO] [stdout] 477 | | match option { Some(message) => { [INFO] [stdout] 478 | | match parent.send_async(message).await { Err(err) => { [INFO] [stdout] | | ^^^^^^^^^^^^^^^^^^^^^^^^^^^----- --- [INFO] [stdout] | | | | | [INFO] [stdout] | | | | `err` calls a custom destructor [INFO] [stdout] | | | | `err` will be dropped later as of Edition 2024 [INFO] [stdout] | | | this value will be stored in a temporary; let us call it `#5` [INFO] [stdout] | | | up until Edition 2021 `#5` 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 `#3` [INFO] [stdout] | | | `#3` will be dropped later as of Edition 2024 [INFO] [stdout] | | this value will be stored in a temporary; let us call it `#4` [INFO] [stdout] | | up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024 [INFO] [stdout] | | `__awaitee` calls a custom destructor [INFO] [stdout] | | `__awaitee` will be dropped later as of Edition 2024 [INFO] [stdout] ... | [INFO] [stdout] 487 | | } _ => { [INFO] [stdout] | | - now the temporary value is dropped here, before the local variables in the block or statement [INFO] [stdout] ... | [INFO] [stdout] 490 | | } [INFO] [stdout] 491 | | }; [INFO] [stdout] | | - [INFO] [stdout] | | | [INFO] [stdout] | | `output` calls a custom destructor [INFO] [stdout] | | `output` will be dropped later as of Edition 2024 [INFO] [stdout] | | `futures` calls a custom destructor [INFO] [stdout] | | `futures` will be dropped later as of 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] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] note: `#2` invokes this custom destructor [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/lock_api-0.4.10/src/rwlock.rs:1331:1 [INFO] [stdout] | [INFO] [stdout] 1331 | impl<'a, R: RawRwLock + 'a, T: ?Sized + 'a> Drop for RwLockReadGuard<'a, R, T> { [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] [INFO] [stdout] [INFO] [stdout] warning: relative drop order changing in Rust 2024 [INFO] [stdout] --> src/io/mod.rs:124:15 [INFO] [stdout] | [INFO] [stdout] 123 | let (tx, rx) = oneshot::channel(); [INFO] [stdout] | -- [INFO] [stdout] | | [INFO] [stdout] | `rx` calls a custom destructor [INFO] [stdout] | `rx` will be dropped later as of Edition 2024 [INFO] [stdout] 124 | match self.inner.send((data, tx)).await { Err(err) => { [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] | up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 132 | } [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 issue #123739 [INFO] [stdout] note: `rx` invokes this custom destructor [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.29.1/src/sync/oneshot.rs:1071:1 [INFO] [stdout] | [INFO] [stdout] 1071 | impl Drop for Receiver { [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] [INFO] [stdout] [INFO] [stdout] warning: relative drop order changing in Rust 2024 [INFO] [stdout] --> src/io/mod.rs:188:27 [INFO] [stdout] | [INFO] [stdout] 176 | let (mut frame, sender) = [INFO] [stdout] | --------- ------ [INFO] [stdout] | | | [INFO] [stdout] | | `sender` calls a custom destructor [INFO] [stdout] | | `sender` will be dropped later as of Edition 2024 [INFO] [stdout] | `frame` calls a custom destructor [INFO] [stdout] | `frame` will be dropped later as of Edition 2024 [INFO] [stdout] 177 | match supervisor(&mut parent_rx, pending::<()>(), reader_rx.recv()).await { [INFO] [stdout] | - ------------------------------------------------------------------- [INFO] [stdout] | | | | [INFO] [stdout] | | | this value will be stored in a temporary; let us call it `#3` [INFO] [stdout] | | | `#3` will be dropped later as of Edition 2024 [INFO] [stdout] | | this value will be stored in a temporary; let us call it `#2` [INFO] [stdout] | | `#2` will be dropped later as of Edition 2024 [INFO] [stdout] | | `__awaitee` calls a custom destructor [INFO] [stdout] | _____________| `__awaitee` will be dropped later as of Edition 2024 [INFO] [stdout] | | [INFO] [stdout] 178 | | Supervise::Success(Some(output)) => output, [INFO] [stdout] 179 | | Supervise::Continue => continue, [INFO] [stdout] 180 | | Supervise::Success(None) | Supervise::Dead | Supervise::Shutdown => break, [INFO] [stdout] 181 | | }; [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] 182 | [INFO] [stdout] 183 | let mut payload = Payload::default(); [INFO] [stdout] | ----------- [INFO] [stdout] | | [INFO] [stdout] | `payload` calls a custom destructor [INFO] [stdout] | `payload` will be dropped later as of Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 186 | match supervisor(&mut parent_rx, pending::<()>(), frame.read(&mut source)).await { [INFO] [stdout] | -------------------------------------------------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value will be stored in a temporary; let us call it `#4` [INFO] [stdout] | `#4` will be dropped later as of Edition 2024 [INFO] [stdout] 187 | Supervise::Success(Ok(Some(_))) => { [INFO] [stdout] 188 | match payload.recv(&frame) { Some(object) => { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value will be stored in a temporary; let us call it `#6` [INFO] [stdout] | up until Edition 2021 `#6` is dropped last but will be dropped earlier in Edition 2024 [INFO] [stdout] 189 | let _ = sender.send(Ok(object)); [INFO] [stdout] | ----------------------- [INFO] [stdout] | | [INFO] [stdout] | this value will be stored in a temporary; let us call it `#5` [INFO] [stdout] | `#5` will be dropped later as of Edition 2024 [INFO] [stdout] 190 | break; [INFO] [stdout] 191 | } _ => {}} [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 issue #123739 [INFO] [stdout] note: `sender` invokes this custom destructor [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.29.1/src/sync/oneshot.rs:843:1 [INFO] [stdout] | [INFO] [stdout] 843 | impl Drop for Sender { [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] [INFO] [stdout] [INFO] [stdout] warning: relative drop order changing in Rust 2024 [INFO] [stdout] --> src/single/address.rs:62:15 [INFO] [stdout] | [INFO] [stdout] 61 | let (tx, rx) = oneshot::channel(); [INFO] [stdout] | -- [INFO] [stdout] | | [INFO] [stdout] | `rx` calls a custom destructor [INFO] [stdout] | `rx` will be dropped later as of Edition 2024 [INFO] [stdout] 62 | match self.inner.send((message, tx)).await { Err(err) => { [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] | up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 73 | } [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 issue #123739 [INFO] [stdout] note: `rx` invokes this custom destructor [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.29.1/src/sync/oneshot.rs:1071:1 [INFO] [stdout] | [INFO] [stdout] 1071 | impl Drop for Receiver { [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] [INFO] [stdout] [INFO] [stdout] warning: relative drop order changing in Rust 2024 [INFO] [stdout] --> src/single/address.rs:88:15 [INFO] [stdout] | [INFO] [stdout] 87 | let (tx, rx) = oneshot::channel(); [INFO] [stdout] | -- [INFO] [stdout] | | [INFO] [stdout] | `rx` calls a custom destructor [INFO] [stdout] | `rx` will be dropped later as of Edition 2024 [INFO] [stdout] 88 | match self.inner.send((message, tx)).await { Err(err) => { [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] | up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 99 | } [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 issue #123739 [INFO] [stdout] note: `rx` invokes this custom destructor [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.29.1/src/sync/oneshot.rs:1071:1 [INFO] [stdout] | [INFO] [stdout] 1071 | impl Drop for Receiver { [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] [INFO] [stdout] [INFO] [stdout] warning: relative drop order changing in Rust 2024 [INFO] [stdout] --> src/utils/router.rs:107:39 [INFO] [stdout] | [INFO] [stdout] 107 | ... match address.async_ask(retry_message).await { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^----- [INFO] [stdout] | | | [INFO] [stdout] | | this value will be stored in a temporary; let us call it `#3` [INFO] [stdout] | | up until Edition 2021 `#3` 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] | 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] | `__awaitee` calls a custom destructor [INFO] [stdout] | `__awaitee` will be dropped later as of Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 113 | ... } [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 issue #123739 [INFO] [stdout] note: `#3` invokes this custom destructor [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.29.1/src/sync/oneshot.rs:1071:1 [INFO] [stdout] | [INFO] [stdout] 1071 | impl Drop for Receiver { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] note: `__awaitee` invokes this custom destructor [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.29.1/src/sync/oneshot.rs:1071:1 [INFO] [stdout] | [INFO] [stdout] 1071 | impl Drop for Receiver { [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] [INFO] [stdout] [INFO] [stdout] warning: relative drop order changing in Rust 2024 [INFO] [stdout] --> src/world/mod.rs:72:43 [INFO] [stdout] | [INFO] [stdout] 72 | ... match reader.read().await { [INFO] [stdout] | ^^^^^^^^^^^^^^----- [INFO] [stdout] | | | [INFO] [stdout] | | this value will be stored in a temporary; let us call it `#6` [INFO] [stdout] | | up until Edition 2021 `#6` 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] | this value will be stored in a temporary; let us call it `#5` [INFO] [stdout] | up until Edition 2021 `#5` is dropped last but will be dropped earlier in Edition 2024 [INFO] [stdout] | `__awaitee` calls a custom destructor [INFO] [stdout] | `__awaitee` will be dropped later as of Edition 2024 [INFO] [stdout] 73 | ... Ok(Some(payload)) => { [INFO] [stdout] 74 | ... let _ = connection.async_ask(payload).await; [INFO] [stdout] | ----------------------------------- [INFO] [stdout] | | | [INFO] [stdout] | | this value will be stored in a temporary; let us call it `#4` [INFO] [stdout] | | `#4` will be dropped later as of Edition 2024 [INFO] [stdout] | this value will be stored in a temporary; let us call it `#2` [INFO] [stdout] | `#2` will be dropped later as of Edition 2024 [INFO] [stdout] | this value will be stored in a temporary; let us call it `#3` [INFO] [stdout] | `#3` will be dropped later as of Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 85 | ... } [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 issue #123739 [INFO] [stdout] note: `#3` invokes this custom destructor [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.29.1/src/sync/oneshot.rs:1071:1 [INFO] [stdout] | [INFO] [stdout] 1071 | impl Drop for Receiver { [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] [INFO] [stdout] [INFO] [stderr] Fixed src/context.rs (1 fix) [INFO] [stderr] Migrating examples/http_world.rs from 2021 edition to 2024 [INFO] [stdout] warning: `impl io::Component` will capture more lifetimes than possibly intended in edition 2024 [INFO] [stdout] --> src/world/mod.rs:52:26 [INFO] [stdout] | [INFO] [stdout] 52 | ) -> std::io::Result [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see [INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds [INFO] [stdout] --> src/world/mod.rs:49:9 [INFO] [stdout] | [INFO] [stdout] 49 | &self, [INFO] [stdout] | ^ [INFO] [stdout] = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024 [INFO] [stdout] note: you could use a `use<...>` bound to explicitly specify captures, but argument-position `impl Trait`s are not nameable [INFO] [stdout] --> src/world/mod.rs:50:18 [INFO] [stdout] | [INFO] [stdout] 50 | address: impl ToSocketAddrs, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 51 | actor: impl Actor + Ask, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: `--force-warn impl-trait-overcaptures` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit [INFO] [stdout] | [INFO] [stdout] 48 ~ pub fn tcp_component>( [INFO] [stdout] 49 | &self, [INFO] [stdout] 50 ~ address: T, [INFO] [stdout] 51 ~ actor: U, [INFO] [stdout] 52 ~ ) -> std::io::Result> [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Migrating examples/ping.rs from 2021 edition to 2024 [INFO] [stderr] Migrating examples/multi_tcp_world.rs from 2021 edition to 2024 [INFO] [stderr] Migrating tests/mod.rs from 2021 edition to 2024 [INFO] [stderr] Migrating benches/actor.rs from 2021 edition to 2024 [INFO] [stderr] Migrating examples/tcp_world.rs from 2021 edition to 2024 [INFO] [stderr] Migrating tests/max_anonymous_actors.rs from 2021 edition to 2024 [INFO] [stderr] Migrating tests/wait_for_graceful_exit.rs from 2021 edition to 2024 [INFO] [stderr] Migrating examples/ping-pong.rs from 2021 edition to 2024 [INFO] [stderr] Migrating examples/add.rs from 2021 edition to 2024 [INFO] [stderr] Migrating examples/stateful_tcp_world.rs from 2021 edition to 2024 [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 11.38s [INFO] [stderr] Running `cargo check` to verify 2024 [INFO] [stderr] Checking tokactor v2.1.0 (/tmp/fixit) [INFO] [stdout] error[E0597]: `world` does not live long enough [INFO] [stdout] --> examples/tcp_world.rs:66:21 [INFO] [stdout] | [INFO] [stdout] 64 | let mut world = World::new().unwrap(); [INFO] [stdout] | --------- binding `world` declared here [INFO] [stdout] 65 | [INFO] [stdout] 66 | let tcp_input = world [INFO] [stdout] | -^^^^ [INFO] [stdout] | | [INFO] [stdout] | _____________________borrowed value does not live long enough [INFO] [stdout] | | [INFO] [stdout] 67 | | .tcp_component::("127.0.0.1:8080", Router {}) [INFO] [stdout] | |_______________________________________________________________________- argument requires that `world` is borrowed for `'static` [INFO] [stdout] ... [INFO] [stdout] 75 | } [INFO] [stdout] | - `world` dropped here while still borrowed [INFO] [stdout] | [INFO] [stdout] note: this call may capture more lifetimes than intended, because Rust 2024 has adjusted the `impl Trait` lifetime capture rules [INFO] [stdout] --> examples/tcp_world.rs:66:21 [INFO] [stdout] | [INFO] [stdout] 66 | let tcp_input = world [INFO] [stdout] | _____________________^ [INFO] [stdout] 67 | | .tcp_component::("127.0.0.1:8080", Router {}) [INFO] [stdout] | |_______________________________________________________________________^ [INFO] [stdout] help: if you can modify this crate, add a precise capturing bound to avoid overcapturing: `+ use` [INFO] [stdout] --> /tmp/fixit/src/world/mod.rs:52:26 [INFO] [stdout] | [INFO] [stdout] 52 | ) -> std::io::Result [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0502]: cannot borrow `world` as mutable because it is also borrowed as immutable [INFO] [stdout] --> examples/tcp_world.rs:70:5 [INFO] [stdout] | [INFO] [stdout] 66 | let tcp_input = world [INFO] [stdout] | ----- [INFO] [stdout] | | [INFO] [stdout] | _____________________immutable borrow occurs here [INFO] [stdout] | | [INFO] [stdout] 67 | | .tcp_component::("127.0.0.1:8080", Router {}) [INFO] [stdout] | |_______________________________________________________________________- argument requires that `world` is borrowed for `'static` [INFO] [stdout] ... [INFO] [stdout] 70 | world.on_input(tcp_input); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ mutable borrow occurs here [INFO] [stdout] | [INFO] [stdout] note: this call may capture more lifetimes than intended, because Rust 2024 has adjusted the `impl Trait` lifetime capture rules [INFO] [stdout] --> examples/tcp_world.rs:66:21 [INFO] [stdout] | [INFO] [stdout] 66 | let tcp_input = world [INFO] [stdout] | _____________________^ [INFO] [stdout] 67 | | .tcp_component::("127.0.0.1:8080", Router {}) [INFO] [stdout] | |_______________________________________________________________________^ [INFO] [stdout] help: if you can modify this crate, add a precise capturing bound to avoid overcapturing: `+ use` [INFO] [stdout] --> /tmp/fixit/src/world/mod.rs:52:26 [INFO] [stdout] | [INFO] [stdout] 52 | ) -> std::io::Result [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0505]: cannot move out of `world` because it is borrowed [INFO] [stdout] --> examples/tcp_world.rs:72:5 [INFO] [stdout] | [INFO] [stdout] 64 | let mut world = World::new().unwrap(); [INFO] [stdout] | --------- binding `world` declared here [INFO] [stdout] 65 | [INFO] [stdout] 66 | let tcp_input = world [INFO] [stdout] | ----- [INFO] [stdout] | | [INFO] [stdout] | _____________________borrow of `world` occurs here [INFO] [stdout] | | [INFO] [stdout] 67 | | .tcp_component::("127.0.0.1:8080", Router {}) [INFO] [stdout] | |_______________________________________________________________________- argument requires that `world` is borrowed for `'static` [INFO] [stdout] ... [INFO] [stdout] 72 | world.block_until_completion(); [INFO] [stdout] | ^^^^^ move out of `world` occurs here [INFO] [stdout] | [INFO] [stdout] note: this call may capture more lifetimes than intended, because Rust 2024 has adjusted the `impl Trait` lifetime capture rules [INFO] [stdout] --> examples/tcp_world.rs:66:21 [INFO] [stdout] | [INFO] [stdout] 66 | let tcp_input = world [INFO] [stdout] | _____________________^ [INFO] [stdout] 67 | | .tcp_component::("127.0.0.1:8080", Router {}) [INFO] [stdout] | |_______________________________________________________________________^ [INFO] [stdout] help: if you can modify this crate, add a precise capturing bound to avoid overcapturing: `+ use` [INFO] [stdout] --> /tmp/fixit/src/world/mod.rs:52:26 [INFO] [stdout] | [INFO] [stdout] 52 | ) -> std::io::Result [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0502, E0505, E0597. [INFO] [stdout] [INFO] [stdout] For more information about an error, try `rustc --explain E0502`. [INFO] [stdout] [INFO] [stderr] error: could not compile `tokactor` (example "tcp_world") due to 3 previous errors [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stdout] error[E0597]: `world` does not live long enough [INFO] [stdout] --> examples/stateful_tcp_world.rs:103:16 [INFO] [stdout] | [INFO] [stdout] 96 | let mut world = World::new().unwrap(); [INFO] [stdout] | --------- binding `world` declared here [INFO] [stdout] ... [INFO] [stdout] 103 | let tcp1 = world [INFO] [stdout] | -^^^^ [INFO] [stdout] | | [INFO] [stdout] | ________________borrowed value does not live long enough [INFO] [stdout] | | [INFO] [stdout] 104 | | .tcp_component::("127.0.0.1:8080", r1) [INFO] [stdout] | |________________________________________________________________- argument requires that `world` is borrowed for `'static` [INFO] [stdout] ... [INFO] [stdout] 114 | } [INFO] [stdout] | - `world` dropped here while still borrowed [INFO] [stdout] | [INFO] [stdout] note: this call may capture more lifetimes than intended, because Rust 2024 has adjusted the `impl Trait` lifetime capture rules [INFO] [stdout] --> examples/stateful_tcp_world.rs:103:16 [INFO] [stdout] | [INFO] [stdout] 103 | let tcp1 = world [INFO] [stdout] | ________________^ [INFO] [stdout] 104 | | .tcp_component::("127.0.0.1:8080", r1) [INFO] [stdout] | |________________________________________________________________^ [INFO] [stdout] help: if you can modify this crate, add a precise capturing bound to avoid overcapturing: `+ use` [INFO] [stdout] --> /tmp/fixit/src/world/mod.rs:52:26 [INFO] [stdout] | [INFO] [stdout] 52 | ) -> std::io::Result [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0597]: `world` does not live long enough [INFO] [stdout] --> examples/stateful_tcp_world.rs:106:16 [INFO] [stdout] | [INFO] [stdout] 96 | let mut world = World::new().unwrap(); [INFO] [stdout] | --------- binding `world` declared here [INFO] [stdout] ... [INFO] [stdout] 106 | let tcp2 = world [INFO] [stdout] | -^^^^ [INFO] [stdout] | | [INFO] [stdout] | ________________borrowed value does not live long enough [INFO] [stdout] | | [INFO] [stdout] 107 | | .tcp_component::("127.0.0.1:8081", r2) [INFO] [stdout] | |________________________________________________________________- argument requires that `world` is borrowed for `'static` [INFO] [stdout] ... [INFO] [stdout] 114 | } [INFO] [stdout] | - `world` dropped here while still borrowed [INFO] [stdout] | [INFO] [stdout] note: this call may capture more lifetimes than intended, because Rust 2024 has adjusted the `impl Trait` lifetime capture rules [INFO] [stdout] --> examples/stateful_tcp_world.rs:106:16 [INFO] [stdout] | [INFO] [stdout] 106 | let tcp2 = world [INFO] [stdout] | ________________^ [INFO] [stdout] 107 | | .tcp_component::("127.0.0.1:8081", r2) [INFO] [stdout] | |________________________________________________________________^ [INFO] [stdout] help: if you can modify this crate, add a precise capturing bound to avoid overcapturing: `+ use` [INFO] [stdout] --> /tmp/fixit/src/world/mod.rs:52:26 [INFO] [stdout] | [INFO] [stdout] 52 | ) -> std::io::Result [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0502]: cannot borrow `world` as mutable because it is also borrowed as immutable [INFO] [stdout] --> examples/stateful_tcp_world.rs:110:5 [INFO] [stdout] | [INFO] [stdout] 103 | let tcp1 = world [INFO] [stdout] | ----- [INFO] [stdout] | | [INFO] [stdout] | ________________immutable borrow occurs here [INFO] [stdout] | | [INFO] [stdout] 104 | | .tcp_component::("127.0.0.1:8080", r1) [INFO] [stdout] | |________________________________________________________________- argument requires that `world` is borrowed for `'static` [INFO] [stdout] ... [INFO] [stdout] 110 | world.on_input(tcp1); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ mutable borrow occurs here [INFO] [stdout] | [INFO] [stdout] note: this call may capture more lifetimes than intended, because Rust 2024 has adjusted the `impl Trait` lifetime capture rules [INFO] [stdout] --> examples/stateful_tcp_world.rs:103:16 [INFO] [stdout] | [INFO] [stdout] 103 | let tcp1 = world [INFO] [stdout] | ________________^ [INFO] [stdout] 104 | | .tcp_component::("127.0.0.1:8080", r1) [INFO] [stdout] | |________________________________________________________________^ [INFO] [stdout] help: if you can modify this crate, add a precise capturing bound to avoid overcapturing: `+ use` [INFO] [stdout] --> /tmp/fixit/src/world/mod.rs:52:26 [INFO] [stdout] | [INFO] [stdout] 52 | ) -> std::io::Result [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0502]: cannot borrow `world` as mutable because it is also borrowed as immutable [INFO] [stdout] --> examples/stateful_tcp_world.rs:111:5 [INFO] [stdout] | [INFO] [stdout] 103 | let tcp1 = world [INFO] [stdout] | ----- [INFO] [stdout] | | [INFO] [stdout] | ________________immutable borrow occurs here [INFO] [stdout] | | [INFO] [stdout] 104 | | .tcp_component::("127.0.0.1:8080", r1) [INFO] [stdout] | |________________________________________________________________- argument requires that `world` is borrowed for `'static` [INFO] [stdout] ... [INFO] [stdout] 111 | world.on_input(tcp2); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ mutable borrow occurs here [INFO] [stdout] | [INFO] [stdout] note: this call may capture more lifetimes than intended, because Rust 2024 has adjusted the `impl Trait` lifetime capture rules [INFO] [stdout] --> examples/stateful_tcp_world.rs:103:16 [INFO] [stdout] | [INFO] [stdout] 103 | let tcp1 = world [INFO] [stdout] | ________________^ [INFO] [stdout] 104 | | .tcp_component::("127.0.0.1:8080", r1) [INFO] [stdout] | |________________________________________________________________^ [INFO] [stdout] help: if you can modify this crate, add a precise capturing bound to avoid overcapturing: `+ use` [INFO] [stdout] --> /tmp/fixit/src/world/mod.rs:52:26 [INFO] [stdout] | [INFO] [stdout] 52 | ) -> std::io::Result [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0597]: `world` does not live long enough [INFO] [stdout] --> examples/http_world.rs:88:21 [INFO] [stdout] | [INFO] [stdout] 86 | let mut world = World::new().unwrap(); [INFO] [stdout] | --------- binding `world` declared here [INFO] [stdout] 87 | [INFO] [stdout] 88 | let tcp_input = world [INFO] [stdout] | -^^^^ [INFO] [stdout] | | [INFO] [stdout] | _____________________borrowed value does not live long enough [INFO] [stdout] | | [INFO] [stdout] 89 | | .tcp_component::("127.0.0.1:8080", Router {}) [INFO] [stdout] | |_______________________________________________________________________- argument requires that `world` is borrowed for `'static` [INFO] [stdout] ... [INFO] [stdout] 97 | } [INFO] [stdout] | - `world` dropped here while still borrowed [INFO] [stdout] | [INFO] [stdout] note: this call may capture more lifetimes than intended, because Rust 2024 has adjusted the `impl Trait` lifetime capture rules [INFO] [stdout] --> examples/http_world.rs:88:21 [INFO] [stdout] | [INFO] [stdout] 88 | let tcp_input = world [INFO] [stdout] | _____________________^ [INFO] [stdout] 89 | | .tcp_component::("127.0.0.1:8080", Router {}) [INFO] [stdout] | |_______________________________________________________________________^ [INFO] [stdout] help: if you can modify this crate, add a precise capturing bound to avoid overcapturing: `+ use` [INFO] [stdout] --> /tmp/fixit/src/world/mod.rs:52:26 [INFO] [stdout] | [INFO] [stdout] 52 | ) -> std::io::Result [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0502]: cannot borrow `world` as mutable because it is also borrowed as immutable [INFO] [stdout] --> examples/http_world.rs:92:5 [INFO] [stdout] | [INFO] [stdout] 88 | let tcp_input = world [INFO] [stdout] | ----- [INFO] [stdout] | | [INFO] [stdout] | _____________________immutable borrow occurs here [INFO] [stdout] | | [INFO] [stdout] 89 | | .tcp_component::("127.0.0.1:8080", Router {}) [INFO] [stdout] | |_______________________________________________________________________- argument requires that `world` is borrowed for `'static` [INFO] [stdout] ... [INFO] [stdout] 92 | world.on_input(tcp_input); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ mutable borrow occurs here [INFO] [stdout] | [INFO] [stdout] note: this call may capture more lifetimes than intended, because Rust 2024 has adjusted the `impl Trait` lifetime capture rules [INFO] [stdout] --> examples/http_world.rs:88:21 [INFO] [stdout] | [INFO] [stdout] 88 | let tcp_input = world [INFO] [stdout] | _____________________^ [INFO] [stdout] 89 | | .tcp_component::("127.0.0.1:8080", Router {}) [INFO] [stdout] | |_______________________________________________________________________^ [INFO] [stdout] help: if you can modify this crate, add a precise capturing bound to avoid overcapturing: `+ use` [INFO] [stdout] --> /tmp/fixit/src/world/mod.rs:52:26 [INFO] [stdout] | [INFO] [stdout] 52 | ) -> std::io::Result [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0505]: cannot move out of `world` because it is borrowed [INFO] [stdout] --> examples/stateful_tcp_world.rs:113:5 [INFO] [stdout] | [INFO] [stdout] 96 | let mut world = World::new().unwrap(); [INFO] [stdout] | --------- binding `world` declared here [INFO] [stdout] ... [INFO] [stdout] 103 | let tcp1 = world [INFO] [stdout] | ----- [INFO] [stdout] | | [INFO] [stdout] | ________________borrow of `world` occurs here [INFO] [stdout] | | [INFO] [stdout] 104 | | .tcp_component::("127.0.0.1:8080", r1) [INFO] [stdout] | |________________________________________________________________- argument requires that `world` is borrowed for `'static` [INFO] [stdout] ... [INFO] [stdout] 113 | world.block_until_completion(); [INFO] [stdout] | ^^^^^ move out of `world` occurs here [INFO] [stdout] | [INFO] [stdout] note: this call may capture more lifetimes than intended, because Rust 2024 has adjusted the `impl Trait` lifetime capture rules [INFO] [stdout] --> examples/stateful_tcp_world.rs:103:16 [INFO] [stdout] | [INFO] [stdout] 103 | let tcp1 = world [INFO] [stdout] | ________________^ [INFO] [stdout] 104 | | .tcp_component::("127.0.0.1:8080", r1) [INFO] [stdout] | |________________________________________________________________^ [INFO] [stdout] help: if you can modify this crate, add a precise capturing bound to avoid overcapturing: `+ use` [INFO] [stdout] --> /tmp/fixit/src/world/mod.rs:52:26 [INFO] [stdout] | [INFO] [stdout] 52 | ) -> std::io::Result [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0597]: `world` does not live long enough [INFO] [stdout] --> examples/multi_tcp_world.rs:149:21 [INFO] [stdout] | [INFO] [stdout] 147 | let mut world = World::new().unwrap(); [INFO] [stdout] | --------- binding `world` declared here [INFO] [stdout] 148 | [INFO] [stdout] 149 | let tcp_input = world [INFO] [stdout] | -^^^^ [INFO] [stdout] | | [INFO] [stdout] | _____________________borrowed value does not live long enough [INFO] [stdout] | | [INFO] [stdout] 150 | | .tcp_component::("127.0.0.1:8080", Router::default()) [INFO] [stdout] | |_______________________________________________________________________________- argument requires that `world` is borrowed for `'static` [INFO] [stdout] ... [INFO] [stdout] 158 | } [INFO] [stdout] | - `world` dropped here while still borrowed [INFO] [stdout] | [INFO] [stdout] note: this call may capture more lifetimes than intended, because Rust 2024 has adjusted the `impl Trait` lifetime capture rules [INFO] [stdout] --> examples/multi_tcp_world.rs:149:21 [INFO] [stdout] | [INFO] [stdout] 149 | let tcp_input = world [INFO] [stdout] | _____________________^ [INFO] [stdout] 150 | | .tcp_component::("127.0.0.1:8080", Router::default()) [INFO] [stdout] | |_______________________________________________________________________________^ [INFO] [stdout] help: if you can modify this crate, add a precise capturing bound to avoid overcapturing: `+ use` [INFO] [stdout] --> /tmp/fixit/src/world/mod.rs:52:26 [INFO] [stdout] | [INFO] [stdout] 52 | ) -> std::io::Result [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0502]: cannot borrow `world` as mutable because it is also borrowed as immutable [INFO] [stdout] --> examples/multi_tcp_world.rs:153:5 [INFO] [stdout] | [INFO] [stdout] 149 | let tcp_input = world [INFO] [stdout] | ----- [INFO] [stdout] | | [INFO] [stdout] | _____________________immutable borrow occurs here [INFO] [stdout] | | [INFO] [stdout] 150 | | .tcp_component::("127.0.0.1:8080", Router::default()) [INFO] [stdout] | |_______________________________________________________________________________- argument requires that `world` is borrowed for `'static` [INFO] [stdout] ... [INFO] [stdout] 153 | world.on_input(tcp_input); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ mutable borrow occurs here [INFO] [stdout] | [INFO] [stdout] note: this call may capture more lifetimes than intended, because Rust 2024 has adjusted the `impl Trait` lifetime capture rules [INFO] [stdout] --> examples/multi_tcp_world.rs:149:21 [INFO] [stdout] | [INFO] [stdout] 149 | let tcp_input = world [INFO] [stdout] | _____________________^ [INFO] [stdout] 150 | | .tcp_component::("127.0.0.1:8080", Router::default()) [INFO] [stdout] | |_______________________________________________________________________________^ [INFO] [stdout] help: if you can modify this crate, add a precise capturing bound to avoid overcapturing: `+ use` [INFO] [stdout] --> /tmp/fixit/src/world/mod.rs:52:26 [INFO] [stdout] | [INFO] [stdout] 52 | ) -> std::io::Result [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0502, E0505, E0597. [INFO] [stdout] [INFO] [stdout] For more information about an error, try `rustc --explain E0502`. [INFO] [stdout] [INFO] [stdout] error[E0505]: cannot move out of `world` because it is borrowed [INFO] [stdout] --> examples/http_world.rs:94:5 [INFO] [stdout] | [INFO] [stdout] 86 | let mut world = World::new().unwrap(); [INFO] [stdout] | --------- binding `world` declared here [INFO] [stdout] 87 | [INFO] [stdout] 88 | let tcp_input = world [INFO] [stdout] | ----- [INFO] [stdout] | | [INFO] [stdout] | _____________________borrow of `world` occurs here [INFO] [stdout] | | [INFO] [stdout] 89 | | .tcp_component::("127.0.0.1:8080", Router {}) [INFO] [stdout] | |_______________________________________________________________________- argument requires that `world` is borrowed for `'static` [INFO] [stdout] ... [INFO] [stdout] 94 | world.block_until_completion(); [INFO] [stdout] | ^^^^^ move out of `world` occurs here [INFO] [stdout] | [INFO] [stdout] note: this call may capture more lifetimes than intended, because Rust 2024 has adjusted the `impl Trait` lifetime capture rules [INFO] [stdout] --> examples/http_world.rs:88:21 [INFO] [stdout] | [INFO] [stdout] 88 | let tcp_input = world [INFO] [stdout] | _____________________^ [INFO] [stdout] 89 | | .tcp_component::("127.0.0.1:8080", Router {}) [INFO] [stdout] | |_______________________________________________________________________^ [INFO] [stdout] help: if you can modify this crate, add a precise capturing bound to avoid overcapturing: `+ use` [INFO] [stdout] --> /tmp/fixit/src/world/mod.rs:52:26 [INFO] [stdout] | [INFO] [stdout] 52 | ) -> std::io::Result [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0502, E0505, E0597. [INFO] [stdout] [INFO] [stdout] For more information about an error, try `rustc --explain E0502`. [INFO] [stdout] [INFO] [stdout] error[E0505]: cannot move out of `world` because it is borrowed [INFO] [stdout] --> examples/multi_tcp_world.rs:155:5 [INFO] [stdout] | [INFO] [stdout] 147 | let mut world = World::new().unwrap(); [INFO] [stdout] | --------- binding `world` declared here [INFO] [stdout] 148 | [INFO] [stdout] 149 | let tcp_input = world [INFO] [stdout] | ----- [INFO] [stdout] | | [INFO] [stdout] | _____________________borrow of `world` occurs here [INFO] [stdout] | | [INFO] [stdout] 150 | | .tcp_component::("127.0.0.1:8080", Router::default()) [INFO] [stdout] | |_______________________________________________________________________________- argument requires that `world` is borrowed for `'static` [INFO] [stdout] ... [INFO] [stdout] 155 | world.block_until_completion(); [INFO] [stdout] | ^^^^^ move out of `world` occurs here [INFO] [stdout] | [INFO] [stdout] note: this call may capture more lifetimes than intended, because Rust 2024 has adjusted the `impl Trait` lifetime capture rules [INFO] [stdout] --> examples/multi_tcp_world.rs:149:21 [INFO] [stdout] | [INFO] [stdout] 149 | let tcp_input = world [INFO] [stdout] | _____________________^ [INFO] [stdout] 150 | | .tcp_component::("127.0.0.1:8080", Router::default()) [INFO] [stdout] | |_______________________________________________________________________________^ [INFO] [stdout] help: if you can modify this crate, add a precise capturing bound to avoid overcapturing: `+ use` [INFO] [stdout] --> /tmp/fixit/src/world/mod.rs:52:26 [INFO] [stdout] | [INFO] [stdout] 52 | ) -> std::io::Result [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `tokactor` (example "stateful_tcp_world") due to 5 previous errors [INFO] [stdout] Some errors have detailed explanations: E0502, E0505, E0597. [INFO] [stdout] [INFO] [stdout] For more information about an error, try `rustc --explain E0502`. [INFO] [stdout] [INFO] [stderr] error: could not compile `tokactor` (example "http_world") due to 3 previous errors [INFO] [stderr] error: could not compile `tokactor` (example "multi_tcp_world") due to 3 previous errors [INFO] [stderr] error: failed to check after updating to 2024 [INFO] [stderr] [INFO] [stderr] Caused by: [INFO] [stderr] process didn't exit successfully: `cargo check --frozen --all --all-targets --message-format=json` (exit status: 101) [INFO] running `Command { std: "docker" "inspect" "21bbf5bfe8a27c935c67f6d44210d9ee267f1274ec54fa58313e25a9fc5545b8", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "21bbf5bfe8a27c935c67f6d44210d9ee267f1274ec54fa58313e25a9fc5545b8", kill_on_drop: false }` [INFO] [stdout] 21bbf5bfe8a27c935c67f6d44210d9ee267f1274ec54fa58313e25a9fc5545b8