[INFO] fetching crate async-imap 0.10.1... [INFO] checking async-imap-0.10.1 against try#ccf408f4326a858c00dd845a64a86b16f360a801 for pr-129466-2 [INFO] extracting crate async-imap 0.10.1 into /workspace/builds/worker-7-tc2/source [INFO] validating manifest of crates.io crate async-imap 0.10.1 on toolchain ccf408f4326a858c00dd845a64a86b16f360a801 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+ccf408f4326a858c00dd845a64a86b16f360a801" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking crates.io crate async-imap 0.10.1 [INFO] finished tweaking crates.io crate async-imap 0.10.1 [INFO] tweaked toml for crates.io crate async-imap 0.10.1 written to /workspace/builds/worker-7-tc2/source/Cargo.toml [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+ccf408f4326a858c00dd845a64a86b16f360a801" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Locking 104 packages to latest compatible versions [INFO] [stderr] Adding async-channel v1.9.0 (available: v2.3.1) [INFO] [stderr] Adding base64 v0.21.7 (available: v0.22.1) [INFO] [stderr] Adding event-listener v2.5.3 (available: v5.3.1) [INFO] [stderr] Adding hermit-abi v0.3.9 (available: v0.4.0) [INFO] [stderr] Adding linux-raw-sys v0.4.14 (available: v0.6.5) [INFO] [stderr] Adding syn v1.0.109 (available: v2.0.77) [INFO] [stderr] Adding wasi v0.11.0+wasi-snapshot-preview1 (available: v0.13.2+wasi-0.2.1) [INFO] [stderr] Adding windows-sys v0.52.0 (available: v0.59.0) [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+ccf408f4326a858c00dd845a64a86b16f360a801" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:ceb6ea022f8a89cebbe621bb4987e73a935bd40dfbb726f832cfff4742a5b95a" "/opt/rustwide/cargo-home/bin/cargo" "+ccf408f4326a858c00dd845a64a86b16f360a801" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] da304d0c127073b081e3805e0d6a1d7c98fc44422599ee79edebf3cfe8ba89fd [INFO] running `Command { std: "docker" "start" "-a" "da304d0c127073b081e3805e0d6a1d7c98fc44422599ee79edebf3cfe8ba89fd", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "da304d0c127073b081e3805e0d6a1d7c98fc44422599ee79edebf3cfe8ba89fd", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "da304d0c127073b081e3805e0d6a1d7c98fc44422599ee79edebf3cfe8ba89fd", kill_on_drop: false }` [INFO] [stdout] da304d0c127073b081e3805e0d6a1d7c98fc44422599ee79edebf3cfe8ba89fd [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:ceb6ea022f8a89cebbe621bb4987e73a935bd40dfbb726f832cfff4742a5b95a" "/opt/rustwide/cargo-home/bin/cargo" "+ccf408f4326a858c00dd845a64a86b16f360a801" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] ed38286988cedad131871b39873a44a3150f28308d15bbc2def9a103b4ed9492 [INFO] running `Command { std: "docker" "start" "-a" "ed38286988cedad131871b39873a44a3150f28308d15bbc2def9a103b4ed9492", 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] Fixed Cargo.toml (2 fixes) [INFO] [stderr] Checking futures-lite v2.3.0 [INFO] [stderr] Checking futures-sink v0.3.30 [INFO] [stderr] Checking value-bag v1.9.0 [INFO] [stderr] Checking self_cell v1.0.4 [INFO] [stderr] Checking diff v0.1.13 [INFO] [stderr] Checking concurrent-queue v2.5.0 [INFO] [stderr] Checking nom v7.1.3 [INFO] [stderr] Checking base64 v0.21.7 [INFO] [stderr] Checking yansi v1.0.1 [INFO] [stderr] Compiling syn v1.0.109 [INFO] [stderr] Checking chrono v0.4.38 [INFO] [stderr] Compiling futures-macro v0.3.30 [INFO] [stderr] Compiling thiserror-impl v1.0.64 [INFO] [stderr] Checking tokio v1.40.0 [INFO] [stderr] Checking futures-channel v0.3.30 [INFO] [stderr] Checking event-listener v5.3.1 [INFO] [stderr] Checking async-channel v1.9.0 [INFO] [stderr] Checking log v0.4.22 [INFO] [stderr] Checking pretty_assertions v1.4.1 [INFO] [stderr] Checking stop-token v0.7.0 [INFO] [stderr] Checking event-listener-strategy v0.5.2 [INFO] [stderr] Checking async-lock v3.4.0 [INFO] [stderr] Checking async-channel v2.3.1 [INFO] [stderr] Checking kv-log-macro v1.0.7 [INFO] [stderr] Checking futures-util v0.3.30 [INFO] [stderr] Checking blocking v1.6.1 [INFO] [stderr] Checking async-executor v1.13.1 [INFO] [stderr] Checking thiserror v1.0.64 [INFO] [stderr] Checking async-io v2.3.4 [INFO] [stderr] Checking async-signal v0.2.10 [INFO] [stderr] Checking async-global-executor v2.4.1 [INFO] [stderr] Checking imap-proto v0.16.5 [INFO] [stderr] Checking async-process v2.3.0 [INFO] [stderr] Compiling async-attributes v1.1.2 [INFO] [stderr] Checking futures-executor v0.3.30 [INFO] [stderr] Checking async-std v1.13.0 [INFO] [stderr] Checking futures v0.3.30 [INFO] [stderr] Checking async-imap v0.10.1 (/tmp/fixit) [INFO] [stderr] Migrating src/lib.rs from 2021 edition to 2024 [INFO] [stderr] warning: failed to automatically apply fixes suggested by rustc to crate `async_imap` [INFO] [stderr] [INFO] [stderr] after fixes were automatically applied the compiler reported errors within these files: [INFO] [stderr] [INFO] [stderr] * src/client.rs [INFO] [stderr] [INFO] [stderr] This likely indicates a bug in either rustc or cargo itself, [INFO] [stderr] and we would appreciate a bug report! You're likely to see [INFO] [stderr] a number of compiler warnings after this message which cargo [INFO] [stderr] attempted to fix but failed. If you could open an issue at [INFO] [stderr] https://github.com/rust-lang/rust/issues [INFO] [stderr] quoting the full output of this command we'd be very appreciative! [INFO] [stderr] Note that you may be able to make some more progress in the near-term [INFO] [stderr] fixing code with the `--broken-code` flag [INFO] [stderr] [INFO] [stderr] The following errors were reported: [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/client.rs:26:6 [INFO] [stderr] | [INFO] [stderr] 26 | ($x:expr_2021) => { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/client.rs:120:6 [INFO] [stderr] | [INFO] [stderr] 120 | ($r:expr_2021, $self:expr_2021) => { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/client.rs:120:20 [INFO] [stderr] | [INFO] [stderr] 120 | ($r:expr_2021, $self:expr_2021) => { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/client.rs:1499:10 [INFO] [stderr] | [INFO] [stderr] 1499 | ($s:expr_2021) => { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/client.rs:1505:10 [INFO] [stderr] | [INFO] [stderr] 1505 | ($s:expr_2021) => { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/client.rs:1511:10 [INFO] [stderr] | [INFO] [stderr] 1511 | ($a:expr_2021, $b:expr_2021, $c:expr_2021) => { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/client.rs:1511:24 [INFO] [stderr] | [INFO] [stderr] 1511 | ($a:expr_2021, $b:expr_2021, $c:expr_2021) => { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/client.rs:26:9 [INFO] [stdout] | [INFO] [stdout] 26 | ($x:expr) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] = note: `--force-warn edition-2024-expr-fragment-specifier` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 26 | ($x:expr_2021) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] --> src/client.rs:1511:38 [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/client.rs:120:9 [INFO] [stdout] | [INFO] [stdout] 120 | ($r:expr, $self:expr) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 120 | ($r:expr_2021, $self:expr) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] | [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/client.rs:120:21 [INFO] [stdout] | [INFO] [stdout] 120 | ($r:expr, $self:expr) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 120 | ($r:expr, $self:expr_2021) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] 1511 | ($a:expr_2021, $b:expr_2021, $c:expr_2021) => { [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/client.rs:1499:13 [INFO] [stdout] | [INFO] [stdout] 1499 | ($s:expr) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 1499 | ($s:expr_2021) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/client.rs:1505:13 [INFO] [stdout] | [INFO] [stdout] 1505 | ($s:expr) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 1505 | ($s:expr_2021) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error: aborting due to 8 previous errors [INFO] [stderr] [INFO] [stderr] For more information about this error, try `rustc --explain E0658`. [INFO] [stderr] Original diagnostics will follow. [INFO] [stderr] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/client.rs:1511:13 [INFO] [stdout] | [INFO] [stdout] 1511 | ($a:expr, $b:expr, $c:expr) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 1511 | ($a:expr_2021, $b:expr, $c:expr) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/client.rs:1511:22 [INFO] [stdout] | [INFO] [stdout] 1511 | ($a:expr, $b:expr, $c:expr) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 1511 | ($a:expr, $b:expr_2021, $c:expr) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/client.rs:1511:31 [INFO] [stdout] | [INFO] [stdout] 1511 | ($a:expr, $b:expr, $c:expr) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 1511 | ($a:expr, $b:expr, $c:expr_2021) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/client.rs:263:16 [INFO] [stdout] | [INFO] [stdout] 263 | if let Some(res) = self.read_response().await { [INFO] [stdout] | ^^^^^^^^^^^^^^^^-------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/client.rs:297:13 [INFO] [stdout] | [INFO] [stdout] 297 | } else { [INFO] [stdout] | ^ [INFO] [stdout] = note: `--force-warn if-let-rescope` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 263 ~ match self.read_response().await { Some(res) => { [INFO] [stdout] 264 | let res = ok_or_unauth_client_err!(res.map_err(Into::into), self); [INFO] [stdout] ... [INFO] [stdout] 296 | } [INFO] [stdout] 297 ~ } _ => { [INFO] [stdout] 298 | return Err((Error::ConnectionLost, self)); [INFO] [stdout] 299 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/client.rs:1139:20 [INFO] [stdout] | [INFO] [stdout] 1139 | if let Response::Continue { .. } = res.parsed() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^---^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/client.rs:1147:17 [INFO] [stdout] | [INFO] [stdout] 1147 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1139 ~ match res.parsed() { Response::Continue { .. } => { [INFO] [stdout] 1140 | self.stream.as_mut().write_all(content).await?; [INFO] [stdout] ... [INFO] [stdout] 1146 | Ok(()) [INFO] [stdout] 1147 ~ } _ => { [INFO] [stdout] 1148 | Err(Error::Append) [INFO] [stdout] 1149 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/client.rs:1406:12 [INFO] [stdout] | [INFO] [stdout] 1406 | if let Some(first_res) = self.stream.next().await { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^------------------------ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/client.rs:1408:9 [INFO] [stdout] | [INFO] [stdout] 1408 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1406 ~ match self.stream.next().await { Some(first_res) => { [INFO] [stdout] 1407 | self.check_done_ok_from(id, unsolicited, first_res?).await [INFO] [stdout] 1408 ~ } _ => { [INFO] [stdout] 1409 | Err(Error::ConnectionLost) [INFO] [stdout] 1410 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/client.rs:1438:16 [INFO] [stdout] | [INFO] [stdout] 1438 | if let Some(res) = self.stream.next().await { [INFO] [stdout] | ^^^^^^^^^^^^^^^^------------------------ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/client.rs:1440:13 [INFO] [stdout] | [INFO] [stdout] 1440 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1438 ~ match self.stream.next().await { Some(res) => { [INFO] [stdout] 1439 | response = res?; [INFO] [stdout] 1440 ~ } _ => { [INFO] [stdout] 1441 | return Err(Error::ConnectionLost); [INFO] [stdout] 1442 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/client.rs:1611:12 [INFO] [stdout] | [INFO] [stdout] 1611 | if let Ok(session) = client.login(username, password).await { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^-------------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/client.rs:1617:9 [INFO] [stdout] | [INFO] [stdout] 1617 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1611 ~ match client.login(username, password).await { Ok(session) => { [INFO] [stdout] 1612 | assert_eq!( [INFO] [stdout] ... [INFO] [stdout] 1616 | ); [INFO] [stdout] 1617 ~ } _ => { [INFO] [stdout] 1618 | unreachable!("invalid login"); [INFO] [stdout] 1619 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/extensions/idle.rs:185:15 [INFO] [stdout] | [INFO] [stdout] 185 | while let Some(res) = self.session.stream.next().await { [INFO] [stdout] | ^^^^^^^^^^^^^^^^-------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/extensions/idle.rs:212:9 [INFO] [stdout] | [INFO] [stdout] 212 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/extensions/quota.rs:24:11 [INFO] [stdout] | [INFO] [stdout] 24 | while let Some(resp) = stream [INFO] [stdout] | ___________^ - [INFO] [stdout] | |____________________________| [INFO] [stdout] 25 | || .take_while(|res| filter(res, &command_tag)) [INFO] [stdout] 26 | || .next() [INFO] [stdout] 27 | || .await [INFO] [stdout] | ||______________^ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | |______________| [INFO] [stdout] | [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/extensions/quota.rs:36:5 [INFO] [stdout] | [INFO] [stdout] 36 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/extensions/quota.rs:54:11 [INFO] [stdout] | [INFO] [stdout] 54 | while let Some(resp) = stream [INFO] [stdout] | ___________^ - [INFO] [stdout] | |____________________________| [INFO] [stdout] 55 | || .take_while(|res| filter(res, &command_tag)) [INFO] [stdout] 56 | || .next() [INFO] [stdout] 57 | || .await [INFO] [stdout] | ||______________^ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | |______________| [INFO] [stdout] | [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/extensions/quota.rs:71:5 [INFO] [stdout] | [INFO] [stdout] 71 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/extensions/id.rs:44:11 [INFO] [stdout] | [INFO] [stdout] 44 | while let Some(resp) = stream [INFO] [stdout] | ___________^ - [INFO] [stdout] | |____________________________| [INFO] [stdout] 45 | || .take_while(|res| filter(res, &command_tag)) [INFO] [stdout] 46 | || .next() [INFO] [stdout] 47 | || .await [INFO] [stdout] | ||______________^ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | |______________| [INFO] [stdout] | [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/extensions/id.rs:62:5 [INFO] [stdout] | [INFO] [stdout] 62 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/imap_stream.rs:306:16 [INFO] [stdout] | [INFO] [stdout] 306 | if let Some(response) = this.decode()? { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^-------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/imap_stream.rs:308:13 [INFO] [stdout] | [INFO] [stdout] 308 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 306 ~ match this.decode()? { Some(response) => { [INFO] [stdout] 307 | return Poll::Ready(Some(Ok(response))); [INFO] [stdout] 308 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `impl futures::Future` will capture more lifetimes than possibly intended in edition 2024 [INFO] [stdout] --> src/parse.rs:47:6 [INFO] [stdout] | [INFO] [stdout] 47 | ) -> impl Future { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see [INFO] [stdout] note: specifically, these lifetimes are in scope but not mentioned in the type's bounds [INFO] [stdout] --> src/parse.rs:45:10 [INFO] [stdout] | [INFO] [stdout] 45 | res: &io::Result, [INFO] [stdout] | ^ [INFO] [stdout] 46 | command_tag: &RequestId, [INFO] [stdout] | ^ [INFO] [stdout] = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024 [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] 47 | ) -> impl Future + use<> { [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/parse.rs:102:11 [INFO] [stdout] | [INFO] [stdout] 102 | while let Some(resp) = stream.next().await { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/parse.rs:163:5 [INFO] [stdout] | [INFO] [stdout] 163 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/parse.rs:203:11 [INFO] [stdout] | [INFO] [stdout] 203 | while let Some(resp) = stream [INFO] [stdout] | ___________^ - [INFO] [stdout] | |____________________________| [INFO] [stdout] 204 | || .take_while(|res| filter(res, &command_tag)) [INFO] [stdout] 205 | || .next() [INFO] [stdout] 206 | || .await [INFO] [stdout] | ||______________^ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | |______________| [INFO] [stdout] | [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/parse.rs:219:5 [INFO] [stdout] | [INFO] [stdout] 219 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/parse.rs:229:11 [INFO] [stdout] | [INFO] [stdout] 229 | while let Some(resp) = stream [INFO] [stdout] | ___________^ - [INFO] [stdout] | |____________________________| [INFO] [stdout] 230 | || .take_while(|res| filter(res, &command_tag)) [INFO] [stdout] 231 | || .next() [INFO] [stdout] 232 | || .await [INFO] [stdout] | ||______________^ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | |______________| [INFO] [stdout] | [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/parse.rs:236:5 [INFO] [stdout] | [INFO] [stdout] 236 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/parse.rs:248:11 [INFO] [stdout] | [INFO] [stdout] 248 | while let Some(resp) = stream.next().await { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/parse.rs:364:5 [INFO] [stdout] | [INFO] [stdout] 364 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/parse.rs:376:11 [INFO] [stdout] | [INFO] [stdout] 376 | while let Some(resp) = stream [INFO] [stdout] | ___________^ - [INFO] [stdout] | |____________________________| [INFO] [stdout] 377 | || .take_while(|res| filter(res, &command_tag)) [INFO] [stdout] 378 | || .next() [INFO] [stdout] 379 | || .await [INFO] [stdout] | ||______________^ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | |______________| [INFO] [stdout] | [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/parse.rs:392:5 [INFO] [stdout] | [INFO] [stdout] 392 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/parse.rs:405:11 [INFO] [stdout] | [INFO] [stdout] 405 | while let Some(resp) = stream [INFO] [stdout] | ___________^ - [INFO] [stdout] | |____________________________| [INFO] [stdout] 406 | || .take_while(|res| filter(res, &command_tag)) [INFO] [stdout] 407 | || .next() [INFO] [stdout] 408 | || .await [INFO] [stdout] | ||______________^ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | |______________| [INFO] [stdout] | [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/parse.rs:427:5 [INFO] [stdout] | [INFO] [stdout] 427 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/types/fetch.rs:40:16 [INFO] [stdout] | [INFO] [stdout] 40 | if let Response::Fetch(message, attrs) = response.parsed() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^--------^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/types/fetch.rs:54:13 [INFO] [stdout] | [INFO] [stdout] 54 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 40 ~ match response.parsed() { Response::Fetch(message, attrs) => { [INFO] [stdout] 41 | let mut uid = None; [INFO] [stdout] ... [INFO] [stdout] 53 | (*message, uid, size, modseq) [INFO] [stdout] 54 ~ } _ => { [INFO] [stdout] 55 | unreachable!() [INFO] [stdout] 56 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/types/fetch.rs:69:12 [INFO] [stdout] | [INFO] [stdout] 69 | if let Response::Fetch(_, attrs) = self.response.parsed() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-------------^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/types/fetch.rs:79:9 [INFO] [stdout] | [INFO] [stdout] 79 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 69 ~ match self.response.parsed() { Response::Fetch(_, attrs) => { [INFO] [stdout] 70 | attrs [INFO] [stdout] ... [INFO] [stdout] 78 | .flatten() [INFO] [stdout] 79 ~ } _ => { [INFO] [stdout] 80 | unreachable!() [INFO] [stdout] 81 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/types/fetch.rs:87:12 [INFO] [stdout] | [INFO] [stdout] 87 | if let Response::Fetch(_, attrs) = self.response.parsed() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-------------^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/types/fetch.rs:100:9 [INFO] [stdout] | [INFO] [stdout] 100 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 87 ~ match self.response.parsed() { Response::Fetch(_, attrs) => { [INFO] [stdout] 88 | attrs [INFO] [stdout] ... [INFO] [stdout] 99 | .next() [INFO] [stdout] 100 ~ } _ => { [INFO] [stdout] 101 | unreachable!() [INFO] [stdout] 102 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/types/fetch.rs:109:12 [INFO] [stdout] | [INFO] [stdout] 109 | if let Response::Fetch(_, attrs) = self.response.parsed() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-------------^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/types/fetch.rs:122:9 [INFO] [stdout] | [INFO] [stdout] 122 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 109 ~ match self.response.parsed() { Response::Fetch(_, attrs) => { [INFO] [stdout] 110 | attrs [INFO] [stdout] ... [INFO] [stdout] 121 | .next() [INFO] [stdout] 122 ~ } _ => { [INFO] [stdout] 123 | unreachable!() [INFO] [stdout] 124 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/types/fetch.rs:132:12 [INFO] [stdout] | [INFO] [stdout] 132 | if let Response::Fetch(_, attrs) = self.response.parsed() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-------------^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/types/fetch.rs:145:9 [INFO] [stdout] | [INFO] [stdout] 145 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 132 ~ match self.response.parsed() { Response::Fetch(_, attrs) => { [INFO] [stdout] 133 | attrs [INFO] [stdout] ... [INFO] [stdout] 144 | .next() [INFO] [stdout] 145 ~ } _ => { [INFO] [stdout] 146 | unreachable!() [INFO] [stdout] 147 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/types/fetch.rs:158:12 [INFO] [stdout] | [INFO] [stdout] 158 | if let Response::Fetch(_, attrs) = self.response.parsed() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-------------^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/types/fetch.rs:166:9 [INFO] [stdout] | [INFO] [stdout] 166 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 158 ~ match self.response.parsed() { Response::Fetch(_, attrs) => { [INFO] [stdout] 159 | attrs [INFO] [stdout] ... [INFO] [stdout] 165 | .next() [INFO] [stdout] 166 ~ } _ => { [INFO] [stdout] 167 | unreachable!() [INFO] [stdout] 168 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/types/fetch.rs:176:12 [INFO] [stdout] | [INFO] [stdout] 176 | if let Response::Fetch(_, attrs) = self.response.parsed() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-------------^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/types/fetch.rs:188:9 [INFO] [stdout] | [INFO] [stdout] 188 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 176 ~ match self.response.parsed() { Response::Fetch(_, attrs) => { [INFO] [stdout] 177 | attrs [INFO] [stdout] ... [INFO] [stdout] 187 | .next() [INFO] [stdout] 188 ~ } _ => { [INFO] [stdout] 189 | unreachable!() [INFO] [stdout] 190 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/types/fetch.rs:198:12 [INFO] [stdout] | [INFO] [stdout] 198 | if let Response::Fetch(_, attrs) = self.response.parsed() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-------------^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/types/fetch.rs:212:9 [INFO] [stdout] | [INFO] [stdout] 212 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 198 ~ match self.response.parsed() { Response::Fetch(_, attrs) => { [INFO] [stdout] 199 | attrs [INFO] [stdout] ... [INFO] [stdout] 211 | ) [INFO] [stdout] 212 ~ } _ => { [INFO] [stdout] 213 | unreachable!() [INFO] [stdout] 214 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/types/fetch.rs:222:12 [INFO] [stdout] | [INFO] [stdout] 222 | if let Response::Fetch(_, attrs) = self.response.parsed() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-------------^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/types/fetch.rs:230:9 [INFO] [stdout] | [INFO] [stdout] 230 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 222 ~ match self.response.parsed() { Response::Fetch(_, attrs) => { [INFO] [stdout] 223 | attrs [INFO] [stdout] ... [INFO] [stdout] 229 | .next() [INFO] [stdout] 230 ~ } _ => { [INFO] [stdout] 231 | unreachable!() [INFO] [stdout] 232 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 34 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] warning: failed to automatically apply fixes suggested by rustc to crate `async_imap` [INFO] [stderr] [INFO] [stderr] after fixes were automatically applied the compiler reported errors within these files: [INFO] [stderr] [INFO] [stderr] * src/client.rs [INFO] [stderr] [INFO] [stderr] This likely indicates a bug in either rustc or cargo itself, [INFO] [stderr] and we would appreciate a bug report! You're likely to see [INFO] [stderr] a number of compiler warnings after this message which cargo [INFO] [stderr] attempted to fix but failed. If you could open an issue at [INFO] [stderr] https://github.com/rust-lang/rust/issues [INFO] [stderr] quoting the full output of this command we'd be very appreciative! [INFO] [stderr] Note that you may be able to make some more progress in the near-term [INFO] [stderr] fixing code with the `--broken-code` flag [INFO] [stderr] [INFO] [stderr] The following errors were reported: [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/client.rs:26:6 [INFO] [stderr] | [INFO] [stderr] 26 | ($x:expr_2021) => { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/client.rs:120:6 [INFO] [stderr] | [INFO] [stderr] 120 | ($r:expr_2021, $self:expr_2021) => { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/client.rs:120:20 [INFO] [stderr] | [INFO] [stderr] 120 | ($r:expr_2021, $self:expr_2021) => { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error: aborting due to 3 previous errors [INFO] [stderr] [INFO] [stderr] For more information about this error, try `rustc --explain E0658`. [INFO] [stderr] Original diagnostics will follow. [INFO] [stderr] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/client.rs:26:9 [INFO] [stdout] | [INFO] [stdout] 26 | ($x:expr) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] = note: `--force-warn edition-2024-expr-fragment-specifier` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 26 | ($x:expr_2021) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/client.rs:120:9 [INFO] [stdout] | [INFO] [stdout] 120 | ($r:expr, $self:expr) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 120 | ($r:expr_2021, $self:expr) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/client.rs:120:21 [INFO] [stdout] | [INFO] [stdout] 120 | ($r:expr, $self:expr) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 120 | ($r:expr, $self:expr_2021) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/client.rs:263:16 [INFO] [stdout] | [INFO] [stdout] 263 | if let Some(res) = self.read_response().await { [INFO] [stdout] | ^^^^^^^^^^^^^^^^-------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/client.rs:297:13 [INFO] [stdout] | [INFO] [stdout] 297 | } else { [INFO] [stdout] | ^ [INFO] [stdout] = note: `--force-warn if-let-rescope` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 263 ~ match self.read_response().await { Some(res) => { [INFO] [stdout] 264 | let res = ok_or_unauth_client_err!(res.map_err(Into::into), self); [INFO] [stdout] ... [INFO] [stdout] 296 | } [INFO] [stdout] 297 ~ } _ => { [INFO] [stdout] 298 | return Err((Error::ConnectionLost, self)); [INFO] [stdout] 299 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/client.rs:1139:20 [INFO] [stdout] | [INFO] [stdout] 1139 | if let Response::Continue { .. } = res.parsed() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^---^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/client.rs:1147:17 [INFO] [stdout] | [INFO] [stdout] 1147 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1139 ~ match res.parsed() { Response::Continue { .. } => { [INFO] [stdout] 1140 | self.stream.as_mut().write_all(content).await?; [INFO] [stdout] ... [INFO] [stdout] 1146 | Ok(()) [INFO] [stdout] 1147 ~ } _ => { [INFO] [stdout] 1148 | Err(Error::Append) [INFO] [stdout] 1149 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/client.rs:1406:12 [INFO] [stdout] | [INFO] [stdout] 1406 | if let Some(first_res) = self.stream.next().await { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^------------------------ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/client.rs:1408:9 [INFO] [stdout] | [INFO] [stdout] 1408 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1406 ~ match self.stream.next().await { Some(first_res) => { [INFO] [stdout] 1407 | self.check_done_ok_from(id, unsolicited, first_res?).await [INFO] [stdout] 1408 ~ } _ => { [INFO] [stdout] 1409 | Err(Error::ConnectionLost) [INFO] [stdout] 1410 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/client.rs:1438:16 [INFO] [stdout] | [INFO] [stdout] 1438 | if let Some(res) = self.stream.next().await { [INFO] [stdout] | ^^^^^^^^^^^^^^^^------------------------ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/client.rs:1440:13 [INFO] [stdout] | [INFO] [stdout] 1440 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1438 ~ match self.stream.next().await { Some(res) => { [INFO] [stdout] 1439 | response = res?; [INFO] [stdout] 1440 ~ } _ => { [INFO] [stdout] 1441 | return Err(Error::ConnectionLost); [INFO] [stdout] 1442 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/extensions/idle.rs:185:15 [INFO] [stdout] | [INFO] [stdout] 185 | while let Some(res) = self.session.stream.next().await { [INFO] [stdout] | ^^^^^^^^^^^^^^^^-------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/extensions/idle.rs:212:9 [INFO] [stdout] | [INFO] [stdout] 212 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/extensions/quota.rs:24:11 [INFO] [stdout] | [INFO] [stdout] 24 | while let Some(resp) = stream [INFO] [stdout] | ___________^ - [INFO] [stdout] | |____________________________| [INFO] [stdout] 25 | || .take_while(|res| filter(res, &command_tag)) [INFO] [stdout] 26 | || .next() [INFO] [stdout] 27 | || .await [INFO] [stdout] | ||______________^ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | |______________| [INFO] [stdout] | [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/extensions/quota.rs:36:5 [INFO] [stdout] | [INFO] [stdout] 36 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/extensions/quota.rs:54:11 [INFO] [stdout] | [INFO] [stdout] 54 | while let Some(resp) = stream [INFO] [stdout] | ___________^ - [INFO] [stdout] | |____________________________| [INFO] [stdout] 55 | || .take_while(|res| filter(res, &command_tag)) [INFO] [stdout] 56 | || .next() [INFO] [stdout] 57 | || .await [INFO] [stdout] | ||______________^ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | |______________| [INFO] [stdout] | [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/extensions/quota.rs:71:5 [INFO] [stdout] | [INFO] [stdout] 71 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/extensions/id.rs:44:11 [INFO] [stdout] | [INFO] [stdout] 44 | while let Some(resp) = stream [INFO] [stdout] | ___________^ - [INFO] [stdout] | |____________________________| [INFO] [stdout] 45 | || .take_while(|res| filter(res, &command_tag)) [INFO] [stdout] 46 | || .next() [INFO] [stdout] 47 | || .await [INFO] [stdout] | ||______________^ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | |______________| [INFO] [stdout] | [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/extensions/id.rs:62:5 [INFO] [stdout] | [INFO] [stdout] 62 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/imap_stream.rs:306:16 [INFO] [stdout] | [INFO] [stdout] 306 | if let Some(response) = this.decode()? { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^-------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/imap_stream.rs:308:13 [INFO] [stdout] | [INFO] [stdout] 308 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 306 ~ match this.decode()? { Some(response) => { [INFO] [stdout] 307 | return Poll::Ready(Some(Ok(response))); [INFO] [stdout] 308 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `impl futures::Future` will capture more lifetimes than possibly intended in edition 2024 [INFO] [stdout] --> src/parse.rs:47:6 [INFO] [stdout] | [INFO] [stdout] 47 | ) -> impl Future { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see [INFO] [stdout] note: specifically, these lifetimes are in scope but not mentioned in the type's bounds [INFO] [stdout] --> src/parse.rs:45:10 [INFO] [stdout] | [INFO] [stdout] 45 | res: &io::Result, [INFO] [stdout] | ^ [INFO] [stdout] 46 | command_tag: &RequestId, [INFO] [stdout] | ^ [INFO] [stdout] = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024 [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] 47 | ) -> impl Future + use<> { [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/parse.rs:102:11 [INFO] [stdout] | [INFO] [stdout] 102 | while let Some(resp) = stream.next().await { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/parse.rs:163:5 [INFO] [stdout] | [INFO] [stdout] 163 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/parse.rs:203:11 [INFO] [stdout] | [INFO] [stdout] 203 | while let Some(resp) = stream [INFO] [stdout] | ___________^ - [INFO] [stdout] | |____________________________| [INFO] [stdout] 204 | || .take_while(|res| filter(res, &command_tag)) [INFO] [stdout] 205 | || .next() [INFO] [stdout] 206 | || .await [INFO] [stdout] | ||______________^ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | |______________| [INFO] [stdout] | [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/parse.rs:219:5 [INFO] [stdout] | [INFO] [stdout] 219 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/parse.rs:229:11 [INFO] [stdout] | [INFO] [stdout] 229 | while let Some(resp) = stream [INFO] [stdout] | ___________^ - [INFO] [stdout] | |____________________________| [INFO] [stdout] 230 | || .take_while(|res| filter(res, &command_tag)) [INFO] [stdout] 231 | || .next() [INFO] [stdout] 232 | || .await [INFO] [stdout] | ||______________^ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | |______________| [INFO] [stdout] | [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/parse.rs:236:5 [INFO] [stdout] | [INFO] [stdout] 236 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/parse.rs:248:11 [INFO] [stdout] | [INFO] [stdout] 248 | while let Some(resp) = stream.next().await { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/parse.rs:364:5 [INFO] [stdout] | [INFO] [stdout] 364 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/parse.rs:376:11 [INFO] [stdout] | [INFO] [stdout] 376 | while let Some(resp) = stream [INFO] [stdout] | ___________^ - [INFO] [stdout] | |____________________________| [INFO] [stdout] 377 | || .take_while(|res| filter(res, &command_tag)) [INFO] [stdout] 378 | || .next() [INFO] [stdout] 379 | || .await [INFO] [stdout] | ||______________^ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | |______________| [INFO] [stdout] | [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/parse.rs:392:5 [INFO] [stdout] | [INFO] [stdout] 392 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/parse.rs:405:11 [INFO] [stdout] | [INFO] [stdout] 405 | while let Some(resp) = stream [INFO] [stdout] | ___________^ - [INFO] [stdout] | |____________________________| [INFO] [stdout] 406 | || .take_while(|res| filter(res, &command_tag)) [INFO] [stdout] 407 | || .next() [INFO] [stdout] 408 | || .await [INFO] [stdout] | ||______________^ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | |______________| [INFO] [stdout] | [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/parse.rs:427:5 [INFO] [stdout] | [INFO] [stdout] 427 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/types/fetch.rs:40:16 [INFO] [stdout] | [INFO] [stdout] 40 | if let Response::Fetch(message, attrs) = response.parsed() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^--------^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/types/fetch.rs:54:13 [INFO] [stdout] | [INFO] [stdout] 54 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 40 ~ match response.parsed() { Response::Fetch(message, attrs) => { [INFO] [stdout] 41 | let mut uid = None; [INFO] [stdout] ... [INFO] [stdout] 53 | (*message, uid, size, modseq) [INFO] [stdout] 54 ~ } _ => { [INFO] [stdout] 55 | unreachable!() [INFO] [stdout] 56 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/types/fetch.rs:69:12 [INFO] [stdout] | [INFO] [stdout] 69 | if let Response::Fetch(_, attrs) = self.response.parsed() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-------------^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/types/fetch.rs:79:9 [INFO] [stdout] | [INFO] [stdout] 79 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 69 ~ match self.response.parsed() { Response::Fetch(_, attrs) => { [INFO] [stdout] 70 | attrs [INFO] [stdout] ... [INFO] [stdout] 78 | .flatten() [INFO] [stdout] 79 ~ } _ => { [INFO] [stdout] 80 | unreachable!() [INFO] [stdout] 81 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/types/fetch.rs:87:12 [INFO] [stdout] | [INFO] [stdout] 87 | if let Response::Fetch(_, attrs) = self.response.parsed() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-------------^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/types/fetch.rs:100:9 [INFO] [stdout] | [INFO] [stdout] 100 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 87 ~ match self.response.parsed() { Response::Fetch(_, attrs) => { [INFO] [stdout] 88 | attrs [INFO] [stdout] ... [INFO] [stdout] 99 | .next() [INFO] [stdout] 100 ~ } _ => { [INFO] [stdout] 101 | unreachable!() [INFO] [stdout] 102 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/types/fetch.rs:109:12 [INFO] [stdout] | [INFO] [stdout] 109 | if let Response::Fetch(_, attrs) = self.response.parsed() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-------------^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/types/fetch.rs:122:9 [INFO] [stdout] | [INFO] [stdout] 122 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 109 ~ match self.response.parsed() { Response::Fetch(_, attrs) => { [INFO] [stdout] 110 | attrs [INFO] [stdout] ... [INFO] [stdout] 121 | .next() [INFO] [stdout] 122 ~ } _ => { [INFO] [stdout] 123 | unreachable!() [INFO] [stdout] 124 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/types/fetch.rs:132:12 [INFO] [stdout] | [INFO] [stdout] 132 | if let Response::Fetch(_, attrs) = self.response.parsed() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-------------^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/types/fetch.rs:145:9 [INFO] [stdout] | [INFO] [stdout] 145 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 132 ~ match self.response.parsed() { Response::Fetch(_, attrs) => { [INFO] [stdout] 133 | attrs [INFO] [stdout] ... [INFO] [stdout] 144 | .next() [INFO] [stdout] 145 ~ } _ => { [INFO] [stdout] 146 | unreachable!() [INFO] [stdout] 147 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/types/fetch.rs:158:12 [INFO] [stdout] | [INFO] [stdout] 158 | if let Response::Fetch(_, attrs) = self.response.parsed() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-------------^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/types/fetch.rs:166:9 [INFO] [stdout] | [INFO] [stdout] 166 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 158 ~ match self.response.parsed() { Response::Fetch(_, attrs) => { [INFO] [stdout] 159 | attrs [INFO] [stdout] ... [INFO] [stdout] 165 | .next() [INFO] [stdout] 166 ~ } _ => { [INFO] [stdout] 167 | unreachable!() [INFO] [stdout] 168 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/types/fetch.rs:176:12 [INFO] [stdout] | [INFO] [stdout] 176 | if let Response::Fetch(_, attrs) = self.response.parsed() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-------------^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/types/fetch.rs:188:9 [INFO] [stdout] | [INFO] [stdout] 188 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 176 ~ match self.response.parsed() { Response::Fetch(_, attrs) => { [INFO] [stdout] 177 | attrs [INFO] [stdout] ... [INFO] [stdout] 187 | .next() [INFO] [stdout] 188 ~ } _ => { [INFO] [stdout] 189 | unreachable!() [INFO] [stdout] 190 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/types/fetch.rs:198:12 [INFO] [stdout] | [INFO] [stdout] 198 | if let Response::Fetch(_, attrs) = self.response.parsed() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-------------^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/types/fetch.rs:212:9 [INFO] [stdout] | [INFO] [stdout] 212 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 198 ~ match self.response.parsed() { Response::Fetch(_, attrs) => { [INFO] [stdout] 199 | attrs [INFO] [stdout] ... [INFO] [stdout] 211 | ) [INFO] [stdout] 212 ~ } _ => { [INFO] [stdout] 213 | unreachable!() [INFO] [stdout] 214 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/types/fetch.rs:222:12 [INFO] [stdout] | [INFO] [stdout] 222 | if let Response::Fetch(_, attrs) = self.response.parsed() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-------------^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/types/fetch.rs:230:9 [INFO] [stdout] | [INFO] [stdout] 230 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 222 ~ match self.response.parsed() { Response::Fetch(_, attrs) => { [INFO] [stdout] 223 | attrs [INFO] [stdout] ... [INFO] [stdout] 229 | .next() [INFO] [stdout] 230 ~ } _ => { [INFO] [stdout] 231 | unreachable!() [INFO] [stdout] 232 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 28 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 11.58s [INFO] [stderr] Running `cargo check` to verify 2024 [INFO] [stderr] Checking async-imap v0.10.1 (/tmp/fixit) [INFO] [stdout] error: captured variable cannot escape `FnMut` closure body [INFO] [stdout] --> src/parse.rs:73:50 [INFO] [stdout] | [INFO] [stdout] 68 | command_tag: RequestId, [INFO] [stdout] | ----------- variable defined here [INFO] [stdout] ... [INFO] [stdout] 73 | StreamExt::take_while(stream, move |res| filter(res, &command_tag)), [INFO] [stdout] | - ^^^^^^^^^^^^^-----------^ [INFO] [stdout] | | | | [INFO] [stdout] | | | variable captured here [INFO] [stdout] | | returns a reference to a captured variable which escapes the closure body [INFO] [stdout] | inferred to be a `FnMut` closure [INFO] [stdout] | [INFO] [stdout] = note: `FnMut` closures only have access to their captured variables while they are executing... [INFO] [stdout] = note: ...therefore, they cannot allow references to captured variables to escape [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: lifetime may not live long enough [INFO] [stdout] --> src/parse.rs:73:50 [INFO] [stdout] | [INFO] [stdout] 73 | StreamExt::take_while(stream, move |res| filter(res, &command_tag)), [INFO] [stdout] | ---- ^^^^^^^^^^^^^^^^^^^^^^^^^ returning this value requires that `'2` must outlive `'3` [INFO] [stdout] | | | [INFO] [stdout] | | return type of closure `impl futures::Future` contains a lifetime `'3` [INFO] [stdout] | has type `&'2 std::result::Result` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: lifetime may not live long enough [INFO] [stdout] --> src/parse.rs:230:27 [INFO] [stdout] | [INFO] [stdout] 230 | .take_while(|res| filter(res, &command_tag)) [INFO] [stdout] | ---- ^^^^^^^^^^^^^^^^^^^^^^^^^ returning this value requires that `'1` must outlive `'2` [INFO] [stdout] | | | [INFO] [stdout] | | return type of closure `impl futures::Future` contains a lifetime `'2` [INFO] [stdout] | has type `&'1 std::result::Result` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: lifetime may not live long enough [INFO] [stdout] --> src/parse.rs:204:27 [INFO] [stdout] | [INFO] [stdout] 204 | .take_while(|res| filter(res, &command_tag)) [INFO] [stdout] | ---- ^^^^^^^^^^^^^^^^^^^^^^^^^ returning this value requires that `'1` must outlive `'2` [INFO] [stdout] | | | [INFO] [stdout] | | return type of closure `impl futures::Future` contains a lifetime `'2` [INFO] [stdout] | has type `&'1 std::result::Result` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: captured variable cannot escape `FnMut` closure body [INFO] [stdout] --> src/parse.rs:176:50 [INFO] [stdout] | [INFO] [stdout] 171 | command_tag: RequestId, [INFO] [stdout] | ----------- variable defined here [INFO] [stdout] ... [INFO] [stdout] 176 | StreamExt::take_while(stream, move |res| filter(res, &command_tag)), [INFO] [stdout] | - ^^^^^^^^^^^^^-----------^ [INFO] [stdout] | | | | [INFO] [stdout] | | | variable captured here [INFO] [stdout] | | returns a reference to a captured variable which escapes the closure body [INFO] [stdout] | inferred to be a `FnMut` closure [INFO] [stdout] | [INFO] [stdout] = note: `FnMut` closures only have access to their captured variables while they are executing... [INFO] [stdout] = note: ...therefore, they cannot allow references to captured variables to escape [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: lifetime may not live long enough [INFO] [stdout] --> src/parse.rs:176:50 [INFO] [stdout] | [INFO] [stdout] 176 | StreamExt::take_while(stream, move |res| filter(res, &command_tag)), [INFO] [stdout] | ---- ^^^^^^^^^^^^^^^^^^^^^^^^^ returning this value requires that `'2` must outlive `'3` [INFO] [stdout] | | | [INFO] [stdout] | | return type of closure `impl futures::Future` contains a lifetime `'3` [INFO] [stdout] | has type `&'2 std::result::Result` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: captured variable cannot escape `FnMut` closure body [INFO] [stdout] --> src/parse.rs:73:50 [INFO] [stdout] | [INFO] [stdout] 68 | command_tag: RequestId, [INFO] [stdout] | ----------- variable defined here [INFO] [stdout] ... [INFO] [stdout] 73 | StreamExt::take_while(stream, move |res| filter(res, &command_tag)), [INFO] [stdout] | - ^^^^^^^^^^^^^-----------^ [INFO] [stdout] | | | | [INFO] [stdout] | | | variable captured here [INFO] [stdout] | | returns a reference to a captured variable which escapes the closure body [INFO] [stdout] | inferred to be a `FnMut` closure [INFO] [stdout] | [INFO] [stdout] = note: `FnMut` closures only have access to their captured variables while they are executing... [INFO] [stdout] = note: ...therefore, they cannot allow references to captured variables to escape [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: lifetime may not live long enough [INFO] [stdout] --> src/parse.rs:73:50 [INFO] [stdout] | [INFO] [stdout] 73 | StreamExt::take_while(stream, move |res| filter(res, &command_tag)), [INFO] [stdout] | ---- ^^^^^^^^^^^^^^^^^^^^^^^^^ returning this value requires that `'2` must outlive `'3` [INFO] [stdout] | | | [INFO] [stdout] | | return type of closure `impl futures::Future` contains a lifetime `'3` [INFO] [stdout] | has type `&'2 std::result::Result` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: lifetime may not live long enough [INFO] [stdout] --> src/parse.rs:230:27 [INFO] [stdout] | [INFO] [stdout] 230 | .take_while(|res| filter(res, &command_tag)) [INFO] [stdout] | ---- ^^^^^^^^^^^^^^^^^^^^^^^^^ returning this value requires that `'1` must outlive `'2` [INFO] [stdout] | | | [INFO] [stdout] | | return type of closure `impl futures::Future` contains a lifetime `'2` [INFO] [stdout] | has type `&'1 std::result::Result` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: captured variable cannot escape `FnMut` closure body [INFO] [stdout] --> src/parse.rs:21:50 [INFO] [stdout] | [INFO] [stdout] 16 | command_tag: RequestId, [INFO] [stdout] | ----------- variable defined here [INFO] [stdout] ... [INFO] [stdout] 21 | StreamExt::take_while(stream, move |res| filter(res, &command_tag)), [INFO] [stdout] | - ^^^^^^^^^^^^^-----------^ [INFO] [stdout] | | | | [INFO] [stdout] | | | variable captured here [INFO] [stdout] | | returns a reference to a captured variable which escapes the closure body [INFO] [stdout] | inferred to be a `FnMut` closure [INFO] [stdout] | [INFO] [stdout] = note: `FnMut` closures only have access to their captured variables while they are executing... [INFO] [stdout] = note: ...therefore, they cannot allow references to captured variables to escape [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: lifetime may not live long enough [INFO] [stdout] --> src/parse.rs:21:50 [INFO] [stdout] | [INFO] [stdout] 21 | StreamExt::take_while(stream, move |res| filter(res, &command_tag)), [INFO] [stdout] | ---- ^^^^^^^^^^^^^^^^^^^^^^^^^ returning this value requires that `'2` must outlive `'3` [INFO] [stdout] | | | [INFO] [stdout] | | return type of closure `impl futures::Future` contains a lifetime `'3` [INFO] [stdout] | has type `&'2 std::result::Result` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: lifetime may not live long enough [INFO] [stdout] --> src/parse.rs:204:27 [INFO] [stdout] | [INFO] [stdout] 204 | .take_while(|res| filter(res, &command_tag)) [INFO] [stdout] | ---- ^^^^^^^^^^^^^^^^^^^^^^^^^ returning this value requires that `'1` must outlive `'2` [INFO] [stdout] | | | [INFO] [stdout] | | return type of closure `impl futures::Future` contains a lifetime `'2` [INFO] [stdout] | has type `&'1 std::result::Result` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: captured variable cannot escape `FnMut` closure body [INFO] [stdout] --> src/parse.rs:176:50 [INFO] [stdout] | [INFO] [stdout] 171 | command_tag: RequestId, [INFO] [stdout] | ----------- variable defined here [INFO] [stdout] ... [INFO] [stdout] 176 | StreamExt::take_while(stream, move |res| filter(res, &command_tag)), [INFO] [stdout] | - ^^^^^^^^^^^^^-----------^ [INFO] [stdout] | | | | [INFO] [stdout] | | | variable captured here [INFO] [stdout] | | returns a reference to a captured variable which escapes the closure body [INFO] [stdout] | inferred to be a `FnMut` closure [INFO] [stdout] | [INFO] [stdout] = note: `FnMut` closures only have access to their captured variables while they are executing... [INFO] [stdout] = note: ...therefore, they cannot allow references to captured variables to escape [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: lifetime may not live long enough [INFO] [stdout] --> src/parse.rs:176:50 [INFO] [stdout] | [INFO] [stdout] 176 | StreamExt::take_while(stream, move |res| filter(res, &command_tag)), [INFO] [stdout] | ---- ^^^^^^^^^^^^^^^^^^^^^^^^^ returning this value requires that `'2` must outlive `'3` [INFO] [stdout] | | | [INFO] [stdout] | | return type of closure `impl futures::Future` contains a lifetime `'3` [INFO] [stdout] | has type `&'2 std::result::Result` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: lifetime may not live long enough [INFO] [stdout] --> src/parse.rs:377:27 [INFO] [stdout] | [INFO] [stdout] 377 | .take_while(|res| filter(res, &command_tag)) [INFO] [stdout] | ---- ^^^^^^^^^^^^^^^^^^^^^^^^^ returning this value requires that `'1` must outlive `'2` [INFO] [stdout] | | | [INFO] [stdout] | | return type of closure `impl futures::Future` contains a lifetime `'2` [INFO] [stdout] | has type `&'1 std::result::Result` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: lifetime may not live long enough [INFO] [stdout] --> src/extensions/quota.rs:25:27 [INFO] [stdout] | [INFO] [stdout] 25 | .take_while(|res| filter(res, &command_tag)) [INFO] [stdout] | ---- ^^^^^^^^^^^^^^^^^^^^^^^^^ returning this value requires that `'1` must outlive `'2` [INFO] [stdout] | | | [INFO] [stdout] | | return type of closure `impl futures::Future` contains a lifetime `'2` [INFO] [stdout] | has type `&'1 std::result::Result` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: captured variable cannot escape `FnMut` closure body [INFO] [stdout] --> src/parse.rs:21:50 [INFO] [stdout] | [INFO] [stdout] 16 | command_tag: RequestId, [INFO] [stdout] | ----------- variable defined here [INFO] [stdout] ... [INFO] [stdout] 21 | StreamExt::take_while(stream, move |res| filter(res, &command_tag)), [INFO] [stdout] | - ^^^^^^^^^^^^^-----------^ [INFO] [stdout] | | | | [INFO] [stdout] | | | variable captured here [INFO] [stdout] | | returns a reference to a captured variable which escapes the closure body [INFO] [stdout] | inferred to be a `FnMut` closure [INFO] [stdout] | [INFO] [stdout] = note: `FnMut` closures only have access to their captured variables while they are executing... [INFO] [stdout] = note: ...therefore, they cannot allow references to captured variables to escape [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: lifetime may not live long enough [INFO] [stdout] --> src/parse.rs:21:50 [INFO] [stdout] | [INFO] [stdout] 21 | StreamExt::take_while(stream, move |res| filter(res, &command_tag)), [INFO] [stdout] | ---- ^^^^^^^^^^^^^^^^^^^^^^^^^ returning this value requires that `'2` must outlive `'3` [INFO] [stdout] | | | [INFO] [stdout] | | return type of closure `impl futures::Future` contains a lifetime `'3` [INFO] [stdout] | has type `&'2 std::result::Result` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: lifetime may not live long enough [INFO] [stdout] --> src/extensions/quota.rs:55:27 [INFO] [stdout] | [INFO] [stdout] 55 | .take_while(|res| filter(res, &command_tag)) [INFO] [stdout] | ---- ^^^^^^^^^^^^^^^^^^^^^^^^^ returning this value requires that `'1` must outlive `'2` [INFO] [stdout] | | | [INFO] [stdout] | | return type of closure `impl futures::Future` contains a lifetime `'2` [INFO] [stdout] | has type `&'1 std::result::Result` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: lifetime may not live long enough [INFO] [stdout] --> src/parse.rs:406:27 [INFO] [stdout] | [INFO] [stdout] 406 | .take_while(|res| filter(res, &command_tag)) [INFO] [stdout] | ---- ^^^^^^^^^^^^^^^^^^^^^^^^^ returning this value requires that `'1` must outlive `'2` [INFO] [stdout] | | | [INFO] [stdout] | | return type of closure `impl futures::Future` contains a lifetime `'2` [INFO] [stdout] | has type `&'1 std::result::Result` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: lifetime may not live long enough [INFO] [stdout] --> src/extensions/id.rs:45:27 [INFO] [stdout] | [INFO] [stdout] 45 | .take_while(|res| filter(res, &command_tag)) [INFO] [stdout] | ---- ^^^^^^^^^^^^^^^^^^^^^^^^^ returning this value requires that `'1` must outlive `'2` [INFO] [stdout] | | | [INFO] [stdout] | | return type of closure `impl futures::Future` contains a lifetime `'2` [INFO] [stdout] | has type `&'1 std::result::Result` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: lifetime may not live long enough [INFO] [stdout] --> src/parse.rs:377:27 [INFO] [stdout] | [INFO] [stdout] 377 | .take_while(|res| filter(res, &command_tag)) [INFO] [stdout] | ---- ^^^^^^^^^^^^^^^^^^^^^^^^^ returning this value requires that `'1` must outlive `'2` [INFO] [stdout] | | | [INFO] [stdout] | | return type of closure `impl futures::Future` contains a lifetime `'2` [INFO] [stdout] | has type `&'1 std::result::Result` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: lifetime may not live long enough [INFO] [stdout] --> src/extensions/quota.rs:25:27 [INFO] [stdout] | [INFO] [stdout] 25 | .take_while(|res| filter(res, &command_tag)) [INFO] [stdout] | ---- ^^^^^^^^^^^^^^^^^^^^^^^^^ returning this value requires that `'1` must outlive `'2` [INFO] [stdout] | | | [INFO] [stdout] | | return type of closure `impl futures::Future` contains a lifetime `'2` [INFO] [stdout] | has type `&'1 std::result::Result` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: lifetime may not live long enough [INFO] [stdout] --> src/extensions/quota.rs:55:27 [INFO] [stdout] | [INFO] [stdout] 55 | .take_while(|res| filter(res, &command_tag)) [INFO] [stdout] | ---- ^^^^^^^^^^^^^^^^^^^^^^^^^ returning this value requires that `'1` must outlive `'2` [INFO] [stdout] | | | [INFO] [stdout] | | return type of closure `impl futures::Future` contains a lifetime `'2` [INFO] [stdout] | has type `&'1 std::result::Result` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: lifetime may not live long enough [INFO] [stdout] --> src/parse.rs:406:27 [INFO] [stdout] | [INFO] [stdout] 406 | .take_while(|res| filter(res, &command_tag)) [INFO] [stdout] | ---- ^^^^^^^^^^^^^^^^^^^^^^^^^ returning this value requires that `'1` must outlive `'2` [INFO] [stdout] | | | [INFO] [stdout] | | return type of closure `impl futures::Future` contains a lifetime `'2` [INFO] [stdout] | has type `&'1 std::result::Result` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: lifetime may not live long enough [INFO] [stdout] --> src/extensions/id.rs:45:27 [INFO] [stdout] | [INFO] [stdout] 45 | .take_while(|res| filter(res, &command_tag)) [INFO] [stdout] | ---- ^^^^^^^^^^^^^^^^^^^^^^^^^ returning this value requires that `'1` must outlive `'2` [INFO] [stdout] | | | [INFO] [stdout] | | return type of closure `impl futures::Future` contains a lifetime `'2` [INFO] [stdout] | has type `&'1 std::result::Result` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 13 previous errors [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `async-imap` (lib) due to 14 previous errors [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stdout] error: aborting due to 13 previous errors [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `async-imap` (lib test) due to 14 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" "ed38286988cedad131871b39873a44a3150f28308d15bbc2def9a103b4ed9492", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "ed38286988cedad131871b39873a44a3150f28308d15bbc2def9a103b4ed9492", kill_on_drop: false }` [INFO] [stdout] ed38286988cedad131871b39873a44a3150f28308d15bbc2def9a103b4ed9492