[INFO] fetching crate fred 9.2.1... [INFO] checking fred-9.2.1 against try#ccf408f4326a858c00dd845a64a86b16f360a801 for pr-129466-2 [INFO] extracting crate fred 9.2.1 into /workspace/builds/worker-3-tc2/source [INFO] validating manifest of crates.io crate fred 9.2.1 on toolchain ccf408f4326a858c00dd845a64a86b16f360a801 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+ccf408f4326a858c00dd845a64a86b16f360a801" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking crates.io crate fred 9.2.1 [INFO] removed 0 missing examples [INFO] finished tweaking crates.io crate fred 9.2.1 [INFO] tweaked toml for crates.io crate fred 9.2.1 written to /workspace/builds/worker-3-tc2/source/Cargo.toml [INFO] crate crates.io crate fred 9.2.1 already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+ccf408f4326a858c00dd845a64a86b16f360a801" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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] bc2ff1d6813d4ff82ad88e7e4e8497b969930a617ed6484ac21186f10482cf5b [INFO] running `Command { std: "docker" "start" "-a" "bc2ff1d6813d4ff82ad88e7e4e8497b969930a617ed6484ac21186f10482cf5b", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "bc2ff1d6813d4ff82ad88e7e4e8497b969930a617ed6484ac21186f10482cf5b", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "bc2ff1d6813d4ff82ad88e7e4e8497b969930a617ed6484ac21186f10482cf5b", kill_on_drop: false }` [INFO] [stdout] bc2ff1d6813d4ff82ad88e7e4e8497b969930a617ed6484ac21186f10482cf5b [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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] eb9e75e2c57e450a309d8df243ebc661853b265a2c3806b2bdb5f938935522ec [INFO] running `Command { std: "docker" "start" "-a" "eb9e75e2c57e450a309d8df243ebc661853b265a2c3806b2bdb5f938935522ec", 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 (20 fixes) [INFO] [stderr] Compiling libc v0.2.158 [INFO] [stderr] Checking memchr v2.7.4 [INFO] [stderr] Checking bytes v1.7.1 [INFO] [stderr] Checking itoa v1.0.11 [INFO] [stderr] Compiling rustversion v1.0.17 [INFO] [stderr] Compiling proc-macro2 v1.0.86 [INFO] [stderr] Compiling slab v0.4.9 [INFO] [stderr] Compiling serde v1.0.209 [INFO] [stderr] Checking smallvec v1.13.2 [INFO] [stderr] Compiling httparse v1.9.4 [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Compiling crc16 v0.4.0 [INFO] [stderr] Checking regex-syntax v0.8.4 [INFO] [stderr] Compiling crossbeam-utils v0.8.20 [INFO] [stderr] Checking unicode-normalization v0.1.23 [INFO] [stderr] Checking tracing v0.1.40 [INFO] [stderr] Checking unicode-bidi v0.3.15 [INFO] [stderr] Checking tower-layer v0.3.3 [INFO] [stderr] Checking minimal-lexical v0.2.1 [INFO] [stderr] Checking ryu v1.0.18 [INFO] [stderr] Checking tower-service v0.3.3 [INFO] [stderr] Compiling serde_json v1.0.127 [INFO] [stderr] Compiling semver v1.0.23 [INFO] [stderr] Checking http v1.1.0 [INFO] [stderr] Checking bytes-utils v0.1.4 [INFO] [stderr] Checking humantime v2.1.0 [INFO] [stderr] Checking idna v0.5.0 [INFO] [stderr] Checking sync_wrapper v0.1.2 [INFO] [stderr] Compiling quote v1.0.37 [INFO] [stderr] Checking cookie-factory v0.3.2 [INFO] [stderr] Checking termcolor v1.4.1 [INFO] [stderr] Checking sync_wrapper v1.0.1 [INFO] [stderr] Checking matchit v0.7.3 [INFO] [stderr] Checking urlencoding v2.1.3 [INFO] [stderr] Compiling syn v2.0.77 [INFO] [stderr] Checking aho-corasick v1.1.3 [INFO] [stderr] Checking nom v7.1.3 [INFO] [stderr] Checking base64 v0.22.1 [INFO] [stderr] Checking crossbeam-queue v0.3.11 [INFO] [stderr] Checking maplit v1.0.2 [INFO] [stderr] Checking url v2.5.2 [INFO] [stderr] Compiling axum-core v0.4.3 [INFO] [stderr] Compiling axum v0.7.5 [INFO] [stderr] Checking float-cmp v0.9.0 [INFO] [stderr] Checking http-body v1.0.1 [INFO] [stderr] Checking socket2 v0.5.7 [INFO] [stderr] Checking mio v1.0.2 [INFO] [stderr] Checking getrandom v0.2.15 [INFO] [stderr] Checking parking_lot_core v0.9.10 [INFO] [stderr] Checking is-terminal v0.4.13 [INFO] [stderr] Checking subprocess v0.2.9 [INFO] [stderr] Checking rand_core v0.6.4 [INFO] [stderr] Checking parking_lot v0.12.3 [INFO] [stderr] Checking regex-automata v0.4.7 [INFO] [stderr] Checking redis-protocol v5.0.1 [INFO] [stderr] Checking regex v1.10.6 [INFO] [stderr] Checking env_logger v0.10.2 [INFO] [stderr] Checking pretty_env_logger v0.5.0 [INFO] [stderr] Compiling futures-macro v0.3.30 [INFO] [stderr] Compiling tokio-macros v2.4.0 [INFO] [stderr] Compiling zerocopy-derive v0.7.35 [INFO] [stderr] Compiling serde_derive v1.0.209 [INFO] [stderr] Compiling pin-project-internal v1.1.5 [INFO] [stderr] Compiling async-trait v0.1.82 [INFO] [stderr] Compiling fred-macros v0.1.0 [INFO] [stderr] Compiling axum-macros v0.4.1 [INFO] [stderr] Checking tokio v1.40.0 [INFO] [stderr] Checking futures-util v0.3.30 [INFO] [stderr] Checking pin-project v1.1.5 [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 tokio-util v0.7.11 [INFO] [stderr] Checking hyper v1.4.1 [INFO] [stderr] Checking futures-executor v0.3.30 [INFO] [stderr] Checking http-body-util v0.1.2 [INFO] [stderr] Checking tower v0.4.13 [INFO] [stderr] Checking tokio-stream v0.1.15 [INFO] [stderr] Checking futures v0.3.30 [INFO] [stderr] Checking fred v9.2.1 (/tmp/fixit) [INFO] [stderr] Migrating src/lib.rs from 2021 edition to 2024 [INFO] [stderr] Checking hyper-util v0.1.7 [INFO] [stderr] Checking serde_urlencoded v0.7.1 [INFO] [stderr] Checking serde_path_to_error v0.1.16 [INFO] [stderr] warning: failed to automatically apply fixes suggested by rustc to crate `fred` [INFO] [stderr] [INFO] [stderr] after fixes were automatically applied the compiler reported errors within these files: [INFO] [stderr] [INFO] [stderr] * src/macros.rs [INFO] [stderr] * src/modules/response.rs [INFO] [stderr] * src/router/sentinel.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/macros.rs:59:6 [INFO] [stderr] | [INFO] [stderr] 59 | ($lvl:expr_2021, $($args:tt)*) => {{ [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/macros.rs:80:4 [INFO] [stderr] | [INFO] [stderr] 80 | ($expr: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/macros.rs:113:4 [INFO] [stderr] | [INFO] [stderr] 113 | ($name: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/macros.rs:116:4 [INFO] [stderr] | [INFO] [stderr] 116 | ($name:expr_2021, blocking: $blk: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/macros.rs:116:31 [INFO] [stderr] | [INFO] [stderr] 116 | ($name:expr_2021, blocking: $blk: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/macros.rs:119:4 [INFO] [stderr] | [INFO] [stderr] 119 | ($name:expr_2021, hash: $hash: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/macros.rs:119:27 [INFO] [stderr] | [INFO] [stderr] 119 | ($name:expr_2021, hash: $hash: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/macros.rs:122:4 [INFO] [stderr] | [INFO] [stderr] 122 | ($name:expr_2021, hash: $hash:expr_2021, blocking: $blk: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/macros.rs:122:27 [INFO] [stderr] | [INFO] [stderr] 122 | ($name:expr_2021, hash: $hash:expr_2021, blocking: $blk: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/macros.rs:122:54 [INFO] [stderr] | [INFO] [stderr] 122 | ($name:expr_2021, hash: $hash:expr_2021, blocking: $blk: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/macros.rs:128:4 [INFO] [stderr] | [INFO] [stderr] 128 | ($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/modules/response.rs:35:4 [INFO] [stderr] | [INFO] [stderr] 35 | ($v:expr_2021) => { [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/macros.rs:59:11 [INFO] [stdout] | [INFO] [stdout] 59 | ($lvl:expr, $($args:tt)*) => {{ [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] 59 | ($lvl:expr_2021, $($args:tt)*) => {{ [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/macros.rs:80:10 [INFO] [stdout] | [INFO] [stdout] 80 | ($expr: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] 80 | ($expr:expr_2021) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] --> src/modules/response.rs:40:11 [INFO] [stderr] | [INFO] [stderr] 40 | ($t:ty, $v: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/modules/response.rs:48:11 [INFO] [stderr] | [INFO] [stderr] 48 | ($t:ty, $v:expr_2021) => { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/macros.rs:113:10 [INFO] [stdout] | [INFO] [stdout] 113 | ($name: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] 113 | ($name:expr_2021) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/macros.rs:116:10 [INFO] [stdout] | [INFO] [stdout] 116 | ($name:expr, blocking: $blk: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] 116 | ($name:expr_2021, blocking: $blk:expr) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [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/macros.rs:116:31 [INFO] [stdout] | [INFO] [stdout] 116 | ($name:expr, blocking: $blk: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] 116 | ($name:expr, blocking: $blk:expr_2021) => { [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] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/modules/response.rs:76:11 [INFO] [stderr] | [INFO] [stderr] 76 | ($t:ty, $v: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] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/macros.rs:119:10 [INFO] [stdout] | [INFO] [stdout] 119 | ($name:expr, hash: $hash: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] 119 | ($name:expr_2021, hash: $hash:expr) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/router/sentinel.rs:37:4 [INFO] [stderr] | [INFO] [stderr] 37 | ($expr: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 16 previous errors [INFO] [stderr] [INFO] [stderr] For more information about this error, try `rustc --explain E0658`. [INFO] [stderr] Original diagnostics will follow. [INFO] [stderr] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/macros.rs:119:28 [INFO] [stdout] | [INFO] [stdout] 119 | ($name:expr, hash: $hash: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] 119 | ($name:expr, hash: $hash: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/macros.rs:122:10 [INFO] [stdout] | [INFO] [stdout] 122 | ($name:expr, hash: $hash:expr, blocking: $blk: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] 122 | ($name:expr_2021, hash: $hash:expr, blocking: $blk: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/macros.rs:122:28 [INFO] [stdout] | [INFO] [stdout] 122 | ($name:expr, hash: $hash:expr, blocking: $blk: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] 122 | ($name:expr, hash: $hash:expr_2021, blocking: $blk: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/macros.rs:122:49 [INFO] [stdout] | [INFO] [stdout] 122 | ($name:expr, hash: $hash:expr, blocking: $blk: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] 122 | ($name:expr, hash: $hash:expr, blocking: $blk: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/macros.rs:128:9 [INFO] [stdout] | [INFO] [stdout] 128 | ($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] 128 | ($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/modules/response.rs:35:7 [INFO] [stdout] | [INFO] [stdout] 35 | ($v: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] 35 | ($v: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/modules/response.rs:40:14 [INFO] [stdout] | [INFO] [stdout] 40 | ($t:ty, $v: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] 40 | ($t:ty, $v: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/modules/response.rs:48:14 [INFO] [stdout] | [INFO] [stdout] 48 | ($t:ty, $v: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] 48 | ($t:ty, $v: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/modules/response.rs:76:14 [INFO] [stdout] | [INFO] [stdout] 76 | ($t:ty, $v: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] 76 | ($t:ty, $v: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/router/sentinel.rs:37:10 [INFO] [stdout] | [INFO] [stdout] 37 | ($expr: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] 37 | ($expr:expr_2021) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `impl Stream>` will capture more lifetimes than possibly intended in edition 2024 [INFO] [stdout] --> src/commands/impls/scan.rs:43:6 [INFO] [stdout] | [INFO] [stdout] 43 | ) -> impl Stream> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see [INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds [INFO] [stdout] --> src/commands/impls/scan.rs:39:10 [INFO] [stdout] | [INFO] [stdout] 39 | inner: &RefCount, [INFO] [stdout] | ^ [INFO] [stdout] = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024 [INFO] [stdout] = note: `--force-warn impl-trait-overcaptures` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit [INFO] [stdout] | [INFO] [stdout] 43 | ) -> impl Stream> + use<> { [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/commands/impls/scan.rs:82:8 [INFO] [stdout] | [INFO] [stdout] 82 | if let Err(e) = interfaces::default_send_command(inner, command) { [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/commands/impls/scan.rs:85:5 [INFO] [stdout] | [INFO] [stdout] 85 | } [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] 82 ~ match interfaces::default_send_command(inner, command) { Err(e) => { [INFO] [stdout] 83 | let _ = tx.send(Err(e)); [INFO] [stdout] 84 | break; [INFO] [stdout] 85 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `impl Stream>` will capture more lifetimes than possibly intended in edition 2024 [INFO] [stdout] --> src/commands/impls/scan.rs:97:6 [INFO] [stdout] | [INFO] [stdout] 97 | ) -> impl Stream> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see [INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds [INFO] [stdout] --> src/commands/impls/scan.rs:92:10 [INFO] [stdout] | [INFO] [stdout] 92 | inner: &RefCount, [INFO] [stdout] | ^ [INFO] [stdout] = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024 [INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit [INFO] [stdout] | [INFO] [stdout] 97 | ) -> impl Stream> + use<> { [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `impl Stream>` will capture more lifetimes than possibly intended in edition 2024 [INFO] [stdout] --> src/commands/impls/scan.rs:147:6 [INFO] [stdout] | [INFO] [stdout] 147 | ) -> impl Stream> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see [INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds [INFO] [stdout] --> src/commands/impls/scan.rs:143:10 [INFO] [stdout] | [INFO] [stdout] 143 | inner: &RefCount, [INFO] [stdout] | ^ [INFO] [stdout] = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024 [INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit [INFO] [stdout] | [INFO] [stdout] 147 | ) -> impl Stream> + use<> { [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `impl Stream>` will capture more lifetimes than possibly intended in edition 2024 [INFO] [stdout] --> src/commands/impls/scan.rs:177:6 [INFO] [stdout] | [INFO] [stdout] 177 | ) -> impl Stream> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see [INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds [INFO] [stdout] --> src/commands/impls/scan.rs:173:10 [INFO] [stdout] | [INFO] [stdout] 173 | inner: &RefCount, [INFO] [stdout] | ^ [INFO] [stdout] = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024 [INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit [INFO] [stdout] | [INFO] [stdout] 177 | ) -> impl Stream> + use<> { [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `impl Stream>` will capture more lifetimes than possibly intended in edition 2024 [INFO] [stdout] --> src/commands/impls/scan.rs:207:6 [INFO] [stdout] | [INFO] [stdout] 207 | ) -> impl Stream> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see [INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds [INFO] [stdout] --> src/commands/impls/scan.rs:203:10 [INFO] [stdout] | [INFO] [stdout] 203 | inner: &RefCount, [INFO] [stdout] | ^ [INFO] [stdout] = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024 [INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit [INFO] [stdout] | [INFO] [stdout] 207 | ) -> impl Stream> + use<> { [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/commands/impls/server.rs:177:21 [INFO] [stdout] | [INFO] [stdout] 177 | let mut args = if let Some((username, password)) = auth { [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/commands/impls/server.rs:179:3 [INFO] [stdout] | [INFO] [stdout] 179 | } 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] 177 ~ let mut args = match auth { Some((username, password)) => { [INFO] [stdout] 178 | vec![username.into(), password.into()] [INFO] [stdout] 179 ~ } _ => { [INFO] [stdout] 180 | vec![] [INFO] [stdout] 181 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/commands/impls/streams.rs:26:6 [INFO] [stdout] | [INFO] [stdout] 26 | if let Some((kind, trim, threshold, limit)) = cap.into_parts() { [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/commands/impls/streams.rs:34:3 [INFO] [stdout] | [INFO] [stdout] 34 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 26 ~ match cap.into_parts() { Some((kind, trim, threshold, limit)) => { [INFO] [stdout] 27 | args.push(kind.to_str().into()); [INFO] [stdout] ... [INFO] [stdout] 33 | } [INFO] [stdout] 34 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/commands/impls/streams.rs:505:10 [INFO] [stdout] | [INFO] [stdout] 505 | if let Some(consumer) = consumer { [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/commands/impls/streams.rs:507:7 [INFO] [stdout] | [INFO] [stdout] 507 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 505 ~ match consumer { Some(consumer) => { [INFO] [stdout] 506 | args.push(consumer.into()); [INFO] [stdout] 507 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/modules/backchannel.rs:159:8 [INFO] [stdout] | [INFO] [stdout] 159 | if let Some(ref mut transport) = self.transport { [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/modules/backchannel.rs:173:5 [INFO] [stdout] | [INFO] [stdout] 173 | } 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] 159 ~ match self.transport { Some(ref mut transport) => { [INFO] [stdout] 160 | _debug!( [INFO] [stdout] ... [INFO] [stdout] 172 | .await [INFO] [stdout] 173 ~ } _ => { [INFO] [stdout] 174 | Err(RedisError::new( [INFO] [stdout] ... [INFO] [stdout] 177 | )) [INFO] [stdout] 178 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/modules/backchannel.rs:197:10 [INFO] [stdout] | [INFO] [stdout] 197 | if let Some(server) = self.blocked.as_ref() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^------------^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/modules/backchannel.rs:199:7 [INFO] [stdout] | [INFO] [stdout] 199 | } 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] 197 ~ match self.blocked.as_ref() { Some(server) => { [INFO] [stdout] 198 | Ok(server.clone()) [INFO] [stdout] 199 ~ } _ => { [INFO] [stdout] 200 | // should this be more relaxed? [INFO] [stdout] 201 | Err(RedisError::new(RedisErrorKind::Unknown, "No connections are blocked.")) [INFO] [stdout] 202 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/modules/inner.rs:299:8 [INFO] [stdout] | [INFO] [stdout] 299 | if let ServerKind::Cluster { ref mut cache, .. } = *self { [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/modules/inner.rs:301:5 [INFO] [stdout] | [INFO] [stdout] 301 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 299 ~ match *self { ServerKind::Cluster { ref mut cache, .. } => { [INFO] [stdout] 300 | *cache = state; [INFO] [stdout] 301 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/modules/inner.rs:305:8 [INFO] [stdout] | [INFO] [stdout] 305 | if let ServerKind::Cluster { ref cache, .. } = *self { [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/modules/inner.rs:310:5 [INFO] [stdout] | [INFO] [stdout] 310 | } 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] 305 ~ match *self { ServerKind::Cluster { ref cache, .. } => { [INFO] [stdout] 306 | cache [INFO] [stdout] ... [INFO] [stdout] 309 | .unwrap_or(1) [INFO] [stdout] 310 ~ } _ => { [INFO] [stdout] 311 | 1 [INFO] [stdout] 312 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/modules/inner.rs:319:8 [INFO] [stdout] | [INFO] [stdout] 319 | if let ServerKind::Cluster { ref cache, .. } = *self { [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/modules/inner.rs:328:5 [INFO] [stdout] | [INFO] [stdout] 328 | } 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] 319 ~ match *self { ServerKind::Cluster { ref cache, .. } => { [INFO] [stdout] 320 | if let Some(state) = cache.as_ref() { [INFO] [stdout] ... [INFO] [stdout] 327 | } [INFO] [stdout] 328 ~ } _ => { [INFO] [stdout] 329 | Err(RedisError::new( [INFO] [stdout] ... [INFO] [stdout] 332 | )) [INFO] [stdout] 333 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/modules/inner.rs:337:8 [INFO] [stdout] | [INFO] [stdout] 337 | if let ServerKind::Sentinel { ref mut primary, .. } = *self { [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/modules/inner.rs:339:5 [INFO] [stdout] | [INFO] [stdout] 339 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 337 ~ match *self { ServerKind::Sentinel { ref mut primary, .. } => { [INFO] [stdout] 338 | *primary = Some(server.clone()); [INFO] [stdout] 339 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/modules/inner.rs:343:8 [INFO] [stdout] | [INFO] [stdout] 343 | if let ServerKind::Sentinel { ref primary, .. } = *self { [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/modules/inner.rs:345:5 [INFO] [stdout] | [INFO] [stdout] 345 | } 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] 343 ~ match *self { ServerKind::Sentinel { ref primary, .. } => { [INFO] [stdout] 344 | primary.clone() [INFO] [stdout] 345 ~ } _ => { [INFO] [stdout] 346 | None [INFO] [stdout] 347 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/modules/inner.rs:351:8 [INFO] [stdout] | [INFO] [stdout] 351 | if let ServerKind::Sentinel { [INFO] [stdout] | ________^ [INFO] [stdout] 352 | | ref mut sentinels, [INFO] [stdout] 353 | | ref mut primary, [INFO] [stdout] 354 | | .. [INFO] [stdout] 355 | | } = *self [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/modules/inner.rs:359:5 [INFO] [stdout] | [INFO] [stdout] 359 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 351 ~ match *self [INFO] [stdout] 352 ~ { ServerKind::Sentinel { [INFO] [stdout] 353 + ref mut sentinels, [INFO] [stdout] 354 + ref mut primary, [INFO] [stdout] 355 + .. [INFO] [stdout] 356 ~ } => { [INFO] [stdout] 357 | *primary = Some(server.clone()); [INFO] [stdout] 358 | *sentinels = nodes; [INFO] [stdout] 359 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/modules/inner.rs:363:8 [INFO] [stdout] | [INFO] [stdout] 363 | if let ServerKind::Sentinel { ref sentinels, .. } = *self { [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/modules/inner.rs:372:5 [INFO] [stdout] | [INFO] [stdout] 372 | } 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] 363 ~ match *self { ServerKind::Sentinel { ref sentinels, .. } => { [INFO] [stdout] 364 | if sentinels.is_empty() { [INFO] [stdout] ... [INFO] [stdout] 371 | } [INFO] [stdout] 372 ~ } _ => { [INFO] [stdout] 373 | None [INFO] [stdout] 374 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/modules/inner.rs:749:8 [INFO] [stdout] | [INFO] [stdout] 749 | if let Err(_) = interfaces::send_to_router(self, cmd) { [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/modules/inner.rs:751:5 [INFO] [stdout] | [INFO] [stdout] 751 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 749 ~ match interfaces::send_to_router(self, cmd) { Err(_) => { [INFO] [stdout] 750 | warn!("{}: Error sending reconnect command to router.", self.id); [INFO] [stdout] 751 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/modules/inner.rs:773:8 [INFO] [stdout] | [INFO] [stdout] 773 | if let Some(policy) = self.policy.write().deref_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/modules/inner.rs:775:5 [INFO] [stdout] | [INFO] [stdout] 775 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 773 ~ match self.policy.write().deref_mut() { Some(policy) => { [INFO] [stdout] 774 | policy.reset_attempts(); [INFO] [stdout] 775 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/modules/response.rs:295:8 [INFO] [stdout] | [INFO] [stdout] 295 | if let Some(val) = value.as_bool() { [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/modules/response.rs:297:5 [INFO] [stdout] | [INFO] [stdout] 297 | } 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] 295 ~ match value.as_bool() { Some(val) => { [INFO] [stdout] 296 | Ok(val) [INFO] [stdout] 297 ~ } _ => { [INFO] [stdout] 298 | // it's not obvious how to convert the value to a bool in this block, so we go with a [INFO] [stdout] ... [INFO] [stdout] 305 | }) [INFO] [stdout] 306 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/modules/response.rs:317:8 [INFO] [stdout] | [INFO] [stdout] 317 | if let Some(0) = value.array_len() { [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/modules/response.rs:319:5 [INFO] [stdout] | [INFO] [stdout] 319 | } else if value.is_null() { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 317 ~ match value.array_len() { Some(0) => { [INFO] [stdout] 318 | Ok(None) [INFO] [stdout] 319 ~ } _ => if value.is_null() { [INFO] [stdout] 320 | Ok(None) [INFO] [stdout] 321 | } else { [INFO] [stdout] 322 | Ok(Some(T::from_value(value)?)) [INFO] [stdout] 323 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/modules/response.rs:360:14 [INFO] [stdout] | [INFO] [stdout] 360 | if let RedisValue::Array(_) = &values[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/modules/response.rs:362:11 [INFO] [stdout] | [INFO] [stdout] 362 | } 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] 360 ~ match &values[0] { RedisValue::Array(_) => { [INFO] [stdout] 361 | values.into_iter().map(|x| T::from_value(x)).collect() [INFO] [stdout] 362 ~ } _ => { [INFO] [stdout] 363 | T::from_values(values) [INFO] [stdout] 364 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/modules/response.rs:500:12 [INFO] [stdout] | [INFO] [stdout] 500 | if let RedisValue::Array(mut values) = v { [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] 549 | impl_from_redis_tuple! { T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, } [INFO] [stdout] | ----------------------------------------------------------------------------- in this macro invocation [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/modules/response.rs:515:9 [INFO] [stdout] | [INFO] [stdout] 515 | }else{ [INFO] [stdout] | ^ [INFO] [stdout] ... [INFO] [stdout] 549 | impl_from_redis_tuple! { T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, } [INFO] [stdout] | ----------------------------------------------------------------------------- in this macro invocation [INFO] [stdout] = note: this warning originates in the macro `impl_from_redis_tuple` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/modules/response.rs:500:12 [INFO] [stdout] | [INFO] [stdout] 500 | if let RedisValue::Array(mut values) = v { [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] 549 | impl_from_redis_tuple! { T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, } [INFO] [stdout] | ----------------------------------------------------------------------------- in this macro invocation [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/modules/response.rs:515:9 [INFO] [stdout] | [INFO] [stdout] 515 | }else{ [INFO] [stdout] | ^ [INFO] [stdout] ... [INFO] [stdout] 549 | impl_from_redis_tuple! { T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, } [INFO] [stdout] | ----------------------------------------------------------------------------- in this macro invocation [INFO] [stdout] = note: this warning originates in the macro `impl_from_redis_tuple` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/modules/response.rs:500:12 [INFO] [stdout] | [INFO] [stdout] 500 | if let RedisValue::Array(mut values) = v { [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] 549 | impl_from_redis_tuple! { T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, } [INFO] [stdout] | ----------------------------------------------------------------------------- in this macro invocation [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/modules/response.rs:515:9 [INFO] [stdout] | [INFO] [stdout] 515 | }else{ [INFO] [stdout] | ^ [INFO] [stdout] ... [INFO] [stdout] 549 | impl_from_redis_tuple! { T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, } [INFO] [stdout] | ----------------------------------------------------------------------------- in this macro invocation [INFO] [stdout] = note: this warning originates in the macro `impl_from_redis_tuple` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/modules/response.rs:500:12 [INFO] [stdout] | [INFO] [stdout] 500 | if let RedisValue::Array(mut values) = v { [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] 549 | impl_from_redis_tuple! { T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, } [INFO] [stdout] | ----------------------------------------------------------------------------- in this macro invocation [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/modules/response.rs:515:9 [INFO] [stdout] | [INFO] [stdout] 515 | }else{ [INFO] [stdout] | ^ [INFO] [stdout] ... [INFO] [stdout] 549 | impl_from_redis_tuple! { T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, } [INFO] [stdout] | ----------------------------------------------------------------------------- in this macro invocation [INFO] [stdout] = note: this warning originates in the macro `impl_from_redis_tuple` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/modules/response.rs:500:12 [INFO] [stdout] | [INFO] [stdout] 500 | if let RedisValue::Array(mut values) = v { [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] 549 | impl_from_redis_tuple! { T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, } [INFO] [stdout] | ----------------------------------------------------------------------------- in this macro invocation [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/modules/response.rs:515:9 [INFO] [stdout] | [INFO] [stdout] 515 | }else{ [INFO] [stdout] | ^ [INFO] [stdout] ... [INFO] [stdout] 549 | impl_from_redis_tuple! { T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, } [INFO] [stdout] | ----------------------------------------------------------------------------- in this macro invocation [INFO] [stdout] = note: this warning originates in the macro `impl_from_redis_tuple` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/modules/response.rs:500:12 [INFO] [stdout] | [INFO] [stdout] 500 | if let RedisValue::Array(mut values) = v { [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] 549 | impl_from_redis_tuple! { T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, } [INFO] [stdout] | ----------------------------------------------------------------------------- in this macro invocation [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/modules/response.rs:515:9 [INFO] [stdout] | [INFO] [stdout] 515 | }else{ [INFO] [stdout] | ^ [INFO] [stdout] ... [INFO] [stdout] 549 | impl_from_redis_tuple! { T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, } [INFO] [stdout] | ----------------------------------------------------------------------------- in this macro invocation [INFO] [stdout] = note: this warning originates in the macro `impl_from_redis_tuple` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/modules/response.rs:500:12 [INFO] [stdout] | [INFO] [stdout] 500 | if let RedisValue::Array(mut values) = v { [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] 549 | impl_from_redis_tuple! { T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, } [INFO] [stdout] | ----------------------------------------------------------------------------- in this macro invocation [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/modules/response.rs:515:9 [INFO] [stdout] | [INFO] [stdout] 515 | }else{ [INFO] [stdout] | ^ [INFO] [stdout] ... [INFO] [stdout] 549 | impl_from_redis_tuple! { T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, } [INFO] [stdout] | ----------------------------------------------------------------------------- in this macro invocation [INFO] [stdout] = note: this warning originates in the macro `impl_from_redis_tuple` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/modules/response.rs:500:12 [INFO] [stdout] | [INFO] [stdout] 500 | if let RedisValue::Array(mut values) = v { [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] 549 | impl_from_redis_tuple! { T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, } [INFO] [stdout] | ----------------------------------------------------------------------------- in this macro invocation [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/modules/response.rs:515:9 [INFO] [stdout] | [INFO] [stdout] 515 | }else{ [INFO] [stdout] | ^ [INFO] [stdout] ... [INFO] [stdout] 549 | impl_from_redis_tuple! { T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, } [INFO] [stdout] | ----------------------------------------------------------------------------- in this macro invocation [INFO] [stdout] = note: this warning originates in the macro `impl_from_redis_tuple` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/modules/response.rs:500:12 [INFO] [stdout] | [INFO] [stdout] 500 | if let RedisValue::Array(mut values) = v { [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] 549 | impl_from_redis_tuple! { T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, } [INFO] [stdout] | ----------------------------------------------------------------------------- in this macro invocation [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/modules/response.rs:515:9 [INFO] [stdout] | [INFO] [stdout] 515 | }else{ [INFO] [stdout] | ^ [INFO] [stdout] ... [INFO] [stdout] 549 | impl_from_redis_tuple! { T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, } [INFO] [stdout] | ----------------------------------------------------------------------------- in this macro invocation [INFO] [stdout] = note: this warning originates in the macro `impl_from_redis_tuple` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/modules/response.rs:500:12 [INFO] [stdout] | [INFO] [stdout] 500 | if let RedisValue::Array(mut values) = v { [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] 549 | impl_from_redis_tuple! { T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, } [INFO] [stdout] | ----------------------------------------------------------------------------- in this macro invocation [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/modules/response.rs:515:9 [INFO] [stdout] | [INFO] [stdout] 515 | }else{ [INFO] [stdout] | ^ [INFO] [stdout] ... [INFO] [stdout] 549 | impl_from_redis_tuple! { T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, } [INFO] [stdout] | ----------------------------------------------------------------------------- in this macro invocation [INFO] [stdout] = note: this warning originates in the macro `impl_from_redis_tuple` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/modules/response.rs:500:12 [INFO] [stdout] | [INFO] [stdout] 500 | if let RedisValue::Array(mut values) = v { [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] 549 | impl_from_redis_tuple! { T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, } [INFO] [stdout] | ----------------------------------------------------------------------------- in this macro invocation [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/modules/response.rs:515:9 [INFO] [stdout] | [INFO] [stdout] 515 | }else{ [INFO] [stdout] | ^ [INFO] [stdout] ... [INFO] [stdout] 549 | impl_from_redis_tuple! { T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, } [INFO] [stdout] | ----------------------------------------------------------------------------- in this macro invocation [INFO] [stdout] = note: this warning originates in the macro `impl_from_redis_tuple` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/modules/response.rs:500:12 [INFO] [stdout] | [INFO] [stdout] 500 | if let RedisValue::Array(mut values) = v { [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] 549 | impl_from_redis_tuple! { T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, } [INFO] [stdout] | ----------------------------------------------------------------------------- in this macro invocation [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/modules/response.rs:515:9 [INFO] [stdout] | [INFO] [stdout] 515 | }else{ [INFO] [stdout] | ^ [INFO] [stdout] ... [INFO] [stdout] 549 | impl_from_redis_tuple! { T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, } [INFO] [stdout] | ----------------------------------------------------------------------------- in this macro invocation [INFO] [stdout] = note: this warning originates in the macro `impl_from_redis_tuple` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/protocol/codec.rs:83:6 [INFO] [stdout] | [INFO] [stdout] 83 | if let Some((frame, amt, _)) = resp2_decode(src)? { [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/protocol/codec.rs:89:3 [INFO] [stdout] | [INFO] [stdout] 89 | } 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] 83 ~ match resp2_decode(src)? { Some((frame, amt, _)) => { [INFO] [stdout] 84 | trace!("{}: Parsed {} bytes from {}", codec.name, amt, codec.server); [INFO] [stdout] ... [INFO] [stdout] 88 | Ok(Some(protocol_utils::check_resp2_auth_error(codec, frame))) [INFO] [stdout] 89 ~ } _ => { [INFO] [stdout] 90 | Ok(None) [INFO] [stdout] 91 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/protocol/codec.rs:124:6 [INFO] [stdout] | [INFO] [stdout] 124 | if let Some((frame, amt, _)) = resp3_decode(src)? { [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/protocol/codec.rs:167:3 [INFO] [stdout] | [INFO] [stdout] 167 | } 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] 124 ~ match resp3_decode(src)? { Some((frame, amt, _)) => { [INFO] [stdout] 125 | sample_stats(codec, true, amt as i64); [INFO] [stdout] ... [INFO] [stdout] 166 | Ok(result) [INFO] [stdout] 167 ~ } _ => { [INFO] [stdout] 168 | Ok(None) [INFO] [stdout] 169 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/protocol/codec.rs:134:21 [INFO] [stdout] | [INFO] [stdout] 134 | let result = if let Some(ref mut streamed_frame) = codec.streaming_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/protocol/codec.rs:148:5 [INFO] [stdout] | [INFO] [stdout] 148 | } 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] 134 ~ let result = match codec.streaming_state { Some(ref mut streamed_frame) => { [INFO] [stdout] 135 | // we started receiving streamed data earlier [INFO] [stdout] ... [INFO] [stdout] 147 | } [INFO] [stdout] 148 ~ } _ => { [INFO] [stdout] 149 | // we're processing a complete frame or starting a new streamed frame [INFO] [stdout] ... [INFO] [stdout] 160 | } [INFO] [stdout] 161 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/protocol/command.rs:1904:8 [INFO] [stdout] | [INFO] [stdout] 1904 | if let Some(mut tx) = self.router_tx.lock().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/protocol/command.rs:1908:5 [INFO] [stdout] | [INFO] [stdout] 1908 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1904 ~ match self.router_tx.lock().take() { Some(mut tx) => { [INFO] [stdout] 1905 | if tx.send(cmd).is_err() { [INFO] [stdout] 1906 | _debug!(inner, "Failed to unblock router loop."); [INFO] [stdout] 1907 | } [INFO] [stdout] 1908 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/protocol/command.rs:2005:8 [INFO] [stdout] | [INFO] [stdout] 2005 | if let Some(mut tx) = self.take_responder() { [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/protocol/command.rs:2007:5 [INFO] [stdout] | [INFO] [stdout] 2007 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 2005 ~ match self.take_responder() { Some(mut tx) => { [INFO] [stdout] 2006 | let _ = tx.send(result); [INFO] [stdout] 2007 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/protocol/command.rs:2178:12 [INFO] [stdout] | [INFO] [stdout] 2178 | if let Err(_) = tx.send(Err(error)) { [INFO] [stdout] | ^^^^^^^^^^^^^------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/protocol/command.rs:2180:9 [INFO] [stdout] | [INFO] [stdout] 2180 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 2178 ~ match tx.send(Err(error)) { Err(_) => { [INFO] [stdout] 2179 | warn!("Error responding early to transaction."); [INFO] [stdout] 2180 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/protocol/command.rs:2183:12 [INFO] [stdout] | [INFO] [stdout] 2183 | if let Err(_) = tx.send(Err(error)) { [INFO] [stdout] | ^^^^^^^^^^^^^------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/protocol/command.rs:2185:9 [INFO] [stdout] | [INFO] [stdout] 2185 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 2183 ~ match tx.send(Err(error)) { Err(_) => { [INFO] [stdout] 2184 | warn!("Error responding early to reconnect command."); [INFO] [stdout] 2185 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/protocol/connection.rs:120:11 [INFO] [stdout] | [INFO] [stdout] 120 | while let Some(cmd) = self.inner.pop() { [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/protocol/connection.rs:122:5 [INFO] [stdout] | [INFO] [stdout] 122 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/protocol/connection.rs:754:8 [INFO] [stdout] | [INFO] [stdout] 754 | if let Some(e) = protocol_utils::frame_to_error(&response) { [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/protocol/connection.rs:756:5 [INFO] [stdout] | [INFO] [stdout] 756 | } 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] 754 ~ match protocol_utils::frame_to_error(&response) { Some(e) => { [INFO] [stdout] 755 | Err(e) [INFO] [stdout] 756 ~ } _ => { [INFO] [stdout] 757 | Ok(()) [INFO] [stdout] 758 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/protocol/connection.rs:784:8 [INFO] [stdout] | [INFO] [stdout] 784 | if let Some(error) = protocol_utils::frame_to_error(&response) { [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/protocol/connection.rs:786:5 [INFO] [stdout] | [INFO] [stdout] 786 | } 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] 784 ~ match protocol_utils::frame_to_error(&response) { Some(error) => { [INFO] [stdout] 785 | Err(error) [INFO] [stdout] 786 ~ } _ => { [INFO] [stdout] 787 | Ok(()) [INFO] [stdout] 788 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/protocol/connection.rs:955:8 [INFO] [stdout] | [INFO] [stdout] 955 | if let Some(ref mut task) = self.task { [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/protocol/connection.rs:957:5 [INFO] [stdout] | [INFO] [stdout] 957 | } 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] 955 ~ match self.task { Some(ref mut task) => { [INFO] [stdout] 956 | task.await? [INFO] [stdout] 957 ~ } _ => { [INFO] [stdout] 958 | Ok(()) [INFO] [stdout] 959 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/protocol/responders.rs:158:8 [INFO] [stdout] | [INFO] [stdout] 158 | if let Some(tx) = self.take_response_tx() { [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/protocol/responders.rs:160:5 [INFO] [stdout] | [INFO] [stdout] 160 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 158 ~ match self.take_response_tx() { Some(tx) => { [INFO] [stdout] 159 | let _ = tx.send(Err(error)); [INFO] [stdout] 160 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/protocol/responders.rs:217:6 [INFO] [stdout] | [INFO] [stdout] 217 | if let Some(tx) = tx.lock().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/protocol/responders.rs:221:3 [INFO] [stdout] | [INFO] [stdout] 221 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 217 ~ match tx.lock().take() { Some(tx) => { [INFO] [stdout] 218 | if let Err(_) = tx.send(result) { [INFO] [stdout] 219 | _debug!(inner, "Error responding to caller."); [INFO] [stdout] 220 | } [INFO] [stdout] 221 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/protocol/responders.rs:218:8 [INFO] [stdout] | [INFO] [stdout] 218 | if let Err(_) = tx.send(result) { [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/protocol/responders.rs:220:5 [INFO] [stdout] | [INFO] [stdout] 220 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 218 ~ match tx.send(result) { Err(_) => { [INFO] [stdout] 219 | _debug!(inner, "Error responding to caller."); [INFO] [stdout] 220 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/protocol/responders.rs:275:6 [INFO] [stdout] | [INFO] [stdout] 275 | if let Resp3Frame::Array { mut data, .. } = frame { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^----- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/protocol/responders.rs:317:3 [INFO] [stdout] | [INFO] [stdout] 317 | } 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] 275 ~ match frame { Resp3Frame::Array { mut data, .. } => { [INFO] [stdout] 276 | if data.len() == 2 { [INFO] [stdout] ... [INFO] [stdout] 316 | } [INFO] [stdout] 317 ~ } _ => { [INFO] [stdout] 318 | Err(RedisError::new( [INFO] [stdout] ... [INFO] [stdout] 321 | )) [INFO] [stdout] 322 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/protocol/responders.rs:287:10 [INFO] [stdout] | [INFO] [stdout] 287 | if let Some(Resp3Frame::Array { data, .. }) = data.pop() { [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/protocol/responders.rs:305:7 [INFO] [stdout] | [INFO] [stdout] 305 | } 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] 287 ~ match data.pop() { Some(Resp3Frame::Array { data, .. }) => { [INFO] [stdout] 288 | let mut keys = Vec::with_capacity(data.len()); [INFO] [stdout] ... [INFO] [stdout] 304 | Ok((cursor, keys)) [INFO] [stdout] 305 ~ } _ => { [INFO] [stdout] 306 | Err(RedisError::new( [INFO] [stdout] ... [INFO] [stdout] 309 | )) [INFO] [stdout] 310 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/protocol/responders.rs:327:6 [INFO] [stdout] | [INFO] [stdout] 327 | if let Resp3Frame::Array { mut data, .. } = frame { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^----- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/protocol/responders.rs:359:3 [INFO] [stdout] | [INFO] [stdout] 359 | } 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] 327 ~ match frame { Resp3Frame::Array { mut data, .. } => { [INFO] [stdout] 328 | if data.len() == 2 { [INFO] [stdout] ... [INFO] [stdout] 358 | } [INFO] [stdout] 359 ~ } _ => { [INFO] [stdout] 360 | Err(RedisError::new(RedisErrorKind::Protocol, "Expected bulk string array.")) [INFO] [stdout] 361 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/protocol/responders.rs:339:10 [INFO] [stdout] | [INFO] [stdout] 339 | if let Some(Resp3Frame::Array { data, .. }) = data.pop() { [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/protocol/responders.rs:347:7 [INFO] [stdout] | [INFO] [stdout] 347 | } 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] 339 ~ match data.pop() { Some(Resp3Frame::Array { data, .. }) => { [INFO] [stdout] 340 | let mut values = Vec::with_capacity(data.len()); [INFO] [stdout] ... [INFO] [stdout] 346 | Ok((cursor, values)) [INFO] [stdout] 347 ~ } _ => { [INFO] [stdout] 348 | Err(RedisError::new( [INFO] [stdout] ... [INFO] [stdout] 351 | )) [INFO] [stdout] 352 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/protocol/responders.rs:384:10 [INFO] [stdout] | [INFO] [stdout] 384 | if let Err(_) = tx.send(Ok(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/protocol/responders.rs:386:7 [INFO] [stdout] | [INFO] [stdout] 386 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 384 ~ match tx.send(Ok(state)) { Err(_) => { [INFO] [stdout] 385 | _warn!(inner, "Failed to send ZSCAN result to caller"); [INFO] [stdout] 386 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/protocol/responders.rs:398:10 [INFO] [stdout] | [INFO] [stdout] 398 | if let Err(_) = tx.send(Ok(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/protocol/responders.rs:400:7 [INFO] [stdout] | [INFO] [stdout] 400 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 398 ~ match tx.send(Ok(state)) { Err(_) => { [INFO] [stdout] 399 | _warn!(inner, "Failed to send SSCAN result to caller"); [INFO] [stdout] 400 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/protocol/responders.rs:413:10 [INFO] [stdout] | [INFO] [stdout] 413 | if let Err(_) = tx.send(Ok(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/protocol/responders.rs:415:7 [INFO] [stdout] | [INFO] [stdout] 415 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 413 ~ match tx.send(Ok(state)) { Err(_) => { [INFO] [stdout] 414 | _warn!(inner, "Failed to send HSCAN result to caller"); [INFO] [stdout] 415 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/protocol/responders.rs:613:8 [INFO] [stdout] | [INFO] [stdout] 613 | if let Err(_) = scan_stream.send(Err(e)) { [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/protocol/responders.rs:615:5 [INFO] [stdout] | [INFO] [stdout] 615 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 613 ~ match scan_stream.send(Err(e)) { Err(_) => { [INFO] [stdout] 614 | _warn!(inner, "Error sending scan result."); [INFO] [stdout] 615 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/protocol/utils.rs:303:6 [INFO] [stdout] | [INFO] [stdout] 303 | if let Ok(s) = Str::from_inner(data.clone()) { [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/protocol/utils.rs:305:3 [INFO] [stdout] | [INFO] [stdout] 305 | } 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] 303 ~ match Str::from_inner(data.clone()) { Ok(s) => { [INFO] [stdout] 304 | RedisValue::String(s) [INFO] [stdout] 305 ~ } _ => { [INFO] [stdout] 306 | RedisValue::Bytes(data) [INFO] [stdout] 307 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/protocol/utils.rs:685:6 [INFO] [stdout] | [INFO] [stdout] 685 | if let RedisValue::Array(values) = value { [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/protocol/utils.rs:697:3 [INFO] [stdout] | [INFO] [stdout] 697 | } 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] 685 ~ match value { RedisValue::Array(values) => { [INFO] [stdout] 686 | let mut out = Vec::with_capacity(values.len()); [INFO] [stdout] ... [INFO] [stdout] 696 | RedisValue::Array(out) [INFO] [stdout] 697 ~ } _ => { [INFO] [stdout] 698 | value [INFO] [stdout] 699 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/protocol/utils.rs:689:10 [INFO] [stdout] | [INFO] [stdout] 689 | if let RedisValue::Array(flattened) = flattened { [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/protocol/utils.rs:691:7 [INFO] [stdout] | [INFO] [stdout] 691 | } 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] 689 ~ match flattened { RedisValue::Array(flattened) => { [INFO] [stdout] 690 | out.extend(flattened); [INFO] [stdout] 691 ~ } _ => { [INFO] [stdout] 692 | out.push(flattened); [INFO] [stdout] 693 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/protocol/utils.rs:706:6 [INFO] [stdout] | [INFO] [stdout] 706 | if let RedisValue::Array(mut values) = value { [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/protocol/utils.rs:734:3 [INFO] [stdout] | [INFO] [stdout] 734 | } 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] 706 ~ match value { RedisValue::Array(mut values) => { [INFO] [stdout] 707 | if values.is_empty() { [INFO] [stdout] ... [INFO] [stdout] 733 | Ok(out) [INFO] [stdout] 734 ~ } _ => { [INFO] [stdout] 735 | Err(RedisError::new( [INFO] [stdout] ... [INFO] [stdout] 738 | )) [INFO] [stdout] 739 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/router/mod.rs:292:12 [INFO] [stdout] | [INFO] [stdout] 292 | if let Some(writer) = writer.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/router/mod.rs:295:9 [INFO] [stdout] | [INFO] [stdout] 295 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 292 ~ match writer.take() { Some(writer) => { [INFO] [stdout] 293 | _debug!(inner, "Disconnecting from {}", writer.server); [INFO] [stdout] 294 | writer.graceful_close().await [INFO] [stdout] 295 ~ } _ => { [INFO] [stdout] 296 | Vec::new() [INFO] [stdout] 297 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/router/mod.rs:303:14 [INFO] [stdout] | [INFO] [stdout] 303 | if let Some(writer) = writers.remove(server) { [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/router/mod.rs:307:11 [INFO] [stdout] | [INFO] [stdout] 307 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 303 ~ match writers.remove(server) { Some(writer) => { [INFO] [stdout] 304 | _debug!(inner, "Disconnecting from {}", writer.server); [INFO] [stdout] 305 | let commands = writer.graceful_close().await; [INFO] [stdout] 306 | out.extend(commands); [INFO] [stdout] 307 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/router/mod.rs:312:12 [INFO] [stdout] | [INFO] [stdout] 312 | if let Some(writer) = writer.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/router/mod.rs:315:9 [INFO] [stdout] | [INFO] [stdout] 315 | } 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] 312 ~ match writer.take() { Some(writer) => { [INFO] [stdout] 313 | _debug!(inner, "Disconnecting from {}", writer.server); [INFO] [stdout] 314 | writer.graceful_close().await [INFO] [stdout] 315 ~ } _ => { [INFO] [stdout] 316 | Vec::new() [INFO] [stdout] 317 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/router/mod.rs:326:12 [INFO] [stdout] | [INFO] [stdout] 326 | if let Some(writer) = writer.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/router/mod.rs:329:9 [INFO] [stdout] | [INFO] [stdout] 329 | } 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] 326 ~ match writer.take() { Some(writer) => { [INFO] [stdout] 327 | _debug!(inner, "Disconnecting from {}", writer.server); [INFO] [stdout] 328 | writer.graceful_close().await [INFO] [stdout] 329 ~ } _ => { [INFO] [stdout] 330 | Vec::new() [INFO] [stdout] 331 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/router/mod.rs:343:12 [INFO] [stdout] | [INFO] [stdout] 343 | if let Some(writer) = writer.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/router/mod.rs:346:9 [INFO] [stdout] | [INFO] [stdout] 346 | } 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] 343 ~ match writer.take() { Some(writer) => { [INFO] [stdout] 344 | _debug!(inner, "Disconnecting from {}", writer.server); [INFO] [stdout] 345 | writer.graceful_close().await [INFO] [stdout] 346 ~ } _ => { [INFO] [stdout] 347 | Vec::new() [INFO] [stdout] 348 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/router/mod.rs:431:10 [INFO] [stdout] | [INFO] [stdout] 431 | if let Err(error) = clustered::send_all_cluster_command(inner, writers, command).await { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^----- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/router/mod.rs:433:7 [INFO] [stdout] | [INFO] [stdout] 433 | } 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] 431 ~ match clustered::send_all_cluster_command(inner, writers, command).await { Err(error) => { [INFO] [stdout] 432 | Written::Disconnected((None, None, error)) [INFO] [stdout] 433 ~ } _ => { [INFO] [stdout] 434 | Written::SentAll [INFO] [stdout] 435 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/router/mod.rs:671:8 [INFO] [stdout] | [INFO] [stdout] 671 | if let Err(err) = writer.write_frame(frame, true, no_incr).await { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^----- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/router/mod.rs:673:5 [INFO] [stdout] | [INFO] [stdout] 673 | } 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] 671 ~ match writer.write_frame(frame, true, no_incr).await { Err(err) => { [INFO] [stdout] 672 | Written::Disconnected((Some(writer.server.clone()), None, err)) [INFO] [stdout] 673 ~ } _ => { [INFO] [stdout] 674 | if blocks_connection { [INFO] [stdout] ... [INFO] [stdout] 677 | Written::Sent((writer.server.clone(), true)) [INFO] [stdout] 678 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/router/mod.rs:822:11 [INFO] [stdout] | [INFO] [stdout] 822 | while let Some(mut command) = commands.pop_front() { [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/router/mod.rs:887:5 [INFO] [stdout] | [INFO] [stdout] 887 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/router/centralized.rs:73:10 [INFO] [stdout] | [INFO] [stdout] 73 | if let Some(frame) = responses::check_pubsub_message(&inner, &server, 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/router/centralized.rs:79:7 [INFO] [stdout] | [INFO] [stdout] 79 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 73 ~ match responses::check_pubsub_message(&inner, &server, frame) { Some(frame) => { [INFO] [stdout] 74 | if let Err(e) = process_response_frame(&inner, &server, &buffer, &counters, frame).await { [INFO] [stdout] ... [INFO] [stdout] 78 | } [INFO] [stdout] 79 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/router/centralized.rs:74:12 [INFO] [stdout] | [INFO] [stdout] 74 | if let Err(e) = process_response_frame(&inner, &server, &buffer, &counters, frame).await { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^----- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/router/centralized.rs:78:9 [INFO] [stdout] | [INFO] [stdout] 78 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 74 ~ match process_response_frame(&inner, &server, &buffer, &counters, frame).await { Err(e) => { [INFO] [stdout] 75 | _debug!(inner, "Error processing response frame from {}: {:?}", server, e); [INFO] [stdout] 76 | last_error = Some(e); [INFO] [stdout] 77 | break; [INFO] [stdout] 78 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/router/centralized.rs:147:8 [INFO] [stdout] | [INFO] [stdout] 147 | if let Some(error) = protocol_utils::frame_to_error(&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/router/centralized.rs:153:5 [INFO] [stdout] | [INFO] [stdout] 153 | } else if command.kind.ends_transaction() { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 147 ~ match protocol_utils::frame_to_error(&frame) { Some(error) => { [INFO] [stdout] 148 | #[allow(unused_mut)] [INFO] [stdout] ... [INFO] [stdout] 152 | return Ok(()); [INFO] [stdout] 153 ~ } _ => if command.kind.ends_transaction() { [INFO] [stdout] 154 | command.respond_to_router(inner, RouterResponse::TransactionResult(frame)); [INFO] [stdout] ... [INFO] [stdout] 158 | return Ok(()); [INFO] [stdout] 159 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/router/clustered.rs:31:6 [INFO] [stdout] | [INFO] [stdout] 31 | if let Some(ref server) = command.cluster_node { [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/router/clustered.rs:43:3 [INFO] [stdout] | [INFO] [stdout] 43 | } 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] 31 ~ match command.cluster_node { Some(ref server) => { [INFO] [stdout] 32 | // this `_server` has a lifetime tied to `command`, so we switch `server` to refer to the record in `state` while [INFO] [stdout] ... [INFO] [stdout] 42 | }) [INFO] [stdout] 43 ~ } _ => { [INFO] [stdout] 44 | command [INFO] [stdout] ... [INFO] [stdout] 61 | }) [INFO] [stdout] 62 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/router/clustered.rs:176:8 [INFO] [stdout] | [INFO] [stdout] 176 | if let Written::Disconnected((server, _, err)) = utils::write_command(inner, writer, cmd, true).await { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^---------------------------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/router/clustered.rs:187:5 [INFO] [stdout] | [INFO] [stdout] 187 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 176 ~ match utils::write_command(inner, writer, cmd, true).await { Written::Disconnected((server, _, err)) => { [INFO] [stdout] 177 | _debug!( [INFO] [stdout] ... [INFO] [stdout] 186 | break; [INFO] [stdout] 187 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/router/clustered.rs:268:10 [INFO] [stdout] | [INFO] [stdout] 268 | if let Some(frame) = responses::check_pubsub_message(&inner, &server, 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/router/clustered.rs:279:7 [INFO] [stdout] | [INFO] [stdout] 279 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 268 ~ match responses::check_pubsub_message(&inner, &server, frame) { Some(frame) => { [INFO] [stdout] 269 | if let Err(e) = process_response_frame(&inner, &server, &buffer, &counters, frame).await { [INFO] [stdout] ... [INFO] [stdout] 278 | } [INFO] [stdout] 279 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/router/clustered.rs:269:12 [INFO] [stdout] | [INFO] [stdout] 269 | if let Err(e) = process_response_frame(&inner, &server, &buffer, &counters, frame).await { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^----- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/router/clustered.rs:278:9 [INFO] [stdout] | [INFO] [stdout] 278 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 269 ~ match process_response_frame(&inner, &server, &buffer, &counters, frame).await { Err(e) => { [INFO] [stdout] 270 | _debug!( [INFO] [stdout] ... [INFO] [stdout] 277 | break; [INFO] [stdout] 278 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/router/clustered.rs:351:6 [INFO] [stdout] | [INFO] [stdout] 351 | if let Some(mut tx) = command.take_router_tx() { [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/router/clustered.rs:401:3 [INFO] [stdout] | [INFO] [stdout] 401 | } 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] 351 ~ match command.take_router_tx() { Some(mut tx) => { [INFO] [stdout] 352 | let response = match kind { [INFO] [stdout] ... [INFO] [stdout] 400 | } [INFO] [stdout] 401 ~ } _ => { [INFO] [stdout] 402 | let command = match kind { [INFO] [stdout] ... [INFO] [stdout] 410 | } [INFO] [stdout] 411 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/router/clustered.rs:358:8 [INFO] [stdout] | [INFO] [stdout] 358 | if let Err(response) = tx.send(response) { [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/router/clustered.rs:400:5 [INFO] [stdout] | [INFO] [stdout] 400 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 358 ~ match tx.send(response) { Err(response) => { [INFO] [stdout] 359 | #[cfg(feature = "glommio")] [INFO] [stdout] ... [INFO] [stdout] 399 | } [INFO] [stdout] 400 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/router/clustered.rs:397:10 [INFO] [stdout] | [INFO] [stdout] 397 | if let Err(e) = interfaces::send_to_router(inner, command) { [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/router/clustered.rs:399:7 [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] 397 ~ match interfaces::send_to_router(inner, command) { Err(e) => { [INFO] [stdout] 398 | _warn!(inner, "Cannot send MOVED to router channel: {:?}", e); [INFO] [stdout] 399 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/router/clustered.rs:408:8 [INFO] [stdout] | [INFO] [stdout] 408 | if let Err(e) = interfaces::send_to_router(inner, command) { [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/router/clustered.rs:410:5 [INFO] [stdout] | [INFO] [stdout] 410 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 408 ~ match interfaces::send_to_router(inner, command) { Err(e) => { [INFO] [stdout] 409 | _warn!(inner, "Cannot send ASKED to router channel: {:?}", e); [INFO] [stdout] 410 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/router/clustered.rs:466:8 [INFO] [stdout] | [INFO] [stdout] 466 | if let Some(error) = protocol_utils::frame_to_error(&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/router/clustered.rs:472:5 [INFO] [stdout] | [INFO] [stdout] 472 | } else if command.kind.ends_transaction() { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 466 ~ match protocol_utils::frame_to_error(&frame) { Some(error) => { [INFO] [stdout] 467 | #[allow(unused_mut)] [INFO] [stdout] ... [INFO] [stdout] 471 | return Ok(()); [INFO] [stdout] 472 ~ } _ => if command.kind.ends_transaction() { [INFO] [stdout] 473 | command.respond_to_router(inner, RouterResponse::TransactionResult(frame)); [INFO] [stdout] ... [INFO] [stdout] 477 | return Ok(()); [INFO] [stdout] 478 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/router/clustered.rs:577:10 [INFO] [stdout] | [INFO] [stdout] 577 | if let Some(ref mut transport) = backchannel.transport { [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/router/clustered.rs:588:7 [INFO] [stdout] | [INFO] [stdout] 588 | } 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] 577 ~ match backchannel.transport { Some(ref mut transport) => { [INFO] [stdout] 578 | let default_host = transport.default_host.clone(); [INFO] [stdout] ... [INFO] [stdout] 587 | .map(|frame| (frame, default_host)) [INFO] [stdout] 588 ~ } _ => { [INFO] [stdout] 589 | None [INFO] [stdout] 590 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/router/clustered.rs:607:28 [INFO] [stdout] | [INFO] [stdout] 607 | let (frame, host) = if let Some((frame, host)) = backchannel_result { [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/router/clustered.rs:626:5 [INFO] [stdout] | [INFO] [stdout] 626 | } 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] 607 ~ let (frame, host) = match backchannel_result { Some((frame, host)) => { [INFO] [stdout] 608 | let kind = frame.kind(); [INFO] [stdout] ... [INFO] [stdout] 625 | } [INFO] [stdout] 626 ~ } _ => { [INFO] [stdout] 627 | // try connecting to any of the nodes, then try again [INFO] [stdout] ... [INFO] [stdout] 637 | (frame, host) [INFO] [stdout] 638 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/router/commands.rs:34:6 [INFO] [stdout] | [INFO] [stdout] 34 | if let Some(rx) = rx { [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/router/commands.rs:94:3 [INFO] [stdout] | [INFO] [stdout] 94 | } 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] 34 ~ match rx { Some(rx) => { [INFO] [stdout] 35 | _debug!(inner, "Waiting on router channel."); [INFO] [stdout] ... [INFO] [stdout] 93 | } [INFO] [stdout] 94 ~ } _ => { [INFO] [stdout] 95 | Ok(None) [INFO] [stdout] 96 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/router/commands.rs:48:12 [INFO] [stdout] | [INFO] [stdout] 48 | if let Err(e) = command.decr_check_redirections() { [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/router/commands.rs:51:9 [INFO] [stdout] | [INFO] [stdout] 51 | } 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] 48 ~ match command.decr_check_redirections() { Err(e) => { [INFO] [stdout] 49 | command.respond_to_caller(Err(e)); [INFO] [stdout] 50 | Ok(None) [INFO] [stdout] 51 ~ } _ => { [INFO] [stdout] 52 | utils::send_asking_with_policy(inner, router, &server, slot).await?; [INFO] [stdout] ... [INFO] [stdout] 56 | Ok(Some(command)) [INFO] [stdout] 57 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/router/commands.rs:65:12 [INFO] [stdout] | [INFO] [stdout] 65 | if let Err(e) = command.decr_check_redirections() { [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/router/commands.rs:68:9 [INFO] [stdout] | [INFO] [stdout] 68 | } 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] 65 ~ match command.decr_check_redirections() { Err(e) => { [INFO] [stdout] 66 | command.finish(inner, Err(e)); [INFO] [stdout] 67 | Ok(None) [INFO] [stdout] 68 ~ } _ => { [INFO] [stdout] 69 | command.hasher = ClusterHash::Custom(slot); [INFO] [stdout] ... [INFO] [stdout] 72 | Ok(Some(command)) [INFO] [stdout] 73 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/router/commands.rs:188:14 [INFO] [stdout] | [INFO] [stdout] 188 | if let Err(error) = router.sync_cluster().await { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^----- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/router/commands.rs:195:11 [INFO] [stdout] | [INFO] [stdout] 195 | } 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] 188 ~ match router.sync_cluster().await { Err(error) => { [INFO] [stdout] 189 | // try to sync the cluster once, and failing that buffer the command. [INFO] [stdout] ... [INFO] [stdout] 194 | break; [INFO] [stdout] 195 ~ } _ => { [INFO] [stdout] 196 | _command = Some(command); [INFO] [stdout] 197 | _backpressure = None; [INFO] [stdout] 198 | continue; [INFO] [stdout] 199 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/router/commands.rs:208:14 [INFO] [stdout] | [INFO] [stdout] 208 | if let Some(command) = handle_router_response(inner, router, router_rx).await? { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^------------------------------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/router/commands.rs:213:11 [INFO] [stdout] | [INFO] [stdout] 213 | } 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] 208 ~ match handle_router_response(inner, router, router_rx).await? { Some(command) => { [INFO] [stdout] 209 | // commands that are sent to all nodes are not retried after a connection closing [INFO] [stdout] ... [INFO] [stdout] 212 | break; [INFO] [stdout] 213 ~ } _ => { [INFO] [stdout] 214 | if closes_connection { [INFO] [stdout] ... [INFO] [stdout] 219 | break; [INFO] [stdout] 220 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/router/commands.rs:236:16 [INFO] [stdout] | [INFO] [stdout] 236 | if let Err(e) = client_utils::interrupt_blocked_connection(inner, ClientUnblockFlag::Error).await { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^----- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/router/commands.rs:238:13 [INFO] [stdout] | [INFO] [stdout] 238 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 236 ~ match client_utils::interrupt_blocked_connection(inner, ClientUnblockFlag::Error).await { Err(e) => { [INFO] [stdout] 237 | _warn!(inner, "Failed to unblock connection: {:?}", e); [INFO] [stdout] 238 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/router/commands.rs:241:14 [INFO] [stdout] | [INFO] [stdout] 241 | if let Some(command) = handle_router_response(inner, router, router_rx).await? { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^------------------------------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/router/commands.rs:245:11 [INFO] [stdout] | [INFO] [stdout] 245 | } 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] 241 ~ match handle_router_response(inner, router, router_rx).await? { Some(command) => { [INFO] [stdout] 242 | _command = Some(command); [INFO] [stdout] 243 | _backpressure = None; [INFO] [stdout] 244 | continue; [INFO] [stdout] 245 ~ } _ => { [INFO] [stdout] 246 | if closes_connection { [INFO] [stdout] ... [INFO] [stdout] 251 | break; [INFO] [stdout] 252 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/router/commands.rs:336:8 [INFO] [stdout] | [INFO] [stdout] 336 | if let Err(e) = write_with_backpressure_t(inner, router, command, force_pipeline).await { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^----- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/router/commands.rs:340:5 [INFO] [stdout] | [INFO] [stdout] 340 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 336 ~ match write_with_backpressure_t(inner, router, command, force_pipeline).await { Err(e) => { [INFO] [stdout] 337 | // if the command cannot be written it will be queued to run later. [INFO] [stdout] 338 | // if a connection is dropped due to an error the reader will send a command to reconnect and retry later. [INFO] [stdout] 339 | _debug!(inner, "Error writing command in pipeline: {:?}", e); [INFO] [stdout] 340 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/router/commands.rs:365:6 [INFO] [stdout] | [INFO] [stdout] 365 | if let Err(error) = write_with_backpressure_t(inner, router, command, false).await { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^----- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/router/commands.rs:368:3 [INFO] [stdout] | [INFO] [stdout] 368 | } 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] 365 ~ match write_with_backpressure_t(inner, router, command, false).await { Err(error) => { [INFO] [stdout] 366 | _debug!(inner, "Error sending command after ASKING: {:?}", error); [INFO] [stdout] 367 | Err(error) [INFO] [stdout] 368 ~ } _ => { [INFO] [stdout] 369 | Ok(()) [INFO] [stdout] 370 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/router/commands.rs:394:6 [INFO] [stdout] | [INFO] [stdout] 394 | if let Err(error) = write_with_backpressure_t(inner, router, command, false).await { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^----- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/router/commands.rs:397:3 [INFO] [stdout] | [INFO] [stdout] 397 | } 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] 394 ~ match write_with_backpressure_t(inner, router, command, false).await { Err(error) => { [INFO] [stdout] 395 | _debug!(inner, "Error sending command after MOVED: {:?}", error); [INFO] [stdout] 396 | Err(error) [INFO] [stdout] 397 ~ } _ => { [INFO] [stdout] 398 | Ok(()) [INFO] [stdout] 399 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/router/commands.rs:458:6 [INFO] [stdout] | [INFO] [stdout] 458 | if let Err(e) = utils::reconnect_with_policy(inner, router).await { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^----- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/router/commands.rs:464:3 [INFO] [stdout] | [INFO] [stdout] 464 | } 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] 458 ~ match utils::reconnect_with_policy(inner, router).await { Err(e) => { [INFO] [stdout] 459 | if let Some(mut tx) = tx { [INFO] [stdout] ... [INFO] [stdout] 463 | Err(e) [INFO] [stdout] 464 ~ } _ => { [INFO] [stdout] 465 | if let Some(mut tx) = tx { [INFO] [stdout] ... [INFO] [stdout] 469 | Ok(()) [INFO] [stdout] 470 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/router/commands.rs:572:9 [INFO] [stdout] | [INFO] [stdout] 572 | while let Some(command) = rx.recv().await { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^--------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/router/commands.rs:587:3 [INFO] [stdout] | [INFO] [stdout] 587 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/router/commands.rs:576:8 [INFO] [stdout] | [INFO] [stdout] 576 | if let Err(e) = process_command(inner, router, command).await { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^----- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/router/commands.rs:586:5 [INFO] [stdout] | [INFO] [stdout] 586 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 576 ~ match process_command(inner, router, command).await { Err(e) => { [INFO] [stdout] 577 | // errors on this interface end the client connection task [INFO] [stdout] ... [INFO] [stdout] 585 | } [INFO] [stdout] 586 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/router/commands.rs:618:8 [INFO] [stdout] | [INFO] [stdout] 618 | if let Err(e) = Box::pin(router.connect()).await { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^----- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/router/commands.rs:622:5 [INFO] [stdout] | [INFO] [stdout] 622 | } 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] 618 ~ match Box::pin(router.connect()).await { Err(e) => { [INFO] [stdout] 619 | inner.notifications.broadcast_connect(Err(e.clone())); [INFO] [stdout] 620 | inner.notifications.broadcast_error(e.clone()); [INFO] [stdout] 621 | Err(e) [INFO] [stdout] 622 ~ } _ => { [INFO] [stdout] 623 | client_utils::set_client_state(&inner.state, ClientState::Connected); [INFO] [stdout] 624 | inner.notifications.broadcast_connect(Ok(())); [INFO] [stdout] 625 | Ok(()) [INFO] [stdout] 626 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/router/responses.rs:210:13 [INFO] [stdout] | [INFO] [stdout] 210 | } else if let Some(event) = parse_keyspace_notification(&message.channel, &message.value) { [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/router/responses.rs:212:3 [INFO] [stdout] | [INFO] [stdout] 212 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 210 ~ } else { match parse_keyspace_notification(&message.channel, &message.value) { Some(event) => { [INFO] [stdout] 211 | inner.notifications.broadcast_keyspace(event); [INFO] [stdout] 212 ~ } _ => { [INFO] [stdout] 213 | inner.notifications.broadcast_pubsub(message); [INFO] [stdout] 214 ~ }}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/router/sentinel.rs:262:6 [INFO] [stdout] | [INFO] [stdout] 262 | if let RedisValue::Array(values) = response { [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/router/sentinel.rs:277:3 [INFO] [stdout] | [INFO] [stdout] 277 | } 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] 262 ~ match response { RedisValue::Array(values) => { [INFO] [stdout] 263 | if let Some(first) = values.first() { [INFO] [stdout] ... [INFO] [stdout] 276 | } [INFO] [stdout] 277 ~ } _ => { [INFO] [stdout] 278 | Err(RedisError::new( [INFO] [stdout] ... [INFO] [stdout] 281 | )) [INFO] [stdout] 282 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/router/sentinel.rs:263:8 [INFO] [stdout] | [INFO] [stdout] 263 | if let Some(first) = values.first() { [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/router/sentinel.rs:274:5 [INFO] [stdout] | [INFO] [stdout] 274 | } 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] 263 ~ match values.first() { Some(first) => { [INFO] [stdout] 264 | let is_master = first.as_str().map(|s| s == "master").unwrap_or(false); [INFO] [stdout] ... [INFO] [stdout] 273 | } [INFO] [stdout] 274 ~ } _ => { [INFO] [stdout] 275 | Err(RedisError::new(RedisErrorKind::Sentinel, "Invalid role response.")) [INFO] [stdout] 276 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/router/utils.rs:168:6 [INFO] [stdout] | [INFO] [stdout] 168 | if let Err(err) = writer.write_frame(frame, should_flush, no_incr).await { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^----- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/router/utils.rs:170:3 [INFO] [stdout] | [INFO] [stdout] 170 | } 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] 168 ~ match writer.write_frame(frame, should_flush, no_incr).await { Err(err) => { [INFO] [stdout] 169 | Written::Disconnected((Some(writer.server.clone()), None, err)) [INFO] [stdout] 170 ~ } _ => { [INFO] [stdout] 171 | Written::Sent((writer.server.clone(), should_flush)) [INFO] [stdout] 172 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/router/utils.rs:192:8 [INFO] [stdout] | [INFO] [stdout] 192 | if let Err(_) = tx.send(RouterResponse::ConnectionClosed((error, command))) { [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/router/utils.rs:194:5 [INFO] [stdout] | [INFO] [stdout] 194 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 192 ~ match tx.send(RouterResponse::ConnectionClosed((error, command))) { Err(_) => { [INFO] [stdout] 193 | _warn!(inner, "Failed to send router connection closed error."); [INFO] [stdout] 194 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/router/utils.rs:247:6 [INFO] [stdout] | [INFO] [stdout] 247 | if let Err(e) = Box::pin(router.connect()).await { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^----- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/router/utils.rs:252:3 [INFO] [stdout] | [INFO] [stdout] 252 | } 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] 247 ~ match Box::pin(router.connect()).await { Err(e) => { [INFO] [stdout] 248 | _debug!(inner, "Failed reconnecting with error: {:?}", e); [INFO] [stdout] ... [INFO] [stdout] 251 | Err(e) [INFO] [stdout] 252 ~ } _ => { [INFO] [stdout] 253 | #[cfg(feature = "replicas")] [INFO] [stdout] ... [INFO] [stdout] 268 | Ok(()) [INFO] [stdout] 269 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/router/utils.rs:287:8 [INFO] [stdout] | [INFO] [stdout] 287 | if let Err(e) = reconnect_once(inner, router).await { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^----- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/router/utils.rs:298:5 [INFO] [stdout] | [INFO] [stdout] 298 | } 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] 287 ~ match reconnect_once(inner, router).await { Err(e) => { [INFO] [stdout] 288 | if e.should_not_reconnect() { [INFO] [stdout] ... [INFO] [stdout] 297 | continue; [INFO] [stdout] 298 ~ } _ => { [INFO] [stdout] 299 | break; [INFO] [stdout] 300 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/router/utils.rs:323:8 [INFO] [stdout] | [INFO] [stdout] 323 | if let Err(e) = router.cluster_redirection(&kind, slot, server).await { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^----- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/router/utils.rs:327:5 [INFO] [stdout] | [INFO] [stdout] 327 | } 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] 323 ~ match router.cluster_redirection(&kind, slot, server).await { Err(e) => { [INFO] [stdout] 324 | delay = next_reconnection_delay(inner).map_err(|_| e)?; [INFO] [stdout] 325 | [INFO] [stdout] 326 | continue; [INFO] [stdout] 327 ~ } _ => { [INFO] [stdout] 328 | break; [INFO] [stdout] 329 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/router/utils.rs:353:10 [INFO] [stdout] | [INFO] [stdout] 353 | if let Err(e) = router.sync_cluster().await { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^----- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/router/utils.rs:357:7 [INFO] [stdout] | [INFO] [stdout] 357 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 353 ~ match router.sync_cluster().await { Err(e) => { [INFO] [stdout] 354 | _debug!(inner, "Error syncing cluster before ASKING: {:?}", e); [INFO] [stdout] 355 | delay = utils::next_reconnection_delay(inner)?; [INFO] [stdout] 356 | continue; [INFO] [stdout] 357 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/router/utils.rs:375:17 [INFO] [stdout] | [INFO] [stdout] 375 | } else if let Err(_) = reconnect_once(inner, router).await { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^----- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/router/utils.rs:378:7 [INFO] [stdout] | [INFO] [stdout] 378 | } 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] 375 ~ } else { match reconnect_once(inner, router).await { Err(_) => { [INFO] [stdout] 376 | delay = utils::next_reconnection_delay(inner)?; [INFO] [stdout] 377 | continue; [INFO] [stdout] 378 ~ } _ => { [INFO] [stdout] 379 | delay = Duration::from_millis(0); [INFO] [stdout] 380 | continue; [INFO] [stdout] 381 ~ }}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/router/utils.rs:387:14 [INFO] [stdout] | [INFO] [stdout] 387 | if let Err(_) = reconnect_once(inner, router).await { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^----- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/router/utils.rs:390:11 [INFO] [stdout] | [INFO] [stdout] 390 | } 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] 387 ~ match reconnect_once(inner, router).await { Err(_) => { [INFO] [stdout] 388 | delay = utils::next_reconnection_delay(inner)?; [INFO] [stdout] 389 | continue; [INFO] [stdout] 390 ~ } _ => { [INFO] [stdout] 391 | delay = Duration::from_millis(0); [INFO] [stdout] 392 | continue; [INFO] [stdout] 393 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/router/utils.rs:398:14 [INFO] [stdout] | [INFO] [stdout] 398 | if let Err(_) = reconnect_once(inner, router).await { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^----- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/router/utils.rs:401:11 [INFO] [stdout] | [INFO] [stdout] 401 | } 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] 398 ~ match reconnect_once(inner, router).await { Err(_) => { [INFO] [stdout] 399 | delay = utils::next_reconnection_delay(inner)?; [INFO] [stdout] 400 | continue; [INFO] [stdout] 401 ~ } _ => { [INFO] [stdout] 402 | delay = Duration::from_millis(0); [INFO] [stdout] 403 | continue; [INFO] [stdout] 404 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/router/utils.rs:495:8 [INFO] [stdout] | [INFO] [stdout] 495 | if let Err(e) = router.sync_cluster().await { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^----- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/router/utils.rs:509:5 [INFO] [stdout] | [INFO] [stdout] 509 | } 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] 495 ~ match router.sync_cluster().await { Err(e) => { [INFO] [stdout] 496 | _warn!(inner, "Error syncing cluster after redirect: {:?}", e); [INFO] [stdout] ... [INFO] [stdout] 508 | } [INFO] [stdout] 509 ~ } _ => { [INFO] [stdout] 510 | break; [INFO] [stdout] 511 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/router/utils.rs:521:8 [INFO] [stdout] | [INFO] [stdout] 521 | if let Err(_) = interfaces::send_to_router(inner, cmd) { [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/router/utils.rs:523:5 [INFO] [stdout] | [INFO] [stdout] 523 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 521 ~ match interfaces::send_to_router(inner, cmd) { Err(_) => { [INFO] [stdout] 522 | _warn!(inner, "Failed to send deferred cluster sync.") [INFO] [stdout] 523 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/router/utils.rs:532:8 [INFO] [stdout] | [INFO] [stdout] 532 | if let Err(_) = interfaces::send_to_router(inner, cmd) { [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/router/utils.rs:534:5 [INFO] [stdout] | [INFO] [stdout] 534 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 532 ~ match interfaces::send_to_router(inner, cmd) { Err(_) => { [INFO] [stdout] 533 | _warn!(inner, "Failed to send deferred cluster sync.") [INFO] [stdout] 534 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/router/utils.rs:545:6 [INFO] [stdout] | [INFO] [stdout] 545 | if let Some(ref max_resp_latency) = inner.connection.unresponsive.max_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/router/utils.rs:596:3 [INFO] [stdout] | [INFO] [stdout] 596 | } 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] 545 ~ match inner.connection.unresponsive.max_timeout { Some(ref max_resp_latency) => { [INFO] [stdout] 546 | // These shenanigans were implemented in an attempt to strike a balance between a few recent changes. [INFO] [stdout] ... [INFO] [stdout] 595 | } [INFO] [stdout] 596 ~ } _ => { [INFO] [stdout] 597 | _trace!(inner, "Skip waiting on interrupt rx."); [INFO] [stdout] 598 | conn.try_next().await [INFO] [stdout] 599 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/router/transactions.rs:68:6 [INFO] [stdout] | [INFO] [stdout] 68 | if let Some(rx) = rx { [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/router/transactions.rs:89:3 [INFO] [stdout] | [INFO] [stdout] 89 | } 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] 68 ~ match rx { Some(rx) => { [INFO] [stdout] 69 | match client_utils::timeout(rx, timeout_dur).await? { [INFO] [stdout] ... [INFO] [stdout] 88 | } [INFO] [stdout] 89 ~ } _ => { [INFO] [stdout] 90 | Ok(TransactionResponse::Continue) [INFO] [stdout] 91 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/router/transactions.rs:138:6 [INFO] [stdout] | [INFO] [stdout] 138 | if let Some(server) = command.cluster_node.as_ref() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^--------------------^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/router/transactions.rs:140:3 [INFO] [stdout] | [INFO] [stdout] 140 | } 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] 138 ~ match command.cluster_node.as_ref() { Some(server) => { [INFO] [stdout] 139 | Ok(Some(server.clone())) [INFO] [stdout] 140 ~ } _ => { [INFO] [stdout] 141 | match router.find_connection(command) { [INFO] [stdout] ... [INFO] [stdout] 156 | } [INFO] [stdout] 157 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/utils.rs:404:10 [INFO] [stdout] | [INFO] [stdout] 404 | if let Err(e) = interrupt_blocked_connection(inner, ClientUnblockFlag::Error).await { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^----- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/utils.rs:406:7 [INFO] [stdout] | [INFO] [stdout] 406 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 404 ~ match interrupt_blocked_connection(inner, ClientUnblockFlag::Error).await { Err(e) => { [INFO] [stdout] 405 | _error!(inner, "Failed to interrupt blocked connection: {:?}", e); [INFO] [stdout] 406 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/utils.rs:609:9 [INFO] [stdout] | [INFO] [stdout] 609 | while let Some((key, value)) = iter.next() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^----------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/utils.rs:611:3 [INFO] [stdout] | [INFO] [stdout] 611 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/utils.rs:870:6 [INFO] [stdout] | [INFO] [stdout] 870 | if let Err(_) = command_tx.send(command.into()) { [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/utils.rs:873:3 [INFO] [stdout] | [INFO] [stdout] 873 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 870 ~ match command_tx.send(command.into()) { Err(_) => { [INFO] [stdout] 871 | inner.counters.decr_cmd_buffer_len(); [INFO] [stdout] 872 | _warn!(inner, "Failed to send QUIT when dropping old command channel."); [INFO] [stdout] 873 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/clients/pipeline.rs:293:6 [INFO] [stdout] | [INFO] [stdout] 293 | if let Resp3Frame::Array { data, .. } = frame { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^----- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/clients/pipeline.rs:295:3 [INFO] [stdout] | [INFO] [stdout] 295 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 293 ~ match frame { Resp3Frame::Array { data, .. } => { [INFO] [stdout] 294 | data.into_iter().map(protocol_utils::frame_to_results).collect() [INFO] [stdout] 295 ~ } _ => { [INFO] [stdout] 296 | vec![protocol_utils::frame_to_results(frame)] [INFO] [stdout] 297 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/clients/pool.rs:332:12 [INFO] [stdout] | [INFO] [stdout] 332 | if let Err(error) = try_join_all(self.inner.clients.iter().map(|c| c.ping::<()>())).await { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^----- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/clients/pool.rs:336:9 [INFO] [stdout] | [INFO] [stdout] 336 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 332 ~ match try_join_all(self.inner.clients.iter().map(|c| c.ping::<()>())).await { Err(error) => { [INFO] [stdout] 333 | if break_on_error { [INFO] [stdout] 334 | return Err(error); [INFO] [stdout] 335 | } [INFO] [stdout] 336 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `impl Stream>` will capture more lifetimes than possibly intended in edition 2024 [INFO] [stdout] --> src/clients/redis.rs:200:8 [INFO] [stdout] | [INFO] [stdout] 200 | ) -> impl Stream> [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see [INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds [INFO] [stdout] --> src/clients/redis.rs:196:5 [INFO] [stdout] | [INFO] [stdout] 196 | &self, [INFO] [stdout] | ^ [INFO] [stdout] = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024 [INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit [INFO] [stdout] | [INFO] [stdout] 200 | ) -> impl Stream> + use

[INFO] [stdout] | ++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `impl Stream>` will capture more lifetimes than possibly intended in edition 2024 [INFO] [stdout] --> src/clients/redis.rs:221:8 [INFO] [stdout] | [INFO] [stdout] 221 | ) -> impl Stream> [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see [INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds [INFO] [stdout] --> src/clients/redis.rs:217:5 [INFO] [stdout] | [INFO] [stdout] 217 | &self, [INFO] [stdout] | ^ [INFO] [stdout] = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024 [INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit [INFO] [stdout] | [INFO] [stdout] 221 | ) -> impl Stream> + use

[INFO] [stdout] | ++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `impl Stream>` will capture more lifetimes than possibly intended in edition 2024 [INFO] [stdout] --> src/clients/redis.rs:237:8 [INFO] [stdout] | [INFO] [stdout] 237 | ) -> impl Stream> [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see [INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds [INFO] [stdout] --> src/clients/redis.rs:233:5 [INFO] [stdout] | [INFO] [stdout] 233 | &self, [INFO] [stdout] | ^ [INFO] [stdout] = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024 [INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit [INFO] [stdout] | [INFO] [stdout] 237 | ) -> impl Stream> + use [INFO] [stdout] | +++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `impl Stream>` will capture more lifetimes than possibly intended in edition 2024 [INFO] [stdout] --> src/clients/redis.rs:253:8 [INFO] [stdout] | [INFO] [stdout] 253 | ) -> impl Stream> [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see [INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds [INFO] [stdout] --> src/clients/redis.rs:249:5 [INFO] [stdout] | [INFO] [stdout] 249 | &self, [INFO] [stdout] | ^ [INFO] [stdout] = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024 [INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit [INFO] [stdout] | [INFO] [stdout] 253 | ) -> impl Stream> + use [INFO] [stdout] | +++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `impl Stream>` will capture more lifetimes than possibly intended in edition 2024 [INFO] [stdout] --> src/clients/redis.rs:270:8 [INFO] [stdout] | [INFO] [stdout] 270 | ) -> impl Stream> [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see [INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds [INFO] [stdout] --> src/clients/redis.rs:266:5 [INFO] [stdout] | [INFO] [stdout] 266 | &self, [INFO] [stdout] | ^ [INFO] [stdout] = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024 [INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit [INFO] [stdout] | [INFO] [stdout] 270 | ) -> impl Stream> + use [INFO] [stdout] | +++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/clients/transaction.rs:164:10 [INFO] [stdout] | [INFO] [stdout] 164 | if let Some(old_slot) = utils::read_mutex(&self.state.hash_slot) { [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/clients/transaction.rs:180:7 [INFO] [stdout] | [INFO] [stdout] 180 | } 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] 164 ~ match utils::read_mutex(&self.state.hash_slot) { Some(old_slot) => { [INFO] [stdout] 165 | let (old_server, server) = self.inner.with_cluster_state(|state| { [INFO] [stdout] ... [INFO] [stdout] 179 | } [INFO] [stdout] 180 ~ } _ => { [INFO] [stdout] 181 | utils::set_mutex(&self.state.hash_slot, Some(slot)); [INFO] [stdout] 182 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/interfaces.rs:64:6 [INFO] [stdout] | [INFO] [stdout] 64 | if let Err(e) = inner.send_command(command) { [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/interfaces.rs:90:3 [INFO] [stdout] | [INFO] [stdout] 90 | } 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] 64 ~ match inner.send_command(command) { Err(e) => { [INFO] [stdout] 65 | // usually happens if the caller tries to send a command before calling `connect` or after calling `quit` [INFO] [stdout] ... [INFO] [stdout] 89 | )) [INFO] [stdout] 90 ~ } _ => { [INFO] [stdout] 91 | Ok(()) [INFO] [stdout] 92 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/interfaces.rs:68:8 [INFO] [stdout] | [INFO] [stdout] 68 | if let RouterCommand::Command(mut command) = e { [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/interfaces.rs:79:5 [INFO] [stdout] | [INFO] [stdout] 79 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 68 ~ match e { RouterCommand::Command(mut command) => { [INFO] [stdout] 69 | _warn!( [INFO] [stdout] ... [INFO] [stdout] 78 | ))); [INFO] [stdout] 79 ~ } _ => { [INFO] [stdout] 80 | _warn!( [INFO] [stdout] ... [INFO] [stdout] 83 | ); [INFO] [stdout] 84 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/interfaces.rs:123:19 [INFO] [stdout] | [INFO] [stdout] 123 | } else if let Err(e) = _self.ping::<()>().await { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^----- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/interfaces.rs:125:9 [INFO] [stdout] | [INFO] [stdout] 125 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 123 ~ } else { match _self.ping::<()>().await { Err(e) => { [INFO] [stdout] 124 | warn!("{}: Heartbeat ping failed with error: {:?}", _self.inner().id, e); [INFO] [stdout] 125 ~ } _ => {}}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/interfaces.rs:258:16 [INFO] [stdout] | [INFO] [stdout] 258 | if let Err(err) = error_fn(error) { [INFO] [stdout] | ^^^^^^^^^^^^^^^--------^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/interfaces.rs:261:13 [INFO] [stdout] | [INFO] [stdout] 261 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 258 ~ match error_fn(error) { Err(err) => { [INFO] [stdout] 259 | result = Err(err); [INFO] [stdout] 260 | break; [INFO] [stdout] 261 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/interfaces.rs:264:16 [INFO] [stdout] | [INFO] [stdout] 264 | if let Err(err) = reconnect_fn(server) { [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/interfaces.rs:267:13 [INFO] [stdout] | [INFO] [stdout] 267 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 264 ~ match reconnect_fn(server) { Err(err) => { [INFO] [stdout] 265 | result = Err(err); [INFO] [stdout] 266 | break; [INFO] [stdout] 267 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/interfaces.rs:270:16 [INFO] [stdout] | [INFO] [stdout] 270 | if let Err(err) = cluster_change_fn(changes) { [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/interfaces.rs:273:13 [INFO] [stdout] | [INFO] [stdout] 273 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 270 ~ match cluster_change_fn(changes) { Err(err) => { [INFO] [stdout] 271 | result = Err(err); [INFO] [stdout] 272 | break; [INFO] [stdout] 273 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/types/args.rs:1203:8 [INFO] [stdout] | [INFO] [stdout] 1203 | if let RedisValue::Array(mut values) = self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^---- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/types/args.rs:1205:5 [INFO] [stdout] | [INFO] [stdout] 1205 | } 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] 1203 ~ match self { RedisValue::Array(mut values) => { [INFO] [stdout] 1204 | values.pop().unwrap() [INFO] [stdout] 1205 ~ } _ => { [INFO] [stdout] 1206 | self [INFO] [stdout] 1207 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/types/args.rs:1265:8 [INFO] [stdout] | [INFO] [stdout] 1265 | if let RedisValue::Array(mut values) = self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^---- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/types/args.rs:1277:5 [INFO] [stdout] | [INFO] [stdout] 1277 | } 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] 1265 ~ match self { RedisValue::Array(mut values) => { [INFO] [stdout] 1266 | if values.len() == 3 { [INFO] [stdout] ... [INFO] [stdout] 1276 | Ok((cursor, entries.flatten_array_values(1).convert()?)) [INFO] [stdout] 1277 ~ } _ => { [INFO] [stdout] 1278 | Err(RedisError::new_parse("Expected array response.")) [INFO] [stdout] 1279 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/types/builder.rs:176:8 [INFO] [stdout] | [INFO] [stdout] 176 | if let Some(config) = self.config.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/types/builder.rs:178:5 [INFO] [stdout] | [INFO] [stdout] 178 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 176 ~ match self.config.as_mut() { Some(config) => { [INFO] [stdout] 177 | func(config); [INFO] [stdout] 178 ~ } _ => { [INFO] [stdout] 179 | let mut config = RedisConfig::default(); [INFO] [stdout] 180 | func(&mut config); [INFO] [stdout] 181 | self.config = Some(config); [INFO] [stdout] 182 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/types/builder.rs:225:8 [INFO] [stdout] | [INFO] [stdout] 225 | if let Some(config) = self.config.as_ref() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^-----------^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/types/builder.rs:232:5 [INFO] [stdout] | [INFO] [stdout] 232 | } 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] 225 ~ match self.config.as_ref() { Some(config) => { [INFO] [stdout] 226 | Ok(RedisClient::new( [INFO] [stdout] ... [INFO] [stdout] 231 | )) [INFO] [stdout] 232 ~ } _ => { [INFO] [stdout] 233 | Err(RedisError::new(RedisErrorKind::Config, "Missing client configuration.")) [INFO] [stdout] 234 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/types/builder.rs:239:8 [INFO] [stdout] | [INFO] [stdout] 239 | if let Some(config) = self.config.as_ref() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^-----------^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/types/builder.rs:247:5 [INFO] [stdout] | [INFO] [stdout] 247 | } 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] 239 ~ match self.config.as_ref() { Some(config) => { [INFO] [stdout] 240 | RedisPool::new( [INFO] [stdout] ... [INFO] [stdout] 246 | ) [INFO] [stdout] 247 ~ } _ => { [INFO] [stdout] 248 | Err(RedisError::new(RedisErrorKind::Config, "Missing client configuration.")) [INFO] [stdout] 249 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/types/builder.rs:255:8 [INFO] [stdout] | [INFO] [stdout] 255 | if let Some(config) = self.config.as_ref() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^-----------^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/types/builder.rs:263:5 [INFO] [stdout] | [INFO] [stdout] 263 | } 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] 255 ~ match self.config.as_ref() { Some(config) => { [INFO] [stdout] 256 | ExclusivePool::new( [INFO] [stdout] ... [INFO] [stdout] 262 | ) [INFO] [stdout] 263 ~ } _ => { [INFO] [stdout] 264 | Err(RedisError::new(RedisErrorKind::Config, "Missing client configuration.")) [INFO] [stdout] 265 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/types/misc.rs:485:8 [INFO] [stdout] | [INFO] [stdout] 485 | if let RedisValue::Array(values) = value { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^----- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/types/misc.rs:527:5 [INFO] [stdout] | [INFO] [stdout] 527 | } 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] 485 ~ match value { RedisValue::Array(values) => { [INFO] [stdout] 486 | if values.len() < 4 { [INFO] [stdout] ... [INFO] [stdout] 526 | }) [INFO] [stdout] 527 ~ } _ => { [INFO] [stdout] 528 | Err(RedisError::new_parse("Expected array.")) [INFO] [stdout] 529 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/types/multiple.rs:33:19 [INFO] [stdout] | [INFO] [stdout] 33 | let keys = if let Some(key) = key { vec![key] } else { vec![] }; [INFO] [stdout] | ^^^^^^^^^^^^^^^^--- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/types/multiple.rs:33:51 [INFO] [stdout] | [INFO] [stdout] 33 | let keys = if let Some(key) = key { vec![key] } else { vec![] }; [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 33 | let keys = match key { Some(key) => { vec![key] } _ => { vec![] }}; [INFO] [stdout] | ~~~~~ ++++++++++++++ ~~~~ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/_tokio.rs:65:6 [INFO] [stdout] | [INFO] [stdout] 65 | if let Err(BroadcastSendError(val)) = tx.send(msg.clone()) { [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/_tokio.rs:67:3 [INFO] [stdout] | [INFO] [stdout] 67 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 65 ~ match tx.send(msg.clone()) { Err(BroadcastSendError(val)) => { [INFO] [stdout] 66 | func(&val); [INFO] [stdout] 67 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/_tokio.rs:386:11 [INFO] [stdout] | [INFO] [stdout] 386 | while let Ok(val) = rx.recv().await { [INFO] [stdout] | ^^^^^^^^^^^^^^--------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/_tokio.rs:391:5 [INFO] [stdout] | [INFO] [stdout] 391 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/_tokio.rs:387:10 [INFO] [stdout] | [INFO] [stdout] 387 | if let Err(err) = func(val) { [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/_tokio.rs:390:7 [INFO] [stdout] | [INFO] [stdout] 390 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 387 ~ match func(val) { Err(err) => { [INFO] [stdout] 388 | result = Err(err); [INFO] [stdout] 389 | break; [INFO] [stdout] 390 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 159 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Migrating examples/transactions.rs from 2021 edition to 2024 [INFO] [stderr] warning: failed to automatically apply fixes suggested by rustc to crate `fred` [INFO] [stderr] [INFO] [stderr] after fixes were automatically applied the compiler reported errors within these files: [INFO] [stderr] [INFO] [stderr] * src/macros.rs [INFO] [stderr] * src/modules/response.rs [INFO] [stderr] * src/router/sentinel.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/macros.rs:59:6 [INFO] [stderr] | [INFO] [stderr] 59 | ($lvl:expr_2021, $($args:tt)*) => {{ [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/macros.rs:80:4 [INFO] [stderr] | [INFO] [stderr] 80 | ($expr: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/macros.rs:113:4 [INFO] [stderr] | [INFO] [stderr] 113 | ($name: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/macros.rs:116:4 [INFO] [stderr] | [INFO] [stderr] 116 | ($name:expr_2021, blocking: $blk: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/macros.rs:116:31 [INFO] [stderr] | [INFO] [stderr] 116 | ($name:expr_2021, blocking: $blk: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/macros.rs:119:4 [INFO] [stderr] | [INFO] [stderr] 119 | ($name:expr_2021, hash: $hash: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/macros.rs:119:27 [INFO] [stderr] | [INFO] [stderr] 119 | ($name:expr_2021, hash: $hash: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] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/macros.rs:59:11 [INFO] [stdout] | [INFO] [stdout] 59 | ($lvl:expr, $($args:tt)*) => {{ [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] 59 | ($lvl:expr_2021, $($args:tt)*) => {{ [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/macros.rs:80:10 [INFO] [stdout] | [INFO] [stdout] 80 | ($expr: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] 80 | ($expr:expr_2021) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/macros.rs:113:10 [INFO] [stdout] | [INFO] [stdout] 113 | ($name: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] 113 | ($name:expr_2021) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] --> src/macros.rs:122:4 [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/macros.rs:116:10 [INFO] [stdout] | [INFO] [stdout] 116 | ($name:expr, blocking: $blk: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] 116 | ($name:expr_2021, blocking: $blk:expr) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] | [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/macros.rs:116:31 [INFO] [stdout] | [INFO] [stdout] 116 | ($name:expr, blocking: $blk: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] 116 | ($name:expr, blocking: $blk:expr_2021) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] 122 | ($name:expr_2021, hash: $hash:expr_2021, blocking: $blk: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/macros.rs:122:27 [INFO] [stderr] | [INFO] [stderr] 122 | ($name:expr_2021, hash: $hash:expr_2021, blocking: $blk: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/macros.rs:122:54 [INFO] [stderr] | [INFO] [stderr] 122 | ($name:expr_2021, hash: $hash:expr_2021, blocking: $blk: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/macros.rs:128:4 [INFO] [stderr] | [INFO] [stderr] 128 | ($val:expr_2021) => { [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/macros.rs:119:10 [INFO] [stdout] | [INFO] [stdout] 119 | ($name:expr, hash: $hash: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] 119 | ($name:expr_2021, hash: $hash:expr) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/macros.rs:119:28 [INFO] [stdout] | [INFO] [stdout] 119 | ($name:expr, hash: $hash: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] 119 | ($name:expr, hash: $hash:expr_2021) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/modules/response.rs:35:4 [INFO] [stderr] | [INFO] [stderr] 35 | ($v: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/modules/response.rs:40:11 [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/macros.rs:122:10 [INFO] [stdout] | [INFO] [stdout] 122 | ($name:expr, hash: $hash:expr, blocking: $blk: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] 122 | ($name:expr_2021, hash: $hash:expr, blocking: $blk:expr) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] | [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/macros.rs:122:28 [INFO] [stdout] | [INFO] [stdout] 122 | ($name:expr, hash: $hash:expr, blocking: $blk: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] 122 | ($name:expr, hash: $hash:expr_2021, blocking: $blk:expr) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] 40 | ($t:ty, $v:expr_2021) => { [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/macros.rs:122:49 [INFO] [stdout] | [INFO] [stdout] 122 | ($name:expr, hash: $hash:expr, blocking: $blk: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] 122 | ($name:expr, hash: $hash:expr, blocking: $blk:expr_2021) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/macros.rs:128:9 [INFO] [stdout] | [INFO] [stdout] 128 | ($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] 128 | ($val:expr_2021) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] | [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/modules/response.rs:35:7 [INFO] [stdout] | [INFO] [stdout] 35 | ($v: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] 35 | ($v:expr_2021) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/modules/response.rs:40:14 [INFO] [stdout] | [INFO] [stdout] 40 | ($t:ty, $v: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] 40 | ($t:ty, $v:expr_2021) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [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/modules/response.rs:48:14 [INFO] [stdout] | [INFO] [stdout] 48 | ($t:ty, $v: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] 48 | ($t:ty, $v:expr_2021) => { [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/modules/response.rs:76:14 [INFO] [stdout] | [INFO] [stdout] 76 | ($t:ty, $v: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] 76 | ($t:ty, $v:expr_2021) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/router/sentinel.rs:37:10 [INFO] [stdout] | [INFO] [stdout] 37 | ($expr: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] 37 | ($expr:expr_2021) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/modules/response.rs:48:11 [INFO] [stderr] | [INFO] [stderr] 48 | ($t:ty, $v: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/modules/response.rs:76:11 [INFO] [stderr] | [INFO] [stderr] 76 | ($t:ty, $v: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/router/sentinel.rs:37:4 [INFO] [stderr] | [INFO] [stderr] 37 | ($expr: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 16 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: `impl Stream>` will capture more lifetimes than possibly intended in edition 2024 [INFO] [stdout] --> src/commands/impls/scan.rs:43:6 [INFO] [stdout] | [INFO] [stdout] 43 | ) -> impl Stream> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see [INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds [INFO] [stdout] --> src/commands/impls/scan.rs:39:10 [INFO] [stdout] | [INFO] [stdout] 39 | inner: &RefCount, [INFO] [stdout] | ^ [INFO] [stdout] = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024 [INFO] [stdout] = note: `--force-warn impl-trait-overcaptures` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit [INFO] [stdout] | [INFO] [stdout] 43 | ) -> impl Stream> + use<> { [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/commands/impls/scan.rs:82:8 [INFO] [stdout] | [INFO] [stdout] 82 | if let Err(e) = interfaces::default_send_command(inner, command) { [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/commands/impls/scan.rs:85:5 [INFO] [stdout] | [INFO] [stdout] 85 | } [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] 82 ~ match interfaces::default_send_command(inner, command) { Err(e) => { [INFO] [stdout] 83 | let _ = tx.send(Err(e)); [INFO] [stdout] 84 | break; [INFO] [stdout] 85 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `impl Stream>` will capture more lifetimes than possibly intended in edition 2024 [INFO] [stdout] --> src/commands/impls/scan.rs:97:6 [INFO] [stdout] | [INFO] [stdout] 97 | ) -> impl Stream> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see [INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds [INFO] [stdout] --> src/commands/impls/scan.rs:92:10 [INFO] [stdout] | [INFO] [stdout] 92 | inner: &RefCount, [INFO] [stdout] | ^ [INFO] [stdout] = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024 [INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit [INFO] [stdout] | [INFO] [stdout] 97 | ) -> impl Stream> + use<> { [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `impl Stream>` will capture more lifetimes than possibly intended in edition 2024 [INFO] [stdout] --> src/commands/impls/scan.rs:147:6 [INFO] [stdout] | [INFO] [stdout] 147 | ) -> impl Stream> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see [INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds [INFO] [stdout] --> src/commands/impls/scan.rs:143:10 [INFO] [stdout] | [INFO] [stdout] 143 | inner: &RefCount, [INFO] [stdout] | ^ [INFO] [stdout] = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024 [INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit [INFO] [stdout] | [INFO] [stdout] 147 | ) -> impl Stream> + use<> { [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `impl Stream>` will capture more lifetimes than possibly intended in edition 2024 [INFO] [stdout] --> src/commands/impls/scan.rs:177:6 [INFO] [stdout] | [INFO] [stdout] 177 | ) -> impl Stream> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see [INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds [INFO] [stdout] --> src/commands/impls/scan.rs:173:10 [INFO] [stdout] | [INFO] [stdout] 173 | inner: &RefCount, [INFO] [stdout] | ^ [INFO] [stdout] = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024 [INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit [INFO] [stdout] | [INFO] [stdout] 177 | ) -> impl Stream> + use<> { [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `impl Stream>` will capture more lifetimes than possibly intended in edition 2024 [INFO] [stdout] --> src/commands/impls/scan.rs:207:6 [INFO] [stdout] | [INFO] [stdout] 207 | ) -> impl Stream> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see [INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds [INFO] [stdout] --> src/commands/impls/scan.rs:203:10 [INFO] [stdout] | [INFO] [stdout] 203 | inner: &RefCount, [INFO] [stdout] | ^ [INFO] [stdout] = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024 [INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit [INFO] [stdout] | [INFO] [stdout] 207 | ) -> impl Stream> + use<> { [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/commands/impls/server.rs:177:21 [INFO] [stdout] | [INFO] [stdout] 177 | let mut args = if let Some((username, password)) = auth { [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/commands/impls/server.rs:179:3 [INFO] [stdout] | [INFO] [stdout] 179 | } 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] 177 ~ let mut args = match auth { Some((username, password)) => { [INFO] [stdout] 178 | vec![username.into(), password.into()] [INFO] [stdout] 179 ~ } _ => { [INFO] [stdout] 180 | vec![] [INFO] [stdout] 181 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/commands/impls/streams.rs:26:6 [INFO] [stdout] | [INFO] [stdout] 26 | if let Some((kind, trim, threshold, limit)) = cap.into_parts() { [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/commands/impls/streams.rs:34:3 [INFO] [stdout] | [INFO] [stdout] 34 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 26 ~ match cap.into_parts() { Some((kind, trim, threshold, limit)) => { [INFO] [stdout] 27 | args.push(kind.to_str().into()); [INFO] [stdout] ... [INFO] [stdout] 33 | } [INFO] [stdout] 34 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/commands/impls/streams.rs:505:10 [INFO] [stdout] | [INFO] [stdout] 505 | if let Some(consumer) = consumer { [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/commands/impls/streams.rs:507:7 [INFO] [stdout] | [INFO] [stdout] 507 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 505 ~ match consumer { Some(consumer) => { [INFO] [stdout] 506 | args.push(consumer.into()); [INFO] [stdout] 507 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/modules/backchannel.rs:159:8 [INFO] [stdout] | [INFO] [stdout] 159 | if let Some(ref mut transport) = self.transport { [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/modules/backchannel.rs:173:5 [INFO] [stdout] | [INFO] [stdout] 173 | } 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] 159 ~ match self.transport { Some(ref mut transport) => { [INFO] [stdout] 160 | _debug!( [INFO] [stdout] ... [INFO] [stdout] 172 | .await [INFO] [stdout] 173 ~ } _ => { [INFO] [stdout] 174 | Err(RedisError::new( [INFO] [stdout] ... [INFO] [stdout] 177 | )) [INFO] [stdout] 178 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/modules/backchannel.rs:197:10 [INFO] [stdout] | [INFO] [stdout] 197 | if let Some(server) = self.blocked.as_ref() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^------------^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/modules/backchannel.rs:199:7 [INFO] [stdout] | [INFO] [stdout] 199 | } 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] 197 ~ match self.blocked.as_ref() { Some(server) => { [INFO] [stdout] 198 | Ok(server.clone()) [INFO] [stdout] 199 ~ } _ => { [INFO] [stdout] 200 | // should this be more relaxed? [INFO] [stdout] 201 | Err(RedisError::new(RedisErrorKind::Unknown, "No connections are blocked.")) [INFO] [stdout] 202 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/modules/inner.rs:299:8 [INFO] [stdout] | [INFO] [stdout] 299 | if let ServerKind::Cluster { ref mut cache, .. } = *self { [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/modules/inner.rs:301:5 [INFO] [stdout] | [INFO] [stdout] 301 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 299 ~ match *self { ServerKind::Cluster { ref mut cache, .. } => { [INFO] [stdout] 300 | *cache = state; [INFO] [stdout] 301 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/modules/inner.rs:305:8 [INFO] [stdout] | [INFO] [stdout] 305 | if let ServerKind::Cluster { ref cache, .. } = *self { [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/modules/inner.rs:310:5 [INFO] [stdout] | [INFO] [stdout] 310 | } 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] 305 ~ match *self { ServerKind::Cluster { ref cache, .. } => { [INFO] [stdout] 306 | cache [INFO] [stdout] ... [INFO] [stdout] 309 | .unwrap_or(1) [INFO] [stdout] 310 ~ } _ => { [INFO] [stdout] 311 | 1 [INFO] [stdout] 312 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/modules/inner.rs:319:8 [INFO] [stdout] | [INFO] [stdout] 319 | if let ServerKind::Cluster { ref cache, .. } = *self { [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/modules/inner.rs:328:5 [INFO] [stdout] | [INFO] [stdout] 328 | } 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] 319 ~ match *self { ServerKind::Cluster { ref cache, .. } => { [INFO] [stdout] 320 | if let Some(state) = cache.as_ref() { [INFO] [stdout] ... [INFO] [stdout] 327 | } [INFO] [stdout] 328 ~ } _ => { [INFO] [stdout] 329 | Err(RedisError::new( [INFO] [stdout] ... [INFO] [stdout] 332 | )) [INFO] [stdout] 333 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/modules/inner.rs:337:8 [INFO] [stdout] | [INFO] [stdout] 337 | if let ServerKind::Sentinel { ref mut primary, .. } = *self { [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/modules/inner.rs:339:5 [INFO] [stdout] | [INFO] [stdout] 339 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 337 ~ match *self { ServerKind::Sentinel { ref mut primary, .. } => { [INFO] [stdout] 338 | *primary = Some(server.clone()); [INFO] [stdout] 339 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/modules/inner.rs:343:8 [INFO] [stdout] | [INFO] [stdout] 343 | if let ServerKind::Sentinel { ref primary, .. } = *self { [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/modules/inner.rs:345:5 [INFO] [stdout] | [INFO] [stdout] 345 | } 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] 343 ~ match *self { ServerKind::Sentinel { ref primary, .. } => { [INFO] [stdout] 344 | primary.clone() [INFO] [stdout] 345 ~ } _ => { [INFO] [stdout] 346 | None [INFO] [stdout] 347 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/modules/inner.rs:351:8 [INFO] [stdout] | [INFO] [stdout] 351 | if let ServerKind::Sentinel { [INFO] [stdout] | ________^ [INFO] [stdout] 352 | | ref mut sentinels, [INFO] [stdout] 353 | | ref mut primary, [INFO] [stdout] 354 | | .. [INFO] [stdout] 355 | | } = *self [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/modules/inner.rs:359:5 [INFO] [stdout] | [INFO] [stdout] 359 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 351 ~ match *self [INFO] [stdout] 352 ~ { ServerKind::Sentinel { [INFO] [stdout] 353 + ref mut sentinels, [INFO] [stdout] 354 + ref mut primary, [INFO] [stdout] 355 + .. [INFO] [stdout] 356 ~ } => { [INFO] [stdout] 357 | *primary = Some(server.clone()); [INFO] [stdout] 358 | *sentinels = nodes; [INFO] [stdout] 359 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/modules/inner.rs:363:8 [INFO] [stdout] | [INFO] [stdout] 363 | if let ServerKind::Sentinel { ref sentinels, .. } = *self { [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/modules/inner.rs:372:5 [INFO] [stdout] | [INFO] [stdout] 372 | } 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] 363 ~ match *self { ServerKind::Sentinel { ref sentinels, .. } => { [INFO] [stdout] 364 | if sentinels.is_empty() { [INFO] [stdout] ... [INFO] [stdout] 371 | } [INFO] [stdout] 372 ~ } _ => { [INFO] [stdout] 373 | None [INFO] [stdout] 374 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/modules/inner.rs:749:8 [INFO] [stdout] | [INFO] [stdout] 749 | if let Err(_) = interfaces::send_to_router(self, cmd) { [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/modules/inner.rs:751:5 [INFO] [stdout] | [INFO] [stdout] 751 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 749 ~ match interfaces::send_to_router(self, cmd) { Err(_) => { [INFO] [stdout] 750 | warn!("{}: Error sending reconnect command to router.", self.id); [INFO] [stdout] 751 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/modules/inner.rs:773:8 [INFO] [stdout] | [INFO] [stdout] 773 | if let Some(policy) = self.policy.write().deref_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/modules/inner.rs:775:5 [INFO] [stdout] | [INFO] [stdout] 775 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 773 ~ match self.policy.write().deref_mut() { Some(policy) => { [INFO] [stdout] 774 | policy.reset_attempts(); [INFO] [stdout] 775 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/modules/response.rs:295:8 [INFO] [stdout] | [INFO] [stdout] 295 | if let Some(val) = value.as_bool() { [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/modules/response.rs:297:5 [INFO] [stdout] | [INFO] [stdout] 297 | } 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] 295 ~ match value.as_bool() { Some(val) => { [INFO] [stdout] 296 | Ok(val) [INFO] [stdout] 297 ~ } _ => { [INFO] [stdout] 298 | // it's not obvious how to convert the value to a bool in this block, so we go with a [INFO] [stdout] ... [INFO] [stdout] 305 | }) [INFO] [stdout] 306 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/modules/response.rs:317:8 [INFO] [stdout] | [INFO] [stdout] 317 | if let Some(0) = value.array_len() { [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/modules/response.rs:319:5 [INFO] [stdout] | [INFO] [stdout] 319 | } else if value.is_null() { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 317 ~ match value.array_len() { Some(0) => { [INFO] [stdout] 318 | Ok(None) [INFO] [stdout] 319 ~ } _ => if value.is_null() { [INFO] [stdout] 320 | Ok(None) [INFO] [stdout] 321 | } else { [INFO] [stdout] 322 | Ok(Some(T::from_value(value)?)) [INFO] [stdout] 323 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/modules/response.rs:360:14 [INFO] [stdout] | [INFO] [stdout] 360 | if let RedisValue::Array(_) = &values[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/modules/response.rs:362:11 [INFO] [stdout] | [INFO] [stdout] 362 | } 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] 360 ~ match &values[0] { RedisValue::Array(_) => { [INFO] [stdout] 361 | values.into_iter().map(|x| T::from_value(x)).collect() [INFO] [stdout] 362 ~ } _ => { [INFO] [stdout] 363 | T::from_values(values) [INFO] [stdout] 364 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/modules/response.rs:500:12 [INFO] [stdout] | [INFO] [stdout] 500 | if let RedisValue::Array(mut values) = v { [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] 549 | impl_from_redis_tuple! { T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, } [INFO] [stdout] | ----------------------------------------------------------------------------- in this macro invocation [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/modules/response.rs:515:9 [INFO] [stdout] | [INFO] [stdout] 515 | }else{ [INFO] [stdout] | ^ [INFO] [stdout] ... [INFO] [stdout] 549 | impl_from_redis_tuple! { T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, } [INFO] [stdout] | ----------------------------------------------------------------------------- in this macro invocation [INFO] [stdout] = note: this warning originates in the macro `impl_from_redis_tuple` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/modules/response.rs:500:12 [INFO] [stdout] | [INFO] [stdout] 500 | if let RedisValue::Array(mut values) = v { [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] 549 | impl_from_redis_tuple! { T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, } [INFO] [stdout] | ----------------------------------------------------------------------------- in this macro invocation [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/modules/response.rs:515:9 [INFO] [stdout] | [INFO] [stdout] 515 | }else{ [INFO] [stdout] | ^ [INFO] [stdout] ... [INFO] [stdout] 549 | impl_from_redis_tuple! { T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, } [INFO] [stdout] | ----------------------------------------------------------------------------- in this macro invocation [INFO] [stdout] = note: this warning originates in the macro `impl_from_redis_tuple` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/modules/response.rs:500:12 [INFO] [stdout] | [INFO] [stdout] 500 | if let RedisValue::Array(mut values) = v { [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] 549 | impl_from_redis_tuple! { T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, } [INFO] [stdout] | ----------------------------------------------------------------------------- in this macro invocation [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/modules/response.rs:515:9 [INFO] [stdout] | [INFO] [stdout] 515 | }else{ [INFO] [stdout] | ^ [INFO] [stdout] ... [INFO] [stdout] 549 | impl_from_redis_tuple! { T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, } [INFO] [stdout] | ----------------------------------------------------------------------------- in this macro invocation [INFO] [stdout] = note: this warning originates in the macro `impl_from_redis_tuple` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/modules/response.rs:500:12 [INFO] [stdout] | [INFO] [stdout] 500 | if let RedisValue::Array(mut values) = v { [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] 549 | impl_from_redis_tuple! { T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, } [INFO] [stdout] | ----------------------------------------------------------------------------- in this macro invocation [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/modules/response.rs:515:9 [INFO] [stdout] | [INFO] [stdout] 515 | }else{ [INFO] [stdout] | ^ [INFO] [stdout] ... [INFO] [stdout] 549 | impl_from_redis_tuple! { T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, } [INFO] [stdout] | ----------------------------------------------------------------------------- in this macro invocation [INFO] [stdout] = note: this warning originates in the macro `impl_from_redis_tuple` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/modules/response.rs:500:12 [INFO] [stdout] | [INFO] [stdout] 500 | if let RedisValue::Array(mut values) = v { [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] 549 | impl_from_redis_tuple! { T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, } [INFO] [stdout] | ----------------------------------------------------------------------------- in this macro invocation [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/modules/response.rs:515:9 [INFO] [stdout] | [INFO] [stdout] 515 | }else{ [INFO] [stdout] | ^ [INFO] [stdout] ... [INFO] [stdout] 549 | impl_from_redis_tuple! { T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, } [INFO] [stdout] | ----------------------------------------------------------------------------- in this macro invocation [INFO] [stdout] = note: this warning originates in the macro `impl_from_redis_tuple` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/modules/response.rs:500:12 [INFO] [stdout] | [INFO] [stdout] 500 | if let RedisValue::Array(mut values) = v { [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] 549 | impl_from_redis_tuple! { T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, } [INFO] [stdout] | ----------------------------------------------------------------------------- in this macro invocation [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/modules/response.rs:515:9 [INFO] [stdout] | [INFO] [stdout] 515 | }else{ [INFO] [stdout] | ^ [INFO] [stdout] ... [INFO] [stdout] 549 | impl_from_redis_tuple! { T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, } [INFO] [stdout] | ----------------------------------------------------------------------------- in this macro invocation [INFO] [stdout] = note: this warning originates in the macro `impl_from_redis_tuple` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/modules/response.rs:500:12 [INFO] [stdout] | [INFO] [stdout] 500 | if let RedisValue::Array(mut values) = v { [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] 549 | impl_from_redis_tuple! { T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, } [INFO] [stdout] | ----------------------------------------------------------------------------- in this macro invocation [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/modules/response.rs:515:9 [INFO] [stdout] | [INFO] [stdout] 515 | }else{ [INFO] [stdout] | ^ [INFO] [stdout] ... [INFO] [stdout] 549 | impl_from_redis_tuple! { T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, } [INFO] [stdout] | ----------------------------------------------------------------------------- in this macro invocation [INFO] [stdout] = note: this warning originates in the macro `impl_from_redis_tuple` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/modules/response.rs:500:12 [INFO] [stdout] | [INFO] [stdout] 500 | if let RedisValue::Array(mut values) = v { [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] 549 | impl_from_redis_tuple! { T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, } [INFO] [stdout] | ----------------------------------------------------------------------------- in this macro invocation [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/modules/response.rs:515:9 [INFO] [stdout] | [INFO] [stdout] 515 | }else{ [INFO] [stdout] | ^ [INFO] [stdout] ... [INFO] [stdout] 549 | impl_from_redis_tuple! { T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, } [INFO] [stdout] | ----------------------------------------------------------------------------- in this macro invocation [INFO] [stdout] = note: this warning originates in the macro `impl_from_redis_tuple` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/modules/response.rs:500:12 [INFO] [stdout] | [INFO] [stdout] 500 | if let RedisValue::Array(mut values) = v { [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] 549 | impl_from_redis_tuple! { T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, } [INFO] [stdout] | ----------------------------------------------------------------------------- in this macro invocation [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/modules/response.rs:515:9 [INFO] [stdout] | [INFO] [stdout] 515 | }else{ [INFO] [stdout] | ^ [INFO] [stdout] ... [INFO] [stdout] 549 | impl_from_redis_tuple! { T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, } [INFO] [stdout] | ----------------------------------------------------------------------------- in this macro invocation [INFO] [stdout] = note: this warning originates in the macro `impl_from_redis_tuple` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/modules/response.rs:500:12 [INFO] [stdout] | [INFO] [stdout] 500 | if let RedisValue::Array(mut values) = v { [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] 549 | impl_from_redis_tuple! { T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, } [INFO] [stdout] | ----------------------------------------------------------------------------- in this macro invocation [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/modules/response.rs:515:9 [INFO] [stdout] | [INFO] [stdout] 515 | }else{ [INFO] [stdout] | ^ [INFO] [stdout] ... [INFO] [stdout] 549 | impl_from_redis_tuple! { T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, } [INFO] [stdout] | ----------------------------------------------------------------------------- in this macro invocation [INFO] [stdout] = note: this warning originates in the macro `impl_from_redis_tuple` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/modules/response.rs:500:12 [INFO] [stdout] | [INFO] [stdout] 500 | if let RedisValue::Array(mut values) = v { [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] 549 | impl_from_redis_tuple! { T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, } [INFO] [stdout] | ----------------------------------------------------------------------------- in this macro invocation [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/modules/response.rs:515:9 [INFO] [stdout] | [INFO] [stdout] 515 | }else{ [INFO] [stdout] | ^ [INFO] [stdout] ... [INFO] [stdout] 549 | impl_from_redis_tuple! { T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, } [INFO] [stdout] | ----------------------------------------------------------------------------- in this macro invocation [INFO] [stdout] = note: this warning originates in the macro `impl_from_redis_tuple` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/modules/response.rs:500:12 [INFO] [stdout] | [INFO] [stdout] 500 | if let RedisValue::Array(mut values) = v { [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] 549 | impl_from_redis_tuple! { T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, } [INFO] [stdout] | ----------------------------------------------------------------------------- in this macro invocation [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/modules/response.rs:515:9 [INFO] [stdout] | [INFO] [stdout] 515 | }else{ [INFO] [stdout] | ^ [INFO] [stdout] ... [INFO] [stdout] 549 | impl_from_redis_tuple! { T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, } [INFO] [stdout] | ----------------------------------------------------------------------------- in this macro invocation [INFO] [stdout] = note: this warning originates in the macro `impl_from_redis_tuple` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/protocol/codec.rs:83:6 [INFO] [stdout] | [INFO] [stdout] 83 | if let Some((frame, amt, _)) = resp2_decode(src)? { [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/protocol/codec.rs:89:3 [INFO] [stdout] | [INFO] [stdout] 89 | } 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] 83 ~ match resp2_decode(src)? { Some((frame, amt, _)) => { [INFO] [stdout] 84 | trace!("{}: Parsed {} bytes from {}", codec.name, amt, codec.server); [INFO] [stdout] ... [INFO] [stdout] 88 | Ok(Some(protocol_utils::check_resp2_auth_error(codec, frame))) [INFO] [stdout] 89 ~ } _ => { [INFO] [stdout] 90 | Ok(None) [INFO] [stdout] 91 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/protocol/codec.rs:124:6 [INFO] [stdout] | [INFO] [stdout] 124 | if let Some((frame, amt, _)) = resp3_decode(src)? { [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/protocol/codec.rs:167:3 [INFO] [stdout] | [INFO] [stdout] 167 | } 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] 124 ~ match resp3_decode(src)? { Some((frame, amt, _)) => { [INFO] [stdout] 125 | sample_stats(codec, true, amt as i64); [INFO] [stdout] ... [INFO] [stdout] 166 | Ok(result) [INFO] [stdout] 167 ~ } _ => { [INFO] [stdout] 168 | Ok(None) [INFO] [stdout] 169 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/protocol/codec.rs:134:21 [INFO] [stdout] | [INFO] [stdout] 134 | let result = if let Some(ref mut streamed_frame) = codec.streaming_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/protocol/codec.rs:148:5 [INFO] [stdout] | [INFO] [stdout] 148 | } 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] 134 ~ let result = match codec.streaming_state { Some(ref mut streamed_frame) => { [INFO] [stdout] 135 | // we started receiving streamed data earlier [INFO] [stdout] ... [INFO] [stdout] 147 | } [INFO] [stdout] 148 ~ } _ => { [INFO] [stdout] 149 | // we're processing a complete frame or starting a new streamed frame [INFO] [stdout] ... [INFO] [stdout] 160 | } [INFO] [stdout] 161 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/protocol/command.rs:1904:8 [INFO] [stdout] | [INFO] [stdout] 1904 | if let Some(mut tx) = self.router_tx.lock().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/protocol/command.rs:1908:5 [INFO] [stdout] | [INFO] [stdout] 1908 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1904 ~ match self.router_tx.lock().take() { Some(mut tx) => { [INFO] [stdout] 1905 | if tx.send(cmd).is_err() { [INFO] [stdout] 1906 | _debug!(inner, "Failed to unblock router loop."); [INFO] [stdout] 1907 | } [INFO] [stdout] 1908 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/protocol/command.rs:2005:8 [INFO] [stdout] | [INFO] [stdout] 2005 | if let Some(mut tx) = self.take_responder() { [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/protocol/command.rs:2007:5 [INFO] [stdout] | [INFO] [stdout] 2007 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 2005 ~ match self.take_responder() { Some(mut tx) => { [INFO] [stdout] 2006 | let _ = tx.send(result); [INFO] [stdout] 2007 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/protocol/command.rs:2178:12 [INFO] [stdout] | [INFO] [stdout] 2178 | if let Err(_) = tx.send(Err(error)) { [INFO] [stdout] | ^^^^^^^^^^^^^------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/protocol/command.rs:2180:9 [INFO] [stdout] | [INFO] [stdout] 2180 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 2178 ~ match tx.send(Err(error)) { Err(_) => { [INFO] [stdout] 2179 | warn!("Error responding early to transaction."); [INFO] [stdout] 2180 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/protocol/command.rs:2183:12 [INFO] [stdout] | [INFO] [stdout] 2183 | if let Err(_) = tx.send(Err(error)) { [INFO] [stdout] | ^^^^^^^^^^^^^------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/protocol/command.rs:2185:9 [INFO] [stdout] | [INFO] [stdout] 2185 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 2183 ~ match tx.send(Err(error)) { Err(_) => { [INFO] [stdout] 2184 | warn!("Error responding early to reconnect command."); [INFO] [stdout] 2185 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/protocol/connection.rs:120:11 [INFO] [stdout] | [INFO] [stdout] 120 | while let Some(cmd) = self.inner.pop() { [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/protocol/connection.rs:122:5 [INFO] [stdout] | [INFO] [stdout] 122 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/protocol/connection.rs:754:8 [INFO] [stdout] | [INFO] [stdout] 754 | if let Some(e) = protocol_utils::frame_to_error(&response) { [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/protocol/connection.rs:756:5 [INFO] [stdout] | [INFO] [stdout] 756 | } 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] 754 ~ match protocol_utils::frame_to_error(&response) { Some(e) => { [INFO] [stdout] 755 | Err(e) [INFO] [stdout] 756 ~ } _ => { [INFO] [stdout] 757 | Ok(()) [INFO] [stdout] 758 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/protocol/connection.rs:784:8 [INFO] [stdout] | [INFO] [stdout] 784 | if let Some(error) = protocol_utils::frame_to_error(&response) { [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/protocol/connection.rs:786:5 [INFO] [stdout] | [INFO] [stdout] 786 | } 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] 784 ~ match protocol_utils::frame_to_error(&response) { Some(error) => { [INFO] [stdout] 785 | Err(error) [INFO] [stdout] 786 ~ } _ => { [INFO] [stdout] 787 | Ok(()) [INFO] [stdout] 788 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/protocol/connection.rs:955:8 [INFO] [stdout] | [INFO] [stdout] 955 | if let Some(ref mut task) = self.task { [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/protocol/connection.rs:957:5 [INFO] [stdout] | [INFO] [stdout] 957 | } 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] 955 ~ match self.task { Some(ref mut task) => { [INFO] [stdout] 956 | task.await? [INFO] [stdout] 957 ~ } _ => { [INFO] [stdout] 958 | Ok(()) [INFO] [stdout] 959 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/protocol/responders.rs:158:8 [INFO] [stdout] | [INFO] [stdout] 158 | if let Some(tx) = self.take_response_tx() { [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/protocol/responders.rs:160:5 [INFO] [stdout] | [INFO] [stdout] 160 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 158 ~ match self.take_response_tx() { Some(tx) => { [INFO] [stdout] 159 | let _ = tx.send(Err(error)); [INFO] [stdout] 160 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/protocol/responders.rs:217:6 [INFO] [stdout] | [INFO] [stdout] 217 | if let Some(tx) = tx.lock().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/protocol/responders.rs:221:3 [INFO] [stdout] | [INFO] [stdout] 221 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 217 ~ match tx.lock().take() { Some(tx) => { [INFO] [stdout] 218 | if let Err(_) = tx.send(result) { [INFO] [stdout] 219 | _debug!(inner, "Error responding to caller."); [INFO] [stdout] 220 | } [INFO] [stdout] 221 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/protocol/responders.rs:218:8 [INFO] [stdout] | [INFO] [stdout] 218 | if let Err(_) = tx.send(result) { [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/protocol/responders.rs:220:5 [INFO] [stdout] | [INFO] [stdout] 220 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 218 ~ match tx.send(result) { Err(_) => { [INFO] [stdout] 219 | _debug!(inner, "Error responding to caller."); [INFO] [stdout] 220 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/protocol/responders.rs:275:6 [INFO] [stdout] | [INFO] [stdout] 275 | if let Resp3Frame::Array { mut data, .. } = frame { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^----- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/protocol/responders.rs:317:3 [INFO] [stdout] | [INFO] [stdout] 317 | } 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] 275 ~ match frame { Resp3Frame::Array { mut data, .. } => { [INFO] [stdout] 276 | if data.len() == 2 { [INFO] [stdout] ... [INFO] [stdout] 316 | } [INFO] [stdout] 317 ~ } _ => { [INFO] [stdout] 318 | Err(RedisError::new( [INFO] [stdout] ... [INFO] [stdout] 321 | )) [INFO] [stdout] 322 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/protocol/responders.rs:287:10 [INFO] [stdout] | [INFO] [stdout] 287 | if let Some(Resp3Frame::Array { data, .. }) = data.pop() { [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/protocol/responders.rs:305:7 [INFO] [stdout] | [INFO] [stdout] 305 | } 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] 287 ~ match data.pop() { Some(Resp3Frame::Array { data, .. }) => { [INFO] [stdout] 288 | let mut keys = Vec::with_capacity(data.len()); [INFO] [stdout] ... [INFO] [stdout] 304 | Ok((cursor, keys)) [INFO] [stdout] 305 ~ } _ => { [INFO] [stdout] 306 | Err(RedisError::new( [INFO] [stdout] ... [INFO] [stdout] 309 | )) [INFO] [stdout] 310 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/protocol/responders.rs:327:6 [INFO] [stdout] | [INFO] [stdout] 327 | if let Resp3Frame::Array { mut data, .. } = frame { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^----- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/protocol/responders.rs:359:3 [INFO] [stdout] | [INFO] [stdout] 359 | } 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] 327 ~ match frame { Resp3Frame::Array { mut data, .. } => { [INFO] [stdout] 328 | if data.len() == 2 { [INFO] [stdout] ... [INFO] [stdout] 358 | } [INFO] [stdout] 359 ~ } _ => { [INFO] [stdout] 360 | Err(RedisError::new(RedisErrorKind::Protocol, "Expected bulk string array.")) [INFO] [stdout] 361 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/protocol/responders.rs:339:10 [INFO] [stdout] | [INFO] [stdout] 339 | if let Some(Resp3Frame::Array { data, .. }) = data.pop() { [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/protocol/responders.rs:347:7 [INFO] [stdout] | [INFO] [stdout] 347 | } 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] 339 ~ match data.pop() { Some(Resp3Frame::Array { data, .. }) => { [INFO] [stdout] 340 | let mut values = Vec::with_capacity(data.len()); [INFO] [stdout] ... [INFO] [stdout] 346 | Ok((cursor, values)) [INFO] [stdout] 347 ~ } _ => { [INFO] [stdout] 348 | Err(RedisError::new( [INFO] [stdout] ... [INFO] [stdout] 351 | )) [INFO] [stdout] 352 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/protocol/responders.rs:384:10 [INFO] [stdout] | [INFO] [stdout] 384 | if let Err(_) = tx.send(Ok(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/protocol/responders.rs:386:7 [INFO] [stdout] | [INFO] [stdout] 386 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 384 ~ match tx.send(Ok(state)) { Err(_) => { [INFO] [stdout] 385 | _warn!(inner, "Failed to send ZSCAN result to caller"); [INFO] [stdout] 386 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/protocol/responders.rs:398:10 [INFO] [stdout] | [INFO] [stdout] 398 | if let Err(_) = tx.send(Ok(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/protocol/responders.rs:400:7 [INFO] [stdout] | [INFO] [stdout] 400 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 398 ~ match tx.send(Ok(state)) { Err(_) => { [INFO] [stdout] 399 | _warn!(inner, "Failed to send SSCAN result to caller"); [INFO] [stdout] 400 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/protocol/responders.rs:413:10 [INFO] [stdout] | [INFO] [stdout] 413 | if let Err(_) = tx.send(Ok(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/protocol/responders.rs:415:7 [INFO] [stdout] | [INFO] [stdout] 415 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 413 ~ match tx.send(Ok(state)) { Err(_) => { [INFO] [stdout] 414 | _warn!(inner, "Failed to send HSCAN result to caller"); [INFO] [stdout] 415 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/protocol/responders.rs:613:8 [INFO] [stdout] | [INFO] [stdout] 613 | if let Err(_) = scan_stream.send(Err(e)) { [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/protocol/responders.rs:615:5 [INFO] [stdout] | [INFO] [stdout] 615 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 613 ~ match scan_stream.send(Err(e)) { Err(_) => { [INFO] [stdout] 614 | _warn!(inner, "Error sending scan result."); [INFO] [stdout] 615 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/protocol/utils.rs:303:6 [INFO] [stdout] | [INFO] [stdout] 303 | if let Ok(s) = Str::from_inner(data.clone()) { [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/protocol/utils.rs:305:3 [INFO] [stdout] | [INFO] [stdout] 305 | } 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] 303 ~ match Str::from_inner(data.clone()) { Ok(s) => { [INFO] [stdout] 304 | RedisValue::String(s) [INFO] [stdout] 305 ~ } _ => { [INFO] [stdout] 306 | RedisValue::Bytes(data) [INFO] [stdout] 307 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/protocol/utils.rs:685:6 [INFO] [stdout] | [INFO] [stdout] 685 | if let RedisValue::Array(values) = value { [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/protocol/utils.rs:697:3 [INFO] [stdout] | [INFO] [stdout] 697 | } 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] 685 ~ match value { RedisValue::Array(values) => { [INFO] [stdout] 686 | let mut out = Vec::with_capacity(values.len()); [INFO] [stdout] ... [INFO] [stdout] 696 | RedisValue::Array(out) [INFO] [stdout] 697 ~ } _ => { [INFO] [stdout] 698 | value [INFO] [stdout] 699 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/protocol/utils.rs:689:10 [INFO] [stdout] | [INFO] [stdout] 689 | if let RedisValue::Array(flattened) = flattened { [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/protocol/utils.rs:691:7 [INFO] [stdout] | [INFO] [stdout] 691 | } 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] 689 ~ match flattened { RedisValue::Array(flattened) => { [INFO] [stdout] 690 | out.extend(flattened); [INFO] [stdout] 691 ~ } _ => { [INFO] [stdout] 692 | out.push(flattened); [INFO] [stdout] 693 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/protocol/utils.rs:706:6 [INFO] [stdout] | [INFO] [stdout] 706 | if let RedisValue::Array(mut values) = value { [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/protocol/utils.rs:734:3 [INFO] [stdout] | [INFO] [stdout] 734 | } 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] 706 ~ match value { RedisValue::Array(mut values) => { [INFO] [stdout] 707 | if values.is_empty() { [INFO] [stdout] ... [INFO] [stdout] 733 | Ok(out) [INFO] [stdout] 734 ~ } _ => { [INFO] [stdout] 735 | Err(RedisError::new( [INFO] [stdout] ... [INFO] [stdout] 738 | )) [INFO] [stdout] 739 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/router/mod.rs:292:12 [INFO] [stdout] | [INFO] [stdout] 292 | if let Some(writer) = writer.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/router/mod.rs:295:9 [INFO] [stdout] | [INFO] [stdout] 295 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 292 ~ match writer.take() { Some(writer) => { [INFO] [stdout] 293 | _debug!(inner, "Disconnecting from {}", writer.server); [INFO] [stdout] 294 | writer.graceful_close().await [INFO] [stdout] 295 ~ } _ => { [INFO] [stdout] 296 | Vec::new() [INFO] [stdout] 297 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/router/mod.rs:303:14 [INFO] [stdout] | [INFO] [stdout] 303 | if let Some(writer) = writers.remove(server) { [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/router/mod.rs:307:11 [INFO] [stdout] | [INFO] [stdout] 307 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 303 ~ match writers.remove(server) { Some(writer) => { [INFO] [stdout] 304 | _debug!(inner, "Disconnecting from {}", writer.server); [INFO] [stdout] 305 | let commands = writer.graceful_close().await; [INFO] [stdout] 306 | out.extend(commands); [INFO] [stdout] 307 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/router/mod.rs:312:12 [INFO] [stdout] | [INFO] [stdout] 312 | if let Some(writer) = writer.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/router/mod.rs:315:9 [INFO] [stdout] | [INFO] [stdout] 315 | } 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] 312 ~ match writer.take() { Some(writer) => { [INFO] [stdout] 313 | _debug!(inner, "Disconnecting from {}", writer.server); [INFO] [stdout] 314 | writer.graceful_close().await [INFO] [stdout] 315 ~ } _ => { [INFO] [stdout] 316 | Vec::new() [INFO] [stdout] 317 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/router/mod.rs:326:12 [INFO] [stdout] | [INFO] [stdout] 326 | if let Some(writer) = writer.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/router/mod.rs:329:9 [INFO] [stdout] | [INFO] [stdout] 329 | } 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] 326 ~ match writer.take() { Some(writer) => { [INFO] [stdout] 327 | _debug!(inner, "Disconnecting from {}", writer.server); [INFO] [stdout] 328 | writer.graceful_close().await [INFO] [stdout] 329 ~ } _ => { [INFO] [stdout] 330 | Vec::new() [INFO] [stdout] 331 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/router/mod.rs:343:12 [INFO] [stdout] | [INFO] [stdout] 343 | if let Some(writer) = writer.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/router/mod.rs:346:9 [INFO] [stdout] | [INFO] [stdout] 346 | } 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] 343 ~ match writer.take() { Some(writer) => { [INFO] [stdout] 344 | _debug!(inner, "Disconnecting from {}", writer.server); [INFO] [stdout] 345 | writer.graceful_close().await [INFO] [stdout] 346 ~ } _ => { [INFO] [stdout] 347 | Vec::new() [INFO] [stdout] 348 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/router/mod.rs:431:10 [INFO] [stdout] | [INFO] [stdout] 431 | if let Err(error) = clustered::send_all_cluster_command(inner, writers, command).await { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^----- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/router/mod.rs:433:7 [INFO] [stdout] | [INFO] [stdout] 433 | } 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] 431 ~ match clustered::send_all_cluster_command(inner, writers, command).await { Err(error) => { [INFO] [stdout] 432 | Written::Disconnected((None, None, error)) [INFO] [stdout] 433 ~ } _ => { [INFO] [stdout] 434 | Written::SentAll [INFO] [stdout] 435 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/router/mod.rs:671:8 [INFO] [stdout] | [INFO] [stdout] 671 | if let Err(err) = writer.write_frame(frame, true, no_incr).await { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^----- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/router/mod.rs:673:5 [INFO] [stdout] | [INFO] [stdout] 673 | } 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] 671 ~ match writer.write_frame(frame, true, no_incr).await { Err(err) => { [INFO] [stdout] 672 | Written::Disconnected((Some(writer.server.clone()), None, err)) [INFO] [stdout] 673 ~ } _ => { [INFO] [stdout] 674 | if blocks_connection { [INFO] [stdout] ... [INFO] [stdout] 677 | Written::Sent((writer.server.clone(), true)) [INFO] [stdout] 678 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/router/mod.rs:822:11 [INFO] [stdout] | [INFO] [stdout] 822 | while let Some(mut command) = commands.pop_front() { [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/router/mod.rs:887:5 [INFO] [stdout] | [INFO] [stdout] 887 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/router/centralized.rs:73:10 [INFO] [stdout] | [INFO] [stdout] 73 | if let Some(frame) = responses::check_pubsub_message(&inner, &server, 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/router/centralized.rs:79:7 [INFO] [stdout] | [INFO] [stdout] 79 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 73 ~ match responses::check_pubsub_message(&inner, &server, frame) { Some(frame) => { [INFO] [stdout] 74 | if let Err(e) = process_response_frame(&inner, &server, &buffer, &counters, frame).await { [INFO] [stdout] ... [INFO] [stdout] 78 | } [INFO] [stdout] 79 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/router/centralized.rs:74:12 [INFO] [stdout] | [INFO] [stdout] 74 | if let Err(e) = process_response_frame(&inner, &server, &buffer, &counters, frame).await { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^----- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/router/centralized.rs:78:9 [INFO] [stdout] | [INFO] [stdout] 78 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 74 ~ match process_response_frame(&inner, &server, &buffer, &counters, frame).await { Err(e) => { [INFO] [stdout] 75 | _debug!(inner, "Error processing response frame from {}: {:?}", server, e); [INFO] [stdout] 76 | last_error = Some(e); [INFO] [stdout] 77 | break; [INFO] [stdout] 78 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/router/centralized.rs:147:8 [INFO] [stdout] | [INFO] [stdout] 147 | if let Some(error) = protocol_utils::frame_to_error(&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/router/centralized.rs:153:5 [INFO] [stdout] | [INFO] [stdout] 153 | } else if command.kind.ends_transaction() { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 147 ~ match protocol_utils::frame_to_error(&frame) { Some(error) => { [INFO] [stdout] 148 | #[allow(unused_mut)] [INFO] [stdout] ... [INFO] [stdout] 152 | return Ok(()); [INFO] [stdout] 153 ~ } _ => if command.kind.ends_transaction() { [INFO] [stdout] 154 | command.respond_to_router(inner, RouterResponse::TransactionResult(frame)); [INFO] [stdout] ... [INFO] [stdout] 158 | return Ok(()); [INFO] [stdout] 159 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/router/clustered.rs:31:6 [INFO] [stdout] | [INFO] [stdout] 31 | if let Some(ref server) = command.cluster_node { [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/router/clustered.rs:43:3 [INFO] [stdout] | [INFO] [stdout] 43 | } 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] 31 ~ match command.cluster_node { Some(ref server) => { [INFO] [stdout] 32 | // this `_server` has a lifetime tied to `command`, so we switch `server` to refer to the record in `state` while [INFO] [stdout] ... [INFO] [stdout] 42 | }) [INFO] [stdout] 43 ~ } _ => { [INFO] [stdout] 44 | command [INFO] [stdout] ... [INFO] [stdout] 61 | }) [INFO] [stdout] 62 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/router/clustered.rs:176:8 [INFO] [stdout] | [INFO] [stdout] 176 | if let Written::Disconnected((server, _, err)) = utils::write_command(inner, writer, cmd, true).await { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^---------------------------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/router/clustered.rs:187:5 [INFO] [stdout] | [INFO] [stdout] 187 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 176 ~ match utils::write_command(inner, writer, cmd, true).await { Written::Disconnected((server, _, err)) => { [INFO] [stdout] 177 | _debug!( [INFO] [stdout] ... [INFO] [stdout] 186 | break; [INFO] [stdout] 187 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/router/clustered.rs:268:10 [INFO] [stdout] | [INFO] [stdout] 268 | if let Some(frame) = responses::check_pubsub_message(&inner, &server, 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/router/clustered.rs:279:7 [INFO] [stdout] | [INFO] [stdout] 279 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 268 ~ match responses::check_pubsub_message(&inner, &server, frame) { Some(frame) => { [INFO] [stdout] 269 | if let Err(e) = process_response_frame(&inner, &server, &buffer, &counters, frame).await { [INFO] [stdout] ... [INFO] [stdout] 278 | } [INFO] [stdout] 279 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/router/clustered.rs:269:12 [INFO] [stdout] | [INFO] [stdout] 269 | if let Err(e) = process_response_frame(&inner, &server, &buffer, &counters, frame).await { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^----- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/router/clustered.rs:278:9 [INFO] [stdout] | [INFO] [stdout] 278 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 269 ~ match process_response_frame(&inner, &server, &buffer, &counters, frame).await { Err(e) => { [INFO] [stdout] 270 | _debug!( [INFO] [stdout] ... [INFO] [stdout] 277 | break; [INFO] [stdout] 278 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/router/clustered.rs:351:6 [INFO] [stdout] | [INFO] [stdout] 351 | if let Some(mut tx) = command.take_router_tx() { [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/router/clustered.rs:401:3 [INFO] [stdout] | [INFO] [stdout] 401 | } 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] 351 ~ match command.take_router_tx() { Some(mut tx) => { [INFO] [stdout] 352 | let response = match kind { [INFO] [stdout] ... [INFO] [stdout] 400 | } [INFO] [stdout] 401 ~ } _ => { [INFO] [stdout] 402 | let command = match kind { [INFO] [stdout] ... [INFO] [stdout] 410 | } [INFO] [stdout] 411 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/router/clustered.rs:358:8 [INFO] [stdout] | [INFO] [stdout] 358 | if let Err(response) = tx.send(response) { [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/router/clustered.rs:400:5 [INFO] [stdout] | [INFO] [stdout] 400 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 358 ~ match tx.send(response) { Err(response) => { [INFO] [stdout] 359 | #[cfg(feature = "glommio")] [INFO] [stdout] ... [INFO] [stdout] 399 | } [INFO] [stdout] 400 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/router/clustered.rs:397:10 [INFO] [stdout] | [INFO] [stdout] 397 | if let Err(e) = interfaces::send_to_router(inner, command) { [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/router/clustered.rs:399:7 [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] 397 ~ match interfaces::send_to_router(inner, command) { Err(e) => { [INFO] [stdout] 398 | _warn!(inner, "Cannot send MOVED to router channel: {:?}", e); [INFO] [stdout] 399 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/router/clustered.rs:408:8 [INFO] [stdout] | [INFO] [stdout] 408 | if let Err(e) = interfaces::send_to_router(inner, command) { [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/router/clustered.rs:410:5 [INFO] [stdout] | [INFO] [stdout] 410 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 408 ~ match interfaces::send_to_router(inner, command) { Err(e) => { [INFO] [stdout] 409 | _warn!(inner, "Cannot send ASKED to router channel: {:?}", e); [INFO] [stdout] 410 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/router/clustered.rs:466:8 [INFO] [stdout] | [INFO] [stdout] 466 | if let Some(error) = protocol_utils::frame_to_error(&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/router/clustered.rs:472:5 [INFO] [stdout] | [INFO] [stdout] 472 | } else if command.kind.ends_transaction() { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 466 ~ match protocol_utils::frame_to_error(&frame) { Some(error) => { [INFO] [stdout] 467 | #[allow(unused_mut)] [INFO] [stdout] ... [INFO] [stdout] 471 | return Ok(()); [INFO] [stdout] 472 ~ } _ => if command.kind.ends_transaction() { [INFO] [stdout] 473 | command.respond_to_router(inner, RouterResponse::TransactionResult(frame)); [INFO] [stdout] ... [INFO] [stdout] 477 | return Ok(()); [INFO] [stdout] 478 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/router/clustered.rs:577:10 [INFO] [stdout] | [INFO] [stdout] 577 | if let Some(ref mut transport) = backchannel.transport { [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/router/clustered.rs:588:7 [INFO] [stdout] | [INFO] [stdout] 588 | } 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] 577 ~ match backchannel.transport { Some(ref mut transport) => { [INFO] [stdout] 578 | let default_host = transport.default_host.clone(); [INFO] [stdout] ... [INFO] [stdout] 587 | .map(|frame| (frame, default_host)) [INFO] [stdout] 588 ~ } _ => { [INFO] [stdout] 589 | None [INFO] [stdout] 590 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/router/clustered.rs:607:28 [INFO] [stdout] | [INFO] [stdout] 607 | let (frame, host) = if let Some((frame, host)) = backchannel_result { [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/router/clustered.rs:626:5 [INFO] [stdout] | [INFO] [stdout] 626 | } 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] 607 ~ let (frame, host) = match backchannel_result { Some((frame, host)) => { [INFO] [stdout] 608 | let kind = frame.kind(); [INFO] [stdout] ... [INFO] [stdout] 625 | } [INFO] [stdout] 626 ~ } _ => { [INFO] [stdout] 627 | // try connecting to any of the nodes, then try again [INFO] [stdout] ... [INFO] [stdout] 637 | (frame, host) [INFO] [stdout] 638 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/router/commands.rs:34:6 [INFO] [stdout] | [INFO] [stdout] 34 | if let Some(rx) = rx { [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/router/commands.rs:94:3 [INFO] [stdout] | [INFO] [stdout] 94 | } 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] 34 ~ match rx { Some(rx) => { [INFO] [stdout] 35 | _debug!(inner, "Waiting on router channel."); [INFO] [stdout] ... [INFO] [stdout] 93 | } [INFO] [stdout] 94 ~ } _ => { [INFO] [stdout] 95 | Ok(None) [INFO] [stdout] 96 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/router/commands.rs:48:12 [INFO] [stdout] | [INFO] [stdout] 48 | if let Err(e) = command.decr_check_redirections() { [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/router/commands.rs:51:9 [INFO] [stdout] | [INFO] [stdout] 51 | } 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] 48 ~ match command.decr_check_redirections() { Err(e) => { [INFO] [stdout] 49 | command.respond_to_caller(Err(e)); [INFO] [stdout] 50 | Ok(None) [INFO] [stdout] 51 ~ } _ => { [INFO] [stdout] 52 | utils::send_asking_with_policy(inner, router, &server, slot).await?; [INFO] [stdout] ... [INFO] [stdout] 56 | Ok(Some(command)) [INFO] [stdout] 57 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/router/commands.rs:65:12 [INFO] [stdout] | [INFO] [stdout] 65 | if let Err(e) = command.decr_check_redirections() { [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/router/commands.rs:68:9 [INFO] [stdout] | [INFO] [stdout] 68 | } 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] 65 ~ match command.decr_check_redirections() { Err(e) => { [INFO] [stdout] 66 | command.finish(inner, Err(e)); [INFO] [stdout] 67 | Ok(None) [INFO] [stdout] 68 ~ } _ => { [INFO] [stdout] 69 | command.hasher = ClusterHash::Custom(slot); [INFO] [stdout] ... [INFO] [stdout] 72 | Ok(Some(command)) [INFO] [stdout] 73 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/router/commands.rs:188:14 [INFO] [stdout] | [INFO] [stdout] 188 | if let Err(error) = router.sync_cluster().await { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^----- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/router/commands.rs:195:11 [INFO] [stdout] | [INFO] [stdout] 195 | } 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] 188 ~ match router.sync_cluster().await { Err(error) => { [INFO] [stdout] 189 | // try to sync the cluster once, and failing that buffer the command. [INFO] [stdout] ... [INFO] [stdout] 194 | break; [INFO] [stdout] 195 ~ } _ => { [INFO] [stdout] 196 | _command = Some(command); [INFO] [stdout] 197 | _backpressure = None; [INFO] [stdout] 198 | continue; [INFO] [stdout] 199 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/router/commands.rs:208:14 [INFO] [stdout] | [INFO] [stdout] 208 | if let Some(command) = handle_router_response(inner, router, router_rx).await? { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^------------------------------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/router/commands.rs:213:11 [INFO] [stdout] | [INFO] [stdout] 213 | } 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] 208 ~ match handle_router_response(inner, router, router_rx).await? { Some(command) => { [INFO] [stdout] 209 | // commands that are sent to all nodes are not retried after a connection closing [INFO] [stdout] ... [INFO] [stdout] 212 | break; [INFO] [stdout] 213 ~ } _ => { [INFO] [stdout] 214 | if closes_connection { [INFO] [stdout] ... [INFO] [stdout] 219 | break; [INFO] [stdout] 220 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/router/commands.rs:236:16 [INFO] [stdout] | [INFO] [stdout] 236 | if let Err(e) = client_utils::interrupt_blocked_connection(inner, ClientUnblockFlag::Error).await { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^----- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/router/commands.rs:238:13 [INFO] [stdout] | [INFO] [stdout] 238 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 236 ~ match client_utils::interrupt_blocked_connection(inner, ClientUnblockFlag::Error).await { Err(e) => { [INFO] [stdout] 237 | _warn!(inner, "Failed to unblock connection: {:?}", e); [INFO] [stdout] 238 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/router/commands.rs:241:14 [INFO] [stdout] | [INFO] [stdout] 241 | if let Some(command) = handle_router_response(inner, router, router_rx).await? { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^------------------------------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/router/commands.rs:245:11 [INFO] [stdout] | [INFO] [stdout] 245 | } 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] 241 ~ match handle_router_response(inner, router, router_rx).await? { Some(command) => { [INFO] [stdout] 242 | _command = Some(command); [INFO] [stdout] 243 | _backpressure = None; [INFO] [stdout] 244 | continue; [INFO] [stdout] 245 ~ } _ => { [INFO] [stdout] 246 | if closes_connection { [INFO] [stdout] ... [INFO] [stdout] 251 | break; [INFO] [stdout] 252 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/router/commands.rs:336:8 [INFO] [stdout] | [INFO] [stdout] 336 | if let Err(e) = write_with_backpressure_t(inner, router, command, force_pipeline).await { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^----- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/router/commands.rs:340:5 [INFO] [stdout] | [INFO] [stdout] 340 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 336 ~ match write_with_backpressure_t(inner, router, command, force_pipeline).await { Err(e) => { [INFO] [stdout] 337 | // if the command cannot be written it will be queued to run later. [INFO] [stdout] 338 | // if a connection is dropped due to an error the reader will send a command to reconnect and retry later. [INFO] [stdout] 339 | _debug!(inner, "Error writing command in pipeline: {:?}", e); [INFO] [stdout] 340 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/router/commands.rs:365:6 [INFO] [stdout] | [INFO] [stdout] 365 | if let Err(error) = write_with_backpressure_t(inner, router, command, false).await { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^----- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/router/commands.rs:368:3 [INFO] [stdout] | [INFO] [stdout] 368 | } 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] 365 ~ match write_with_backpressure_t(inner, router, command, false).await { Err(error) => { [INFO] [stdout] 366 | _debug!(inner, "Error sending command after ASKING: {:?}", error); [INFO] [stdout] 367 | Err(error) [INFO] [stdout] 368 ~ } _ => { [INFO] [stdout] 369 | Ok(()) [INFO] [stdout] 370 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/router/commands.rs:394:6 [INFO] [stdout] | [INFO] [stdout] 394 | if let Err(error) = write_with_backpressure_t(inner, router, command, false).await { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^----- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/router/commands.rs:397:3 [INFO] [stdout] | [INFO] [stdout] 397 | } 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] 394 ~ match write_with_backpressure_t(inner, router, command, false).await { Err(error) => { [INFO] [stdout] 395 | _debug!(inner, "Error sending command after MOVED: {:?}", error); [INFO] [stdout] 396 | Err(error) [INFO] [stdout] 397 ~ } _ => { [INFO] [stdout] 398 | Ok(()) [INFO] [stdout] 399 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/router/commands.rs:458:6 [INFO] [stdout] | [INFO] [stdout] 458 | if let Err(e) = utils::reconnect_with_policy(inner, router).await { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^----- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/router/commands.rs:464:3 [INFO] [stdout] | [INFO] [stdout] 464 | } 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] 458 ~ match utils::reconnect_with_policy(inner, router).await { Err(e) => { [INFO] [stdout] 459 | if let Some(mut tx) = tx { [INFO] [stdout] ... [INFO] [stdout] 463 | Err(e) [INFO] [stdout] 464 ~ } _ => { [INFO] [stdout] 465 | if let Some(mut tx) = tx { [INFO] [stdout] ... [INFO] [stdout] 469 | Ok(()) [INFO] [stdout] 470 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/router/commands.rs:572:9 [INFO] [stdout] | [INFO] [stdout] 572 | while let Some(command) = rx.recv().await { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^--------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/router/commands.rs:587:3 [INFO] [stdout] | [INFO] [stdout] 587 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/router/commands.rs:576:8 [INFO] [stdout] | [INFO] [stdout] 576 | if let Err(e) = process_command(inner, router, command).await { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^----- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/router/commands.rs:586:5 [INFO] [stdout] | [INFO] [stdout] 586 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 576 ~ match process_command(inner, router, command).await { Err(e) => { [INFO] [stdout] 577 | // errors on this interface end the client connection task [INFO] [stdout] ... [INFO] [stdout] 585 | } [INFO] [stdout] 586 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/router/commands.rs:618:8 [INFO] [stdout] | [INFO] [stdout] 618 | if let Err(e) = Box::pin(router.connect()).await { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^----- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/router/commands.rs:622:5 [INFO] [stdout] | [INFO] [stdout] 622 | } 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] 618 ~ match Box::pin(router.connect()).await { Err(e) => { [INFO] [stdout] 619 | inner.notifications.broadcast_connect(Err(e.clone())); [INFO] [stdout] 620 | inner.notifications.broadcast_error(e.clone()); [INFO] [stdout] 621 | Err(e) [INFO] [stdout] 622 ~ } _ => { [INFO] [stdout] 623 | client_utils::set_client_state(&inner.state, ClientState::Connected); [INFO] [stdout] 624 | inner.notifications.broadcast_connect(Ok(())); [INFO] [stdout] 625 | Ok(()) [INFO] [stdout] 626 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/router/responses.rs:210:13 [INFO] [stdout] | [INFO] [stdout] 210 | } else if let Some(event) = parse_keyspace_notification(&message.channel, &message.value) { [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/router/responses.rs:212:3 [INFO] [stdout] | [INFO] [stdout] 212 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 210 ~ } else { match parse_keyspace_notification(&message.channel, &message.value) { Some(event) => { [INFO] [stdout] 211 | inner.notifications.broadcast_keyspace(event); [INFO] [stdout] 212 ~ } _ => { [INFO] [stdout] 213 | inner.notifications.broadcast_pubsub(message); [INFO] [stdout] 214 ~ }}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/router/sentinel.rs:262:6 [INFO] [stdout] | [INFO] [stdout] 262 | if let RedisValue::Array(values) = response { [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/router/sentinel.rs:277:3 [INFO] [stdout] | [INFO] [stdout] 277 | } 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] 262 ~ match response { RedisValue::Array(values) => { [INFO] [stdout] 263 | if let Some(first) = values.first() { [INFO] [stdout] ... [INFO] [stdout] 276 | } [INFO] [stdout] 277 ~ } _ => { [INFO] [stdout] 278 | Err(RedisError::new( [INFO] [stdout] ... [INFO] [stdout] 281 | )) [INFO] [stdout] 282 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/router/sentinel.rs:263:8 [INFO] [stdout] | [INFO] [stdout] 263 | if let Some(first) = values.first() { [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/router/sentinel.rs:274:5 [INFO] [stdout] | [INFO] [stdout] 274 | } 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] 263 ~ match values.first() { Some(first) => { [INFO] [stdout] 264 | let is_master = first.as_str().map(|s| s == "master").unwrap_or(false); [INFO] [stdout] ... [INFO] [stdout] 273 | } [INFO] [stdout] 274 ~ } _ => { [INFO] [stdout] 275 | Err(RedisError::new(RedisErrorKind::Sentinel, "Invalid role response.")) [INFO] [stdout] 276 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/router/utils.rs:168:6 [INFO] [stdout] | [INFO] [stdout] 168 | if let Err(err) = writer.write_frame(frame, should_flush, no_incr).await { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^----- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/router/utils.rs:170:3 [INFO] [stdout] | [INFO] [stdout] 170 | } 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] 168 ~ match writer.write_frame(frame, should_flush, no_incr).await { Err(err) => { [INFO] [stdout] 169 | Written::Disconnected((Some(writer.server.clone()), None, err)) [INFO] [stdout] 170 ~ } _ => { [INFO] [stdout] 171 | Written::Sent((writer.server.clone(), should_flush)) [INFO] [stdout] 172 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/router/utils.rs:192:8 [INFO] [stdout] | [INFO] [stdout] 192 | if let Err(_) = tx.send(RouterResponse::ConnectionClosed((error, command))) { [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/router/utils.rs:194:5 [INFO] [stdout] | [INFO] [stdout] 194 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 192 ~ match tx.send(RouterResponse::ConnectionClosed((error, command))) { Err(_) => { [INFO] [stdout] 193 | _warn!(inner, "Failed to send router connection closed error."); [INFO] [stdout] 194 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/router/utils.rs:247:6 [INFO] [stdout] | [INFO] [stdout] 247 | if let Err(e) = Box::pin(router.connect()).await { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^----- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/router/utils.rs:252:3 [INFO] [stdout] | [INFO] [stdout] 252 | } 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] 247 ~ match Box::pin(router.connect()).await { Err(e) => { [INFO] [stdout] 248 | _debug!(inner, "Failed reconnecting with error: {:?}", e); [INFO] [stdout] ... [INFO] [stdout] 251 | Err(e) [INFO] [stdout] 252 ~ } _ => { [INFO] [stdout] 253 | #[cfg(feature = "replicas")] [INFO] [stdout] ... [INFO] [stdout] 268 | Ok(()) [INFO] [stdout] 269 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/router/utils.rs:287:8 [INFO] [stdout] | [INFO] [stdout] 287 | if let Err(e) = reconnect_once(inner, router).await { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^----- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/router/utils.rs:298:5 [INFO] [stdout] | [INFO] [stdout] 298 | } 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] 287 ~ match reconnect_once(inner, router).await { Err(e) => { [INFO] [stdout] 288 | if e.should_not_reconnect() { [INFO] [stdout] ... [INFO] [stdout] 297 | continue; [INFO] [stdout] 298 ~ } _ => { [INFO] [stdout] 299 | break; [INFO] [stdout] 300 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/router/utils.rs:323:8 [INFO] [stdout] | [INFO] [stdout] 323 | if let Err(e) = router.cluster_redirection(&kind, slot, server).await { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^----- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/router/utils.rs:327:5 [INFO] [stdout] | [INFO] [stdout] 327 | } 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] 323 ~ match router.cluster_redirection(&kind, slot, server).await { Err(e) => { [INFO] [stdout] 324 | delay = next_reconnection_delay(inner).map_err(|_| e)?; [INFO] [stdout] 325 | [INFO] [stdout] 326 | continue; [INFO] [stdout] 327 ~ } _ => { [INFO] [stdout] 328 | break; [INFO] [stdout] 329 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/router/utils.rs:353:10 [INFO] [stdout] | [INFO] [stdout] 353 | if let Err(e) = router.sync_cluster().await { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^----- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/router/utils.rs:357:7 [INFO] [stdout] | [INFO] [stdout] 357 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 353 ~ match router.sync_cluster().await { Err(e) => { [INFO] [stdout] 354 | _debug!(inner, "Error syncing cluster before ASKING: {:?}", e); [INFO] [stdout] 355 | delay = utils::next_reconnection_delay(inner)?; [INFO] [stdout] 356 | continue; [INFO] [stdout] 357 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/router/utils.rs:375:17 [INFO] [stdout] | [INFO] [stdout] 375 | } else if let Err(_) = reconnect_once(inner, router).await { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^----- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/router/utils.rs:378:7 [INFO] [stdout] | [INFO] [stdout] 378 | } 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] 375 ~ } else { match reconnect_once(inner, router).await { Err(_) => { [INFO] [stdout] 376 | delay = utils::next_reconnection_delay(inner)?; [INFO] [stdout] 377 | continue; [INFO] [stdout] 378 ~ } _ => { [INFO] [stdout] 379 | delay = Duration::from_millis(0); [INFO] [stdout] 380 | continue; [INFO] [stdout] 381 ~ }}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/router/utils.rs:387:14 [INFO] [stdout] | [INFO] [stdout] 387 | if let Err(_) = reconnect_once(inner, router).await { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^----- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/router/utils.rs:390:11 [INFO] [stdout] | [INFO] [stdout] 390 | } 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] 387 ~ match reconnect_once(inner, router).await { Err(_) => { [INFO] [stdout] 388 | delay = utils::next_reconnection_delay(inner)?; [INFO] [stdout] 389 | continue; [INFO] [stdout] 390 ~ } _ => { [INFO] [stdout] 391 | delay = Duration::from_millis(0); [INFO] [stdout] 392 | continue; [INFO] [stdout] 393 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/router/utils.rs:398:14 [INFO] [stdout] | [INFO] [stdout] 398 | if let Err(_) = reconnect_once(inner, router).await { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^----- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/router/utils.rs:401:11 [INFO] [stdout] | [INFO] [stdout] 401 | } 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] 398 ~ match reconnect_once(inner, router).await { Err(_) => { [INFO] [stdout] 399 | delay = utils::next_reconnection_delay(inner)?; [INFO] [stdout] 400 | continue; [INFO] [stdout] 401 ~ } _ => { [INFO] [stdout] 402 | delay = Duration::from_millis(0); [INFO] [stdout] 403 | continue; [INFO] [stdout] 404 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/router/utils.rs:495:8 [INFO] [stdout] | [INFO] [stdout] 495 | if let Err(e) = router.sync_cluster().await { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^----- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/router/utils.rs:509:5 [INFO] [stdout] | [INFO] [stdout] 509 | } 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] 495 ~ match router.sync_cluster().await { Err(e) => { [INFO] [stdout] 496 | _warn!(inner, "Error syncing cluster after redirect: {:?}", e); [INFO] [stdout] ... [INFO] [stdout] 508 | } [INFO] [stdout] 509 ~ } _ => { [INFO] [stdout] 510 | break; [INFO] [stdout] 511 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/router/utils.rs:521:8 [INFO] [stdout] | [INFO] [stdout] 521 | if let Err(_) = interfaces::send_to_router(inner, cmd) { [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/router/utils.rs:523:5 [INFO] [stdout] | [INFO] [stdout] 523 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 521 ~ match interfaces::send_to_router(inner, cmd) { Err(_) => { [INFO] [stdout] 522 | _warn!(inner, "Failed to send deferred cluster sync.") [INFO] [stdout] 523 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/router/utils.rs:532:8 [INFO] [stdout] | [INFO] [stdout] 532 | if let Err(_) = interfaces::send_to_router(inner, cmd) { [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/router/utils.rs:534:5 [INFO] [stdout] | [INFO] [stdout] 534 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 532 ~ match interfaces::send_to_router(inner, cmd) { Err(_) => { [INFO] [stdout] 533 | _warn!(inner, "Failed to send deferred cluster sync.") [INFO] [stdout] 534 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/router/utils.rs:545:6 [INFO] [stdout] | [INFO] [stdout] 545 | if let Some(ref max_resp_latency) = inner.connection.unresponsive.max_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/router/utils.rs:596:3 [INFO] [stdout] | [INFO] [stdout] 596 | } 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] 545 ~ match inner.connection.unresponsive.max_timeout { Some(ref max_resp_latency) => { [INFO] [stdout] 546 | // These shenanigans were implemented in an attempt to strike a balance between a few recent changes. [INFO] [stdout] ... [INFO] [stdout] 595 | } [INFO] [stdout] 596 ~ } _ => { [INFO] [stdout] 597 | _trace!(inner, "Skip waiting on interrupt rx."); [INFO] [stdout] 598 | conn.try_next().await [INFO] [stdout] 599 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/router/transactions.rs:68:6 [INFO] [stdout] | [INFO] [stdout] 68 | if let Some(rx) = rx { [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/router/transactions.rs:89:3 [INFO] [stdout] | [INFO] [stdout] 89 | } 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] 68 ~ match rx { Some(rx) => { [INFO] [stdout] 69 | match client_utils::timeout(rx, timeout_dur).await? { [INFO] [stdout] ... [INFO] [stdout] 88 | } [INFO] [stdout] 89 ~ } _ => { [INFO] [stdout] 90 | Ok(TransactionResponse::Continue) [INFO] [stdout] 91 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/router/transactions.rs:138:6 [INFO] [stdout] | [INFO] [stdout] 138 | if let Some(server) = command.cluster_node.as_ref() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^--------------------^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/router/transactions.rs:140:3 [INFO] [stdout] | [INFO] [stdout] 140 | } 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] 138 ~ match command.cluster_node.as_ref() { Some(server) => { [INFO] [stdout] 139 | Ok(Some(server.clone())) [INFO] [stdout] 140 ~ } _ => { [INFO] [stdout] 141 | match router.find_connection(command) { [INFO] [stdout] ... [INFO] [stdout] 156 | } [INFO] [stdout] 157 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/utils.rs:404:10 [INFO] [stdout] | [INFO] [stdout] 404 | if let Err(e) = interrupt_blocked_connection(inner, ClientUnblockFlag::Error).await { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^----- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/utils.rs:406:7 [INFO] [stdout] | [INFO] [stdout] 406 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 404 ~ match interrupt_blocked_connection(inner, ClientUnblockFlag::Error).await { Err(e) => { [INFO] [stdout] 405 | _error!(inner, "Failed to interrupt blocked connection: {:?}", e); [INFO] [stdout] 406 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/utils.rs:609:9 [INFO] [stdout] | [INFO] [stdout] 609 | while let Some((key, value)) = iter.next() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^----------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/utils.rs:611:3 [INFO] [stdout] | [INFO] [stdout] 611 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/utils.rs:870:6 [INFO] [stdout] | [INFO] [stdout] 870 | if let Err(_) = command_tx.send(command.into()) { [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/utils.rs:873:3 [INFO] [stdout] | [INFO] [stdout] 873 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 870 ~ match command_tx.send(command.into()) { Err(_) => { [INFO] [stdout] 871 | inner.counters.decr_cmd_buffer_len(); [INFO] [stdout] 872 | _warn!(inner, "Failed to send QUIT when dropping old command channel."); [INFO] [stdout] 873 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/clients/pipeline.rs:293:6 [INFO] [stdout] | [INFO] [stdout] 293 | if let Resp3Frame::Array { data, .. } = frame { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^----- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/clients/pipeline.rs:295:3 [INFO] [stdout] | [INFO] [stdout] 295 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 293 ~ match frame { Resp3Frame::Array { data, .. } => { [INFO] [stdout] 294 | data.into_iter().map(protocol_utils::frame_to_results).collect() [INFO] [stdout] 295 ~ } _ => { [INFO] [stdout] 296 | vec![protocol_utils::frame_to_results(frame)] [INFO] [stdout] 297 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/clients/pool.rs:332:12 [INFO] [stdout] | [INFO] [stdout] 332 | if let Err(error) = try_join_all(self.inner.clients.iter().map(|c| c.ping::<()>())).await { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^----- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/clients/pool.rs:336:9 [INFO] [stdout] | [INFO] [stdout] 336 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 332 ~ match try_join_all(self.inner.clients.iter().map(|c| c.ping::<()>())).await { Err(error) => { [INFO] [stdout] 333 | if break_on_error { [INFO] [stdout] 334 | return Err(error); [INFO] [stdout] 335 | } [INFO] [stdout] 336 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `impl Stream>` will capture more lifetimes than possibly intended in edition 2024 [INFO] [stdout] --> src/clients/redis.rs:200:8 [INFO] [stdout] | [INFO] [stdout] 200 | ) -> impl Stream> [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see [INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds [INFO] [stdout] --> src/clients/redis.rs:196:5 [INFO] [stdout] | [INFO] [stdout] 196 | &self, [INFO] [stdout] | ^ [INFO] [stdout] = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024 [INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit [INFO] [stdout] | [INFO] [stdout] 200 | ) -> impl Stream> + use

[INFO] [stdout] | ++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `impl Stream>` will capture more lifetimes than possibly intended in edition 2024 [INFO] [stdout] --> src/clients/redis.rs:221:8 [INFO] [stdout] | [INFO] [stdout] 221 | ) -> impl Stream> [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see [INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds [INFO] [stdout] --> src/clients/redis.rs:217:5 [INFO] [stdout] | [INFO] [stdout] 217 | &self, [INFO] [stdout] | ^ [INFO] [stdout] = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024 [INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit [INFO] [stdout] | [INFO] [stdout] 221 | ) -> impl Stream> + use

[INFO] [stdout] | ++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `impl Stream>` will capture more lifetimes than possibly intended in edition 2024 [INFO] [stdout] --> src/clients/redis.rs:237:8 [INFO] [stdout] | [INFO] [stdout] 237 | ) -> impl Stream> [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see [INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds [INFO] [stdout] --> src/clients/redis.rs:233:5 [INFO] [stdout] | [INFO] [stdout] 233 | &self, [INFO] [stdout] | ^ [INFO] [stdout] = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024 [INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit [INFO] [stdout] | [INFO] [stdout] 237 | ) -> impl Stream> + use [INFO] [stdout] | +++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `impl Stream>` will capture more lifetimes than possibly intended in edition 2024 [INFO] [stdout] --> src/clients/redis.rs:253:8 [INFO] [stdout] | [INFO] [stdout] 253 | ) -> impl Stream> [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see [INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds [INFO] [stdout] --> src/clients/redis.rs:249:5 [INFO] [stdout] | [INFO] [stdout] 249 | &self, [INFO] [stdout] | ^ [INFO] [stdout] = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024 [INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit [INFO] [stdout] | [INFO] [stdout] 253 | ) -> impl Stream> + use [INFO] [stdout] | +++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `impl Stream>` will capture more lifetimes than possibly intended in edition 2024 [INFO] [stdout] --> src/clients/redis.rs:270:8 [INFO] [stdout] | [INFO] [stdout] 270 | ) -> impl Stream> [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see [INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds [INFO] [stdout] --> src/clients/redis.rs:266:5 [INFO] [stdout] | [INFO] [stdout] 266 | &self, [INFO] [stdout] | ^ [INFO] [stdout] = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024 [INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit [INFO] [stdout] | [INFO] [stdout] 270 | ) -> impl Stream> + use [INFO] [stdout] | +++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/clients/transaction.rs:164:10 [INFO] [stdout] | [INFO] [stdout] 164 | if let Some(old_slot) = utils::read_mutex(&self.state.hash_slot) { [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/clients/transaction.rs:180:7 [INFO] [stdout] | [INFO] [stdout] 180 | } 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] 164 ~ match utils::read_mutex(&self.state.hash_slot) { Some(old_slot) => { [INFO] [stdout] 165 | let (old_server, server) = self.inner.with_cluster_state(|state| { [INFO] [stdout] ... [INFO] [stdout] 179 | } [INFO] [stdout] 180 ~ } _ => { [INFO] [stdout] 181 | utils::set_mutex(&self.state.hash_slot, Some(slot)); [INFO] [stdout] 182 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/interfaces.rs:64:6 [INFO] [stdout] | [INFO] [stdout] 64 | if let Err(e) = inner.send_command(command) { [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/interfaces.rs:90:3 [INFO] [stdout] | [INFO] [stdout] 90 | } 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] 64 ~ match inner.send_command(command) { Err(e) => { [INFO] [stdout] 65 | // usually happens if the caller tries to send a command before calling `connect` or after calling `quit` [INFO] [stdout] ... [INFO] [stdout] 89 | )) [INFO] [stdout] 90 ~ } _ => { [INFO] [stdout] 91 | Ok(()) [INFO] [stdout] 92 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/interfaces.rs:68:8 [INFO] [stdout] | [INFO] [stdout] 68 | if let RouterCommand::Command(mut command) = e { [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/interfaces.rs:79:5 [INFO] [stdout] | [INFO] [stdout] 79 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 68 ~ match e { RouterCommand::Command(mut command) => { [INFO] [stdout] 69 | _warn!( [INFO] [stdout] ... [INFO] [stdout] 78 | ))); [INFO] [stdout] 79 ~ } _ => { [INFO] [stdout] 80 | _warn!( [INFO] [stdout] ... [INFO] [stdout] 83 | ); [INFO] [stdout] 84 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/interfaces.rs:123:19 [INFO] [stdout] | [INFO] [stdout] 123 | } else if let Err(e) = _self.ping::<()>().await { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^----- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/interfaces.rs:125:9 [INFO] [stdout] | [INFO] [stdout] 125 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 123 ~ } else { match _self.ping::<()>().await { Err(e) => { [INFO] [stdout] 124 | warn!("{}: Heartbeat ping failed with error: {:?}", _self.inner().id, e); [INFO] [stdout] 125 ~ } _ => {}}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/interfaces.rs:258:16 [INFO] [stdout] | [INFO] [stdout] 258 | if let Err(err) = error_fn(error) { [INFO] [stdout] | ^^^^^^^^^^^^^^^--------^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/interfaces.rs:261:13 [INFO] [stdout] | [INFO] [stdout] 261 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 258 ~ match error_fn(error) { Err(err) => { [INFO] [stdout] 259 | result = Err(err); [INFO] [stdout] 260 | break; [INFO] [stdout] 261 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/interfaces.rs:264:16 [INFO] [stdout] | [INFO] [stdout] 264 | if let Err(err) = reconnect_fn(server) { [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/interfaces.rs:267:13 [INFO] [stdout] | [INFO] [stdout] 267 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 264 ~ match reconnect_fn(server) { Err(err) => { [INFO] [stdout] 265 | result = Err(err); [INFO] [stdout] 266 | break; [INFO] [stdout] 267 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/interfaces.rs:270:16 [INFO] [stdout] | [INFO] [stdout] 270 | if let Err(err) = cluster_change_fn(changes) { [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/interfaces.rs:273:13 [INFO] [stdout] | [INFO] [stdout] 273 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 270 ~ match cluster_change_fn(changes) { Err(err) => { [INFO] [stdout] 271 | result = Err(err); [INFO] [stdout] 272 | break; [INFO] [stdout] 273 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/types/args.rs:1203:8 [INFO] [stdout] | [INFO] [stdout] 1203 | if let RedisValue::Array(mut values) = self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^---- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/types/args.rs:1205:5 [INFO] [stdout] | [INFO] [stdout] 1205 | } 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] 1203 ~ match self { RedisValue::Array(mut values) => { [INFO] [stdout] 1204 | values.pop().unwrap() [INFO] [stdout] 1205 ~ } _ => { [INFO] [stdout] 1206 | self [INFO] [stdout] 1207 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/types/args.rs:1265:8 [INFO] [stdout] | [INFO] [stdout] 1265 | if let RedisValue::Array(mut values) = self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^---- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/types/args.rs:1277:5 [INFO] [stdout] | [INFO] [stdout] 1277 | } 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] 1265 ~ match self { RedisValue::Array(mut values) => { [INFO] [stdout] 1266 | if values.len() == 3 { [INFO] [stdout] ... [INFO] [stdout] 1276 | Ok((cursor, entries.flatten_array_values(1).convert()?)) [INFO] [stdout] 1277 ~ } _ => { [INFO] [stdout] 1278 | Err(RedisError::new_parse("Expected array response.")) [INFO] [stdout] 1279 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/types/builder.rs:176:8 [INFO] [stdout] | [INFO] [stdout] 176 | if let Some(config) = self.config.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/types/builder.rs:178:5 [INFO] [stdout] | [INFO] [stdout] 178 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 176 ~ match self.config.as_mut() { Some(config) => { [INFO] [stdout] 177 | func(config); [INFO] [stdout] 178 ~ } _ => { [INFO] [stdout] 179 | let mut config = RedisConfig::default(); [INFO] [stdout] 180 | func(&mut config); [INFO] [stdout] 181 | self.config = Some(config); [INFO] [stdout] 182 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/types/builder.rs:225:8 [INFO] [stdout] | [INFO] [stdout] 225 | if let Some(config) = self.config.as_ref() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^-----------^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/types/builder.rs:232:5 [INFO] [stdout] | [INFO] [stdout] 232 | } 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] 225 ~ match self.config.as_ref() { Some(config) => { [INFO] [stdout] 226 | Ok(RedisClient::new( [INFO] [stdout] ... [INFO] [stdout] 231 | )) [INFO] [stdout] 232 ~ } _ => { [INFO] [stdout] 233 | Err(RedisError::new(RedisErrorKind::Config, "Missing client configuration.")) [INFO] [stdout] 234 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/types/builder.rs:239:8 [INFO] [stdout] | [INFO] [stdout] 239 | if let Some(config) = self.config.as_ref() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^-----------^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/types/builder.rs:247:5 [INFO] [stdout] | [INFO] [stdout] 247 | } 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] 239 ~ match self.config.as_ref() { Some(config) => { [INFO] [stdout] 240 | RedisPool::new( [INFO] [stdout] ... [INFO] [stdout] 246 | ) [INFO] [stdout] 247 ~ } _ => { [INFO] [stdout] 248 | Err(RedisError::new(RedisErrorKind::Config, "Missing client configuration.")) [INFO] [stdout] 249 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/types/builder.rs:255:8 [INFO] [stdout] | [INFO] [stdout] 255 | if let Some(config) = self.config.as_ref() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^-----------^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/types/builder.rs:263:5 [INFO] [stdout] | [INFO] [stdout] 263 | } 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] 255 ~ match self.config.as_ref() { Some(config) => { [INFO] [stdout] 256 | ExclusivePool::new( [INFO] [stdout] ... [INFO] [stdout] 262 | ) [INFO] [stdout] 263 ~ } _ => { [INFO] [stdout] 264 | Err(RedisError::new(RedisErrorKind::Config, "Missing client configuration.")) [INFO] [stdout] 265 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/types/misc.rs:485:8 [INFO] [stdout] | [INFO] [stdout] 485 | if let RedisValue::Array(values) = value { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^----- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/types/misc.rs:527:5 [INFO] [stdout] | [INFO] [stdout] 527 | } 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] 485 ~ match value { RedisValue::Array(values) => { [INFO] [stdout] 486 | if values.len() < 4 { [INFO] [stdout] ... [INFO] [stdout] 526 | }) [INFO] [stdout] 527 ~ } _ => { [INFO] [stdout] 528 | Err(RedisError::new_parse("Expected array.")) [INFO] [stdout] 529 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/types/multiple.rs:33:19 [INFO] [stdout] | [INFO] [stdout] 33 | let keys = if let Some(key) = key { vec![key] } else { vec![] }; [INFO] [stdout] | ^^^^^^^^^^^^^^^^--- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/types/multiple.rs:33:51 [INFO] [stdout] | [INFO] [stdout] 33 | let keys = if let Some(key) = key { vec![key] } else { vec![] }; [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 33 | let keys = match key { Some(key) => { vec![key] } _ => { vec![] }}; [INFO] [stdout] | ~~~~~ ++++++++++++++ ~~~~ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/_tokio.rs:65:6 [INFO] [stdout] | [INFO] [stdout] 65 | if let Err(BroadcastSendError(val)) = tx.send(msg.clone()) { [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/_tokio.rs:67:3 [INFO] [stdout] | [INFO] [stdout] 67 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 65 ~ match tx.send(msg.clone()) { Err(BroadcastSendError(val)) => { [INFO] [stdout] 66 | func(&val); [INFO] [stdout] 67 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/_tokio.rs:386:11 [INFO] [stdout] | [INFO] [stdout] 386 | while let Ok(val) = rx.recv().await { [INFO] [stdout] | ^^^^^^^^^^^^^^--------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/_tokio.rs:391:5 [INFO] [stdout] | [INFO] [stdout] 391 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/_tokio.rs:387:10 [INFO] [stdout] | [INFO] [stdout] 387 | if let Err(err) = func(val) { [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/_tokio.rs:390:7 [INFO] [stdout] | [INFO] [stdout] 390 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 387 ~ match func(val) { Err(err) => { [INFO] [stdout] 388 | result = Err(err); [INFO] [stdout] 389 | break; [INFO] [stdout] 390 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 159 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Migrating examples/streams.rs from 2021 edition to 2024 [INFO] [stdout] warning: this function depends on never type fallback being `()` [INFO] [stdout] --> examples/streams.rs:13:7 [INFO] [stdout] | [INFO] [stdout] 13 | async fn main() { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #123748 [INFO] [stdout] = help: specify the types explicitly [INFO] [stdout] note: in edition 2024, the requirement `!: FromRedis` will fail [INFO] [stdout] --> examples/streams.rs:25:12 [INFO] [stdout] | [INFO] [stdout] 25 | client.del("foo").await?; [INFO] [stdout] | ^^^ [INFO] [stdout] = note: `#[warn(dependency_on_unit_never_type_fallback)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Migrating examples/custom.rs from 2021 edition to 2024 [INFO] [stdout] warning: 1 warning emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this function depends on never type fallback being `()` [INFO] [stdout] --> examples/custom.rs:12:7 [INFO] [stdout] | [INFO] [stdout] 12 | async fn main() -> Result<(), RedisError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #123748 [INFO] [stdout] = help: specify the types explicitly [INFO] [stdout] note: in edition 2024, the requirement `!: FromRedis` will fail [INFO] [stdout] --> examples/custom.rs:15:10 [INFO] [stdout] | [INFO] [stdout] 15 | client.lpush("foo", vec![1, 2, 3]).await?; [INFO] [stdout] | ^^^^^ [INFO] [stdout] = note: `#[warn(dependency_on_unit_never_type_fallback)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Migrating examples/basic.rs from 2021 edition to 2024 [INFO] [stdout] warning: 1 warning emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this function depends on never type fallback being `()` [INFO] [stdout] --> examples/basic.rs:7:7 [INFO] [stdout] | [INFO] [stdout] 7 | async fn main() -> Result<(), RedisError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #123748 [INFO] [stdout] = help: specify the types explicitly [INFO] [stdout] note: in edition 2024, the requirement `!: FromRedis` will fail [INFO] [stdout] --> examples/basic.rs:19:6 [INFO] [stdout] | [INFO] [stdout] 19 | .set("foo", "bar", Some(Expiration::EX(1)), Some(SetOptions::NX), false) [INFO] [stdout] | ^^^ [INFO] [stdout] = note: `#[warn(dependency_on_unit_never_type_fallback)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Migrating examples/pool.rs from 2021 edition to 2024 [INFO] [stdout] warning: 1 warning emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this function depends on never type fallback being `()` [INFO] [stdout] --> examples/pool.rs:7:7 [INFO] [stdout] | [INFO] [stdout] 7 | async fn main() -> Result<(), RedisError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #123748 [INFO] [stdout] = help: specify the types explicitly [INFO] [stdout] note: in edition 2024, the requirement `!: FromRedis` will fail [INFO] [stdout] --> examples/pool.rs:14:8 [INFO] [stdout] | [INFO] [stdout] 14 | pool.set("foo", "bar", None, None, false).await?; [INFO] [stdout] | ^^^ [INFO] [stdout] = note: `#[warn(dependency_on_unit_never_type_fallback)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Migrating examples/tls.rs from 2021 edition to 2024 [INFO] [stdout] warning: 1 warning emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Migrating examples/events.rs from 2021 edition to 2024 [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> examples/events.rs:40:11 [INFO] [stdout] | [INFO] [stdout] 40 | while let Ok(server) = reconnect_rx.recv().await { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> examples/events.rs:42:5 [INFO] [stdout] | [INFO] [stdout] 42 | } [INFO] [stdout] | ^ [INFO] [stdout] = note: `--force-warn if-let-rescope` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Migrating examples/blocking.rs from 2021 edition to 2024 [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> examples/events.rs:47:11 [INFO] [stdout] | [INFO] [stdout] 47 | while let Ok(error) = error_rx.recv().await { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^----- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> examples/events.rs:49:5 [INFO] [stdout] | [INFO] [stdout] 49 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 2 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Migrating examples/sentinel.rs from 2021 edition to 2024 [INFO] [stdout] warning: this function depends on never type fallback being `()` [INFO] [stdout] --> examples/blocking.rs:9:7 [INFO] [stdout] | [INFO] [stdout] 9 | async fn main() -> Result<(), RedisError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #123748 [INFO] [stdout] = help: specify the types explicitly [INFO] [stdout] note: in edition 2024, the requirement `!: FromRedis` will fail [INFO] [stdout] --> examples/blocking.rs:29:22 [INFO] [stdout] | [INFO] [stdout] 29 | publisher_client.rpush("foo", idx).await?; [INFO] [stdout] | ^^^^^ [INFO] [stdout] = note: `#[warn(dependency_on_unit_never_type_fallback)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 1 warning emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Migrating examples/pipeline.rs from 2021 edition to 2024 [INFO] [stderr] Migrating examples/keyspace.rs from 2021 edition to 2024 [INFO] [stdout] warning: this function depends on never type fallback being `()` [INFO] [stdout] --> examples/pipeline.rs:7:7 [INFO] [stdout] | [INFO] [stdout] 7 | async fn main() -> Result<(), RedisError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #123748 [INFO] [stdout] = help: specify the types explicitly [INFO] [stdout] note: in edition 2024, the requirement `!: FromRedis` will fail [INFO] [stdout] --> examples/pipeline.rs:24:10 [INFO] [stdout] | [INFO] [stdout] 24 | client.del("foo").await?; [INFO] [stdout] | ^^^ [INFO] [stdout] = note: `#[warn(dependency_on_unit_never_type_fallback)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 1 warning emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this function depends on never type fallback being `()` [INFO] [stdout] --> examples/keyspace.rs:26:1 [INFO] [stdout] | [INFO] [stdout] 26 | async fn fake_traffic(client: &RedisClient, amount: usize) -> Result<(), RedisError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #123748 [INFO] [stdout] = help: specify the types explicitly [INFO] [stdout] note: in edition 2024, the requirement `!: FromRedis` will fail [INFO] [stdout] --> examples/keyspace.rs:34:12 [INFO] [stdout] | [INFO] [stdout] 34 | client.set(&key, 1, None, None, false).await?; [INFO] [stdout] | ^^^ [INFO] [stdout] = note: `#[warn(dependency_on_unit_never_type_fallback)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> examples/keyspace.rs:51:11 [INFO] [stdout] | [INFO] [stdout] 51 | while let Ok(server) = reconnect_rx.recv().await { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> examples/keyspace.rs:54:5 [INFO] [stdout] | [INFO] [stdout] 54 | } [INFO] [stdout] | ^ [INFO] [stdout] = note: `--force-warn if-let-rescope` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> examples/keyspace.rs:65:11 [INFO] [stdout] | [INFO] [stdout] 65 | while let Ok(event) = keyspace_rx.recv().await { [INFO] [stdout] | ^^^^^^^^^^^^^^^^------------------------ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> examples/keyspace.rs:72:5 [INFO] [stdout] | [INFO] [stdout] 72 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> examples/keyspace.rs:93:11 [INFO] [stdout] | [INFO] [stdout] 93 | while let Ok(server) = reconnect_rx.recv().await { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> examples/keyspace.rs:99:5 [INFO] [stdout] | [INFO] [stdout] 99 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> examples/keyspace.rs:110:11 [INFO] [stdout] | [INFO] [stdout] 110 | while let Ok(event) = keyspace_rx.recv().await { [INFO] [stdout] | ^^^^^^^^^^^^^^^^------------------------ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> examples/keyspace.rs:117:5 [INFO] [stdout] | [INFO] [stdout] 117 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 5 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 58s [INFO] [stderr] Running `cargo check` to verify 2024 [INFO] [stderr] Checking fred v9.2.1 (/tmp/fixit) [INFO] [stdout] error[E0277]: the trait bound `!: FromRedis` is not satisfied [INFO] [stdout] --> examples/custom.rs:15:10 [INFO] [stdout] | [INFO] [stdout] 15 | client.lpush("foo", vec![1, 2, 3]).await?; [INFO] [stdout] | ^^^^^ the trait `FromRedis` is not implemented for `!` [INFO] [stdout] | [INFO] [stdout] = help: the following other types implement trait `FromRedis`: [INFO] [stdout] () [INFO] [stdout] (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12) [INFO] [stdout] (T10, T11, T12) [INFO] [stdout] (T11, T12) [INFO] [stdout] (T12,) [INFO] [stdout] (T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12) [INFO] [stdout] (T3, T4, T5, T6, T7, T8, T9, T10, T11, T12) [INFO] [stdout] (T4, T5, T6, T7, T8, T9, T10, T11, T12) [INFO] [stdout] and 32 others [INFO] [stdout] = note: this error might have been caused by changes to Rust's type-inference algorithm (see issue #48950 for more information) [INFO] [stdout] = help: did you intend to use the type `()` here instead? [INFO] [stdout] note: required by a bound in `fred::interfaces::ListInterface::{synthetic#11}` [INFO] [stdout] --> /tmp/fixit/src/commands/interfaces/lists.rs:252:8 [INFO] [stdout] | [INFO] [stdout] 252 | R: FromRedis, [INFO] [stdout] | ^^^^^^^^^ required by this bound in `ListInterface::{synthetic#11}` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 1 previous error [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0277`. [INFO] [stdout] [INFO] [stderr] error: could not compile `fred` (example "custom") due to 2 previous errors [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stdout] error[E0277]: the trait bound `!: FromRedis` is not satisfied [INFO] [stdout] --> examples/blocking.rs:29:22 [INFO] [stdout] | [INFO] [stdout] 29 | publisher_client.rpush("foo", idx).await?; [INFO] [stdout] | ^^^^^ the trait `FromRedis` is not implemented for `!` [INFO] [stdout] | [INFO] [stdout] = help: the following other types implement trait `FromRedis`: [INFO] [stdout] () [INFO] [stdout] (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12) [INFO] [stdout] (T10, T11, T12) [INFO] [stdout] (T11, T12) [INFO] [stdout] (T12,) [INFO] [stdout] (T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12) [INFO] [stdout] (T3, T4, T5, T6, T7, T8, T9, T10, T11, T12) [INFO] [stdout] (T4, T5, T6, T7, T8, T9, T10, T11, T12) [INFO] [stdout] and 32 others [INFO] [stdout] = note: this error might have been caused by changes to Rust's type-inference algorithm (see issue #48950 for more information) [INFO] [stdout] = help: did you intend to use the type `()` here instead? [INFO] [stdout] note: required by a bound in `fred::interfaces::ListInterface::{synthetic#20}` [INFO] [stdout] --> /tmp/fixit/src/commands/interfaces/lists.rs:403:8 [INFO] [stdout] | [INFO] [stdout] 403 | R: FromRedis, [INFO] [stdout] | ^^^^^^^^^ required by this bound in `ListInterface::{synthetic#20}` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 1 previous error [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0277`. [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `!: FromRedis` is not satisfied [INFO] [stdout] --> examples/basic.rs:19:6 [INFO] [stdout] | [INFO] [stdout] 19 | .set("foo", "bar", Some(Expiration::EX(1)), Some(SetOptions::NX), false) [INFO] [stdout] | ^^^ the trait `FromRedis` is not implemented for `!` [INFO] [stdout] | [INFO] [stdout] = help: the following other types implement trait `FromRedis`: [INFO] [stdout] () [INFO] [stdout] (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12) [INFO] [stdout] (T10, T11, T12) [INFO] [stdout] (T11, T12) [INFO] [stdout] (T12,) [INFO] [stdout] (T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12) [INFO] [stdout] (T3, T4, T5, T6, T7, T8, T9, T10, T11, T12) [INFO] [stdout] (T4, T5, T6, T7, T8, T9, T10, T11, T12) [INFO] [stdout] and 32 others [INFO] [stdout] = note: this error might have been caused by changes to Rust's type-inference algorithm (see issue #48950 for more information) [INFO] [stdout] = help: did you intend to use the type `()` here instead? [INFO] [stdout] note: required by a bound in `fred::interfaces::KeysInterface::{synthetic#6}` [INFO] [stdout] --> /tmp/fixit/src/commands/interfaces/keys.rs:120:8 [INFO] [stdout] | [INFO] [stdout] 120 | R: FromRedis, [INFO] [stdout] | ^^^^^^^^^ required by this bound in `KeysInterface::{synthetic#6}` [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `fred` (example "blocking") due to 2 previous errors [INFO] [stdout] error: aborting due to 1 previous error [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0277`. [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `!: FromRedis` is not satisfied [INFO] [stdout] --> examples/streams.rs:25:12 [INFO] [stdout] | [INFO] [stdout] 25 | client.del("foo").await?; [INFO] [stdout] | ^^^ the trait `FromRedis` is not implemented for `!` [INFO] [stdout] | [INFO] [stdout] = help: the following other types implement trait `FromRedis`: [INFO] [stdout] () [INFO] [stdout] (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12) [INFO] [stdout] (T10, T11, T12) [INFO] [stdout] (T11, T12) [INFO] [stdout] (T12,) [INFO] [stdout] (T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12) [INFO] [stdout] (T3, T4, T5, T6, T7, T8, T9, T10, T11, T12) [INFO] [stdout] (T4, T5, T6, T7, T8, T9, T10, T11, T12) [INFO] [stdout] and 32 others [INFO] [stdout] = note: this error might have been caused by changes to Rust's type-inference algorithm (see issue #48950 for more information) [INFO] [stdout] = help: did you intend to use the type `()` here instead? [INFO] [stdout] note: required by a bound in `fred::interfaces::KeysInterface::{synthetic#13}` [INFO] [stdout] --> /tmp/fixit/src/commands/interfaces/keys.rs:237:8 [INFO] [stdout] | [INFO] [stdout] 237 | R: FromRedis, [INFO] [stdout] | ^^^^^^^^^ required by this bound in `KeysInterface::{synthetic#13}` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `!: FromRedis` is not satisfied [INFO] [stdout] --> examples/streams.rs:26:12 [INFO] [stdout] | [INFO] [stdout] 26 | client.xgroup_create("foo", "group", "$", true).await?; [INFO] [stdout] | ^^^^^^^^^^^^^ the trait `FromRedis` is not implemented for `!` [INFO] [stdout] | [INFO] [stdout] = help: the following other types implement trait `FromRedis`: [INFO] [stdout] () [INFO] [stdout] (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12) [INFO] [stdout] (T10, T11, T12) [INFO] [stdout] (T11, T12) [INFO] [stdout] (T12,) [INFO] [stdout] (T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12) [INFO] [stdout] (T3, T4, T5, T6, T7, T8, T9, T10, T11, T12) [INFO] [stdout] (T4, T5, T6, T7, T8, T9, T10, T11, T12) [INFO] [stdout] and 32 others [INFO] [stdout] = note: this error might have been caused by changes to Rust's type-inference algorithm (see issue #48950 for more information) [INFO] [stdout] = help: did you intend to use the type `()` here instead? [INFO] [stdout] note: required by a bound in `fred::interfaces::StreamsInterface::{synthetic#13}` [INFO] [stdout] --> /tmp/fixit/src/commands/interfaces/streams.rs:432:8 [INFO] [stdout] | [INFO] [stdout] 432 | R: FromRedis, [INFO] [stdout] | ^^^^^^^^^ required by this bound in `StreamsInterface::{synthetic#13}` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `!: FromRedis` is not satisfied [INFO] [stdout] --> examples/streams.rs:25:23 [INFO] [stdout] | [INFO] [stdout] 25 | client.del("foo").await?; [INFO] [stdout] | ^^^^^ the trait `FromRedis` is not implemented for `!` [INFO] [stdout] | [INFO] [stdout] = help: the following other types implement trait `FromRedis`: [INFO] [stdout] () [INFO] [stdout] (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12) [INFO] [stdout] (T10, T11, T12) [INFO] [stdout] (T11, T12) [INFO] [stdout] (T12,) [INFO] [stdout] (T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12) [INFO] [stdout] (T3, T4, T5, T6, T7, T8, T9, T10, T11, T12) [INFO] [stdout] (T4, T5, T6, T7, T8, T9, T10, T11, T12) [INFO] [stdout] and 32 others [INFO] [stdout] = note: this error might have been caused by changes to Rust's type-inference algorithm (see issue #48950 for more information) [INFO] [stdout] = help: did you intend to use the type `()` here instead? [INFO] [stdout] note: required by a bound in `del` [INFO] [stdout] --> /tmp/fixit/src/commands/interfaces/keys.rs:237:8 [INFO] [stdout] | [INFO] [stdout] 235 | fn del(&self, keys: K) -> impl Future> + Send [INFO] [stdout] | --- required by a bound in this associated function [INFO] [stdout] 236 | where [INFO] [stdout] 237 | R: FromRedis, [INFO] [stdout] | ^^^^^^^^^ required by this bound in `KeysInterface::del` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `!: FromRedis` is not satisfied [INFO] [stdout] --> examples/streams.rs:26:53 [INFO] [stdout] | [INFO] [stdout] 26 | client.xgroup_create("foo", "group", "$", true).await?; [INFO] [stdout] | ^^^^^ the trait `FromRedis` is not implemented for `!` [INFO] [stdout] | [INFO] [stdout] = help: the following other types implement trait `FromRedis`: [INFO] [stdout] () [INFO] [stdout] (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12) [INFO] [stdout] (T10, T11, T12) [INFO] [stdout] (T11, T12) [INFO] [stdout] (T12,) [INFO] [stdout] (T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12) [INFO] [stdout] (T3, T4, T5, T6, T7, T8, T9, T10, T11, T12) [INFO] [stdout] (T4, T5, T6, T7, T8, T9, T10, T11, T12) [INFO] [stdout] and 32 others [INFO] [stdout] = note: this error might have been caused by changes to Rust's type-inference algorithm (see issue #48950 for more information) [INFO] [stdout] = help: did you intend to use the type `()` here instead? [INFO] [stdout] note: required by a bound in `xgroup_create` [INFO] [stdout] --> /tmp/fixit/src/commands/interfaces/streams.rs:432:8 [INFO] [stdout] | [INFO] [stdout] 424 | fn xgroup_create( [INFO] [stdout] | ------------- required by a bound in this associated function [INFO] [stdout] ... [INFO] [stdout] 432 | R: FromRedis, [INFO] [stdout] | ^^^^^^^^^ required by this bound in `StreamsInterface::xgroup_create` [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `fred` (example "basic") due to 2 previous errors [INFO] [stdout] error: aborting due to 4 previous errors [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0277`. [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `!: FromRedis` is not satisfied [INFO] [stdout] --> examples/pool.rs:14:8 [INFO] [stdout] | [INFO] [stdout] 14 | pool.set("foo", "bar", None, None, false).await?; [INFO] [stdout] | ^^^ the trait `FromRedis` is not implemented for `!` [INFO] [stdout] | [INFO] [stdout] = help: the following other types implement trait `FromRedis`: [INFO] [stdout] () [INFO] [stdout] (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12) [INFO] [stdout] (T10, T11, T12) [INFO] [stdout] (T11, T12) [INFO] [stdout] (T12,) [INFO] [stdout] (T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12) [INFO] [stdout] (T3, T4, T5, T6, T7, T8, T9, T10, T11, T12) [INFO] [stdout] (T4, T5, T6, T7, T8, T9, T10, T11, T12) [INFO] [stdout] and 32 others [INFO] [stdout] = note: this error might have been caused by changes to Rust's type-inference algorithm (see issue #48950 for more information) [INFO] [stdout] = help: did you intend to use the type `()` here instead? [INFO] [stdout] note: required by a bound in `fred::interfaces::KeysInterface::{synthetic#6}` [INFO] [stdout] --> /tmp/fixit/src/commands/interfaces/keys.rs:120:8 [INFO] [stdout] | [INFO] [stdout] 120 | R: FromRedis, [INFO] [stdout] | ^^^^^^^^^ required by this bound in `KeysInterface::{synthetic#6}` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `!: FromRedis` is not satisfied [INFO] [stdout] --> examples/pool.rs:17:8 [INFO] [stdout] | [INFO] [stdout] 17 | pool.del("foo").await?; [INFO] [stdout] | ^^^ the trait `FromRedis` is not implemented for `!` [INFO] [stdout] | [INFO] [stdout] = help: the following other types implement trait `FromRedis`: [INFO] [stdout] () [INFO] [stdout] (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12) [INFO] [stdout] (T10, T11, T12) [INFO] [stdout] (T11, T12) [INFO] [stdout] (T12,) [INFO] [stdout] (T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12) [INFO] [stdout] (T3, T4, T5, T6, T7, T8, T9, T10, T11, T12) [INFO] [stdout] (T4, T5, T6, T7, T8, T9, T10, T11, T12) [INFO] [stdout] and 32 others [INFO] [stdout] = note: this error might have been caused by changes to Rust's type-inference algorithm (see issue #48950 for more information) [INFO] [stdout] = help: did you intend to use the type `()` here instead? [INFO] [stdout] note: required by a bound in `fred::interfaces::KeysInterface::{synthetic#13}` [INFO] [stdout] --> /tmp/fixit/src/commands/interfaces/keys.rs:237:8 [INFO] [stdout] | [INFO] [stdout] 237 | R: FromRedis, [INFO] [stdout] | ^^^^^^^^^ required by this bound in `KeysInterface::{synthetic#13}` [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `fred` (example "streams") due to 5 previous errors [INFO] [stdout] error[E0277]: the trait bound `!: FromRedis` is not satisfied [INFO] [stdout] --> examples/pool.rs:20:12 [INFO] [stdout] | [INFO] [stdout] 20 | pipeline.incr("foo").await?; [INFO] [stdout] | ^^^^ the trait `FromRedis` is not implemented for `!` [INFO] [stdout] | [INFO] [stdout] = help: the following other types implement trait `FromRedis`: [INFO] [stdout] () [INFO] [stdout] (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12) [INFO] [stdout] (T10, T11, T12) [INFO] [stdout] (T11, T12) [INFO] [stdout] (T12,) [INFO] [stdout] (T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12) [INFO] [stdout] (T3, T4, T5, T6, T7, T8, T9, T10, T11, T12) [INFO] [stdout] (T4, T5, T6, T7, T8, T9, T10, T11, T12) [INFO] [stdout] and 32 others [INFO] [stdout] = note: this error might have been caused by changes to Rust's type-inference algorithm (see issue #48950 for more information) [INFO] [stdout] = help: did you intend to use the type `()` here instead? [INFO] [stdout] note: required by a bound in `fred::interfaces::KeysInterface::{synthetic#21}` [INFO] [stdout] --> /tmp/fixit/src/commands/interfaces/keys.rs:368:8 [INFO] [stdout] | [INFO] [stdout] 368 | R: FromRedis, [INFO] [stdout] | ^^^^^^^^^ required by this bound in `KeysInterface::{synthetic#21}` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `!: FromRedis` is not satisfied [INFO] [stdout] --> examples/pool.rs:21:12 [INFO] [stdout] | [INFO] [stdout] 21 | pipeline.incr("foo").await?; [INFO] [stdout] | ^^^^ the trait `FromRedis` is not implemented for `!` [INFO] [stdout] | [INFO] [stdout] = help: the following other types implement trait `FromRedis`: [INFO] [stdout] () [INFO] [stdout] (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12) [INFO] [stdout] (T10, T11, T12) [INFO] [stdout] (T11, T12) [INFO] [stdout] (T12,) [INFO] [stdout] (T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12) [INFO] [stdout] (T3, T4, T5, T6, T7, T8, T9, T10, T11, T12) [INFO] [stdout] (T4, T5, T6, T7, T8, T9, T10, T11, T12) [INFO] [stdout] and 32 others [INFO] [stdout] = note: this error might have been caused by changes to Rust's type-inference algorithm (see issue #48950 for more information) [INFO] [stdout] = help: did you intend to use the type `()` here instead? [INFO] [stdout] note: required by a bound in `fred::interfaces::KeysInterface::{synthetic#21}` [INFO] [stdout] --> /tmp/fixit/src/commands/interfaces/keys.rs:368:8 [INFO] [stdout] | [INFO] [stdout] 368 | R: FromRedis, [INFO] [stdout] | ^^^^^^^^^ required by this bound in `KeysInterface::{synthetic#21}` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `!: FromRedis` is not satisfied [INFO] [stdout] --> examples/pipeline.rs:24:10 [INFO] [stdout] | [INFO] [stdout] 24 | client.del("foo").await?; [INFO] [stdout] | ^^^ the trait `FromRedis` is not implemented for `!` [INFO] [stdout] | [INFO] [stdout] = help: the following other types implement trait `FromRedis`: [INFO] [stdout] () [INFO] [stdout] (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12) [INFO] [stdout] (T10, T11, T12) [INFO] [stdout] (T11, T12) [INFO] [stdout] (T12,) [INFO] [stdout] (T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12) [INFO] [stdout] (T3, T4, T5, T6, T7, T8, T9, T10, T11, T12) [INFO] [stdout] (T4, T5, T6, T7, T8, T9, T10, T11, T12) [INFO] [stdout] and 32 others [INFO] [stdout] = note: this error might have been caused by changes to Rust's type-inference algorithm (see issue #48950 for more information) [INFO] [stdout] = help: did you intend to use the type `()` here instead? [INFO] [stdout] note: required by a bound in `fred::interfaces::KeysInterface::{synthetic#13}` [INFO] [stdout] --> /tmp/fixit/src/commands/interfaces/keys.rs:237:8 [INFO] [stdout] | [INFO] [stdout] 237 | R: FromRedis, [INFO] [stdout] | ^^^^^^^^^ required by this bound in `KeysInterface::{synthetic#13}` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `!: FromRedis` is not satisfied [INFO] [stdout] --> examples/pipeline.rs:27:12 [INFO] [stdout] | [INFO] [stdout] 27 | pipeline.incr("foo").await?; [INFO] [stdout] | ^^^^ the trait `FromRedis` is not implemented for `!` [INFO] [stdout] | [INFO] [stdout] = help: the following other types implement trait `FromRedis`: [INFO] [stdout] () [INFO] [stdout] (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12) [INFO] [stdout] (T10, T11, T12) [INFO] [stdout] (T11, T12) [INFO] [stdout] (T12,) [INFO] [stdout] (T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12) [INFO] [stdout] (T3, T4, T5, T6, T7, T8, T9, T10, T11, T12) [INFO] [stdout] (T4, T5, T6, T7, T8, T9, T10, T11, T12) [INFO] [stdout] and 32 others [INFO] [stdout] = note: this error might have been caused by changes to Rust's type-inference algorithm (see issue #48950 for more information) [INFO] [stdout] = help: did you intend to use the type `()` here instead? [INFO] [stdout] note: required by a bound in `fred::interfaces::KeysInterface::{synthetic#21}` [INFO] [stdout] --> /tmp/fixit/src/commands/interfaces/keys.rs:368:8 [INFO] [stdout] | [INFO] [stdout] 368 | R: FromRedis, [INFO] [stdout] | ^^^^^^^^^ required by this bound in `KeysInterface::{synthetic#21}` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 4 previous errors [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `!: FromRedis` is not satisfied [INFO] [stdout] --> examples/pipeline.rs:28:12 [INFO] [stdout] | [INFO] [stdout] 28 | pipeline.incr("foo").await?; [INFO] [stdout] | ^^^^ the trait `FromRedis` is not implemented for `!` [INFO] [stdout] | [INFO] [stdout] = help: the following other types implement trait `FromRedis`: [INFO] [stdout] () [INFO] [stdout] (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12) [INFO] [stdout] (T10, T11, T12) [INFO] [stdout] (T11, T12) [INFO] [stdout] (T12,) [INFO] [stdout] (T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12) [INFO] [stdout] (T3, T4, T5, T6, T7, T8, T9, T10, T11, T12) [INFO] [stdout] (T4, T5, T6, T7, T8, T9, T10, T11, T12) [INFO] [stdout] and 32 others [INFO] [stdout] = note: this error might have been caused by changes to Rust's type-inference algorithm (see issue #48950 for more information) [INFO] [stdout] = help: did you intend to use the type `()` here instead? [INFO] [stdout] note: required by a bound in `fred::interfaces::KeysInterface::{synthetic#21}` [INFO] [stdout] --> /tmp/fixit/src/commands/interfaces/keys.rs:368:8 [INFO] [stdout] | [INFO] [stdout] 368 | R: FromRedis, [INFO] [stdout] | ^^^^^^^^^ required by this bound in `KeysInterface::{synthetic#21}` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0277`. [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `!: FromRedis` is not satisfied [INFO] [stdout] --> examples/pipeline.rs:31:10 [INFO] [stdout] | [INFO] [stdout] 31 | client.del("foo").await?; [INFO] [stdout] | ^^^ the trait `FromRedis` is not implemented for `!` [INFO] [stdout] | [INFO] [stdout] = help: the following other types implement trait `FromRedis`: [INFO] [stdout] () [INFO] [stdout] (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12) [INFO] [stdout] (T10, T11, T12) [INFO] [stdout] (T11, T12) [INFO] [stdout] (T12,) [INFO] [stdout] (T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12) [INFO] [stdout] (T3, T4, T5, T6, T7, T8, T9, T10, T11, T12) [INFO] [stdout] (T4, T5, T6, T7, T8, T9, T10, T11, T12) [INFO] [stdout] and 32 others [INFO] [stdout] = note: this error might have been caused by changes to Rust's type-inference algorithm (see issue #48950 for more information) [INFO] [stdout] = help: did you intend to use the type `()` here instead? [INFO] [stdout] note: required by a bound in `fred::interfaces::KeysInterface::{synthetic#13}` [INFO] [stdout] --> /tmp/fixit/src/commands/interfaces/keys.rs:237:8 [INFO] [stdout] | [INFO] [stdout] 237 | R: FromRedis, [INFO] [stdout] | ^^^^^^^^^ required by this bound in `KeysInterface::{synthetic#13}` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `!: FromRedis` is not satisfied [INFO] [stdout] --> examples/pipeline.rs:34:12 [INFO] [stdout] | [INFO] [stdout] 34 | pipeline.incr("foo").await?; [INFO] [stdout] | ^^^^ the trait `FromRedis` is not implemented for `!` [INFO] [stdout] | [INFO] [stdout] = help: the following other types implement trait `FromRedis`: [INFO] [stdout] () [INFO] [stdout] (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12) [INFO] [stdout] (T10, T11, T12) [INFO] [stdout] (T11, T12) [INFO] [stdout] (T12,) [INFO] [stdout] (T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12) [INFO] [stdout] (T3, T4, T5, T6, T7, T8, T9, T10, T11, T12) [INFO] [stdout] (T4, T5, T6, T7, T8, T9, T10, T11, T12) [INFO] [stdout] and 32 others [INFO] [stdout] = note: this error might have been caused by changes to Rust's type-inference algorithm (see issue #48950 for more information) [INFO] [stdout] = help: did you intend to use the type `()` here instead? [INFO] [stdout] note: required by a bound in `fred::interfaces::KeysInterface::{synthetic#21}` [INFO] [stdout] --> /tmp/fixit/src/commands/interfaces/keys.rs:368:8 [INFO] [stdout] | [INFO] [stdout] 368 | R: FromRedis, [INFO] [stdout] | ^^^^^^^^^ required by this bound in `KeysInterface::{synthetic#21}` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `!: FromRedis` is not satisfied [INFO] [stdout] --> examples/pipeline.rs:35:12 [INFO] [stdout] | [INFO] [stdout] 35 | pipeline.hgetall("foo").await?; // this will result in a `WRONGTYPE` error [INFO] [stdout] | ^^^^^^^ the trait `FromRedis` is not implemented for `!` [INFO] [stdout] | [INFO] [stdout] = help: the following other types implement trait `FromRedis`: [INFO] [stdout] () [INFO] [stdout] (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12) [INFO] [stdout] (T10, T11, T12) [INFO] [stdout] (T11, T12) [INFO] [stdout] (T12,) [INFO] [stdout] (T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12) [INFO] [stdout] (T3, T4, T5, T6, T7, T8, T9, T10, T11, T12) [INFO] [stdout] (T4, T5, T6, T7, T8, T9, T10, T11, T12) [INFO] [stdout] and 32 others [INFO] [stdout] = note: this error might have been caused by changes to Rust's type-inference algorithm (see issue #48950 for more information) [INFO] [stdout] = help: did you intend to use the type `()` here instead? [INFO] [stdout] note: required by a bound in `fred::interfaces::HashesInterface::{synthetic#0}` [INFO] [stdout] --> /tmp/fixit/src/commands/interfaces/hashes.rs:19:8 [INFO] [stdout] | [INFO] [stdout] 19 | R: FromRedis, [INFO] [stdout] | ^^^^^^^^^ required by this bound in `HashesInterface::{synthetic#0}` [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `fred` (example "pool") due to 5 previous errors [INFO] [stdout] error: aborting due to 6 previous errors [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0277`. [INFO] [stdout] [INFO] [stderr] error: could not compile `fred` (example "pipeline") due to 7 previous errors [INFO] [stdout] error[E0277]: the trait bound `!: FromRedis` is not satisfied [INFO] [stdout] --> examples/keyspace.rs:34:12 [INFO] [stdout] | [INFO] [stdout] 34 | client.set(&key, 1, None, None, false).await?; [INFO] [stdout] | ^^^ the trait `FromRedis` is not implemented for `!` [INFO] [stdout] | [INFO] [stdout] = help: the following other types implement trait `FromRedis`: [INFO] [stdout] () [INFO] [stdout] (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12) [INFO] [stdout] (T10, T11, T12) [INFO] [stdout] (T11, T12) [INFO] [stdout] (T12,) [INFO] [stdout] (T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12) [INFO] [stdout] (T3, T4, T5, T6, T7, T8, T9, T10, T11, T12) [INFO] [stdout] (T4, T5, T6, T7, T8, T9, T10, T11, T12) [INFO] [stdout] and 32 others [INFO] [stdout] = note: this error might have been caused by changes to Rust's type-inference algorithm (see issue #48950 for more information) [INFO] [stdout] = help: did you intend to use the type `()` here instead? [INFO] [stdout] note: required by a bound in `fred::interfaces::KeysInterface::{synthetic#6}` [INFO] [stdout] --> /tmp/fixit/src/commands/interfaces/keys.rs:120:8 [INFO] [stdout] | [INFO] [stdout] 120 | R: FromRedis, [INFO] [stdout] | ^^^^^^^^^ required by this bound in `KeysInterface::{synthetic#6}` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `!: FromRedis` is not satisfied [INFO] [stdout] --> examples/keyspace.rs:35:12 [INFO] [stdout] | [INFO] [stdout] 35 | client.incr(&key).await?; [INFO] [stdout] | ^^^^ the trait `FromRedis` is not implemented for `!` [INFO] [stdout] | [INFO] [stdout] = help: the following other types implement trait `FromRedis`: [INFO] [stdout] () [INFO] [stdout] (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12) [INFO] [stdout] (T10, T11, T12) [INFO] [stdout] (T11, T12) [INFO] [stdout] (T12,) [INFO] [stdout] (T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12) [INFO] [stdout] (T3, T4, T5, T6, T7, T8, T9, T10, T11, T12) [INFO] [stdout] (T4, T5, T6, T7, T8, T9, T10, T11, T12) [INFO] [stdout] and 32 others [INFO] [stdout] = note: this error might have been caused by changes to Rust's type-inference algorithm (see issue #48950 for more information) [INFO] [stdout] = help: did you intend to use the type `()` here instead? [INFO] [stdout] note: required by a bound in `fred::interfaces::KeysInterface::{synthetic#21}` [INFO] [stdout] --> /tmp/fixit/src/commands/interfaces/keys.rs:368:8 [INFO] [stdout] | [INFO] [stdout] 368 | R: FromRedis, [INFO] [stdout] | ^^^^^^^^^ required by this bound in `KeysInterface::{synthetic#21}` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `!: FromRedis` is not satisfied [INFO] [stdout] --> examples/keyspace.rs:36:12 [INFO] [stdout] | [INFO] [stdout] 36 | client.del(&key).await?; [INFO] [stdout] | ^^^ the trait `FromRedis` is not implemented for `!` [INFO] [stdout] | [INFO] [stdout] = help: the following other types implement trait `FromRedis`: [INFO] [stdout] () [INFO] [stdout] (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12) [INFO] [stdout] (T10, T11, T12) [INFO] [stdout] (T11, T12) [INFO] [stdout] (T12,) [INFO] [stdout] (T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12) [INFO] [stdout] (T3, T4, T5, T6, T7, T8, T9, T10, T11, T12) [INFO] [stdout] (T4, T5, T6, T7, T8, T9, T10, T11, T12) [INFO] [stdout] and 32 others [INFO] [stdout] = note: this error might have been caused by changes to Rust's type-inference algorithm (see issue #48950 for more information) [INFO] [stdout] = help: did you intend to use the type `()` here instead? [INFO] [stdout] note: required by a bound in `fred::interfaces::KeysInterface::{synthetic#13}` [INFO] [stdout] --> /tmp/fixit/src/commands/interfaces/keys.rs:237:8 [INFO] [stdout] | [INFO] [stdout] 237 | R: FromRedis, [INFO] [stdout] | ^^^^^^^^^ required by this bound in `KeysInterface::{synthetic#13}` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 3 previous errors [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0277`. [INFO] [stdout] [INFO] [stderr] error: could not compile `fred` (example "keyspace") due to 4 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" "eb9e75e2c57e450a309d8df243ebc661853b265a2c3806b2bdb5f938935522ec", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "eb9e75e2c57e450a309d8df243ebc661853b265a2c3806b2bdb5f938935522ec", kill_on_drop: false }` [INFO] [stdout] eb9e75e2c57e450a309d8df243ebc661853b265a2c3806b2bdb5f938935522ec