[INFO] fetching crate iroh-quinn-proto 0.11.6... [INFO] checking iroh-quinn-proto-0.11.6 against try#ccf408f4326a858c00dd845a64a86b16f360a801 for pr-129466-2 [INFO] extracting crate iroh-quinn-proto 0.11.6 into /workspace/builds/worker-7-tc2/source [INFO] validating manifest of crates.io crate iroh-quinn-proto 0.11.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 iroh-quinn-proto 0.11.6 [INFO] finished tweaking crates.io crate iroh-quinn-proto 0.11.6 [INFO] tweaked toml for crates.io crate iroh-quinn-proto 0.11.6 written to /workspace/builds/worker-7-tc2/source/Cargo.toml [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+ccf408f4326a858c00dd845a64a86b16f360a801" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Updating crates.io index [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Locking 106 packages to latest compatible versions [INFO] [stderr] Adding core-foundation v0.9.4 (available: v0.10.0) [INFO] [stderr] Adding jni v0.19.0 (available: v0.21.1) [INFO] [stderr] Adding jni-sys v0.3.0 (available: v0.4.0) [INFO] [stderr] Adding matchers v0.1.0 (available: v0.2.0) [INFO] [stderr] Adding nu-ansi-term v0.46.0 (available: v0.50.1) [INFO] [stderr] Adding regex-automata v0.1.10 (available: v0.4.7) [INFO] [stderr] Adding regex-syntax v0.6.29 (available: v0.8.4) [INFO] [stderr] Adding rustls-native-certs v0.7.3 (available: v0.8.0) [INFO] [stderr] Adding security-framework v2.11.1 (available: v3.0.0) [INFO] [stderr] Adding wasi v0.11.0+wasi-snapshot-preview1 (available: v0.13.2+wasi-0.2.1) [INFO] [stderr] Adding windows-sys v0.52.0 (available: v0.59.0) [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+ccf408f4326a858c00dd845a64a86b16f360a801" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:ceb6ea022f8a89cebbe621bb4987e73a935bd40dfbb726f832cfff4742a5b95a" "/opt/rustwide/cargo-home/bin/cargo" "+ccf408f4326a858c00dd845a64a86b16f360a801" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 1db44ed3ef9e3549237428cb511d46c8db0ca4c5bc2967e4e97ffbc5e1b2c693 [INFO] running `Command { std: "docker" "start" "-a" "1db44ed3ef9e3549237428cb511d46c8db0ca4c5bc2967e4e97ffbc5e1b2c693", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "1db44ed3ef9e3549237428cb511d46c8db0ca4c5bc2967e4e97ffbc5e1b2c693", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "1db44ed3ef9e3549237428cb511d46c8db0ca4c5bc2967e4e97ffbc5e1b2c693", kill_on_drop: false }` [INFO] [stdout] 1db44ed3ef9e3549237428cb511d46c8db0ca4c5bc2967e4e97ffbc5e1b2c693 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:ceb6ea022f8a89cebbe621bb4987e73a935bd40dfbb726f832cfff4742a5b95a" "/opt/rustwide/cargo-home/bin/cargo" "+ccf408f4326a858c00dd845a64a86b16f360a801" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 26b3be6dccacce0d74fb5e36200cd47bc25679383b7db863abd3e18f0dacd8bd [INFO] running `Command { std: "docker" "start" "-a" "26b3be6dccacce0d74fb5e36200cd47bc25679383b7db863abd3e18f0dacd8bd", kill_on_drop: false }` [INFO] [stderr] Copying to /tmp/fixit [INFO] [stderr] Running `cargo fix --edition` [INFO] [stderr] Migrating Cargo.toml from 2021 edition to 2024 [INFO] [stderr] Fixed Cargo.toml (1 fix) [INFO] [stderr] Compiling libc v0.2.159 [INFO] [stderr] Compiling proc-macro2 v1.0.86 [INFO] [stderr] Compiling unicode-ident v1.0.13 [INFO] [stderr] Checking cfg-if v1.0.0 [INFO] [stderr] Compiling shlex v1.3.0 [INFO] [stderr] Checking once_cell v1.19.0 [INFO] [stderr] Checking powerfmt v0.2.0 [INFO] [stderr] Checking byteorder v1.5.0 [INFO] [stderr] Checking untrusted v0.9.0 [INFO] [stderr] Checking spin v0.9.8 [INFO] [stderr] Checking num_threads v0.1.7 [INFO] [stderr] Checking rustls-pki-types v1.8.0 [INFO] [stderr] Compiling autocfg v1.3.0 [INFO] [stderr] Checking itoa v1.0.11 [INFO] [stderr] Checking time-core v0.1.2 [INFO] [stderr] Checking num-conv v0.1.0 [INFO] [stderr] Checking regex-syntax v0.6.29 [INFO] [stderr] Compiling thiserror v1.0.64 [INFO] [stderr] Compiling rustls v0.23.13 [INFO] [stderr] Checking pin-project-lite v0.2.14 [INFO] [stderr] Checking regex-syntax v0.8.4 [INFO] [stderr] Checking log v0.4.22 [INFO] [stderr] Checking overload v0.1.1 [INFO] [stderr] Compiling cc v1.1.21 [INFO] [stderr] Checking deranged v0.3.11 [INFO] [stderr] Checking tinyvec_macros v0.1.1 [INFO] [stderr] Checking subtle v2.6.1 [INFO] [stderr] Checking zeroize v1.8.1 [INFO] [stderr] Checking tracing-core v0.1.32 [INFO] [stderr] Checking lazy_static v1.5.0 [INFO] [stderr] Checking base64 v0.22.1 [INFO] [stderr] Checking tinyvec v1.8.0 [INFO] [stderr] Checking sharded-slab v0.1.7 [INFO] [stderr] Checking thread_local v1.1.8 [INFO] [stderr] Checking nu-ansi-term v0.46.0 [INFO] [stderr] Checking bytes v1.7.2 [INFO] [stderr] Checking rustc-hash v2.0.0 [INFO] [stderr] Checking hex-literal v0.4.1 [INFO] [stderr] Checking assert_matches v1.5.0 [INFO] [stderr] Compiling slab v0.4.9 [INFO] [stderr] Checking pem v3.0.4 [INFO] [stderr] Checking tracing v0.1.40 [INFO] [stderr] Compiling quote v1.0.37 [INFO] [stderr] Compiling syn v2.0.77 [INFO] [stderr] Checking getrandom v0.2.15 [INFO] [stderr] Checking time v0.3.36 [INFO] [stderr] Compiling ring v0.17.8 [INFO] [stderr] Checking rand_core v0.6.4 [INFO] [stderr] Checking regex-automata v0.4.7 [INFO] [stderr] Checking regex-automata v0.1.10 [INFO] [stderr] Checking yasna v0.5.2 [INFO] [stderr] Checking matchers v0.1.0 [INFO] [stderr] Checking regex v1.10.6 [INFO] [stderr] Compiling zerocopy-derive v0.7.35 [INFO] [stderr] Compiling thiserror-impl v1.0.64 [INFO] [stderr] Checking tracing-subscriber v0.3.18 [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 rustls-webpki v0.102.8 [INFO] [stderr] Checking rcgen v0.13.1 [INFO] [stderr] Checking iroh-quinn-proto v0.11.6 (/tmp/fixit) [INFO] [stderr] Migrating src/lib.rs from 2021 edition to 2024 [INFO] [stderr] warning: failed to automatically apply fixes suggested by rustc to crate `iroh_quinn_proto` [INFO] [stderr] [INFO] [stderr] after fixes were automatically applied the compiler reported errors within these files: [INFO] [stderr] [INFO] [stderr] * src/frame.rs [INFO] [stderr] * src/transport_error.rs [INFO] [stderr] * src/transport_parameters.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/transport_parameters.rs:67:38 [INFO] [stderr] | [INFO] [stderr] 67 | {$($(#[$doc:meta])* $name:ident ($code:expr_2021) = $default: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/transport_parameters.rs:67:57 [INFO] [stderr] | [INFO] [stderr] 67 | {$($(#[$doc:meta])* $name:ident ($code:expr_2021) = $default: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/transport_parameters.rs:291:46 [INFO] [stderr] | [INFO] [stderr] 291 | {$($(#[$doc:meta])* $name:ident ($code:expr_2021) = $default: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/transport_parameters.rs:291:65 [INFO] [stderr] | [INFO] [stderr] 291 | {$($(#[$doc:meta])* $name:ident ($code:expr_2021) = $default: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/transport_parameters.rs:361:46 [INFO] [stderr] | [INFO] [stderr] 361 | {$($(#[$doc:meta])* $name:ident ($code:expr_2021) = $default: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/transport_parameters.rs:361:65 [INFO] [stderr] | [INFO] [stderr] 361 | {$($(#[$doc:meta])* $name:ident ($code:expr_2021) = $default: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/transport_parameters.rs:418:58 [INFO] [stderr] | [INFO] [stderr] 418 | {$($(#[$doc:meta])* $name:ident ($code:expr_2021) = $default: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/transport_parameters.rs:418:77 [INFO] [stderr] | [INFO] [stderr] 418 | {$($(#[$doc:meta])* $name:ident ($code:expr_2021) = $default: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.rs:56:22 [INFO] [stderr] | [INFO] [stderr] 56 | {$($name: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[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/transport_error.rs:73:20 [INFO] [stderr] | [INFO] [stderr] 73 | {$($name:ident($val:expr_2021) $desc: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/transport_error.rs:73:36 [INFO] [stderr] | [INFO] [stderr] 73 | {$($name:ident($val:expr_2021) $desc: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 11 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/connection/mod.rs:2955:44 [INFO] [stdout] | [INFO] [stdout] 2955 | new_path.challenge = Some(self.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/connection/mod.rs:2962:44 [INFO] [stdout] | [INFO] [stdout] 2962 | prev.challenge = Some(self.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] [INFO] [stdout] [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/connection/packet_builder.rs:104:30 [INFO] [stdout] | [INFO] [stdout] 104 | conn.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] [INFO] [stdout] [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/connection/packet_builder.rs:131:57 [INFO] [stdout] | [INFO] [stdout] 131 | if conn.peer_params.grease_quic_bit && conn.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] [INFO] [stdout] [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/endpoint.rs:170:38 [INFO] [stdout] | [INFO] [stdout] 170 | random: self.rng.gen::() | 0x40, [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: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/cid_generator.rs:107:43 [INFO] [stdout] | [INFO] [stdout] 107 | Self::from_key(rand::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] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/transport_parameters.rs:67:44 [INFO] [stdout] | [INFO] [stdout] 67 | {$($(#[$doc:meta])* $name:ident ($code:expr) = $default: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] 67 | {$($(#[$doc:meta])* $name:ident ($code:expr_2021) = $default: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/transport_parameters.rs:67:61 [INFO] [stdout] | [INFO] [stdout] 67 | {$($(#[$doc:meta])* $name:ident ($code:expr) = $default: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] 67 | {$($(#[$doc:meta])* $name:ident ($code:expr) = $default: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/transport_parameters.rs:291:52 [INFO] [stdout] | [INFO] [stdout] 291 | {$($(#[$doc:meta])* $name:ident ($code:expr) = $default: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] 291 | {$($(#[$doc:meta])* $name:ident ($code:expr_2021) = $default: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/transport_parameters.rs:291:69 [INFO] [stdout] | [INFO] [stdout] 291 | {$($(#[$doc:meta])* $name:ident ($code:expr) = $default: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] 291 | {$($(#[$doc:meta])* $name:ident ($code:expr) = $default: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/transport_parameters.rs:361:52 [INFO] [stdout] | [INFO] [stdout] 361 | {$($(#[$doc:meta])* $name:ident ($code:expr) = $default: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] 361 | {$($(#[$doc:meta])* $name:ident ($code:expr_2021) = $default: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/transport_parameters.rs:361:69 [INFO] [stdout] | [INFO] [stdout] 361 | {$($(#[$doc:meta])* $name:ident ($code:expr) = $default: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] 361 | {$($(#[$doc:meta])* $name:ident ($code:expr) = $default: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/transport_parameters.rs:418:64 [INFO] [stdout] | [INFO] [stdout] 418 | {$($(#[$doc:meta])* $name:ident ($code:expr) = $default: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] 418 | {$($(#[$doc:meta])* $name:ident ($code:expr_2021) = $default: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/transport_parameters.rs:418:81 [INFO] [stdout] | [INFO] [stdout] 418 | {$($(#[$doc:meta])* $name:ident ($code:expr) = $default: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] 418 | {$($(#[$doc:meta])* $name:ident ($code:expr) = $default: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.rs:56:27 [INFO] [stdout] | [INFO] [stdout] 56 | {$($name: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] 56 | {$($name:ident = $val: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/transport_error.rs:73:25 [INFO] [stdout] | [INFO] [stdout] 73 | {$($name:ident($val:expr) $desc: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] 73 | {$($name:ident($val:expr_2021) $desc: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/transport_error.rs:73:37 [INFO] [stdout] | [INFO] [stdout] 73 | {$($name:ident($val:expr) $desc: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] 73 | {$($name:ident($val:expr) $desc:expr_2021;)*} => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/tests/mod.rs:1189:16 [INFO] [stdout] | [INFO] [stdout] 1189 | if let Some(t) = min_opt(pair.client.next_wakeup(), pair.server.next_wakeup()) { [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/tests/mod.rs:1191:13 [INFO] [stdout] | [INFO] [stdout] 1191 | } [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] 1189 ~ match min_opt(pair.client.next_wakeup(), pair.server.next_wakeup()) { Some(t) => { [INFO] [stdout] 1190 | pair.time = t; [INFO] [stdout] 1191 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/tests/mod.rs:1527:16 [INFO] [stdout] | [INFO] [stdout] 1527 | if let Some(time) = min_opt(pair.client.next_wakeup(), pair.server.next_wakeup()) { [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/tests/mod.rs:1529:13 [INFO] [stdout] | [INFO] [stdout] 1529 | } [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 min_opt(pair.client.next_wakeup(), pair.server.next_wakeup()) { Some(time) => { [INFO] [stdout] 1528 | pair.time = time; [INFO] [stdout] 1529 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/tests/mod.rs:1575:20 [INFO] [stdout] | [INFO] [stdout] 1575 | if let Some(time) = min_opt(pair.client.next_wakeup(), pair.server.next_wakeup()) { [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/tests/mod.rs:1577:17 [INFO] [stdout] | [INFO] [stdout] 1577 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1575 ~ match min_opt(pair.client.next_wakeup(), pair.server.next_wakeup()) { Some(time) => { [INFO] [stdout] 1576 | pair.time = time; [INFO] [stdout] 1577 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/tests/mod.rs:2487:8 [INFO] [stdout] | [INFO] [stdout] 2487 | if let Frame::Ack(ack) = frames.remove(0) { [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/tests/mod.rs:2491:5 [INFO] [stdout] | [INFO] [stdout] 2491 | } 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] 2487 ~ match frames.remove(0) { Frame::Ack(ack) => { [INFO] [stdout] 2488 | let ack_delay_exp = TransportParameters::default().ack_delay_exponent; [INFO] [stdout] 2489 | let delay = ack.delay << ack_delay_exp.into_inner(); [INFO] [stdout] 2490 | assert_eq!(delay, default_max_ack_delay_ms * 1_000); [INFO] [stdout] 2491 ~ } _ => { [INFO] [stdout] 2492 | panic!("Expected ACK frame"); [INFO] [stdout] 2493 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/tests/mod.rs:2944:11 [INFO] [stdout] | [INFO] [stdout] 2944 | while let Ok(Some(chunk)) = chunks.next(usize::MAX) { [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/tests/mod.rs:2946:5 [INFO] [stdout] | [INFO] [stdout] 2946 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/tests/util.rs:360:16 [INFO] [stdout] | [INFO] [stdout] 360 | if let Some(event) = self [INFO] [stdout] | ________________^ - [INFO] [stdout] | |__________________________________| [INFO] [stdout] 361 | || .endpoint [INFO] [stdout] 362 | || .handle(recv_time, remote, None, ecn, packet, &mut buf) [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/tests/util.rs:399:13 [INFO] [stdout] | [INFO] [stdout] 399 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 360 ~ match self [INFO] [stdout] 361 | .endpoint [INFO] [stdout] 362 | .handle(recv_time, remote, None, ecn, packet, &mut buf) [INFO] [stdout] 363 ~ { Some(event) => { [INFO] [stdout] 364 | match event { [INFO] [stdout] ... [INFO] [stdout] 398 | } [INFO] [stdout] 399 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/tests/util.rs:437:20 [INFO] [stdout] | [INFO] [stdout] 437 | if let Some(event) = self.handle_event(ch, event) { [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/tests/util.rs:441:17 [INFO] [stdout] | [INFO] [stdout] 441 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 437 ~ match self.handle_event(ch, event) { Some(event) => { [INFO] [stdout] 438 | if let Some(conn) = self.connections.get_mut(&ch) { [INFO] [stdout] 439 | conn.handle_event(event); [INFO] [stdout] 440 | } [INFO] [stdout] 441 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/tests/util.rs:438:24 [INFO] [stdout] | [INFO] [stdout] 438 | if let Some(conn) = self.connections.get_mut(&ch) { [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/tests/util.rs:440:21 [INFO] [stdout] | [INFO] [stdout] 440 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 438 ~ match self.connections.get_mut(&ch) { Some(conn) => { [INFO] [stdout] 439 | conn.handle_event(event); [INFO] [stdout] 440 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/connection/mod.rs:603:30 [INFO] [stdout] | [INFO] [stdout] 603 | let buf_end = if let Some(builder) = &builder_storage { [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/connection/mod.rs:605:13 [INFO] [stdout] | [INFO] [stdout] 605 | } 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] 603 ~ let buf_end = match &builder_storage { Some(builder) => { [INFO] [stdout] 604 | buf.len().max(builder.min_size) + builder.tag_len [INFO] [stdout] 605 ~ } _ => { [INFO] [stdout] 606 | buf.len() [INFO] [stdout] 607 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/connection/mod.rs:636:46 [INFO] [stdout] | [INFO] [stdout] 636 | let untracked_bytes = if let Some(builder) = &builder_storage { [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/connection/mod.rs:638:21 [INFO] [stdout] | [INFO] [stdout] 638 | } 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] 636 ~ let untracked_bytes = match &builder_storage { Some(builder) => { [INFO] [stdout] 637 | buf_capacity - builder.partial_encode.start [INFO] [stdout] 638 ~ } _ => { [INFO] [stdout] 639 | 0 [INFO] [stdout] 640 ~ }} as u64; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/connection/mod.rs:655:24 [INFO] [stdout] | [INFO] [stdout] 655 | if let Some(delay) = self.path.pacing.delay( [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] 656 | | smoothed_rtt, [INFO] [stdout] 657 | | bytes_to_send, [INFO] [stdout] 658 | | self.path.current_mtu(), [INFO] [stdout] 659 | | self.path.congestion.window(), [INFO] [stdout] 660 | | now, [INFO] [stdout] 661 | | ) { [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/connection/mod.rs:668:21 [INFO] [stdout] | [INFO] [stdout] 668 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 655 ~ match self.path.pacing.delay( [INFO] [stdout] 656 | smoothed_rtt, [INFO] [stdout] ... [INFO] [stdout] 660 | now, [INFO] [stdout] 661 ~ ) { Some(delay) => { [INFO] [stdout] 662 | self.timers.set(Timer::Pacing, delay); [INFO] [stdout] ... [INFO] [stdout] 667 | break; [INFO] [stdout] 668 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/connection/mod.rs:759:20 [INFO] [stdout] | [INFO] [stdout] 759 | if let Some(builder) = builder_storage.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/connection/mod.rs:761:17 [INFO] [stdout] | [INFO] [stdout] 761 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 759 ~ match builder_storage.take() { Some(builder) => { [INFO] [stdout] 760 | builder.finish_and_track(now, self, sent_frames.take(), buf); [INFO] [stdout] 761 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/connection/mod.rs:873:20 [INFO] [stdout] | [INFO] [stdout] 873 | if let Some((token, remote)) = self.path_responses.pop_off_path(&self.path.remote) { [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/connection/mod.rs:899:17 [INFO] [stdout] | [INFO] [stdout] 899 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 873 ~ match self.path_responses.pop_off_path(&self.path.remote) { Some((token, remote)) => { [INFO] [stdout] 874 | // `unwrap` guaranteed to succeed because `builder_storage` was populated just [INFO] [stdout] ... [INFO] [stdout] 898 | }); [INFO] [stdout] 899 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/connection/mod.rs:1394:16 [INFO] [stdout] | [INFO] [stdout] 1394 | if let Some(info) = self.spaces[space].take(packet) { [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/connection/mod.rs:1417:13 [INFO] [stdout] | [INFO] [stdout] 1417 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1394 ~ match self.spaces[space].take(packet) { Some(info) => { [INFO] [stdout] 1395 | if let Some(acked) = info.largest_acked { [INFO] [stdout] ... [INFO] [stdout] 1416 | self.on_packet_acked(now, packet, info); [INFO] [stdout] 1417 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/connection/mod.rs:1453:16 [INFO] [stdout] | [INFO] [stdout] 1453 | if let Some(ecn) = ack.ecn { [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/connection/mod.rs:1462:13 [INFO] [stdout] | [INFO] [stdout] 1462 | } 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] 1453 ~ match ack.ecn { Some(ecn) => { [INFO] [stdout] 1454 | // We only examine ECN counters from ACKs that we are certain we received in transmit [INFO] [stdout] ... [INFO] [stdout] 1461 | } [INFO] [stdout] 1462 ~ } _ => { [INFO] [stdout] 1463 | // We always start out sending ECN, so any ack that doesn't acknowledge it disables it. [INFO] [stdout] 1464 | debug!("ECN not acknowledged by peer"); [INFO] [stdout] 1465 | self.path.sending_ecn = false; [INFO] [stdout] 1466 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/connection/mod.rs:1881:12 [INFO] [stdout] | [INFO] [stdout] 1881 | if let Some(t) = self.local_cid_state.next_timeout() { [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/connection/mod.rs:1883:9 [INFO] [stdout] | [INFO] [stdout] 1883 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1881 ~ match self.local_cid_state.next_timeout() { Some(t) => { [INFO] [stdout] 1882 | self.timers.set(Timer::PushNewCid, t); [INFO] [stdout] 1883 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/connection/mod.rs:2003:15 [INFO] [stdout] | [INFO] [stdout] 2003 | while let Some(chunk) = space.crypto_stream.read(usize::MAX, true) { [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/connection/mod.rs:2008:9 [INFO] [stdout] | [INFO] [stdout] 2008 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/connection/mod.rs:2105:15 [INFO] [stdout] | [INFO] [stdout] 2105 | while let Some(data) = remaining { [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/connection/mod.rs:2121:9 [INFO] [stdout] | [INFO] [stdout] 2121 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/connection/mod.rs:2131:12 [INFO] [stdout] | [INFO] [stdout] 2131 | if let Some(decoded) = packet_crypto::unprotect_header( [INFO] [stdout] | ____________^ - [INFO] [stdout] | |________________________________| [INFO] [stdout] 2132 | || partial_decode, [INFO] [stdout] 2133 | || &self.spaces, [INFO] [stdout] 2134 | || self.zero_rtt_crypto.as_ref(), [INFO] [stdout] 2135 | || self.peer_params.stateless_reset_token, [INFO] [stdout] 2136 | || ) { [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/connection/mod.rs:2138:9 [INFO] [stdout] | [INFO] [stdout] 2138 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 2131 ~ match packet_crypto::unprotect_header( [INFO] [stdout] 2132 | partial_decode, [INFO] [stdout] ... [INFO] [stdout] 2135 | self.peer_params.stateless_reset_token, [INFO] [stdout] 2136 ~ ) { Some(decoded) => { [INFO] [stdout] 2137 | self.handle_packet(now, remote, ecn, decoded.packet, decoded.stateless_reset); [INFO] [stdout] 2138 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/connection/mod.rs:2216:28 [INFO] [stdout] | [INFO] [stdout] 2216 | if let State::Handshake(ref hs) = self.state { [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/connection/mod.rs:2224:25 [INFO] [stdout] | [INFO] [stdout] 2224 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 2216 ~ match self.state { State::Handshake(ref hs) => { [INFO] [stdout] 2217 | if self.side.is_server() && token != &hs.expected_token { [INFO] [stdout] ... [INFO] [stdout] 2223 | } [INFO] [stdout] 2224 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/connection/mod.rs:2288:12 [INFO] [stdout] | [INFO] [stdout] 2288 | if let State::Closed(_) = self.state { [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/connection/mod.rs:2290:9 [INFO] [stdout] | [INFO] [stdout] 2290 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 2288 ~ match self.state { State::Closed(_) => { [INFO] [stdout] 2289 | self.close = remote == self.path.remote; [INFO] [stdout] 2290 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/connection/mod.rs:2327:24 [INFO] [stdout] | [INFO] [stdout] 2327 | if let Frame::Close(_) = 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/connection/mod.rs:2331:21 [INFO] [stdout] | [INFO] [stdout] 2331 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 2327 ~ match frame { Frame::Close(_) => { [INFO] [stdout] 2328 | trace!("draining"); [INFO] [stdout] 2329 | self.state = State::Draining; [INFO] [stdout] 2330 | break; [INFO] [stdout] 2331 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/connection/mod.rs:2700:28 [INFO] [stdout] | [INFO] [stdout] 2700 | if let Some((_, ref mut prev_path)) = self.prev_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/connection/mod.rs:2703:25 [INFO] [stdout] | [INFO] [stdout] 2703 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 2700 ~ match self.prev_path { Some((_, ref mut prev_path)) => { [INFO] [stdout] 2701 | prev_path.challenge = None; [INFO] [stdout] 2702 | prev_path.challenge_pending = false; [INFO] [stdout] 2703 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/connection/mod.rs:3100:16 [INFO] [stdout] | [INFO] [stdout] 3100 | if let Some(token) = self.path.challenge { [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/connection/mod.rs:3109:13 [INFO] [stdout] | [INFO] [stdout] 3109 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 3100 ~ match self.path.challenge { Some(token) => { [INFO] [stdout] 3101 | // But only send a packet solely for that purpose at most once [INFO] [stdout] ... [INFO] [stdout] 3108 | self.stats.frame_tx.path_challenge += 1; [INFO] [stdout] 3109 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/connection/mod.rs:3114:16 [INFO] [stdout] | [INFO] [stdout] 3114 | if let Some(token) = self.path_responses.pop_on_path(&self.path.remote) { [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/connection/mod.rs:3121:13 [INFO] [stdout] | [INFO] [stdout] 3121 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 3114 ~ match self.path_responses.pop_on_path(&self.path.remote) { Some(token) => { [INFO] [stdout] 3115 | sent.non_retransmits = true; [INFO] [stdout] ... [INFO] [stdout] 3120 | self.stats.frame_tx.path_response += 1; [INFO] [stdout] 3121 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/connection/mod.rs:3348:16 [INFO] [stdout] | [INFO] [stdout] 3348 | if let Some(prev) = self.prev_crypto.as_mut() { [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/connection/mod.rs:3351:13 [INFO] [stdout] | [INFO] [stdout] 3351 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 3348 ~ match self.prev_crypto.as_mut() { Some(prev) => { [INFO] [stdout] 3349 | prev.end_packet = Some((result.number, now)); [INFO] [stdout] 3350 | self.set_key_discard_timer(now, packet.header.space()); [INFO] [stdout] 3351 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/connection/packet_builder.rs:135:41 [INFO] [stdout] | [INFO] [stdout] 135 | let (sample_size, tag_len) = if let Some(ref crypto) = space.crypto { [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/connection/packet_builder.rs:140:9 [INFO] [stdout] | [INFO] [stdout] 140 | } else if space_id == SpaceId::Data { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 135 ~ let (sample_size, tag_len) = match space.crypto { Some(ref crypto) => { [INFO] [stdout] 136 | ( [INFO] [stdout] ... [INFO] [stdout] 139 | ) [INFO] [stdout] 140 ~ } _ => if space_id == SpaceId::Data { [INFO] [stdout] 141 | let zero_rtt = conn.zero_rtt_crypto.as_ref().expect( [INFO] [stdout] ... [INFO] [stdout] 146 | unreachable!("tried to send {:?} packet without keys", space_id); [INFO] [stdout] 147 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/connection/packet_builder.rs:241:49 [INFO] [stdout] | [INFO] [stdout] 241 | let (header_crypto, packet_crypto) = if let Some(ref crypto) = space.crypto { [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/connection/packet_builder.rs:243:9 [INFO] [stdout] | [INFO] [stdout] 243 | } else if self.space == SpaceId::Data { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 241 ~ let (header_crypto, packet_crypto) = match space.crypto { Some(ref crypto) => { [INFO] [stdout] 242 | (&*crypto.header.local, &*crypto.packet.local) [INFO] [stdout] 243 ~ } _ => if self.space == SpaceId::Data { [INFO] [stdout] 244 | let zero_rtt = conn.zero_rtt_crypto.as_ref().unwrap(); [INFO] [stdout] ... [INFO] [stdout] 247 | unreachable!("tried to send {:?} packet without keys", self.space); [INFO] [stdout] 248 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/connection/packet_crypto.rs:24:15 [INFO] [stdout] | [INFO] [stdout] 24 | } else if let Some(space) = partial_decode.space() { [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/connection/packet_crypto.rs:35:5 [INFO] [stdout] | [INFO] [stdout] 35 | } 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] 24 ~ } else { match partial_decode.space() { Some(space) => { [INFO] [stdout] 25 | if let Some(ref crypto) = spaces[space].crypto { [INFO] [stdout] ... [INFO] [stdout] 34 | } [INFO] [stdout] 35 ~ } _ => { [INFO] [stdout] 36 | // Unprotected packet [INFO] [stdout] 37 | None [INFO] [stdout] 38 ~ }}}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/connection/packet_crypto.rs:25:12 [INFO] [stdout] | [INFO] [stdout] 25 | if let Some(ref crypto) = spaces[space].crypto { [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/connection/packet_crypto.rs:27:9 [INFO] [stdout] | [INFO] [stdout] 27 | } 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] 25 ~ match spaces[space].crypto { Some(ref crypto) => { [INFO] [stdout] 26 | Some(&*crypto.header.remote) [INFO] [stdout] 27 ~ } _ => { [INFO] [stdout] 28 | debug!( [INFO] [stdout] ... [INFO] [stdout] 33 | return None; [INFO] [stdout] 34 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/connection/spaces.rs:356:12 [INFO] [stdout] | [INFO] [stdout] 356 | if let Some(retransmits) = rhs.retransmits { [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/connection/spaces.rs:358:9 [INFO] [stdout] | [INFO] [stdout] 358 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 356 ~ match rhs.retransmits { Some(retransmits) => { [INFO] [stdout] 357 | self.bitor_assign(*retransmits) [INFO] [stdout] 358 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/connection/streams/state.rs:155:16 [INFO] [stdout] | [INFO] [stdout] 155 | if let Some(s) = self.send.get_mut(&id).and_then(|s| s.as_mut()) { [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/connection/streams/state.rs:157:13 [INFO] [stdout] | [INFO] [stdout] 157 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 155 ~ match self.send.get_mut(&id).and_then(|s| s.as_mut()) { Some(s) => { [INFO] [stdout] 156 | s.max_data = params.initial_max_stream_data_bidi_local.into(); [INFO] [stdout] 157 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/connection/streams/state.rs:685:12 [INFO] [stdout] | [INFO] [stdout] 685 | if let Some(ss) = self [INFO] [stdout] | _____________^ - [INFO] [stdout] | | ___________________________| [INFO] [stdout] 686 | || .send [INFO] [stdout] | ||_________________- this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] 687 | | .get_mut(&id) [INFO] [stdout] 688 | | .map(get_or_insert_send(max_send_data)) [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/connection/streams/state.rs:701:9 [INFO] [stdout] | [INFO] [stdout] 701 | } else if id.initiator() == self.side && self.is_local_unopened(id) { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 685 ~ match self [INFO] [stdout] 686 | .send [INFO] [stdout] 687 | .get_mut(&id) [INFO] [stdout] 688 | .map(get_or_insert_send(max_send_data)) [INFO] [stdout] 689 ~ { Some(ss) => { [INFO] [stdout] 690 | if ss.increase_max_data(offset) { [INFO] [stdout] ... [INFO] [stdout] 700 | } [INFO] [stdout] 701 ~ } _ => if id.initiator() == self.side && self.is_local_unopened(id) { [INFO] [stdout] 702 | debug!("got MAX_STREAM_DATA on unopened {}", id); [INFO] [stdout] ... [INFO] [stdout] 705 | )); [INFO] [stdout] 706 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/crypto/rustls.rs:96:16 [INFO] [stdout] | [INFO] [stdout] 96 | if let Some(alert) = self.inner.alert() { [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/crypto/rustls.rs:102:13 [INFO] [stdout] | [INFO] [stdout] 102 | } 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] 96 ~ match self.inner.alert() { Some(alert) => { [INFO] [stdout] 97 | TransportError { [INFO] [stdout] ... [INFO] [stdout] 101 | } [INFO] [stdout] 102 ~ } _ => { [INFO] [stdout] 103 | TransportError::PROTOCOL_VIOLATION(format!("TLS error: {e}")) [INFO] [stdout] 104 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/endpoint.rs:256:12 [INFO] [stdout] | [INFO] [stdout] 256 | if let Some(header) = first_decode.initial_header() { [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/endpoint.rs:295:9 [INFO] [stdout] | [INFO] [stdout] 295 | } else if first_decode.has_long_header() { [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 first_decode.initial_header() { Some(header) => { [INFO] [stdout] 257 | if datagram_len < MIN_INITIAL_SIZE as usize { [INFO] [stdout] ... [INFO] [stdout] 294 | }; [INFO] [stdout] 295 ~ } _ => if first_decode.has_long_header() { [INFO] [stdout] 296 | debug!( [INFO] [stdout] ... [INFO] [stdout] 300 | return None; [INFO] [stdout] 301 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 52 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] warning: failed to automatically apply fixes suggested by rustc to crate `iroh_quinn_proto` [INFO] [stderr] [INFO] [stderr] after fixes were automatically applied the compiler reported errors within these files: [INFO] [stderr] [INFO] [stderr] * src/frame.rs [INFO] [stderr] * src/transport_error.rs [INFO] [stderr] * src/transport_parameters.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/transport_parameters.rs:67:38 [INFO] [stderr] | [INFO] [stderr] 67 | {$($(#[$doc:meta])* $name:ident ($code:expr_2021) = $default: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/transport_parameters.rs:67:57 [INFO] [stderr] | [INFO] [stderr] 67 | {$($(#[$doc:meta])* $name:ident ($code:expr_2021) = $default: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/transport_parameters.rs:291:46 [INFO] [stderr] | [INFO] [stderr] 291 | {$($(#[$doc:meta])* $name:ident ($code:expr_2021) = $default: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/transport_parameters.rs:291:65 [INFO] [stderr] | [INFO] [stderr] 291 | {$($(#[$doc:meta])* $name:ident ($code:expr_2021) = $default: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/transport_parameters.rs:361:46 [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/connection/mod.rs:2955:44 [INFO] [stdout] | [INFO] [stdout] 2955 | new_path.challenge = Some(self.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] [stderr] | [INFO] [stderr] 361 | {$($(#[$doc:meta])* $name:ident ($code:expr_2021) = $default: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/transport_parameters.rs:361:65 [INFO] [stderr] | [INFO] [stderr] 361 | {$($(#[$doc:meta])* $name:ident ($code:expr_2021) = $default:expr_2021,)*} => {{ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/connection/mod.rs:2962:44 [INFO] [stdout] | [INFO] [stdout] 2962 | prev.challenge = Some(self.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] [INFO] [stdout] [INFO] [stderr] | [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/connection/packet_builder.rs:104:30 [INFO] [stdout] | [INFO] [stdout] 104 | conn.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] [INFO] [stdout] [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/connection/packet_builder.rs:131:57 [INFO] [stdout] | [INFO] [stdout] 131 | if conn.peer_params.grease_quic_bit && conn.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] [INFO] [stdout] [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/transport_parameters.rs:418:58 [INFO] [stderr] | [INFO] [stderr] 418 | {$($(#[$doc:meta])* $name:ident ($code:expr_2021) = $default: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/transport_parameters.rs:418:77 [INFO] [stderr] | [INFO] [stderr] 418 | {$($(#[$doc:meta])* $name:ident ($code:expr_2021) = $default:expr_2021,)*} => { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/endpoint.rs:170:38 [INFO] [stdout] | [INFO] [stdout] 170 | random: self.rng.gen::() | 0x40, [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] [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.rs:56:22 [INFO] [stderr] | [INFO] [stderr] 56 | {$($name: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[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/transport_error.rs:73:20 [INFO] [stderr] | [INFO] [stderr] 73 | {$($name:ident($val:expr_2021) $desc:expr_2021;)*} => { [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/cid_generator.rs:107:43 [INFO] [stdout] | [INFO] [stdout] 107 | Self::from_key(rand::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] [INFO] [stdout] [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/transport_error.rs:73:36 [INFO] [stderr] | [INFO] [stderr] 73 | {$($name:ident($val:expr_2021) $desc: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] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/transport_parameters.rs:67:44 [INFO] [stdout] | [INFO] [stdout] 67 | {$($(#[$doc:meta])* $name:ident ($code:expr) = $default: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] 67 | {$($(#[$doc:meta])* $name:ident ($code:expr_2021) = $default:expr,)*} => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/transport_parameters.rs:67:61 [INFO] [stdout] | [INFO] [stdout] 67 | {$($(#[$doc:meta])* $name:ident ($code:expr) = $default: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] 67 | {$($(#[$doc:meta])* $name:ident ($code:expr) = $default:expr_2021,)*} => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] [INFO] [stderr] error: aborting due to 11 previous errors [INFO] [stderr] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/transport_parameters.rs:291:52 [INFO] [stdout] | [INFO] [stdout] 291 | {$($(#[$doc:meta])* $name:ident ($code:expr) = $default: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] 291 | {$($(#[$doc:meta])* $name:ident ($code:expr_2021) = $default:expr,)*} => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [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/transport_parameters.rs:291:69 [INFO] [stdout] | [INFO] [stdout] 291 | {$($(#[$doc:meta])* $name:ident ($code:expr) = $default: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] 291 | {$($(#[$doc:meta])* $name:ident ($code:expr) = $default: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/transport_parameters.rs:361:52 [INFO] [stdout] | [INFO] [stdout] 361 | {$($(#[$doc:meta])* $name:ident ($code:expr) = $default: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] 361 | {$($(#[$doc:meta])* $name:ident ($code:expr_2021) = $default: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/transport_parameters.rs:361:69 [INFO] [stdout] | [INFO] [stdout] 361 | {$($(#[$doc:meta])* $name:ident ($code:expr) = $default: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] 361 | {$($(#[$doc:meta])* $name:ident ($code:expr) = $default: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/transport_parameters.rs:418:64 [INFO] [stdout] | [INFO] [stdout] 418 | {$($(#[$doc:meta])* $name:ident ($code:expr) = $default: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] 418 | {$($(#[$doc:meta])* $name:ident ($code:expr_2021) = $default: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/transport_parameters.rs:418:81 [INFO] [stdout] | [INFO] [stdout] 418 | {$($(#[$doc:meta])* $name:ident ($code:expr) = $default: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] 418 | {$($(#[$doc:meta])* $name:ident ($code:expr) = $default: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.rs:56:27 [INFO] [stdout] | [INFO] [stdout] 56 | {$($name: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] 56 | {$($name:ident = $val: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/transport_error.rs:73:25 [INFO] [stdout] | [INFO] [stdout] 73 | {$($name:ident($val:expr) $desc: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] 73 | {$($name:ident($val:expr_2021) $desc: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/transport_error.rs:73:37 [INFO] [stdout] | [INFO] [stdout] 73 | {$($name:ident($val:expr) $desc: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] 73 | {$($name:ident($val:expr) $desc:expr_2021;)*} => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/connection/mod.rs:603:30 [INFO] [stdout] | [INFO] [stdout] 603 | let buf_end = if let Some(builder) = &builder_storage { [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/connection/mod.rs:605:13 [INFO] [stdout] | [INFO] [stdout] 605 | } else { [INFO] [stdout] | ^ [INFO] [stdout] = note: `--force-warn if-let-rescope` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 603 ~ let buf_end = match &builder_storage { Some(builder) => { [INFO] [stdout] 604 | buf.len().max(builder.min_size) + builder.tag_len [INFO] [stdout] 605 ~ } _ => { [INFO] [stdout] 606 | buf.len() [INFO] [stdout] 607 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/connection/mod.rs:636:46 [INFO] [stdout] | [INFO] [stdout] 636 | let untracked_bytes = if let Some(builder) = &builder_storage { [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/connection/mod.rs:638:21 [INFO] [stdout] | [INFO] [stdout] 638 | } 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] 636 ~ let untracked_bytes = match &builder_storage { Some(builder) => { [INFO] [stdout] 637 | buf_capacity - builder.partial_encode.start [INFO] [stdout] 638 ~ } _ => { [INFO] [stdout] 639 | 0 [INFO] [stdout] 640 ~ }} as u64; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/connection/mod.rs:655:24 [INFO] [stdout] | [INFO] [stdout] 655 | if let Some(delay) = self.path.pacing.delay( [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] 656 | | smoothed_rtt, [INFO] [stdout] 657 | | bytes_to_send, [INFO] [stdout] 658 | | self.path.current_mtu(), [INFO] [stdout] 659 | | self.path.congestion.window(), [INFO] [stdout] 660 | | now, [INFO] [stdout] 661 | | ) { [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/connection/mod.rs:668:21 [INFO] [stdout] | [INFO] [stdout] 668 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 655 ~ match self.path.pacing.delay( [INFO] [stdout] 656 | smoothed_rtt, [INFO] [stdout] ... [INFO] [stdout] 660 | now, [INFO] [stdout] 661 ~ ) { Some(delay) => { [INFO] [stdout] 662 | self.timers.set(Timer::Pacing, delay); [INFO] [stdout] ... [INFO] [stdout] 667 | break; [INFO] [stdout] 668 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/connection/mod.rs:759:20 [INFO] [stdout] | [INFO] [stdout] 759 | if let Some(builder) = builder_storage.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/connection/mod.rs:761:17 [INFO] [stdout] | [INFO] [stdout] 761 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 759 ~ match builder_storage.take() { Some(builder) => { [INFO] [stdout] 760 | builder.finish_and_track(now, self, sent_frames.take(), buf); [INFO] [stdout] 761 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/connection/mod.rs:873:20 [INFO] [stdout] | [INFO] [stdout] 873 | if let Some((token, remote)) = self.path_responses.pop_off_path(&self.path.remote) { [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/connection/mod.rs:899:17 [INFO] [stdout] | [INFO] [stdout] 899 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 873 ~ match self.path_responses.pop_off_path(&self.path.remote) { Some((token, remote)) => { [INFO] [stdout] 874 | // `unwrap` guaranteed to succeed because `builder_storage` was populated just [INFO] [stdout] ... [INFO] [stdout] 898 | }); [INFO] [stdout] 899 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/connection/mod.rs:1394:16 [INFO] [stdout] | [INFO] [stdout] 1394 | if let Some(info) = self.spaces[space].take(packet) { [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/connection/mod.rs:1417:13 [INFO] [stdout] | [INFO] [stdout] 1417 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1394 ~ match self.spaces[space].take(packet) { Some(info) => { [INFO] [stdout] 1395 | if let Some(acked) = info.largest_acked { [INFO] [stdout] ... [INFO] [stdout] 1416 | self.on_packet_acked(now, packet, info); [INFO] [stdout] 1417 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/connection/mod.rs:1453:16 [INFO] [stdout] | [INFO] [stdout] 1453 | if let Some(ecn) = ack.ecn { [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/connection/mod.rs:1462:13 [INFO] [stdout] | [INFO] [stdout] 1462 | } 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] 1453 ~ match ack.ecn { Some(ecn) => { [INFO] [stdout] 1454 | // We only examine ECN counters from ACKs that we are certain we received in transmit [INFO] [stdout] ... [INFO] [stdout] 1461 | } [INFO] [stdout] 1462 ~ } _ => { [INFO] [stdout] 1463 | // We always start out sending ECN, so any ack that doesn't acknowledge it disables it. [INFO] [stdout] 1464 | debug!("ECN not acknowledged by peer"); [INFO] [stdout] 1465 | self.path.sending_ecn = false; [INFO] [stdout] 1466 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/connection/mod.rs:1881:12 [INFO] [stdout] | [INFO] [stdout] 1881 | if let Some(t) = self.local_cid_state.next_timeout() { [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/connection/mod.rs:1883:9 [INFO] [stdout] | [INFO] [stdout] 1883 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1881 ~ match self.local_cid_state.next_timeout() { Some(t) => { [INFO] [stdout] 1882 | self.timers.set(Timer::PushNewCid, t); [INFO] [stdout] 1883 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/connection/mod.rs:2003:15 [INFO] [stdout] | [INFO] [stdout] 2003 | while let Some(chunk) = space.crypto_stream.read(usize::MAX, true) { [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/connection/mod.rs:2008:9 [INFO] [stdout] | [INFO] [stdout] 2008 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/connection/mod.rs:2105:15 [INFO] [stdout] | [INFO] [stdout] 2105 | while let Some(data) = remaining { [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/connection/mod.rs:2121:9 [INFO] [stdout] | [INFO] [stdout] 2121 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/connection/mod.rs:2131:12 [INFO] [stdout] | [INFO] [stdout] 2131 | if let Some(decoded) = packet_crypto::unprotect_header( [INFO] [stdout] | ____________^ - [INFO] [stdout] | |________________________________| [INFO] [stdout] 2132 | || partial_decode, [INFO] [stdout] 2133 | || &self.spaces, [INFO] [stdout] 2134 | || self.zero_rtt_crypto.as_ref(), [INFO] [stdout] 2135 | || self.peer_params.stateless_reset_token, [INFO] [stdout] 2136 | || ) { [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/connection/mod.rs:2138:9 [INFO] [stdout] | [INFO] [stdout] 2138 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 2131 ~ match packet_crypto::unprotect_header( [INFO] [stdout] 2132 | partial_decode, [INFO] [stdout] ... [INFO] [stdout] 2135 | self.peer_params.stateless_reset_token, [INFO] [stdout] 2136 ~ ) { Some(decoded) => { [INFO] [stdout] 2137 | self.handle_packet(now, remote, ecn, decoded.packet, decoded.stateless_reset); [INFO] [stdout] 2138 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/connection/mod.rs:2216:28 [INFO] [stdout] | [INFO] [stdout] 2216 | if let State::Handshake(ref hs) = self.state { [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/connection/mod.rs:2224:25 [INFO] [stdout] | [INFO] [stdout] 2224 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 2216 ~ match self.state { State::Handshake(ref hs) => { [INFO] [stdout] 2217 | if self.side.is_server() && token != &hs.expected_token { [INFO] [stdout] ... [INFO] [stdout] 2223 | } [INFO] [stdout] 2224 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/connection/mod.rs:2288:12 [INFO] [stdout] | [INFO] [stdout] 2288 | if let State::Closed(_) = self.state { [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/connection/mod.rs:2290:9 [INFO] [stdout] | [INFO] [stdout] 2290 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 2288 ~ match self.state { State::Closed(_) => { [INFO] [stdout] 2289 | self.close = remote == self.path.remote; [INFO] [stdout] 2290 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/connection/mod.rs:2327:24 [INFO] [stdout] | [INFO] [stdout] 2327 | if let Frame::Close(_) = 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/connection/mod.rs:2331:21 [INFO] [stdout] | [INFO] [stdout] 2331 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 2327 ~ match frame { Frame::Close(_) => { [INFO] [stdout] 2328 | trace!("draining"); [INFO] [stdout] 2329 | self.state = State::Draining; [INFO] [stdout] 2330 | break; [INFO] [stdout] 2331 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/connection/mod.rs:2700:28 [INFO] [stdout] | [INFO] [stdout] 2700 | if let Some((_, ref mut prev_path)) = self.prev_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/connection/mod.rs:2703:25 [INFO] [stdout] | [INFO] [stdout] 2703 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 2700 ~ match self.prev_path { Some((_, ref mut prev_path)) => { [INFO] [stdout] 2701 | prev_path.challenge = None; [INFO] [stdout] 2702 | prev_path.challenge_pending = false; [INFO] [stdout] 2703 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/connection/mod.rs:3100:16 [INFO] [stdout] | [INFO] [stdout] 3100 | if let Some(token) = self.path.challenge { [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/connection/mod.rs:3109:13 [INFO] [stdout] | [INFO] [stdout] 3109 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 3100 ~ match self.path.challenge { Some(token) => { [INFO] [stdout] 3101 | // But only send a packet solely for that purpose at most once [INFO] [stdout] ... [INFO] [stdout] 3108 | self.stats.frame_tx.path_challenge += 1; [INFO] [stdout] 3109 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/connection/mod.rs:3114:16 [INFO] [stdout] | [INFO] [stdout] 3114 | if let Some(token) = self.path_responses.pop_on_path(&self.path.remote) { [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/connection/mod.rs:3121:13 [INFO] [stdout] | [INFO] [stdout] 3121 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 3114 ~ match self.path_responses.pop_on_path(&self.path.remote) { Some(token) => { [INFO] [stdout] 3115 | sent.non_retransmits = true; [INFO] [stdout] ... [INFO] [stdout] 3120 | self.stats.frame_tx.path_response += 1; [INFO] [stdout] 3121 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/connection/mod.rs:3348:16 [INFO] [stdout] | [INFO] [stdout] 3348 | if let Some(prev) = self.prev_crypto.as_mut() { [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/connection/mod.rs:3351:13 [INFO] [stdout] | [INFO] [stdout] 3351 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 3348 ~ match self.prev_crypto.as_mut() { Some(prev) => { [INFO] [stdout] 3349 | prev.end_packet = Some((result.number, now)); [INFO] [stdout] 3350 | self.set_key_discard_timer(now, packet.header.space()); [INFO] [stdout] 3351 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/connection/packet_builder.rs:135:41 [INFO] [stdout] | [INFO] [stdout] 135 | let (sample_size, tag_len) = if let Some(ref crypto) = space.crypto { [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/connection/packet_builder.rs:140:9 [INFO] [stdout] | [INFO] [stdout] 140 | } else if space_id == SpaceId::Data { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 135 ~ let (sample_size, tag_len) = match space.crypto { Some(ref crypto) => { [INFO] [stdout] 136 | ( [INFO] [stdout] ... [INFO] [stdout] 139 | ) [INFO] [stdout] 140 ~ } _ => if space_id == SpaceId::Data { [INFO] [stdout] 141 | let zero_rtt = conn.zero_rtt_crypto.as_ref().expect( [INFO] [stdout] ... [INFO] [stdout] 146 | unreachable!("tried to send {:?} packet without keys", space_id); [INFO] [stdout] 147 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/connection/packet_builder.rs:241:49 [INFO] [stdout] | [INFO] [stdout] 241 | let (header_crypto, packet_crypto) = if let Some(ref crypto) = space.crypto { [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/connection/packet_builder.rs:243:9 [INFO] [stdout] | [INFO] [stdout] 243 | } else if self.space == SpaceId::Data { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 241 ~ let (header_crypto, packet_crypto) = match space.crypto { Some(ref crypto) => { [INFO] [stdout] 242 | (&*crypto.header.local, &*crypto.packet.local) [INFO] [stdout] 243 ~ } _ => if self.space == SpaceId::Data { [INFO] [stdout] 244 | let zero_rtt = conn.zero_rtt_crypto.as_ref().unwrap(); [INFO] [stdout] ... [INFO] [stdout] 247 | unreachable!("tried to send {:?} packet without keys", self.space); [INFO] [stdout] 248 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/connection/packet_crypto.rs:24:15 [INFO] [stdout] | [INFO] [stdout] 24 | } else if let Some(space) = partial_decode.space() { [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/connection/packet_crypto.rs:35:5 [INFO] [stdout] | [INFO] [stdout] 35 | } 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] 24 ~ } else { match partial_decode.space() { Some(space) => { [INFO] [stdout] 25 | if let Some(ref crypto) = spaces[space].crypto { [INFO] [stdout] ... [INFO] [stdout] 34 | } [INFO] [stdout] 35 ~ } _ => { [INFO] [stdout] 36 | // Unprotected packet [INFO] [stdout] 37 | None [INFO] [stdout] 38 ~ }}}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/connection/packet_crypto.rs:25:12 [INFO] [stdout] | [INFO] [stdout] 25 | if let Some(ref crypto) = spaces[space].crypto { [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/connection/packet_crypto.rs:27:9 [INFO] [stdout] | [INFO] [stdout] 27 | } 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] 25 ~ match spaces[space].crypto { Some(ref crypto) => { [INFO] [stdout] 26 | Some(&*crypto.header.remote) [INFO] [stdout] 27 ~ } _ => { [INFO] [stdout] 28 | debug!( [INFO] [stdout] ... [INFO] [stdout] 33 | return None; [INFO] [stdout] 34 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/connection/spaces.rs:356:12 [INFO] [stdout] | [INFO] [stdout] 356 | if let Some(retransmits) = rhs.retransmits { [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/connection/spaces.rs:358:9 [INFO] [stdout] | [INFO] [stdout] 358 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 356 ~ match rhs.retransmits { Some(retransmits) => { [INFO] [stdout] 357 | self.bitor_assign(*retransmits) [INFO] [stdout] 358 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/connection/streams/state.rs:155:16 [INFO] [stdout] | [INFO] [stdout] 155 | if let Some(s) = self.send.get_mut(&id).and_then(|s| s.as_mut()) { [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/connection/streams/state.rs:157:13 [INFO] [stdout] | [INFO] [stdout] 157 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 155 ~ match self.send.get_mut(&id).and_then(|s| s.as_mut()) { Some(s) => { [INFO] [stdout] 156 | s.max_data = params.initial_max_stream_data_bidi_local.into(); [INFO] [stdout] 157 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/connection/streams/state.rs:685:12 [INFO] [stdout] | [INFO] [stdout] 685 | if let Some(ss) = self [INFO] [stdout] | _____________^ - [INFO] [stdout] | | ___________________________| [INFO] [stdout] 686 | || .send [INFO] [stdout] | ||_________________- this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] 687 | | .get_mut(&id) [INFO] [stdout] 688 | | .map(get_or_insert_send(max_send_data)) [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/connection/streams/state.rs:701:9 [INFO] [stdout] | [INFO] [stdout] 701 | } else if id.initiator() == self.side && self.is_local_unopened(id) { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 685 ~ match self [INFO] [stdout] 686 | .send [INFO] [stdout] 687 | .get_mut(&id) [INFO] [stdout] 688 | .map(get_or_insert_send(max_send_data)) [INFO] [stdout] 689 ~ { Some(ss) => { [INFO] [stdout] 690 | if ss.increase_max_data(offset) { [INFO] [stdout] ... [INFO] [stdout] 700 | } [INFO] [stdout] 701 ~ } _ => if id.initiator() == self.side && self.is_local_unopened(id) { [INFO] [stdout] 702 | debug!("got MAX_STREAM_DATA on unopened {}", id); [INFO] [stdout] ... [INFO] [stdout] 705 | )); [INFO] [stdout] 706 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/crypto/rustls.rs:96:16 [INFO] [stdout] | [INFO] [stdout] 96 | if let Some(alert) = self.inner.alert() { [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/crypto/rustls.rs:102:13 [INFO] [stdout] | [INFO] [stdout] 102 | } 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] 96 ~ match self.inner.alert() { Some(alert) => { [INFO] [stdout] 97 | TransportError { [INFO] [stdout] ... [INFO] [stdout] 101 | } [INFO] [stdout] 102 ~ } _ => { [INFO] [stdout] 103 | TransportError::PROTOCOL_VIOLATION(format!("TLS error: {e}")) [INFO] [stdout] 104 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/endpoint.rs:256:12 [INFO] [stdout] | [INFO] [stdout] 256 | if let Some(header) = first_decode.initial_header() { [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/endpoint.rs:295:9 [INFO] [stdout] | [INFO] [stdout] 295 | } else if first_decode.has_long_header() { [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 first_decode.initial_header() { Some(header) => { [INFO] [stdout] 257 | if datagram_len < MIN_INITIAL_SIZE as usize { [INFO] [stdout] ... [INFO] [stdout] 294 | }; [INFO] [stdout] 295 ~ } _ => if first_decode.has_long_header() { [INFO] [stdout] 296 | debug!( [INFO] [stdout] ... [INFO] [stdout] 300 | return None; [INFO] [stdout] 301 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 44 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 16.24s [INFO] [stderr] Running `cargo check` to verify 2024 [INFO] [stderr] Checking iroh-quinn-proto v0.11.6 (/tmp/fixit) [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/connection/mod.rs:2955:44 [INFO] [stdout] | [INFO] [stdout] 2955 | new_path.challenge = Some(self.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] 2955 | new_path.challenge = Some(self.rng.r#gen()); [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/connection/mod.rs:2962:44 [INFO] [stdout] | [INFO] [stdout] 2962 | prev.challenge = Some(self.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] 2962 | prev.challenge = Some(self.rng.r#gen()); [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/connection/packet_builder.rs:104:30 [INFO] [stdout] | [INFO] [stdout] 104 | conn.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] 104 | conn.rng.r#gen() [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/connection/packet_builder.rs:131:57 [INFO] [stdout] | [INFO] [stdout] 131 | if conn.peer_params.grease_quic_bit && conn.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] 131 | if conn.peer_params.grease_quic_bit && conn.rng.r#gen() { [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/connection/mod.rs:2955:44 [INFO] [stdout] | [INFO] [stdout] 2955 | new_path.challenge = Some(self.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] 2955 | new_path.challenge = Some(self.rng.r#gen()); [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/connection/mod.rs:2962:44 [INFO] [stdout] | [INFO] [stdout] 2962 | prev.challenge = Some(self.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] 2962 | prev.challenge = Some(self.rng.r#gen()); [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/connection/packet_builder.rs:104:30 [INFO] [stdout] | [INFO] [stdout] 104 | conn.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] 104 | conn.rng.r#gen() [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/connection/packet_builder.rs:131:57 [INFO] [stdout] | [INFO] [stdout] 131 | if conn.peer_params.grease_quic_bit && conn.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] 131 | if conn.peer_params.grease_quic_bit && conn.rng.r#gen() { [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/endpoint.rs:170:38 [INFO] [stdout] | [INFO] [stdout] 170 | random: self.rng.gen::() | 0x40, [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 170 | random: self.rng.r#gen::() | 0x40, [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/endpoint.rs:170:38 [INFO] [stdout] | [INFO] [stdout] 170 | random: self.rng.gen::() | 0x40, [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 170 | random: self.rng.r#gen::() | 0x40, [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/cid_generator.rs:107:43 [INFO] [stdout] | [INFO] [stdout] 107 | Self::from_key(rand::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] 107 | Self::from_key(rand::thread_rng().r#gen()) [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/cid_generator.rs:107:43 [INFO] [stdout] | [INFO] [stdout] 107 | Self::from_key(rand::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] 107 | Self::from_key(rand::thread_rng().r#gen()) [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 6 previous errors [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `iroh-quinn-proto` (lib) due to 7 previous errors [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stdout] error: aborting due to 6 previous errors [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `iroh-quinn-proto` (lib test) due to 7 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" "26b3be6dccacce0d74fb5e36200cd47bc25679383b7db863abd3e18f0dacd8bd", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "26b3be6dccacce0d74fb5e36200cd47bc25679383b7db863abd3e18f0dacd8bd", kill_on_drop: false }` [INFO] [stdout] 26b3be6dccacce0d74fb5e36200cd47bc25679383b7db863abd3e18f0dacd8bd