[INFO] fetching crate h2 0.4.6... [INFO] checking h2-0.4.6 against try#ccf408f4326a858c00dd845a64a86b16f360a801 for pr-129466-2 [INFO] extracting crate h2 0.4.6 into /workspace/builds/worker-0-tc2/source [INFO] validating manifest of crates.io crate h2 0.4.6 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 h2 0.4.6 [INFO] removed 0 missing examples [INFO] finished tweaking crates.io crate h2 0.4.6 [INFO] tweaked toml for crates.io crate h2 0.4.6 written to /workspace/builds/worker-0-tc2/source/Cargo.toml [INFO] crate crates.io crate h2 0.4.6 already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+ccf408f4326a858c00dd845a64a86b16f360a801" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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] 495e10c8897673ebea55de641bb9edc5ffaef3edb0ebf32dc28cb97099664f1c [INFO] running `Command { std: "docker" "start" "-a" "495e10c8897673ebea55de641bb9edc5ffaef3edb0ebf32dc28cb97099664f1c", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "495e10c8897673ebea55de641bb9edc5ffaef3edb0ebf32dc28cb97099664f1c", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "495e10c8897673ebea55de641bb9edc5ffaef3edb0ebf32dc28cb97099664f1c", kill_on_drop: false }` [INFO] [stdout] 495e10c8897673ebea55de641bb9edc5ffaef3edb0ebf32dc28cb97099664f1c [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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] 72d3c87291822b277907e20075199b514f93227f5392fabb539dec8d610c3383 [INFO] running `Command { std: "docker" "start" "-a" "72d3c87291822b277907e20075199b514f93227f5392fabb539dec8d610c3383", kill_on_drop: false }` [INFO] [stderr] Copying to /tmp/fixit [INFO] [stderr] Running `cargo fix --edition` [INFO] [stderr] Migrating Cargo.toml from 2021 edition to 2024 [INFO] [stderr] Compiling dunce v1.0.5 [INFO] [stderr] Compiling aws-lc-rs v1.8.1 [INFO] [stderr] Checking byteorder v1.5.0 [INFO] [stderr] Checking bytes v1.7.1 [INFO] [stderr] Checking mirai-annotations v1.12.0 [INFO] [stderr] Checking rustls-pki-types v1.7.0 [INFO] [stderr] Compiling serde v1.0.204 [INFO] [stderr] Checking untrusted v0.9.0 [INFO] [stderr] Compiling rustls v0.23.12 [INFO] [stderr] Compiling jobserver v0.1.32 [INFO] [stderr] Checking mio v1.0.1 [INFO] [stderr] Checking socket2 v0.5.7 [INFO] [stderr] Checking getrandom v0.2.15 [INFO] [stderr] Compiling syn v2.0.72 [INFO] [stderr] Checking futures-sink v0.3.30 [INFO] [stderr] Compiling serde_json v1.0.122 [INFO] [stderr] Checking subtle v2.6.1 [INFO] [stderr] Checking tracing v0.1.40 [INFO] [stderr] Checking indexmap v2.3.0 [INFO] [stderr] Checking same-file v1.0.6 [INFO] [stderr] Checking atomic-waker v1.1.2 [INFO] [stderr] Checking walkdir v2.5.0 [INFO] [stderr] Checking env_logger v0.10.2 [INFO] [stderr] Checking hex v0.4.3 [INFO] [stderr] Checking rand_core v0.6.4 [INFO] [stderr] Checking webpki-roots v0.26.3 [INFO] [stderr] Compiling cc v1.1.7 [INFO] [stderr] Checking http v1.1.0 [INFO] [stderr] Compiling cmake v0.1.50 [INFO] [stderr] Compiling aws-lc-sys v0.20.1 [INFO] [stderr] Compiling zeroize_derive v1.4.2 [INFO] [stderr] Compiling zerocopy-derive v0.7.35 [INFO] [stderr] Compiling tokio-macros v2.4.0 [INFO] [stderr] Checking tokio v1.39.2 [INFO] [stderr] Checking zeroize v1.8.1 [INFO] [stderr] Checking zerocopy v0.7.35 [INFO] [stderr] Checking ppv-lite86 v0.2.20 [INFO] [stderr] Checking rand_chacha v0.3.1 [INFO] [stderr] Checking rand v0.8.5 [INFO] [stderr] Checking quickcheck v1.0.3 [INFO] [stderr] Checking tokio-util v0.7.11 [INFO] [stderr] Checking h2 v0.4.6 (/tmp/fixit) [INFO] [stderr] Migrating src/lib.rs from 2021 edition to 2024 [INFO] [stderr] Checking rustls-webpki v0.102.6 [INFO] [stderr] Checking tokio-rustls v0.26.0 [INFO] [stderr] warning: failed to automatically apply fixes suggested by rustc to crate `h2` [INFO] [stderr] [INFO] [stderr] after fixes were automatically applied the compiler reported errors within these files: [INFO] [stderr] [INFO] [stderr] * src/codec/framed_write.rs [INFO] [stderr] * src/frame/headers.rs [INFO] [stderr] * src/frame/mod.rs [INFO] [stderr] * src/hpack/table.rs [INFO] [stderr] * src/lib.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/lib.rs:100:6 [INFO] [stderr] | [INFO] [stderr] 100 | ($e: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/codec/framed_write.rs:16:6 [INFO] [stderr] | [INFO] [stderr] 16 | ($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/hpack/table.rs:61:26 [INFO] [stderr] | [INFO] [stderr] 61 | ($probe_var: ident < $len: expr_2021, $body: 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/hpack/table.rs:61:43 [INFO] [stderr] | [INFO] [stderr] 61 | ($probe_var: ident < $len: expr_2021, $body: 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/frame/mod.rs:21:6 [INFO] [stderr] | [INFO] [stderr] 21 | ($buf:expr_2021, $offset:expr_2021, $tip:ty) => { [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/frame/mod.rs:21:22 [INFO] [stderr] | [INFO] [stderr] 21 | ($buf:expr_2021, $offset:expr_2021, $tip:ty) => { [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/frame/headers.rs:854:28 [INFO] [stderr] | [INFO] [stderr] 854 | ($field:ident, $val: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 7 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/lib.rs:100:9 [INFO] [stdout] | [INFO] [stdout] 100 | ($e: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] 100 | ($e: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/codec/framed_write.rs:16:12 [INFO] [stdout] | [INFO] [stdout] 16 | ($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] 16 | ($self: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/hpack/table.rs:61:32 [INFO] [stdout] | [INFO] [stdout] 61 | ($probe_var: ident < $len: expr, $body: 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] 61 | ($probe_var: ident < $len: expr_2021, $body: 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/hpack/table.rs:61:45 [INFO] [stdout] | [INFO] [stdout] 61 | ($probe_var: ident < $len: expr, $body: 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] 61 | ($probe_var: ident < $len: expr, $body: 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/frame/mod.rs:21:11 [INFO] [stdout] | [INFO] [stdout] 21 | ($buf:expr, $offset:expr, $tip:ty) => { [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] 21 | ($buf:expr_2021, $offset:expr, $tip:ty) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/frame/mod.rs:21:25 [INFO] [stdout] | [INFO] [stdout] 21 | ($buf:expr, $offset:expr, $tip:ty) => { [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] 21 | ($buf:expr, $offset:expr_2021, $tip:ty) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/frame/headers.rs:854:33 [INFO] [stdout] | [INFO] [stdout] 854 | ($field:ident, $val: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] 854 | ($field:ident, $val:expr_2021) => {{ [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/codec/framed_read.rs:398:16 [INFO] [stdout] | [INFO] [stdout] 398 | if let Some(frame) = decode_frame( [INFO] [stdout] | ________________^ - [INFO] [stdout] | |__________________________________| [INFO] [stdout] 399 | || hpack, [INFO] [stdout] 400 | || max_header_list_size, [INFO] [stdout] 401 | || max_continuation_frames, [INFO] [stdout] 402 | || partial, [INFO] [stdout] 403 | || bytes, [INFO] [stdout] 404 | || )? { [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/codec/framed_read.rs:407:13 [INFO] [stdout] | [INFO] [stdout] 407 | } [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] 398 ~ match decode_frame( [INFO] [stdout] 399 | hpack, [INFO] [stdout] ... [INFO] [stdout] 403 | bytes, [INFO] [stdout] 404 ~ )? { Some(frame) => { [INFO] [stdout] 405 | tracing::debug!(?frame, "received"); [INFO] [stdout] 406 | return Poll::Ready(Some(Ok(frame))); [INFO] [stdout] 407 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/codec/framed_read.rs:414:12 [INFO] [stdout] | [INFO] [stdout] 414 | if let Some(custom) = err.get_ref() { [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/codec/framed_read.rs:418:9 [INFO] [stdout] | [INFO] [stdout] 418 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 414 ~ match err.get_ref() { Some(custom) => { [INFO] [stdout] 415 | if custom.is::() { [INFO] [stdout] 416 | return Error::library_go_away(Reason::FRAME_SIZE_ERROR); [INFO] [stdout] 417 | } [INFO] [stdout] 418 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/codec/framed_write.rs:250:20 [INFO] [stdout] | [INFO] [stdout] 250 | if let Some(continuation) = v.encode(&mut self.hpack, &mut buf) { [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/codec/framed_write.rs:252:17 [INFO] [stdout] | [INFO] [stdout] 252 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 250 ~ match v.encode(&mut self.hpack, &mut buf) { Some(continuation) => { [INFO] [stdout] 251 | self.next = Some(Next::Continuation(continuation)); [INFO] [stdout] 252 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/codec/framed_write.rs:256:20 [INFO] [stdout] | [INFO] [stdout] 256 | if let Some(continuation) = v.encode(&mut self.hpack, &mut buf) { [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/codec/framed_write.rs:258:17 [INFO] [stdout] | [INFO] [stdout] 258 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 256 ~ match v.encode(&mut self.hpack, &mut buf) { Some(continuation) => { [INFO] [stdout] 257 | self.next = Some(Next::Continuation(continuation)); [INFO] [stdout] 258 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/hpack/table.rs:412:20 [INFO] [stdout] | [INFO] [stdout] 412 | if let Some(idx) = slot.next { [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/hpack/table.rs:415:17 [INFO] [stdout] | [INFO] [stdout] 415 | } else if Some(pos.index) == prev_idx { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 412 ~ match slot.next { Some(idx) => { [INFO] [stdout] 413 | pos.index = idx; [INFO] [stdout] 414 | self.indices[probe] = Some(pos); [INFO] [stdout] 415 ~ } _ => if Some(pos.index) == prev_idx { [INFO] [stdout] 416 | pos.index = 0usize.wrapping_sub(self.inserted + 1); [INFO] [stdout] ... [INFO] [stdout] 420 | self.remove_phase_two(probe); [INFO] [stdout] 421 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/proto/go_away.rs:129:12 [INFO] [stdout] | [INFO] [stdout] 129 | if let Some(frame) = self.pending.take() { [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/proto/go_away.rs:139:9 [INFO] [stdout] | [INFO] [stdout] 139 | } else if self.should_close_now() { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 129 ~ match self.pending.take() { Some(frame) => { [INFO] [stdout] 130 | if !dst.poll_ready(cx)?.is_ready() { [INFO] [stdout] ... [INFO] [stdout] 138 | return Poll::Ready(Some(Ok(reason))); [INFO] [stdout] 139 ~ } _ => if self.should_close_now() { [INFO] [stdout] 140 | return match self.going_away().map(|going_away| going_away.reason) { [INFO] [stdout] ... [INFO] [stdout] 143 | }; [INFO] [stdout] 144 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/proto/ping_pong.rs:180:19 [INFO] [stdout] | [INFO] [stdout] 180 | } else if let Some(ref users) = self.user_pings { [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/proto/ping_pong.rs:195:9 [INFO] [stdout] | [INFO] [stdout] 195 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 180 ~ } else { match self.user_pings { Some(ref users) => { [INFO] [stdout] 181 | if users.0.state.load(Ordering::Acquire) == USER_STATE_PENDING_PING { [INFO] [stdout] ... [INFO] [stdout] 194 | } [INFO] [stdout] 195 ~ } _ => {}}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/proto/streams/prioritize.rs:134:16 [INFO] [stdout] | [INFO] [stdout] 134 | if let Some(task) = task.take() { [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/proto/streams/prioritize.rs:136:13 [INFO] [stdout] | [INFO] [stdout] 136 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 134 ~ match task.take() { Some(task) => { [INFO] [stdout] 135 | task.wake(); [INFO] [stdout] 136 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/proto/streams/prioritize.rs:588:12 [INFO] [stdout] | [INFO] [stdout] 588 | if let Some(frame) = dst.take_last_data_frame() { [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/proto/streams/prioritize.rs:590:9 [INFO] [stdout] | [INFO] [stdout] 590 | } 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] 588 ~ match dst.take_last_data_frame() { Some(frame) => { [INFO] [stdout] 589 | self.reclaim_frame_inner(buffer, store, frame) [INFO] [stdout] 590 ~ } _ => { [INFO] [stdout] 591 | false [INFO] [stdout] 592 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/proto/streams/prioritize.rs:668:15 [INFO] [stdout] | [INFO] [stdout] 668 | while let Some(frame) = stream.pending_send.pop_front(buffer) { [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/proto/streams/prioritize.rs:670:9 [INFO] [stdout] | [INFO] [stdout] 670 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/proto/streams/prioritize.rs:841:32 [INFO] [stdout] | [INFO] [stdout] 841 | ... if let Some(reason) = stream.state.get_scheduled_reset() { [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/proto/streams/prioritize.rs:846:29 [INFO] [stdout] | [INFO] [stdout] 846 | ... } 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] 841 ~ match stream.state.get_scheduled_reset() { Some(reason) => { [INFO] [stdout] 842 | stream.set_reset(reason, Initiator::Library); [INFO] [stdout] ... [INFO] [stdout] 845 | Frame::Reset(frame) [INFO] [stdout] 846 ~ } _ => { [INFO] [stdout] 847 | // If the stream receives a RESET from the peer, it may have [INFO] [stdout] ... [INFO] [stdout] 856 | continue; [INFO] [stdout] 857 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/proto/streams/recv.rs:178:16 [INFO] [stdout] | [INFO] [stdout] 178 | if let Some(content_length) = frame.fields().get(header::CONTENT_LENGTH) { [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/proto/streams/recv.rs:188:13 [INFO] [stdout] | [INFO] [stdout] 188 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 178 ~ match frame.fields().get(header::CONTENT_LENGTH) { Some(content_length) => { [INFO] [stdout] 179 | let content_length = match frame::parse_u64(content_length.as_bytes()) { [INFO] [stdout] ... [INFO] [stdout] 187 | stream.content_length = ContentLength::Remaining(content_length); [INFO] [stdout] 188 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/proto/streams/recv.rs:293:12 [INFO] [stdout] | [INFO] [stdout] 293 | if let Some(p) = pushed { [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/proto/streams/recv.rs:295:9 [INFO] [stdout] | [INFO] [stdout] 295 | } 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] 293 ~ match pushed { Some(p) => { [INFO] [stdout] 294 | Poll::Ready(Some(Ok(p))) [INFO] [stdout] 295 ~ } _ => { [INFO] [stdout] 296 | let is_open = stream.state.ensure_recv_open()?; [INFO] [stdout] ... [INFO] [stdout] 303 | } [INFO] [stdout] 304 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/proto/streams/recv.rs:377:16 [INFO] [stdout] | [INFO] [stdout] 377 | if let Some(task) = task.take() { [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/proto/streams/recv.rs:379:13 [INFO] [stdout] | [INFO] [stdout] 379 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 377 ~ match task.take() { Some(task) => { [INFO] [stdout] 378 | task.wake(); [INFO] [stdout] 379 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/proto/streams/recv.rs:410:16 [INFO] [stdout] | [INFO] [stdout] 410 | if let Some(task) = task.take() { [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/proto/streams/recv.rs:412:13 [INFO] [stdout] | [INFO] [stdout] 412 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 410 ~ match task.take() { Some(task) => { [INFO] [stdout] 411 | task.wake(); [INFO] [stdout] 412 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/proto/streams/recv.rs:482:16 [INFO] [stdout] | [INFO] [stdout] 482 | if let Some(task) = task.take() { [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/proto/streams/recv.rs:484:13 [INFO] [stdout] | [INFO] [stdout] 484 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 482 ~ match task.take() { Some(task) => { [INFO] [stdout] 483 | task.wake(); [INFO] [stdout] 484 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/proto/streams/send.rs:90:19 [INFO] [stdout] | [INFO] [stdout] 90 | } else if let Some(te) = fields.get(http::header::TE) { [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/proto/streams/send.rs:95:9 [INFO] [stdout] | [INFO] [stdout] 95 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 90 ~ } else { match fields.get(http::header::TE) { Some(te) => { [INFO] [stdout] 91 | if te != "trailers" { [INFO] [stdout] ... [INFO] [stdout] 94 | } [INFO] [stdout] 95 ~ } _ => {}}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/proto/streams/send.rs:162:16 [INFO] [stdout] | [INFO] [stdout] 162 | if let Some(task) = task.take() { [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/proto/streams/send.rs:164:13 [INFO] [stdout] | [INFO] [stdout] 164 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 162 ~ match task.take() { Some(task) => { [INFO] [stdout] 163 | task.wake(); [INFO] [stdout] 164 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/proto/streams/stream.rs:364:12 [INFO] [stdout] | [INFO] [stdout] 364 | if let Some(task) = self.send_task.take() { [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/proto/streams/stream.rs:366:9 [INFO] [stdout] | [INFO] [stdout] 366 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 364 ~ match self.send_task.take() { Some(task) => { [INFO] [stdout] 365 | task.wake(); [INFO] [stdout] 366 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/proto/streams/stream.rs:374:12 [INFO] [stdout] | [INFO] [stdout] 374 | if let Some(task) = self.recv_task.take() { [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/proto/streams/stream.rs:376:9 [INFO] [stdout] | [INFO] [stdout] 376 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 374 ~ match self.recv_task.take() { Some(task) => { [INFO] [stdout] 375 | task.wake(); [INFO] [stdout] 376 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/proto/streams/stream.rs:380:12 [INFO] [stdout] | [INFO] [stdout] 380 | if let Some(task) = self.push_task.take() { [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/proto/streams/stream.rs:382:9 [INFO] [stdout] | [INFO] [stdout] 382 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 380 ~ match self.push_task.take() { Some(task) => { [INFO] [stdout] 381 | task.wake(); [INFO] [stdout] 382 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/proto/streams/streams.rs:500:28 [INFO] [stdout] | [INFO] [stdout] 500 | if let Some(resp) = resp { [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/proto/streams/streams.rs:514:25 [INFO] [stdout] | [INFO] [stdout] 514 | } 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] 500 ~ match resp { Some(resp) => { [INFO] [stdout] 501 | let sent = actions.send.send_headers( [INFO] [stdout] ... [INFO] [stdout] 513 | Ok(()) [INFO] [stdout] 514 ~ } _ => { [INFO] [stdout] 515 | Err(Error::library_reset(stream.id, Reason::PROTOCOL_ERROR)) [INFO] [stdout] 516 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/proto/streams/streams.rs:661:16 [INFO] [stdout] | [INFO] [stdout] 661 | if let Some(mut stream) = self.store.find_mut(&id) { [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/proto/streams/streams.rs:672:13 [INFO] [stdout] | [INFO] [stdout] 672 | } 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] 661 ~ match self.store.find_mut(&id) { Some(mut stream) => { [INFO] [stdout] 662 | // This result is ignored as there is nothing to do when there [INFO] [stdout] ... [INFO] [stdout] 671 | ); [INFO] [stdout] 672 ~ } _ => { [INFO] [stdout] 673 | self.actions [INFO] [stdout] 674 | .ensure_not_idle(self.counts.peer(), id) [INFO] [stdout] 675 | .map_err(Error::library_go_away)?; [INFO] [stdout] 676 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/proto/streams/streams.rs:1054:12 [INFO] [stdout] | [INFO] [stdout] 1054 | if let Ok(mut inner) = self.inner.lock() { [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/proto/streams/streams.rs:1061:9 [INFO] [stdout] | [INFO] [stdout] 1061 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1054 ~ match self.inner.lock() { Ok(mut inner) => { [INFO] [stdout] 1055 | inner.refs -= 1; [INFO] [stdout] ... [INFO] [stdout] 1060 | } [INFO] [stdout] 1061 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/proto/streams/streams.rs:1057:20 [INFO] [stdout] | [INFO] [stdout] 1057 | if let Some(task) = inner.actions.task.take() { [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/proto/streams/streams.rs:1059:17 [INFO] [stdout] | [INFO] [stdout] 1059 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1057 ~ match inner.actions.task.take() { Some(task) => { [INFO] [stdout] 1058 | task.wake(); [INFO] [stdout] 1059 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/proto/streams/streams.rs:1476:12 [INFO] [stdout] | [INFO] [stdout] 1476 | if let Some(task) = actions.task.take() { [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/proto/streams/streams.rs:1478:9 [INFO] [stdout] | [INFO] [stdout] 1478 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1476 ~ match actions.task.take() { Some(task) => { [INFO] [stdout] 1477 | task.wake(); [INFO] [stdout] 1478 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/proto/streams/streams.rs:1570:12 [INFO] [stdout] | [INFO] [stdout] 1570 | if let Err(Error::Reset(stream_id, reason, initiator)) = res { [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/proto/streams/streams.rs:1590:9 [INFO] [stdout] | [INFO] [stdout] 1590 | } 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] 1570 ~ match res { Err(Error::Reset(stream_id, reason, initiator)) => { [INFO] [stdout] 1571 | debug_assert_eq!(stream_id, stream.id); [INFO] [stdout] ... [INFO] [stdout] 1589 | } [INFO] [stdout] 1590 ~ } _ => { [INFO] [stdout] 1591 | res [INFO] [stdout] 1592 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/proto/streams/streams.rs:1604:12 [INFO] [stdout] | [INFO] [stdout] 1604 | if let Some(ref err) = self.conn_error { [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/proto/streams/streams.rs:1606:9 [INFO] [stdout] | [INFO] [stdout] 1606 | } 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] 1604 ~ match self.conn_error { Some(ref err) => { [INFO] [stdout] 1605 | Err(err.clone()) [INFO] [stdout] 1606 ~ } _ => { [INFO] [stdout] 1607 | Ok(()) [INFO] [stdout] 1608 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `impl Future, client::Connection), error::Error>>` will capture more lifetimes than possibly intended in edition 2024 [INFO] [stdout] --> src/client.rs:1223:10 [INFO] [stdout] | [INFO] [stdout] 1223 | ) -> impl Future, Connection), crate::Error>> [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see [INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds [INFO] [stdout] --> src/client.rs:1221:9 [INFO] [stdout] | [INFO] [stdout] 1221 | &self, [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] 1223 | ) -> impl Future, Connection), crate::Error>> + use [INFO] [stdout] | +++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/server.rs:1527:12 [INFO] [stdout] | [INFO] [stdout] 1527 | if let Some(method) = pseudo.method { [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/server.rs:1530:9 [INFO] [stdout] | [INFO] [stdout] 1530 | } 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] 1527 ~ match pseudo.method { Some(method) => { [INFO] [stdout] 1528 | is_connect = method == Method::CONNECT; [INFO] [stdout] 1529 | b = b.method(method); [INFO] [stdout] 1530 ~ } _ => { [INFO] [stdout] 1531 | malformed!("malformed headers: missing method"); [INFO] [stdout] 1532 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/server.rs:1565:12 [INFO] [stdout] | [INFO] [stdout] 1565 | if let Some(scheme) = pseudo.scheme { [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/server.rs:1584:9 [INFO] [stdout] | [INFO] [stdout] 1584 | } else if !is_connect || has_protocol { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1565 ~ match pseudo.scheme { Some(scheme) => { [INFO] [stdout] 1566 | if is_connect && !has_protocol { [INFO] [stdout] ... [INFO] [stdout] 1583 | } [INFO] [stdout] 1584 ~ } _ => if !is_connect || has_protocol { [INFO] [stdout] 1585 | malformed!("malformed headers: missing scheme"); [INFO] [stdout] 1586 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/server.rs:1588:12 [INFO] [stdout] | [INFO] [stdout] 1588 | if let Some(path) = pseudo.path { [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/server.rs:1602:9 [INFO] [stdout] | [INFO] [stdout] 1602 | } else if is_connect && has_protocol { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1588 ~ match pseudo.path { Some(path) => { [INFO] [stdout] 1589 | if is_connect && !has_protocol { [INFO] [stdout] ... [INFO] [stdout] 1601 | })?); [INFO] [stdout] 1602 ~ } _ => if is_connect && has_protocol { [INFO] [stdout] 1603 | malformed!("malformed headers: missing path in extended CONNECT"); [INFO] [stdout] 1604 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 39 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Migrating examples/server.rs from 2021 edition to 2024 [INFO] [stderr] warning: failed to automatically apply fixes suggested by rustc to crate `h2` [INFO] [stderr] [INFO] [stderr] after fixes were automatically applied the compiler reported errors within these files: [INFO] [stderr] [INFO] [stderr] * src/codec/framed_write.rs [INFO] [stderr] * src/frame/headers.rs [INFO] [stderr] * src/frame/mod.rs [INFO] [stderr] * src/hpack/table.rs [INFO] [stderr] * src/hpack/test/fixture.rs [INFO] [stderr] * src/lib.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/lib.rs:100:6 [INFO] [stderr] | [INFO] [stderr] 100 | ($e: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/codec/framed_write.rs:16:6 [INFO] [stderr] | [INFO] [stderr] 16 | ($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/hpack/table.rs:61:26 [INFO] [stderr] | [INFO] [stderr] 61 | ($probe_var: ident < $len: expr_2021, $body: 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/hpack/table.rs:61:43 [INFO] [stderr] | [INFO] [stderr] 61 | ($probe_var: ident < $len: expr_2021, $body: 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/hpack/test/fixture.rs:157:25 [INFO] [stderr] | [INFO] [stderr] 157 | ($fn:ident, $path: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/frame/mod.rs:21:6 [INFO] [stderr] | [INFO] [stderr] 21 | ($buf:expr_2021, $offset:expr_2021, $tip:ty) => { [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/frame/mod.rs:21:22 [INFO] [stderr] | [INFO] [stderr] 21 | ($buf:expr_2021, $offset:expr_2021, $tip:ty) => { [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/frame/headers.rs:854:28 [INFO] [stderr] | [INFO] [stderr] 854 | ($field:ident, $val: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 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: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/hpack/test/fuzz.rs:183:37 [INFO] [stdout] | [INFO] [stdout] 183 | FuzzHpack::new(thread_rng().gen()) [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #49716 [INFO] [stdout] = note: `--force-warn keyword-idents-2024` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/hpack/test/fuzz.rs:235:33 [INFO] [stdout] | [INFO] [stdout] 235 | let status = (g.gen::() % 500) + 100; [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #49716 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/lib.rs:100:9 [INFO] [stdout] | [INFO] [stdout] 100 | ($e: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] 100 | ($e: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/codec/framed_write.rs:16:12 [INFO] [stdout] | [INFO] [stdout] 16 | ($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] 16 | ($self: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/hpack/table.rs:61:32 [INFO] [stdout] | [INFO] [stdout] 61 | ($probe_var: ident < $len: expr, $body: 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] 61 | ($probe_var: ident < $len: expr_2021, $body: 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/hpack/table.rs:61:45 [INFO] [stdout] | [INFO] [stdout] 61 | ($probe_var: ident < $len: expr, $body: 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] 61 | ($probe_var: ident < $len: expr, $body: 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/hpack/test/fixture.rs:157:31 [INFO] [stdout] | [INFO] [stdout] 157 | ($fn:ident, $path: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] 157 | ($fn:ident, $path: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/frame/mod.rs:21:11 [INFO] [stdout] | [INFO] [stdout] 21 | ($buf:expr, $offset:expr, $tip:ty) => { [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] 21 | ($buf:expr_2021, $offset:expr, $tip:ty) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/frame/mod.rs:21:25 [INFO] [stdout] | [INFO] [stdout] 21 | ($buf:expr, $offset:expr, $tip:ty) => { [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] 21 | ($buf:expr, $offset:expr_2021, $tip:ty) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/frame/headers.rs:854:33 [INFO] [stdout] | [INFO] [stdout] 854 | ($field:ident, $val: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] 854 | ($field:ident, $val:expr_2021) => {{ [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/codec/framed_read.rs:398:16 [INFO] [stdout] | [INFO] [stdout] 398 | if let Some(frame) = decode_frame( [INFO] [stdout] | ________________^ - [INFO] [stdout] | |__________________________________| [INFO] [stdout] 399 | || hpack, [INFO] [stdout] 400 | || max_header_list_size, [INFO] [stdout] 401 | || max_continuation_frames, [INFO] [stdout] 402 | || partial, [INFO] [stdout] 403 | || bytes, [INFO] [stdout] 404 | || )? { [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/codec/framed_read.rs:407:13 [INFO] [stdout] | [INFO] [stdout] 407 | } [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] 398 ~ match decode_frame( [INFO] [stdout] 399 | hpack, [INFO] [stdout] ... [INFO] [stdout] 403 | bytes, [INFO] [stdout] 404 ~ )? { Some(frame) => { [INFO] [stdout] 405 | tracing::debug!(?frame, "received"); [INFO] [stdout] 406 | return Poll::Ready(Some(Ok(frame))); [INFO] [stdout] 407 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/codec/framed_read.rs:414:12 [INFO] [stdout] | [INFO] [stdout] 414 | if let Some(custom) = err.get_ref() { [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/codec/framed_read.rs:418:9 [INFO] [stdout] | [INFO] [stdout] 418 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 414 ~ match err.get_ref() { Some(custom) => { [INFO] [stdout] 415 | if custom.is::() { [INFO] [stdout] 416 | return Error::library_go_away(Reason::FRAME_SIZE_ERROR); [INFO] [stdout] 417 | } [INFO] [stdout] 418 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/codec/framed_write.rs:250:20 [INFO] [stdout] | [INFO] [stdout] 250 | if let Some(continuation) = v.encode(&mut self.hpack, &mut buf) { [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/codec/framed_write.rs:252:17 [INFO] [stdout] | [INFO] [stdout] 252 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 250 ~ match v.encode(&mut self.hpack, &mut buf) { Some(continuation) => { [INFO] [stdout] 251 | self.next = Some(Next::Continuation(continuation)); [INFO] [stdout] 252 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/codec/framed_write.rs:256:20 [INFO] [stdout] | [INFO] [stdout] 256 | if let Some(continuation) = v.encode(&mut self.hpack, &mut buf) { [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/codec/framed_write.rs:258:17 [INFO] [stdout] | [INFO] [stdout] 258 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 256 ~ match v.encode(&mut self.hpack, &mut buf) { Some(continuation) => { [INFO] [stdout] 257 | self.next = Some(Next::Continuation(continuation)); [INFO] [stdout] 258 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/hpack/table.rs:412:20 [INFO] [stdout] | [INFO] [stdout] 412 | if let Some(idx) = slot.next { [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/hpack/table.rs:415:17 [INFO] [stdout] | [INFO] [stdout] 415 | } else if Some(pos.index) == prev_idx { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 412 ~ match slot.next { Some(idx) => { [INFO] [stdout] 413 | pos.index = idx; [INFO] [stdout] 414 | self.indices[probe] = Some(pos); [INFO] [stdout] 415 ~ } _ => if Some(pos.index) == prev_idx { [INFO] [stdout] 416 | pos.index = 0usize.wrapping_sub(self.inserted + 1); [INFO] [stdout] ... [INFO] [stdout] 420 | self.remove_phase_two(probe); [INFO] [stdout] 421 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/proto/go_away.rs:129:12 [INFO] [stdout] | [INFO] [stdout] 129 | if let Some(frame) = self.pending.take() { [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/proto/go_away.rs:139:9 [INFO] [stdout] | [INFO] [stdout] 139 | } else if self.should_close_now() { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 129 ~ match self.pending.take() { Some(frame) => { [INFO] [stdout] 130 | if !dst.poll_ready(cx)?.is_ready() { [INFO] [stdout] ... [INFO] [stdout] 138 | return Poll::Ready(Some(Ok(reason))); [INFO] [stdout] 139 ~ } _ => if self.should_close_now() { [INFO] [stdout] 140 | return match self.going_away().map(|going_away| going_away.reason) { [INFO] [stdout] ... [INFO] [stdout] 143 | }; [INFO] [stdout] 144 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/proto/ping_pong.rs:180:19 [INFO] [stdout] | [INFO] [stdout] 180 | } else if let Some(ref users) = self.user_pings { [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/proto/ping_pong.rs:195:9 [INFO] [stdout] | [INFO] [stdout] 195 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 180 ~ } else { match self.user_pings { Some(ref users) => { [INFO] [stdout] 181 | if users.0.state.load(Ordering::Acquire) == USER_STATE_PENDING_PING { [INFO] [stdout] ... [INFO] [stdout] 194 | } [INFO] [stdout] 195 ~ } _ => {}}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/proto/streams/prioritize.rs:134:16 [INFO] [stdout] | [INFO] [stdout] 134 | if let Some(task) = task.take() { [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/proto/streams/prioritize.rs:136:13 [INFO] [stdout] | [INFO] [stdout] 136 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 134 ~ match task.take() { Some(task) => { [INFO] [stdout] 135 | task.wake(); [INFO] [stdout] 136 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/proto/streams/prioritize.rs:588:12 [INFO] [stdout] | [INFO] [stdout] 588 | if let Some(frame) = dst.take_last_data_frame() { [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/proto/streams/prioritize.rs:590:9 [INFO] [stdout] | [INFO] [stdout] 590 | } 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] 588 ~ match dst.take_last_data_frame() { Some(frame) => { [INFO] [stdout] 589 | self.reclaim_frame_inner(buffer, store, frame) [INFO] [stdout] 590 ~ } _ => { [INFO] [stdout] 591 | false [INFO] [stdout] 592 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/proto/streams/prioritize.rs:668:15 [INFO] [stdout] | [INFO] [stdout] 668 | while let Some(frame) = stream.pending_send.pop_front(buffer) { [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/proto/streams/prioritize.rs:670:9 [INFO] [stdout] | [INFO] [stdout] 670 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/proto/streams/prioritize.rs:841:32 [INFO] [stdout] | [INFO] [stdout] 841 | ... if let Some(reason) = stream.state.get_scheduled_reset() { [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/proto/streams/prioritize.rs:846:29 [INFO] [stdout] | [INFO] [stdout] 846 | ... } 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] 841 ~ match stream.state.get_scheduled_reset() { Some(reason) => { [INFO] [stdout] 842 | stream.set_reset(reason, Initiator::Library); [INFO] [stdout] ... [INFO] [stdout] 845 | Frame::Reset(frame) [INFO] [stdout] 846 ~ } _ => { [INFO] [stdout] 847 | // If the stream receives a RESET from the peer, it may have [INFO] [stdout] ... [INFO] [stdout] 856 | continue; [INFO] [stdout] 857 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/proto/streams/recv.rs:178:16 [INFO] [stdout] | [INFO] [stdout] 178 | if let Some(content_length) = frame.fields().get(header::CONTENT_LENGTH) { [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/proto/streams/recv.rs:188:13 [INFO] [stdout] | [INFO] [stdout] 188 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 178 ~ match frame.fields().get(header::CONTENT_LENGTH) { Some(content_length) => { [INFO] [stdout] 179 | let content_length = match frame::parse_u64(content_length.as_bytes()) { [INFO] [stdout] ... [INFO] [stdout] 187 | stream.content_length = ContentLength::Remaining(content_length); [INFO] [stdout] 188 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/proto/streams/recv.rs:293:12 [INFO] [stdout] | [INFO] [stdout] 293 | if let Some(p) = pushed { [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/proto/streams/recv.rs:295:9 [INFO] [stdout] | [INFO] [stdout] 295 | } 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] 293 ~ match pushed { Some(p) => { [INFO] [stdout] 294 | Poll::Ready(Some(Ok(p))) [INFO] [stdout] 295 ~ } _ => { [INFO] [stdout] 296 | let is_open = stream.state.ensure_recv_open()?; [INFO] [stdout] ... [INFO] [stdout] 303 | } [INFO] [stdout] 304 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/proto/streams/recv.rs:377:16 [INFO] [stdout] | [INFO] [stdout] 377 | if let Some(task) = task.take() { [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/proto/streams/recv.rs:379:13 [INFO] [stdout] | [INFO] [stdout] 379 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 377 ~ match task.take() { Some(task) => { [INFO] [stdout] 378 | task.wake(); [INFO] [stdout] 379 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/proto/streams/recv.rs:410:16 [INFO] [stdout] | [INFO] [stdout] 410 | if let Some(task) = task.take() { [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/proto/streams/recv.rs:412:13 [INFO] [stdout] | [INFO] [stdout] 412 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 410 ~ match task.take() { Some(task) => { [INFO] [stdout] 411 | task.wake(); [INFO] [stdout] 412 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/proto/streams/recv.rs:482:16 [INFO] [stdout] | [INFO] [stdout] 482 | if let Some(task) = task.take() { [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/proto/streams/recv.rs:484:13 [INFO] [stdout] | [INFO] [stdout] 484 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 482 ~ match task.take() { Some(task) => { [INFO] [stdout] 483 | task.wake(); [INFO] [stdout] 484 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/proto/streams/send.rs:90:19 [INFO] [stdout] | [INFO] [stdout] 90 | } else if let Some(te) = fields.get(http::header::TE) { [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/proto/streams/send.rs:95:9 [INFO] [stdout] | [INFO] [stdout] 95 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 90 ~ } else { match fields.get(http::header::TE) { Some(te) => { [INFO] [stdout] 91 | if te != "trailers" { [INFO] [stdout] ... [INFO] [stdout] 94 | } [INFO] [stdout] 95 ~ } _ => {}}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/proto/streams/send.rs:162:16 [INFO] [stdout] | [INFO] [stdout] 162 | if let Some(task) = task.take() { [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/proto/streams/send.rs:164:13 [INFO] [stdout] | [INFO] [stdout] 164 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 162 ~ match task.take() { Some(task) => { [INFO] [stdout] 163 | task.wake(); [INFO] [stdout] 164 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/proto/streams/stream.rs:364:12 [INFO] [stdout] | [INFO] [stdout] 364 | if let Some(task) = self.send_task.take() { [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/proto/streams/stream.rs:366:9 [INFO] [stdout] | [INFO] [stdout] 366 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 364 ~ match self.send_task.take() { Some(task) => { [INFO] [stdout] 365 | task.wake(); [INFO] [stdout] 366 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/proto/streams/stream.rs:374:12 [INFO] [stdout] | [INFO] [stdout] 374 | if let Some(task) = self.recv_task.take() { [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/proto/streams/stream.rs:376:9 [INFO] [stdout] | [INFO] [stdout] 376 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 374 ~ match self.recv_task.take() { Some(task) => { [INFO] [stdout] 375 | task.wake(); [INFO] [stdout] 376 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/proto/streams/stream.rs:380:12 [INFO] [stdout] | [INFO] [stdout] 380 | if let Some(task) = self.push_task.take() { [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/proto/streams/stream.rs:382:9 [INFO] [stdout] | [INFO] [stdout] 382 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 380 ~ match self.push_task.take() { Some(task) => { [INFO] [stdout] 381 | task.wake(); [INFO] [stdout] 382 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/proto/streams/streams.rs:500:28 [INFO] [stdout] | [INFO] [stdout] 500 | if let Some(resp) = resp { [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/proto/streams/streams.rs:514:25 [INFO] [stdout] | [INFO] [stdout] 514 | } 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] 500 ~ match resp { Some(resp) => { [INFO] [stdout] 501 | let sent = actions.send.send_headers( [INFO] [stdout] ... [INFO] [stdout] 513 | Ok(()) [INFO] [stdout] 514 ~ } _ => { [INFO] [stdout] 515 | Err(Error::library_reset(stream.id, Reason::PROTOCOL_ERROR)) [INFO] [stdout] 516 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/proto/streams/streams.rs:661:16 [INFO] [stdout] | [INFO] [stdout] 661 | if let Some(mut stream) = self.store.find_mut(&id) { [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/proto/streams/streams.rs:672:13 [INFO] [stdout] | [INFO] [stdout] 672 | } 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] 661 ~ match self.store.find_mut(&id) { Some(mut stream) => { [INFO] [stdout] 662 | // This result is ignored as there is nothing to do when there [INFO] [stdout] ... [INFO] [stdout] 671 | ); [INFO] [stdout] 672 ~ } _ => { [INFO] [stdout] 673 | self.actions [INFO] [stdout] 674 | .ensure_not_idle(self.counts.peer(), id) [INFO] [stdout] 675 | .map_err(Error::library_go_away)?; [INFO] [stdout] 676 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/proto/streams/streams.rs:1054:12 [INFO] [stdout] | [INFO] [stdout] 1054 | if let Ok(mut inner) = self.inner.lock() { [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/proto/streams/streams.rs:1061:9 [INFO] [stdout] | [INFO] [stdout] 1061 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1054 ~ match self.inner.lock() { Ok(mut inner) => { [INFO] [stdout] 1055 | inner.refs -= 1; [INFO] [stdout] ... [INFO] [stdout] 1060 | } [INFO] [stdout] 1061 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/proto/streams/streams.rs:1057:20 [INFO] [stdout] | [INFO] [stdout] 1057 | if let Some(task) = inner.actions.task.take() { [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/proto/streams/streams.rs:1059:17 [INFO] [stdout] | [INFO] [stdout] 1059 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1057 ~ match inner.actions.task.take() { Some(task) => { [INFO] [stdout] 1058 | task.wake(); [INFO] [stdout] 1059 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/proto/streams/streams.rs:1476:12 [INFO] [stdout] | [INFO] [stdout] 1476 | if let Some(task) = actions.task.take() { [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/proto/streams/streams.rs:1478:9 [INFO] [stdout] | [INFO] [stdout] 1478 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1476 ~ match actions.task.take() { Some(task) => { [INFO] [stdout] 1477 | task.wake(); [INFO] [stdout] 1478 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/proto/streams/streams.rs:1570:12 [INFO] [stdout] | [INFO] [stdout] 1570 | if let Err(Error::Reset(stream_id, reason, initiator)) = res { [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/proto/streams/streams.rs:1590:9 [INFO] [stdout] | [INFO] [stdout] 1590 | } 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] 1570 ~ match res { Err(Error::Reset(stream_id, reason, initiator)) => { [INFO] [stdout] 1571 | debug_assert_eq!(stream_id, stream.id); [INFO] [stdout] ... [INFO] [stdout] 1589 | } [INFO] [stdout] 1590 ~ } _ => { [INFO] [stdout] 1591 | res [INFO] [stdout] 1592 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/proto/streams/streams.rs:1604:12 [INFO] [stdout] | [INFO] [stdout] 1604 | if let Some(ref err) = self.conn_error { [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/proto/streams/streams.rs:1606:9 [INFO] [stdout] | [INFO] [stdout] 1606 | } 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] 1604 ~ match self.conn_error { Some(ref err) => { [INFO] [stdout] 1605 | Err(err.clone()) [INFO] [stdout] 1606 ~ } _ => { [INFO] [stdout] 1607 | Ok(()) [INFO] [stdout] 1608 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `impl Future, client::Connection), error::Error>>` will capture more lifetimes than possibly intended in edition 2024 [INFO] [stdout] --> src/client.rs:1223:10 [INFO] [stdout] | [INFO] [stdout] 1223 | ) -> impl Future, Connection), crate::Error>> [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see [INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds [INFO] [stdout] --> src/client.rs:1221:9 [INFO] [stdout] | [INFO] [stdout] 1221 | &self, [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] 1223 | ) -> impl Future, Connection), crate::Error>> + use [INFO] [stdout] | +++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/server.rs:1527:12 [INFO] [stdout] | [INFO] [stdout] 1527 | if let Some(method) = pseudo.method { [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/server.rs:1530:9 [INFO] [stdout] | [INFO] [stdout] 1530 | } 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] 1527 ~ match pseudo.method { Some(method) => { [INFO] [stdout] 1528 | is_connect = method == Method::CONNECT; [INFO] [stdout] 1529 | b = b.method(method); [INFO] [stdout] 1530 ~ } _ => { [INFO] [stdout] 1531 | malformed!("malformed headers: missing method"); [INFO] [stdout] 1532 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/server.rs:1565:12 [INFO] [stdout] | [INFO] [stdout] 1565 | if let Some(scheme) = pseudo.scheme { [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/server.rs:1584:9 [INFO] [stdout] | [INFO] [stdout] 1584 | } else if !is_connect || has_protocol { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1565 ~ match pseudo.scheme { Some(scheme) => { [INFO] [stdout] 1566 | if is_connect && !has_protocol { [INFO] [stdout] ... [INFO] [stdout] 1583 | } [INFO] [stdout] 1584 ~ } _ => if !is_connect || has_protocol { [INFO] [stdout] 1585 | malformed!("malformed headers: missing scheme"); [INFO] [stdout] 1586 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/server.rs:1588:12 [INFO] [stdout] | [INFO] [stdout] 1588 | if let Some(path) = pseudo.path { [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/server.rs:1602:9 [INFO] [stdout] | [INFO] [stdout] 1602 | } else if is_connect && has_protocol { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1588 ~ match pseudo.path { Some(path) => { [INFO] [stdout] 1589 | if is_connect && !has_protocol { [INFO] [stdout] ... [INFO] [stdout] 1601 | })?); [INFO] [stdout] 1602 ~ } _ => if is_connect && has_protocol { [INFO] [stdout] 1603 | malformed!("malformed headers: missing path in extended CONNECT"); [INFO] [stdout] 1604 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 42 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Fixed examples/server.rs (3 fixes) [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> examples/server.rs:32:11 [INFO] [stdout] | [INFO] [stdout] 32 | while let Some(result) = connection.accept().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] --> examples/server.rs:39:5 [INFO] [stdout] | [INFO] [stdout] 39 | } [INFO] [stdout] | ^ [INFO] [stdout] = note: `--force-warn if-let-rescope` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> examples/server.rs:52:11 [INFO] [stdout] | [INFO] [stdout] 52 | while let Some(data) = body.data().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] --> examples/server.rs:56:5 [INFO] [stdout] | [INFO] [stdout] 56 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 2 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Migrating examples/akamai.rs from 2021 edition to 2024 [INFO] [stderr] Fixed examples/akamai.rs (1 fix) [INFO] [stderr] Migrating benches/main.rs from 2021 edition to 2024 [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> examples/akamai.rs:68:11 [INFO] [stdout] | [INFO] [stdout] 68 | while let Some(chunk) = body.data().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] --> examples/akamai.rs:70:5 [INFO] [stdout] | [INFO] [stdout] 70 | } [INFO] [stdout] | ^ [INFO] [stdout] = note: `--force-warn if-let-rescope` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 1 warning emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> benches/main.rs:35:11 [INFO] [stdout] | [INFO] [stdout] 35 | while let Some(result) = connection.accept().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] --> benches/main.rs:42:5 [INFO] [stdout] | [INFO] [stdout] 42 | } [INFO] [stdout] | ^ [INFO] [stdout] = note: `--force-warn if-let-rescope` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Fixed benches/main.rs (4 fixes) [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> benches/main.rs:51:11 [INFO] [stdout] | [INFO] [stdout] 51 | while let Some(data) = body.data().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] --> benches/main.rs:54:5 [INFO] [stdout] | [INFO] [stdout] 54 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Migrating examples/client.rs from 2021 edition to 2024 [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> benches/main.rs:88:19 [INFO] [stdout] | [INFO] [stdout] 88 | while let Some(_chunk) = body.data().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] --> benches/main.rs:88:57 [INFO] [stdout] | [INFO] [stdout] 88 | while let Some(_chunk) = body.data().await {} [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 3 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Fixed examples/client.rs (1 fix) [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> examples/client.rs:43:11 [INFO] [stdout] | [INFO] [stdout] 43 | while let Some(chunk) = body.data().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] --> examples/client.rs:45:5 [INFO] [stdout] | [INFO] [stdout] 45 | } [INFO] [stdout] | ^ [INFO] [stdout] = note: `--force-warn if-let-rescope` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 1 warning emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 15.47s [INFO] [stderr] Running `cargo check` to verify 2024 [INFO] [stderr] Checking h2 v0.4.6 (/tmp/fixit) [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/hpack/test/fuzz.rs:183:37 [INFO] [stdout] | [INFO] [stdout] 183 | FuzzHpack::new(thread_rng().gen()) [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 183 | FuzzHpack::new(thread_rng().r#gen()) [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/hpack/test/fuzz.rs:235:33 [INFO] [stdout] | [INFO] [stdout] 235 | let status = (g.gen::() % 500) + 100; [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 235 | let status = (g.r#gen::() % 500) + 100; [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 2 previous errors [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `h2` (lib test) due to 3 previous errors [INFO] [stderr] error: failed to check after updating to 2024 [INFO] [stderr] [INFO] [stderr] Caused by: [INFO] [stderr] process didn't exit successfully: `cargo check --frozen --all --all-targets --message-format=json` (exit status: 101) [INFO] running `Command { std: "docker" "inspect" "72d3c87291822b277907e20075199b514f93227f5392fabb539dec8d610c3383", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "72d3c87291822b277907e20075199b514f93227f5392fabb539dec8d610c3383", kill_on_drop: false }` [INFO] [stdout] 72d3c87291822b277907e20075199b514f93227f5392fabb539dec8d610c3383