[INFO] fetching crate ydb 0.9.2... [INFO] checking ydb-0.9.2 against try#ccf408f4326a858c00dd845a64a86b16f360a801 for pr-129466-2 [INFO] extracting crate ydb 0.9.2 into /workspace/builds/worker-2-tc2/source [INFO] validating manifest of crates.io crate ydb 0.9.2 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 ydb 0.9.2 [INFO] finished tweaking crates.io crate ydb 0.9.2 [INFO] tweaked toml for crates.io crate ydb 0.9.2 written to /workspace/builds/worker-2-tc2/source/Cargo.toml [INFO] crate crates.io crate ydb 0.9.2 already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+ccf408f4326a858c00dd845a64a86b16f360a801" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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] 425c5b92a1796ebb93c699c09855ad5d19e2aaf03eaf2b3eacafae08ad821154 [INFO] running `Command { std: "docker" "start" "-a" "425c5b92a1796ebb93c699c09855ad5d19e2aaf03eaf2b3eacafae08ad821154", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "425c5b92a1796ebb93c699c09855ad5d19e2aaf03eaf2b3eacafae08ad821154", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "425c5b92a1796ebb93c699c09855ad5d19e2aaf03eaf2b3eacafae08ad821154", kill_on_drop: false }` [INFO] [stdout] 425c5b92a1796ebb93c699c09855ad5d19e2aaf03eaf2b3eacafae08ad821154 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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] 9fe43dd5ccc4d930ae2f9a6acfe1e139099fd41bd285a9c47fe9fee88da5b48d [INFO] running `Command { std: "docker" "start" "-a" "9fe43dd5ccc4d930ae2f9a6acfe1e139099fd41bd285a9c47fe9fee88da5b48d", kill_on_drop: false }` [INFO] [stderr] Copying to /tmp/fixit [INFO] [stderr] Running `cargo fix --edition` [INFO] [stderr] Migrating Cargo.toml from 2021 edition to 2024 [INFO] [stderr] Compiling proc-macro2 v1.0.68 [INFO] [stderr] Compiling unicode-ident v1.0.6 [INFO] [stderr] Compiling syn v1.0.109 [INFO] [stderr] Compiling libc v0.2.153 [INFO] [stderr] Compiling memchr v2.4.1 [INFO] [stderr] Compiling log v0.4.14 [INFO] [stderr] Checking pin-project-lite v0.2.13 [INFO] [stderr] Checking bytes v1.1.0 [INFO] [stderr] Compiling futures-core v0.3.21 [INFO] [stderr] Compiling parking_lot_core v0.9.1 [INFO] [stderr] Checking scopeguard v1.1.0 [INFO] [stderr] Compiling num-traits v0.2.14 [INFO] [stderr] Checking lock_api v0.4.6 [INFO] [stderr] Compiling tokio v1.22.0 [INFO] [stderr] Compiling either v1.6.1 [INFO] [stderr] Compiling anyhow v1.0.53 [INFO] [stderr] Checking tracing-core v0.1.22 [INFO] [stderr] Compiling itertools v0.10.3 [INFO] [stderr] Checking once_cell v1.9.0 [INFO] [stderr] Compiling quote v1.0.33 [INFO] [stderr] Checking itoa v1.0.1 [INFO] [stderr] Compiling syn v2.0.43 [INFO] [stderr] Compiling futures-task v0.3.21 [INFO] [stderr] Compiling cc v1.0.90 [INFO] [stderr] Checking num_cpus v1.13.1 [INFO] [stderr] Checking signal-hook-registry v1.4.0 [INFO] [stderr] Checking mio v0.8.6 [INFO] [stderr] Checking socket2 v0.4.4 [INFO] [stderr] Checking parking_lot v0.12.0 [INFO] [stderr] Compiling serde v1.0.193 [INFO] [stderr] Compiling futures-util v0.3.21 [INFO] [stderr] Compiling num-integer v0.1.44 [INFO] [stderr] Compiling indexmap v1.8.0 [INFO] [stderr] Checking futures-sink v0.3.21 [INFO] [stderr] Checking futures-io v0.3.21 [INFO] [stderr] Checking slab v0.4.5 [INFO] [stderr] Checking http v0.2.8 [INFO] [stderr] Checking spin v0.5.2 [INFO] [stderr] Checking hashbrown v0.11.2 [INFO] [stderr] Checking untrusted v0.7.1 [INFO] [stderr] Compiling lazy_static v1.4.0 [INFO] [stderr] Compiling ring v0.16.20 [INFO] [stderr] Checking tower-service v0.3.1 [INFO] [stderr] Checking base64 v0.13.0 [INFO] [stderr] Checking http-body v0.4.5 [INFO] [stderr] Checking getrandom v0.2.12 [INFO] [stderr] Compiling fixedbitset v0.4.1 [INFO] [stderr] Compiling futures-channel v0.3.21 [INFO] [stderr] Checking regex-syntax v0.6.25 [INFO] [stderr] Compiling remove_dir_all v0.5.3 [INFO] [stderr] Compiling fastrand v1.7.0 [INFO] [stderr] Compiling heck v0.4.0 [INFO] [stderr] Compiling httparse v1.8.0 [INFO] [stderr] Compiling tempfile v3.3.0 [INFO] [stderr] Compiling which v4.2.4 [INFO] [stderr] Compiling petgraph v0.6.0 [INFO] [stderr] Checking try-lock v0.2.3 [INFO] [stderr] Compiling multimap v0.8.3 [INFO] [stderr] Checking want v0.3.0 [INFO] [stderr] Checking rand_core v0.6.3 [INFO] [stderr] Checking aho-corasick v0.7.18 [INFO] [stderr] Compiling rustls v0.20.4 [INFO] [stderr] Compiling serde_derive v1.0.193 [INFO] [stderr] Checking httpdate v1.0.2 [INFO] [stderr] Checking ppv-lite86 v0.2.16 [INFO] [stderr] Checking percent-encoding v2.1.0 [INFO] [stderr] Compiling regex v1.5.5 [INFO] [stderr] Compiling prettyplease v0.1.9 [INFO] [stderr] Checking rand_chacha v0.3.1 [INFO] [stderr] Checking tower-layer v0.3.1 [INFO] [stderr] Compiling async-trait v0.1.52 [INFO] [stderr] Compiling strsim v0.10.0 [INFO] [stderr] Checking rand v0.8.4 [INFO] [stderr] Compiling darling_core v0.14.3 [INFO] [stderr] Checking time v0.1.45 [INFO] [stderr] Checking tinyvec_macros v0.1.0 [INFO] [stderr] Checking mime v0.3.16 [INFO] [stderr] Checking matches v0.1.9 [INFO] [stderr] Checking tinyvec v1.5.1 [INFO] [stderr] Checking rustls-pemfile v0.2.1 [INFO] [stderr] Compiling num-bigint v0.2.6 [INFO] [stderr] Compiling num-bigint v0.4.3 [INFO] [stderr] Checking webpki v0.22.0 [INFO] [stderr] Checking sct v0.7.0 [INFO] [stderr] Compiling serde_json v1.0.79 [INFO] [stderr] Compiling same-file v1.0.6 [INFO] [stderr] Checking http-range-header v0.3.0 [INFO] [stderr] Checking ryu v1.0.9 [INFO] [stderr] Compiling walkdir v2.3.2 [INFO] [stderr] Checking webpki-roots v0.22.2 [INFO] [stderr] Checking unicode-normalization v0.1.19 [INFO] [stderr] Checking form_urlencoded v1.0.1 [INFO] [stderr] Checking regex-automata v0.1.10 [INFO] [stderr] Compiling num-iter v0.1.42 [INFO] [stderr] Compiling tokio-macros v1.8.2 [INFO] [stderr] Compiling tracing-attributes v0.1.19 [INFO] [stderr] Compiling prost-derive v0.11.0 [INFO] [stderr] Compiling futures-macro v0.3.21 [INFO] [stderr] Compiling pin-project-internal v1.0.10 [INFO] [stderr] Compiling darling_macro v0.14.3 [INFO] [stderr] Checking tracing v0.1.30 [INFO] [stderr] Compiling darling v0.14.3 [INFO] [stderr] Compiling async-stream-impl v0.3.2 [INFO] [stderr] Compiling prost v0.11.2 [INFO] [stderr] Checking pin-project v1.0.10 [INFO] [stderr] Compiling num-rational v0.4.0 [INFO] [stderr] Compiling prost-types v0.11.2 [INFO] [stderr] Checking matchit v0.5.0 [INFO] [stderr] Checking unicode-bidi v0.3.7 [INFO] [stderr] Checking predicates-core v1.0.3 [INFO] [stderr] Compiling unicode-segmentation v1.9.0 [INFO] [stderr] Checking rustls-native-certs v0.6.1 [INFO] [stderr] Compiling toml v0.5.8 [INFO] [stderr] Checking idna v0.2.3 [INFO] [stderr] Checking tracing-futures v0.2.5 [INFO] [stderr] Compiling heck v0.3.3 [INFO] [stderr] Checking async-stream v0.3.2 [INFO] [stderr] Checking chrono v0.4.19 [INFO] [stderr] Checking pbjson v0.5.1 [INFO] [stderr] Compiling derive_builder_core v0.12.0 [INFO] [stderr] Checking matchers v0.1.0 [INFO] [stderr] Compiling prost-build v0.11.2 [INFO] [stderr] Compiling pbjson-build v0.5.1 [INFO] [stderr] Checking axum-core v0.2.9 [INFO] [stderr] Checking tokio-util v0.6.9 [INFO] [stderr] Checking tokio-util v0.7.8 [INFO] [stderr] Checking tokio-rustls v0.23.3 [INFO] [stderr] Checking h2 v0.3.11 [INFO] [stderr] Checking tokio-io-timeout v1.2.0 [INFO] [stderr] Compiling tonic-build v0.8.0 [INFO] [stderr] Checking tokio-stream v0.1.8 [INFO] [stderr] Compiling pbjson-types v0.5.1 [INFO] [stderr] Checking tower v0.4.13 [INFO] [stderr] Checking rustls-pemfile v1.0.1 [INFO] [stderr] Checking float-cmp v0.8.0 [INFO] [stderr] Checking tracing-log v0.1.2 [INFO] [stderr] Checking thread_local v1.1.4 [INFO] [stderr] Checking sharded-slab v0.1.4 [INFO] [stderr] Checking termtree v0.2.4 [INFO] [stderr] Checking difference v2.0.0 [INFO] [stderr] Checking ansi_term v0.12.1 [INFO] [stderr] Checking predicates-tree v1.0.5 [INFO] [stderr] Checking predicates v1.0.8 [INFO] [stderr] Checking simple_asn1 v0.4.1 [INFO] [stderr] Compiling derive_builder_macro v0.12.0 [INFO] [stderr] Checking tracing-subscriber v0.3.8 [INFO] [stderr] Compiling proc-macro-crate v0.1.5 [INFO] [stderr] Compiling strum_macros v0.21.1 [INFO] [stderr] Compiling ydb-grpc v0.0.14 [INFO] [stderr] Checking url v2.2.2 [INFO] [stderr] Checking tower-http v0.3.4 [INFO] [stderr] Checking serde_urlencoded v0.7.1 [INFO] [stderr] Compiling tracing-test-macro v0.2.1 [INFO] [stderr] Compiling mockall_derive v0.10.2 [INFO] [stderr] Checking pem v0.8.3 [INFO] [stderr] Checking num-complex v0.4.0 [INFO] [stderr] Checking encoding_rs v0.8.33 [INFO] [stderr] Checking fragile v1.1.0 [INFO] [stderr] Checking ipnet v2.3.1 [INFO] [stderr] Compiling ntest_proc_macro_helper v0.7.3 [INFO] [stderr] Checking stack-buf v0.1.6 [INFO] [stderr] Checking base64 v0.12.3 [INFO] [stderr] Checking zeroize v1.7.0 [INFO] [stderr] Checking downcast v0.10.0 [INFO] [stderr] Checking decimal-rs v0.1.43 [INFO] [stderr] Checking strum v0.21.0 [INFO] [stderr] Checking secrecy v0.4.1 [INFO] [stderr] Compiling ntest_timeout v0.7.3 [INFO] [stderr] Checking jsonwebtoken v7.2.0 [INFO] [stderr] Checking num v0.4.0 [INFO] [stderr] Checking tracing-test v0.2.1 [INFO] [stderr] Checking derive_builder v0.12.0 [INFO] [stderr] Compiling derivative v2.2.0 [INFO] [stderr] Compiling ntest_test_cases v0.7.3 [INFO] [stderr] Checking uuid v1.0.0 [INFO] [stderr] Checking async_once v0.2.6 [INFO] [stderr] Checking ntest v0.7.3 [INFO] [stderr] Checking mockall v0.10.2 [INFO] [stderr] Checking hyper v0.14.17 [INFO] [stderr] Checking axum v0.5.17 [INFO] [stderr] Checking hyper-timeout v0.4.1 [INFO] [stderr] Checking hyper-rustls v0.23.2 [INFO] [stderr] Checking reqwest v0.11.9 [INFO] [stderr] Checking tonic v0.8.2 [INFO] [stderr] Checking ydb v0.9.2 (/tmp/fixit) [INFO] [stderr] Migrating src/lib.rs from 2021 edition to 2024 [INFO] [stderr] warning: failed to automatically apply fixes suggested by rustc to crate `ydb` [INFO] [stderr] [INFO] [stderr] after fixes were automatically applied the compiler reported errors within these files: [INFO] [stderr] [INFO] [stderr] * src/sugar.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/sugar.rs:19:11 [INFO] [stderr] | [INFO] [stderr] 19 | $($name:expr_2021 => $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/sugar.rs:19:30 [INFO] [stderr] | [INFO] [stderr] 19 | $($name:expr_2021 => $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/sugar.rs:45:11 [INFO] [stderr] | [INFO] [stderr] 45 | $($field_name:expr_2021 => $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/sugar.rs:45:36 [INFO] [stderr] | [INFO] [stderr] 45 | $($field_name:expr_2021 => $val:expr_2021),+ $(,)? [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error: aborting due to 4 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/sugar.rs:19:17 [INFO] [stdout] | [INFO] [stdout] 19 | $($name:expr => $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] = 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] 19 | $($name:expr_2021 => $val: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/sugar.rs:19:30 [INFO] [stdout] | [INFO] [stdout] 19 | $($name:expr => $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] 19 | $($name:expr => $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/sugar.rs:45:23 [INFO] [stdout] | [INFO] [stdout] 45 | $($field_name:expr => $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] 45 | $($field_name:expr_2021 => $val: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/sugar.rs:45:36 [INFO] [stdout] | [INFO] [stdout] 45 | $($field_name:expr => $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] 45 | $($field_name:expr => $val:expr_2021),+ $(,)? [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `clone_box` is never used [INFO] [stdout] --> src/session_pool.rs:18:8 [INFO] [stdout] | [INFO] [stdout] 16 | pub(crate) trait SessionFabric: Send + Sync { [INFO] [stdout] | ------------- method in this trait [INFO] [stdout] 17 | async fn create_session(&self, timeouts: TimeoutSettings) -> YdbResult; [INFO] [stdout] 18 | fn clone_box(&self) -> Box; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/client_builder.rs:199:16 [INFO] [stdout] | [INFO] [stdout] 199 | if let Some(handler) = handlers.get(key.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/client_builder.rs:201:13 [INFO] [stdout] | [INFO] [stdout] 201 | } [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] 199 ~ match handlers.get(key.as_ref()) { Some(handler) => { [INFO] [stdout] 200 | client_builder = handler(s, client_builder)?; [INFO] [stdout] 201 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/client_common.rs:60:30 [INFO] [stdout] | [INFO] [stdout] 60 | let _renew_lock = if let Ok(lock) = renew_arc.try_lock() { [INFO] [stdout] | ^^^^^^^^^^^^^^^-------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/client_common.rs:62:9 [INFO] [stdout] | [INFO] [stdout] 62 | } 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] 60 ~ let _renew_lock = match renew_arc.try_lock() { Ok(lock) => { [INFO] [stdout] 61 | lock [INFO] [stdout] 62 ~ } _ => { [INFO] [stdout] 63 | // other renew in process [INFO] [stdout] 64 | return; [INFO] [stdout] 65 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `impl Transaction` will capture more lifetimes than possibly intended in edition 2024 [INFO] [stdout] --> src/client_table.rs:184:71 [INFO] [stdout] | [INFO] [stdout] 184 | pub(crate) fn create_autocommit_transaction(&self, mode: Mode) -> impl Transaction { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see [INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds [INFO] [stdout] --> src/client_table.rs:184:49 [INFO] [stdout] | [INFO] [stdout] 184 | pub(crate) fn create_autocommit_transaction(&self, mode: Mode) -> impl Transaction { [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] 184 | pub(crate) fn create_autocommit_transaction(&self, mode: Mode) -> impl Transaction + use<> { [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `impl Transaction` will capture more lifetimes than possibly intended in edition 2024 [INFO] [stdout] --> src/client_table.rs:189:60 [INFO] [stdout] | [INFO] [stdout] 189 | pub(crate) fn create_interactive_transaction(&self) -> impl Transaction { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see [INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds [INFO] [stdout] --> src/client_table.rs:189:50 [INFO] [stdout] | [INFO] [stdout] 189 | pub(crate) fn create_interactive_transaction(&self) -> impl Transaction { [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] 189 | pub(crate) fn create_interactive_transaction(&self) -> impl Transaction + use<> { [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/client_table.rs:333:26 [INFO] [stdout] | [INFO] [stdout] 333 | let err = if let Err(err) = res { [INFO] [stdout] | ^^^^^^^^^^^^^^^--- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/client_table.rs:335:13 [INFO] [stdout] | [INFO] [stdout] 335 | } 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] 333 ~ let err = match res { Err(err) => { [INFO] [stdout] 334 | err [INFO] [stdout] 335 ~ } _ => { [INFO] [stdout] 336 | match &res { [INFO] [stdout] ... [INFO] [stdout] 344 | return res; [INFO] [stdout] 345 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/client_table.rs:385:26 [INFO] [stdout] | [INFO] [stdout] 385 | let err = if let Err(err) = res { [INFO] [stdout] | ^^^^^^^^^^^^^^^--- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/client_table.rs:387:13 [INFO] [stdout] | [INFO] [stdout] 387 | } 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] 385 ~ let err = match res { Err(err) => { [INFO] [stdout] 386 | err [INFO] [stdout] 387 ~ } _ => { [INFO] [stdout] 388 | return res; [INFO] [stdout] 389 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/client_topic/topicwriter/writer_reception_queue.rs:39:12 [INFO] [stdout] | [INFO] [stdout] 39 | if let TopicWriterReceptionType::AwaitingConfirmation(sender) = self.reception_type { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/client_topic/topicwriter/writer_reception_queue.rs:43:9 [INFO] [stdout] | [INFO] [stdout] 43 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 39 ~ match self.reception_type { TopicWriterReceptionType::AwaitingConfirmation(sender) => { [INFO] [stdout] 40 | // drop is workaround for old rust: destructive assigment was unstable until 1.59 [INFO] [stdout] 41 | // E0658 [INFO] [stdout] 42 | drop(sender.send(write_status)); [INFO] [stdout] 43 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/discovery.rs:223:20 [INFO] [stdout] | [INFO] [stdout] 223 | if let Some(state) = shared_state_for_discovery.upgrade() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^------------------------------------ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/discovery.rs:225:17 [INFO] [stdout] | [INFO] [stdout] 225 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 223 ~ match shared_state_for_discovery.upgrade() { Some(state) => { [INFO] [stdout] 224 | let _ = state.discovery_now().await; [INFO] [stdout] 225 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/discovery.rs:315:15 [INFO] [stdout] | [INFO] [stdout] 315 | while let Some(state) = state.upgrade() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^--------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/discovery.rs:321:9 [INFO] [stdout] | [INFO] [stdout] 321 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/grpc_wrapper/raw_table_service/value/proto.rs:64:22 [INFO] [stdout] | [INFO] [stdout] 64 | let key = if let Some(k) = value.key { [INFO] [stdout] | ^^^^^^^^^^^^^^--------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/grpc_wrapper/raw_table_service/value/proto.rs:66:9 [INFO] [stdout] | [INFO] [stdout] 66 | } 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 ~ let key = match value.key { Some(k) => { [INFO] [stdout] 65 | k [INFO] [stdout] 66 ~ } _ => { [INFO] [stdout] 67 | return decode_err("empty key value in proto pair"); [INFO] [stdout] 68 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/grpc_wrapper/raw_table_service/value/proto.rs:70:26 [INFO] [stdout] | [INFO] [stdout] 70 | let payload = if let Some(p) = value.payload { [INFO] [stdout] | ^^^^^^^^^^^^^^------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/grpc_wrapper/raw_table_service/value/proto.rs:72:9 [INFO] [stdout] | [INFO] [stdout] 72 | } 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] 70 ~ let payload = match value.payload { Some(p) => { [INFO] [stdout] 71 | p [INFO] [stdout] 72 ~ } _ => { [INFO] [stdout] 73 | return decode_err("empty payload value in proto pair"); [INFO] [stdout] 74 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/grpc_wrapper/raw_table_service/value/proto.rs:172:20 [INFO] [stdout] | [INFO] [stdout] 172 | let t = if let Some(t) = value.r#type { [INFO] [stdout] | ^^^^^^^^^^^^^^------------ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/grpc_wrapper/raw_table_service/value/proto.rs:174:9 [INFO] [stdout] | [INFO] [stdout] 174 | } 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] 172 ~ let t = match value.r#type { Some(t) => { [INFO] [stdout] 173 | RawType::try_from(t)? [INFO] [stdout] 174 ~ } _ => { [INFO] [stdout] 175 | return Err(RawError::decode_error("empty type in proto typed value")) [INFO] [stdout] 176 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/grpc_wrapper/raw_table_service/value/proto.rs:178:20 [INFO] [stdout] | [INFO] [stdout] 178 | let v = if let Some(v) = value.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/grpc_wrapper/raw_table_service/value/proto.rs:180:9 [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] 178 ~ let v = match value.value { Some(v) => { [INFO] [stdout] 179 | RawValue::try_from(v)? [INFO] [stdout] 180 ~ } _ => { [INFO] [stdout] 181 | RawValue::NullFlag [INFO] [stdout] 182 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/grpc_wrapper/raw_table_service/value/type.rs:206:31 [INFO] [stdout] | [INFO] [stdout] 206 | let t: ProtoType = if let Some(t) = src.r#type { [INFO] [stdout] | ^^^^^^^^^^^^^^---------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/grpc_wrapper/raw_table_service/value/type.rs:208:9 [INFO] [stdout] | [INFO] [stdout] 208 | } 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] 206 ~ let t: ProtoType = match src.r#type { Some(t) => { [INFO] [stdout] 207 | t [INFO] [stdout] 208 ~ } _ => { [INFO] [stdout] 209 | return decode_err("empty type field in Type message"); [INFO] [stdout] 210 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/grpc_wrapper/raw_table_service/value/type.rs:219:20 [INFO] [stdout] | [INFO] [stdout] 219 | if let Some(item) = optional_type.item { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^------------------ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/grpc_wrapper/raw_table_service/value/type.rs:221:17 [INFO] [stdout] | [INFO] [stdout] 221 | } 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] 219 ~ match optional_type.item { Some(item) => { [INFO] [stdout] 220 | RawType::Optional(Box::new(RawType::try_from(*item)?)) [INFO] [stdout] 221 ~ } _ => { [INFO] [stdout] 222 | return decode_err("empty optional type"); [INFO] [stdout] 223 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/grpc_wrapper/raw_table_service/value/type.rs:226:20 [INFO] [stdout] | [INFO] [stdout] 226 | if let Some(item) = list_type.item { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^-------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/grpc_wrapper/raw_table_service/value/type.rs:228:17 [INFO] [stdout] | [INFO] [stdout] 228 | } 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] 226 ~ match list_type.item { Some(item) => { [INFO] [stdout] 227 | RawType::List(Box::new(RawType::try_from(*item)?)) [INFO] [stdout] 228 ~ } _ => { [INFO] [stdout] 229 | return decode_err("empty list type"); [INFO] [stdout] 230 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/grpc_wrapper/raw_table_service/value/type.rs:237:30 [INFO] [stdout] | [INFO] [stdout] 237 | let key = if let Some(key) = dict_type.key { [INFO] [stdout] | ^^^^^^^^^^^^^^^^------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/grpc_wrapper/raw_table_service/value/type.rs:239:17 [INFO] [stdout] | [INFO] [stdout] 239 | } 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] 237 ~ let key = match dict_type.key { Some(key) => { [INFO] [stdout] 238 | key [INFO] [stdout] 239 ~ } _ => { [INFO] [stdout] 240 | return decode_err("empty key type in dict_type"); [INFO] [stdout] 241 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/grpc_wrapper/raw_table_service/value/type.rs:243:34 [INFO] [stdout] | [INFO] [stdout] 243 | let payload = if let Some(payload) = dict_type.payload { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^----------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/grpc_wrapper/raw_table_service/value/type.rs:245:17 [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] 243 ~ let payload = match dict_type.payload { Some(payload) => { [INFO] [stdout] 244 | payload [INFO] [stdout] 245 ~ } _ => { [INFO] [stdout] 246 | return decode_err("empty payload in dict_type"); [INFO] [stdout] 247 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/grpc_wrapper/raw_table_service/value/type.rs:255:28 [INFO] [stdout] | [INFO] [stdout] 255 | let t = if let Some(t) = variant_type.r#type { [INFO] [stdout] | ^^^^^^^^^^^^^^------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/grpc_wrapper/raw_table_service/value/type.rs:257:17 [INFO] [stdout] | [INFO] [stdout] 257 | } 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 ~ let t = match variant_type.r#type { Some(t) => { [INFO] [stdout] 256 | t [INFO] [stdout] 257 ~ } _ => { [INFO] [stdout] 258 | return decode_err("empty type in variant_type"); [INFO] [stdout] 259 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/grpc_wrapper/raw_table_service/value/type.rs:272:28 [INFO] [stdout] | [INFO] [stdout] 272 | let t = if let Some(t) = tagged_type.r#type { [INFO] [stdout] | ^^^^^^^^^^^^^^------------------ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/grpc_wrapper/raw_table_service/value/type.rs:274:17 [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] 272 ~ let t = match tagged_type.r#type { Some(t) => { [INFO] [stdout] 273 | t [INFO] [stdout] 274 ~ } _ => { [INFO] [stdout] 275 | return decode_err("empty type in tagged_type"); [INFO] [stdout] 276 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/grpc_wrapper/raw_table_service/value/type.rs:297:22 [INFO] [stdout] | [INFO] [stdout] 297 | let res = if let Some(t) = value.r#type { [INFO] [stdout] | ^^^^^^^^^^^^^^------------ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/grpc_wrapper/raw_table_service/value/type.rs:302:9 [INFO] [stdout] | [INFO] [stdout] 302 | } 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] 297 ~ let res = match value.r#type { Some(t) => { [INFO] [stdout] 298 | StructMember { [INFO] [stdout] ... [INFO] [stdout] 301 | } [INFO] [stdout] 302 ~ } _ => { [INFO] [stdout] 303 | return decode_err("struct member type empty"); [INFO] [stdout] 304 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/grpc_wrapper/raw_table_service/value/value_ydb.rs:124:20 [INFO] [stdout] | [INFO] [stdout] 124 | if let Some(v) = v.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/grpc_wrapper/raw_table_service/value/value_ydb.rs:130:17 [INFO] [stdout] | [INFO] [stdout] 130 | } 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 v.value { Some(v) => { [INFO] [stdout] 125 | let value: RawTypedValue = v.try_into()?; [INFO] [stdout] ... [INFO] [stdout] 129 | } [INFO] [stdout] 130 ~ } _ => { [INFO] [stdout] 131 | RawTypedValue { [INFO] [stdout] ... [INFO] [stdout] 134 | } [INFO] [stdout] 135 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/grpc_wrapper/raw_table_service/value/value_ydb.rs:256:51 [INFO] [stdout] | [INFO] [stdout] 256 | let opt_value: Option = if let RawValue::NullFlag = 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] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/grpc_wrapper/raw_table_service/value/value_ydb.rs:258:17 [INFO] [stdout] | [INFO] [stdout] 258 | } 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] 256 ~ let opt_value: Option = match v { RawValue::NullFlag => { [INFO] [stdout] 257 | None [INFO] [stdout] 258 ~ } _ => { [INFO] [stdout] 259 | let val: Value = RawTypedValue { [INFO] [stdout] ... [INFO] [stdout] 263 | Some(val) [INFO] [stdout] 264 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/grpc_wrapper/raw_table_service/execute_data_query.rs:62:29 [INFO] [stdout] | [INFO] [stdout] 62 | let query_meta = if let Some(proto_meta) = value.query_meta{ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^---------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/grpc_wrapper/raw_table_service/execute_data_query.rs:64:9 [INFO] [stdout] | [INFO] [stdout] 64 | } 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] 62 ~ let query_meta = match value.query_meta{ Some(proto_meta) => { [INFO] [stdout] 63 | Some(RawQueryMeta::try_from(proto_meta)?) [INFO] [stdout] 64 ~ } _ => { [INFO] [stdout] 65 | None [INFO] [stdout] 66 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/result.rs:192:35 [INFO] [stdout] | [INFO] [stdout] 192 | let partial_response = if let Some(partial_response) = self.results.message().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/result.rs:194:9 [INFO] [stdout] | [INFO] [stdout] 194 | } 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] 192 ~ let partial_response = match self.results.message().await? { Some(partial_response) => { [INFO] [stdout] 193 | partial_response [INFO] [stdout] 194 ~ } _ => { [INFO] [stdout] 195 | return Ok(None); [INFO] [stdout] 196 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/result.rs:204:35 [INFO] [stdout] | [INFO] [stdout] 204 | let proto_result_set = if let Some(partial_result) = partial_response.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/result.rs:210:9 [INFO] [stdout] | [INFO] [stdout] 210 | } 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] 204 ~ let proto_result_set = match partial_response.result { Some(partial_result) => { [INFO] [stdout] 205 | if let Some(proto_result_set) = partial_result.result_set { [INFO] [stdout] ... [INFO] [stdout] 209 | } [INFO] [stdout] 210 ~ } _ => { [INFO] [stdout] 211 | return Err(YdbError::InternalError("unexpected empty result".into())); [INFO] [stdout] 212 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/result.rs:205:16 [INFO] [stdout] | [INFO] [stdout] 205 | if let Some(proto_result_set) = partial_result.result_set { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/result.rs:207:13 [INFO] [stdout] | [INFO] [stdout] 207 | } 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] 205 ~ match partial_result.result_set { Some(proto_result_set) => { [INFO] [stdout] 206 | proto_result_set [INFO] [stdout] 207 ~ } _ => { [INFO] [stdout] 208 | return Ok(None); [INFO] [stdout] 209 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/session.rs:263:15 [INFO] [stdout] | [INFO] [stdout] 263 | while let Some(on_drop) = self.on_drop_callbacks.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/session.rs:265:9 [INFO] [stdout] | [INFO] [stdout] 265 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/session_pool.rs:78:16 [INFO] [stdout] | [INFO] [stdout] 78 | if let Some(idle_item) = idle_item { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^--------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/session_pool.rs:81:13 [INFO] [stdout] | [INFO] [stdout] 81 | } 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] 78 ~ match idle_item { Some(idle_item) => { [INFO] [stdout] 79 | trace!("got session from pool: {}", &idle_item.session.id); [INFO] [stdout] 80 | idle_item.session [INFO] [stdout] 81 ~ } _ => { [INFO] [stdout] 82 | let session = self.create_session.create_session(self.timeouts).await?; [INFO] [stdout] 83 | trace!("create session: {}", &session.id); [INFO] [stdout] 84 | session [INFO] [stdout] 85 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/session_pool.rs:118:36 [INFO] [stdout] | [INFO] [stdout] 118 | let idle_sessions = if let Some(idle_sessions) = idle_sessions.upgrade() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^----------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/session_pool.rs:120:13 [INFO] [stdout] | [INFO] [stdout] 120 | } 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] 118 ~ let idle_sessions = match idle_sessions.upgrade() { Some(idle_sessions) => { [INFO] [stdout] 119 | idle_sessions [INFO] [stdout] 120 ~ } _ => { [INFO] [stdout] 121 | return; [INFO] [stdout] 122 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/session_pool.rs:127:24 [INFO] [stdout] | [INFO] [stdout] 127 | if let Some(idle_item) = idle_sessions.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/session_pool.rs:135:21 [INFO] [stdout] | [INFO] [stdout] 135 | } 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] 127 ~ match idle_sessions.front() { Some(idle_item) => { [INFO] [stdout] 128 | if idle_item.idle_since <= ping_since { [INFO] [stdout] ... [INFO] [stdout] 134 | } [INFO] [stdout] 135 ~ } _ => { [INFO] [stdout] 136 | // empty queue [INFO] [stdout] 137 | sleep_until = now.add(interval); [INFO] [stdout] 138 | break 'sessions; [INFO] [stdout] 139 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/dicovery_pessimization_interceptor.rs:38:16 [INFO] [stdout] | [INFO] [stdout] 38 | if let Some(err) = errors.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/dicovery_pessimization_interceptor.rs:40:13 [INFO] [stdout] | [INFO] [stdout] 40 | } 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] 38 ~ match errors.recv().await { Some(err) => { [INFO] [stdout] 39 | discovery.pessimization(&err.endpoint) [INFO] [stdout] 40 ~ } _ => { [INFO] [stdout] 41 | return; [INFO] [stdout] 42 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/transaction.rs:173:26 [INFO] [stdout] | [INFO] [stdout] 173 | let session = if let Some(session) = self.session.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/transaction.rs:175:9 [INFO] [stdout] | [INFO] [stdout] 175 | } 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] 173 ~ let session = match self.session.as_mut() { Some(session) => { [INFO] [stdout] 174 | session [INFO] [stdout] 175 ~ } _ => { [INFO] [stdout] 176 | self.session = Some(self.session_pool.session().await?); [INFO] [stdout] 177 | trace!("create session from transaction"); [INFO] [stdout] 178 | self.session.as_mut().unwrap() [INFO] [stdout] 179 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/transaction.rs:244:12 [INFO] [stdout] | [INFO] [stdout] 244 | if let Some(session) = self.session.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/transaction.rs:248:9 [INFO] [stdout] | [INFO] [stdout] 248 | } 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] 244 ~ match self.session.as_mut() { Some(session) => { [INFO] [stdout] 245 | session.commit_transaction(tx_id.clone()).await?; [INFO] [stdout] 246 | self.comitted = true; [INFO] [stdout] 247 | return Ok(()); [INFO] [stdout] 248 ~ } _ => { [INFO] [stdout] 249 | return Err(YdbError::InternalError( [INFO] [stdout] 250 | "commit transaction without session (internal error)".into(), [INFO] [stdout] 251 | )); [INFO] [stdout] 252 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/transaction.rs:269:26 [INFO] [stdout] | [INFO] [stdout] 269 | let session = if let Some(session) = &mut self.session { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^------------ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/transaction.rs:271:9 [INFO] [stdout] | [INFO] [stdout] 271 | } 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] 269 ~ let session = match &mut self.session { Some(session) => { [INFO] [stdout] 270 | session [INFO] [stdout] 271 ~ } _ => { [INFO] [stdout] 272 | // rollback non started transaction ok [INFO] [stdout] ... [INFO] [stdout] 275 | return Ok(()); [INFO] [stdout] 276 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 40 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Migrating examples/auth-yc-cmdline.rs from 2021 edition to 2024 [INFO] [stderr] warning: failed to automatically apply fixes suggested by rustc to crate `ydb` [INFO] [stderr] [INFO] [stderr] after fixes were automatically applied the compiler reported errors within these files: [INFO] [stderr] [INFO] [stderr] * src/sugar.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/sugar.rs:19:11 [INFO] [stderr] | [INFO] [stderr] 19 | $($name:expr_2021 => $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/sugar.rs:19:30 [INFO] [stderr] | [INFO] [stderr] 19 | $($name:expr_2021 => $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/sugar.rs:45:11 [INFO] [stderr] | [INFO] [stderr] 45 | $($field_name:expr_2021 => $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/sugar.rs:45:36 [INFO] [stderr] | [INFO] [stderr] 45 | $($field_name:expr_2021 => $val:expr_2021),+ $(,)? [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error: aborting due to 4 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/sugar.rs:19:17 [INFO] [stdout] | [INFO] [stdout] 19 | $($name:expr => $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] = 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] 19 | $($name:expr_2021 => $val: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/sugar.rs:19:30 [INFO] [stdout] | [INFO] [stdout] 19 | $($name:expr => $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] 19 | $($name:expr => $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/sugar.rs:45:23 [INFO] [stdout] | [INFO] [stdout] 45 | $($field_name:expr => $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] 45 | $($field_name:expr_2021 => $val: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/sugar.rs:45:36 [INFO] [stdout] | [INFO] [stdout] 45 | $($field_name:expr => $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] 45 | $($field_name:expr => $val:expr_2021),+ $(,)? [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `clone_box` is never used [INFO] [stdout] --> src/session_pool.rs:18:8 [INFO] [stdout] | [INFO] [stdout] 16 | pub(crate) trait SessionFabric: Send + Sync { [INFO] [stdout] | ------------- method in this trait [INFO] [stdout] 17 | async fn create_session(&self, timeouts: TimeoutSettings) -> YdbResult; [INFO] [stdout] 18 | fn clone_box(&self) -> Box; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/client_builder.rs:199:16 [INFO] [stdout] | [INFO] [stdout] 199 | if let Some(handler) = handlers.get(key.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/client_builder.rs:201:13 [INFO] [stdout] | [INFO] [stdout] 201 | } [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] 199 ~ match handlers.get(key.as_ref()) { Some(handler) => { [INFO] [stdout] 200 | client_builder = handler(s, client_builder)?; [INFO] [stdout] 201 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/client_common.rs:60:30 [INFO] [stdout] | [INFO] [stdout] 60 | let _renew_lock = if let Ok(lock) = renew_arc.try_lock() { [INFO] [stdout] | ^^^^^^^^^^^^^^^-------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/client_common.rs:62:9 [INFO] [stdout] | [INFO] [stdout] 62 | } 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] 60 ~ let _renew_lock = match renew_arc.try_lock() { Ok(lock) => { [INFO] [stdout] 61 | lock [INFO] [stdout] 62 ~ } _ => { [INFO] [stdout] 63 | // other renew in process [INFO] [stdout] 64 | return; [INFO] [stdout] 65 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `impl Transaction` will capture more lifetimes than possibly intended in edition 2024 [INFO] [stdout] --> src/client_table.rs:184:71 [INFO] [stdout] | [INFO] [stdout] 184 | pub(crate) fn create_autocommit_transaction(&self, mode: Mode) -> impl Transaction { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see [INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds [INFO] [stdout] --> src/client_table.rs:184:49 [INFO] [stdout] | [INFO] [stdout] 184 | pub(crate) fn create_autocommit_transaction(&self, mode: Mode) -> impl Transaction { [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] 184 | pub(crate) fn create_autocommit_transaction(&self, mode: Mode) -> impl Transaction + use<> { [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `impl Transaction` will capture more lifetimes than possibly intended in edition 2024 [INFO] [stdout] --> src/client_table.rs:189:60 [INFO] [stdout] | [INFO] [stdout] 189 | pub(crate) fn create_interactive_transaction(&self) -> impl Transaction { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see [INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds [INFO] [stdout] --> src/client_table.rs:189:50 [INFO] [stdout] | [INFO] [stdout] 189 | pub(crate) fn create_interactive_transaction(&self) -> impl Transaction { [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] 189 | pub(crate) fn create_interactive_transaction(&self) -> impl Transaction + use<> { [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/client_table.rs:333:26 [INFO] [stdout] | [INFO] [stdout] 333 | let err = if let Err(err) = res { [INFO] [stdout] | ^^^^^^^^^^^^^^^--- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/client_table.rs:335:13 [INFO] [stdout] | [INFO] [stdout] 335 | } 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] 333 ~ let err = match res { Err(err) => { [INFO] [stdout] 334 | err [INFO] [stdout] 335 ~ } _ => { [INFO] [stdout] 336 | match &res { [INFO] [stdout] ... [INFO] [stdout] 344 | return res; [INFO] [stdout] 345 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/client_table.rs:385:26 [INFO] [stdout] | [INFO] [stdout] 385 | let err = if let Err(err) = res { [INFO] [stdout] | ^^^^^^^^^^^^^^^--- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/client_table.rs:387:13 [INFO] [stdout] | [INFO] [stdout] 387 | } 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] 385 ~ let err = match res { Err(err) => { [INFO] [stdout] 386 | err [INFO] [stdout] 387 ~ } _ => { [INFO] [stdout] 388 | return res; [INFO] [stdout] 389 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/client_table_test_integration.rs:783:11 [INFO] [stdout] | [INFO] [stdout] 783 | while let Some(result_set) = res.next().await? { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^----------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/client_table_test_integration.rs:811:5 [INFO] [stdout] | [INFO] [stdout] 811 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/client_topic/topicwriter/writer_reception_queue.rs:39:12 [INFO] [stdout] | [INFO] [stdout] 39 | if let TopicWriterReceptionType::AwaitingConfirmation(sender) = self.reception_type { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/client_topic/topicwriter/writer_reception_queue.rs:43:9 [INFO] [stdout] | [INFO] [stdout] 43 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 39 ~ match self.reception_type { TopicWriterReceptionType::AwaitingConfirmation(sender) => { [INFO] [stdout] 40 | // drop is workaround for old rust: destructive assigment was unstable until 1.59 [INFO] [stdout] 41 | // E0658 [INFO] [stdout] 42 | drop(sender.send(write_status)); [INFO] [stdout] 43 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/discovery.rs:223:20 [INFO] [stdout] | [INFO] [stdout] 223 | if let Some(state) = shared_state_for_discovery.upgrade() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^------------------------------------ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/discovery.rs:225:17 [INFO] [stdout] | [INFO] [stdout] 225 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 223 ~ match shared_state_for_discovery.upgrade() { Some(state) => { [INFO] [stdout] 224 | let _ = state.discovery_now().await; [INFO] [stdout] 225 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/discovery.rs:315:15 [INFO] [stdout] | [INFO] [stdout] 315 | while let Some(state) = state.upgrade() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^--------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/discovery.rs:321:9 [INFO] [stdout] | [INFO] [stdout] 321 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/grpc_wrapper/raw_table_service/value/proto.rs:64:22 [INFO] [stdout] | [INFO] [stdout] 64 | let key = if let Some(k) = value.key { [INFO] [stdout] | ^^^^^^^^^^^^^^--------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/grpc_wrapper/raw_table_service/value/proto.rs:66:9 [INFO] [stdout] | [INFO] [stdout] 66 | } 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 ~ let key = match value.key { Some(k) => { [INFO] [stdout] 65 | k [INFO] [stdout] 66 ~ } _ => { [INFO] [stdout] 67 | return decode_err("empty key value in proto pair"); [INFO] [stdout] 68 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/grpc_wrapper/raw_table_service/value/proto.rs:70:26 [INFO] [stdout] | [INFO] [stdout] 70 | let payload = if let Some(p) = value.payload { [INFO] [stdout] | ^^^^^^^^^^^^^^------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/grpc_wrapper/raw_table_service/value/proto.rs:72:9 [INFO] [stdout] | [INFO] [stdout] 72 | } 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] 70 ~ let payload = match value.payload { Some(p) => { [INFO] [stdout] 71 | p [INFO] [stdout] 72 ~ } _ => { [INFO] [stdout] 73 | return decode_err("empty payload value in proto pair"); [INFO] [stdout] 74 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/grpc_wrapper/raw_table_service/value/proto.rs:172:20 [INFO] [stdout] | [INFO] [stdout] 172 | let t = if let Some(t) = value.r#type { [INFO] [stdout] | ^^^^^^^^^^^^^^------------ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/grpc_wrapper/raw_table_service/value/proto.rs:174:9 [INFO] [stdout] | [INFO] [stdout] 174 | } 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] 172 ~ let t = match value.r#type { Some(t) => { [INFO] [stdout] 173 | RawType::try_from(t)? [INFO] [stdout] 174 ~ } _ => { [INFO] [stdout] 175 | return Err(RawError::decode_error("empty type in proto typed value")) [INFO] [stdout] 176 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/grpc_wrapper/raw_table_service/value/proto.rs:178:20 [INFO] [stdout] | [INFO] [stdout] 178 | let v = if let Some(v) = value.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/grpc_wrapper/raw_table_service/value/proto.rs:180:9 [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] 178 ~ let v = match value.value { Some(v) => { [INFO] [stdout] 179 | RawValue::try_from(v)? [INFO] [stdout] 180 ~ } _ => { [INFO] [stdout] 181 | RawValue::NullFlag [INFO] [stdout] 182 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/grpc_wrapper/raw_table_service/value/type.rs:206:31 [INFO] [stdout] | [INFO] [stdout] 206 | let t: ProtoType = if let Some(t) = src.r#type { [INFO] [stdout] | ^^^^^^^^^^^^^^---------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/grpc_wrapper/raw_table_service/value/type.rs:208:9 [INFO] [stdout] | [INFO] [stdout] 208 | } 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] 206 ~ let t: ProtoType = match src.r#type { Some(t) => { [INFO] [stdout] 207 | t [INFO] [stdout] 208 ~ } _ => { [INFO] [stdout] 209 | return decode_err("empty type field in Type message"); [INFO] [stdout] 210 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/grpc_wrapper/raw_table_service/value/type.rs:219:20 [INFO] [stdout] | [INFO] [stdout] 219 | if let Some(item) = optional_type.item { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^------------------ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/grpc_wrapper/raw_table_service/value/type.rs:221:17 [INFO] [stdout] | [INFO] [stdout] 221 | } 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] 219 ~ match optional_type.item { Some(item) => { [INFO] [stdout] 220 | RawType::Optional(Box::new(RawType::try_from(*item)?)) [INFO] [stdout] 221 ~ } _ => { [INFO] [stdout] 222 | return decode_err("empty optional type"); [INFO] [stdout] 223 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/grpc_wrapper/raw_table_service/value/type.rs:226:20 [INFO] [stdout] | [INFO] [stdout] 226 | if let Some(item) = list_type.item { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^-------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/grpc_wrapper/raw_table_service/value/type.rs:228:17 [INFO] [stdout] | [INFO] [stdout] 228 | } 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] 226 ~ match list_type.item { Some(item) => { [INFO] [stdout] 227 | RawType::List(Box::new(RawType::try_from(*item)?)) [INFO] [stdout] 228 ~ } _ => { [INFO] [stdout] 229 | return decode_err("empty list type"); [INFO] [stdout] 230 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/grpc_wrapper/raw_table_service/value/type.rs:237:30 [INFO] [stdout] | [INFO] [stdout] 237 | let key = if let Some(key) = dict_type.key { [INFO] [stdout] | ^^^^^^^^^^^^^^^^------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/grpc_wrapper/raw_table_service/value/type.rs:239:17 [INFO] [stdout] | [INFO] [stdout] 239 | } 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] 237 ~ let key = match dict_type.key { Some(key) => { [INFO] [stdout] 238 | key [INFO] [stdout] 239 ~ } _ => { [INFO] [stdout] 240 | return decode_err("empty key type in dict_type"); [INFO] [stdout] 241 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/grpc_wrapper/raw_table_service/value/type.rs:243:34 [INFO] [stdout] | [INFO] [stdout] 243 | let payload = if let Some(payload) = dict_type.payload { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^----------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/grpc_wrapper/raw_table_service/value/type.rs:245:17 [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] 243 ~ let payload = match dict_type.payload { Some(payload) => { [INFO] [stdout] 244 | payload [INFO] [stdout] 245 ~ } _ => { [INFO] [stdout] 246 | return decode_err("empty payload in dict_type"); [INFO] [stdout] 247 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/grpc_wrapper/raw_table_service/value/type.rs:255:28 [INFO] [stdout] | [INFO] [stdout] 255 | let t = if let Some(t) = variant_type.r#type { [INFO] [stdout] | ^^^^^^^^^^^^^^------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/grpc_wrapper/raw_table_service/value/type.rs:257:17 [INFO] [stdout] | [INFO] [stdout] 257 | } 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 ~ let t = match variant_type.r#type { Some(t) => { [INFO] [stdout] 256 | t [INFO] [stdout] 257 ~ } _ => { [INFO] [stdout] 258 | return decode_err("empty type in variant_type"); [INFO] [stdout] 259 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/grpc_wrapper/raw_table_service/value/type.rs:272:28 [INFO] [stdout] | [INFO] [stdout] 272 | let t = if let Some(t) = tagged_type.r#type { [INFO] [stdout] | ^^^^^^^^^^^^^^------------------ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/grpc_wrapper/raw_table_service/value/type.rs:274:17 [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] 272 ~ let t = match tagged_type.r#type { Some(t) => { [INFO] [stdout] 273 | t [INFO] [stdout] 274 ~ } _ => { [INFO] [stdout] 275 | return decode_err("empty type in tagged_type"); [INFO] [stdout] 276 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/grpc_wrapper/raw_table_service/value/type.rs:297:22 [INFO] [stdout] | [INFO] [stdout] 297 | let res = if let Some(t) = value.r#type { [INFO] [stdout] | ^^^^^^^^^^^^^^------------ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/grpc_wrapper/raw_table_service/value/type.rs:302:9 [INFO] [stdout] | [INFO] [stdout] 302 | } 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] 297 ~ let res = match value.r#type { Some(t) => { [INFO] [stdout] 298 | StructMember { [INFO] [stdout] ... [INFO] [stdout] 301 | } [INFO] [stdout] 302 ~ } _ => { [INFO] [stdout] 303 | return decode_err("struct member type empty"); [INFO] [stdout] 304 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/grpc_wrapper/raw_table_service/value/value_ydb.rs:124:20 [INFO] [stdout] | [INFO] [stdout] 124 | if let Some(v) = v.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/grpc_wrapper/raw_table_service/value/value_ydb.rs:130:17 [INFO] [stdout] | [INFO] [stdout] 130 | } 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 v.value { Some(v) => { [INFO] [stdout] 125 | let value: RawTypedValue = v.try_into()?; [INFO] [stdout] ... [INFO] [stdout] 129 | } [INFO] [stdout] 130 ~ } _ => { [INFO] [stdout] 131 | RawTypedValue { [INFO] [stdout] ... [INFO] [stdout] 134 | } [INFO] [stdout] 135 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/grpc_wrapper/raw_table_service/value/value_ydb.rs:256:51 [INFO] [stdout] | [INFO] [stdout] 256 | let opt_value: Option = if let RawValue::NullFlag = 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] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/grpc_wrapper/raw_table_service/value/value_ydb.rs:258:17 [INFO] [stdout] | [INFO] [stdout] 258 | } 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] 256 ~ let opt_value: Option = match v { RawValue::NullFlag => { [INFO] [stdout] 257 | None [INFO] [stdout] 258 ~ } _ => { [INFO] [stdout] 259 | let val: Value = RawTypedValue { [INFO] [stdout] ... [INFO] [stdout] 263 | Some(val) [INFO] [stdout] 264 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/grpc_wrapper/raw_table_service/value/value_ydb_test.rs:20:12 [INFO] [stdout] | [INFO] [stdout] 20 | if let Err(err) = check_value(value.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/grpc_wrapper/raw_table_service/value/value_ydb_test.rs:22:9 [INFO] [stdout] | [INFO] [stdout] 22 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 20 ~ match check_value(value.clone()){ Err(err) => { [INFO] [stdout] 21 | return Err(RawError::custom(format!("bad check for value: '{:?}': {}", value, err))) [INFO] [stdout] 22 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/grpc_wrapper/raw_table_service/execute_data_query.rs:62:29 [INFO] [stdout] | [INFO] [stdout] 62 | let query_meta = if let Some(proto_meta) = value.query_meta{ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^---------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/grpc_wrapper/raw_table_service/execute_data_query.rs:64:9 [INFO] [stdout] | [INFO] [stdout] 64 | } 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] 62 ~ let query_meta = match value.query_meta{ Some(proto_meta) => { [INFO] [stdout] 63 | Some(RawQueryMeta::try_from(proto_meta)?) [INFO] [stdout] 64 ~ } _ => { [INFO] [stdout] 65 | None [INFO] [stdout] 66 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/result.rs:192:35 [INFO] [stdout] | [INFO] [stdout] 192 | let partial_response = if let Some(partial_response) = self.results.message().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/result.rs:194:9 [INFO] [stdout] | [INFO] [stdout] 194 | } 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] 192 ~ let partial_response = match self.results.message().await? { Some(partial_response) => { [INFO] [stdout] 193 | partial_response [INFO] [stdout] 194 ~ } _ => { [INFO] [stdout] 195 | return Ok(None); [INFO] [stdout] 196 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/result.rs:204:35 [INFO] [stdout] | [INFO] [stdout] 204 | let proto_result_set = if let Some(partial_result) = partial_response.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/result.rs:210:9 [INFO] [stdout] | [INFO] [stdout] 210 | } 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] 204 ~ let proto_result_set = match partial_response.result { Some(partial_result) => { [INFO] [stdout] 205 | if let Some(proto_result_set) = partial_result.result_set { [INFO] [stdout] ... [INFO] [stdout] 209 | } [INFO] [stdout] 210 ~ } _ => { [INFO] [stdout] 211 | return Err(YdbError::InternalError("unexpected empty result".into())); [INFO] [stdout] 212 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/result.rs:205:16 [INFO] [stdout] | [INFO] [stdout] 205 | if let Some(proto_result_set) = partial_result.result_set { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/result.rs:207:13 [INFO] [stdout] | [INFO] [stdout] 207 | } 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] 205 ~ match partial_result.result_set { Some(proto_result_set) => { [INFO] [stdout] 206 | proto_result_set [INFO] [stdout] 207 ~ } _ => { [INFO] [stdout] 208 | return Ok(None); [INFO] [stdout] 209 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/session.rs:263:15 [INFO] [stdout] | [INFO] [stdout] 263 | while let Some(on_drop) = self.on_drop_callbacks.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/session.rs:265:9 [INFO] [stdout] | [INFO] [stdout] 265 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/session_pool.rs:78:16 [INFO] [stdout] | [INFO] [stdout] 78 | if let Some(idle_item) = idle_item { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^--------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/session_pool.rs:81:13 [INFO] [stdout] | [INFO] [stdout] 81 | } 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] 78 ~ match idle_item { Some(idle_item) => { [INFO] [stdout] 79 | trace!("got session from pool: {}", &idle_item.session.id); [INFO] [stdout] 80 | idle_item.session [INFO] [stdout] 81 ~ } _ => { [INFO] [stdout] 82 | let session = self.create_session.create_session(self.timeouts).await?; [INFO] [stdout] 83 | trace!("create session: {}", &session.id); [INFO] [stdout] 84 | session [INFO] [stdout] 85 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/session_pool.rs:118:36 [INFO] [stdout] | [INFO] [stdout] 118 | let idle_sessions = if let Some(idle_sessions) = idle_sessions.upgrade() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^----------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/session_pool.rs:120:13 [INFO] [stdout] | [INFO] [stdout] 120 | } 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] 118 ~ let idle_sessions = match idle_sessions.upgrade() { Some(idle_sessions) => { [INFO] [stdout] 119 | idle_sessions [INFO] [stdout] 120 ~ } _ => { [INFO] [stdout] 121 | return; [INFO] [stdout] 122 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/session_pool.rs:127:24 [INFO] [stdout] | [INFO] [stdout] 127 | if let Some(idle_item) = idle_sessions.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/session_pool.rs:135:21 [INFO] [stdout] | [INFO] [stdout] 135 | } 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] 127 ~ match idle_sessions.front() { Some(idle_item) => { [INFO] [stdout] 128 | if idle_item.idle_since <= ping_since { [INFO] [stdout] ... [INFO] [stdout] 134 | } [INFO] [stdout] 135 ~ } _ => { [INFO] [stdout] 136 | // empty queue [INFO] [stdout] 137 | sleep_until = now.add(interval); [INFO] [stdout] 138 | break 'sessions; [INFO] [stdout] 139 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/dicovery_pessimization_interceptor.rs:38:16 [INFO] [stdout] | [INFO] [stdout] 38 | if let Some(err) = errors.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/dicovery_pessimization_interceptor.rs:40:13 [INFO] [stdout] | [INFO] [stdout] 40 | } 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] 38 ~ match errors.recv().await { Some(err) => { [INFO] [stdout] 39 | discovery.pessimization(&err.endpoint) [INFO] [stdout] 40 ~ } _ => { [INFO] [stdout] 41 | return; [INFO] [stdout] 42 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/transaction.rs:173:26 [INFO] [stdout] | [INFO] [stdout] 173 | let session = if let Some(session) = self.session.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/transaction.rs:175:9 [INFO] [stdout] | [INFO] [stdout] 175 | } 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] 173 ~ let session = match self.session.as_mut() { Some(session) => { [INFO] [stdout] 174 | session [INFO] [stdout] 175 ~ } _ => { [INFO] [stdout] 176 | self.session = Some(self.session_pool.session().await?); [INFO] [stdout] 177 | trace!("create session from transaction"); [INFO] [stdout] 178 | self.session.as_mut().unwrap() [INFO] [stdout] 179 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/transaction.rs:244:12 [INFO] [stdout] | [INFO] [stdout] 244 | if let Some(session) = self.session.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/transaction.rs:248:9 [INFO] [stdout] | [INFO] [stdout] 248 | } 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] 244 ~ match self.session.as_mut() { Some(session) => { [INFO] [stdout] 245 | session.commit_transaction(tx_id.clone()).await?; [INFO] [stdout] 246 | self.comitted = true; [INFO] [stdout] 247 | return Ok(()); [INFO] [stdout] 248 ~ } _ => { [INFO] [stdout] 249 | return Err(YdbError::InternalError( [INFO] [stdout] 250 | "commit transaction without session (internal error)".into(), [INFO] [stdout] 251 | )); [INFO] [stdout] 252 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/transaction.rs:269:26 [INFO] [stdout] | [INFO] [stdout] 269 | let session = if let Some(session) = &mut self.session { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^------------ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/transaction.rs:271:9 [INFO] [stdout] | [INFO] [stdout] 271 | } 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] 269 ~ let session = match &mut self.session { Some(session) => { [INFO] [stdout] 270 | session [INFO] [stdout] 271 ~ } _ => { [INFO] [stdout] 272 | // rollback non started transaction ok [INFO] [stdout] ... [INFO] [stdout] 275 | return Ok(()); [INFO] [stdout] 276 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 42 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Migrating examples/auth-ycloud-serviceaccount.rs from 2021 edition to 2024 [INFO] [stderr] Migrating examples/basic-select-upsert.rs from 2021 edition to 2024 [INFO] [stderr] Migrating examples/auth-token.rs from 2021 edition to 2024 [INFO] [stderr] Migrating examples/auth-static-credentials.rs from 2021 edition to 2024 [INFO] [stderr] Migrating examples/auth-env-connection-string.rs from 2021 edition to 2024 [INFO] [stderr] Migrating examples/topic-writer.rs from 2021 edition to 2024 [INFO] [stderr] Migrating examples/basic-upsert-many-rows.rs from 2021 edition to 2024 [INFO] [stderr] Migrating examples/basic-logs.rs from 2021 edition to 2024 [INFO] [stderr] Migrating examples/auth-ycloud-metadata.rs from 2021 edition to 2024 [INFO] [stderr] Migrating examples/container-types.rs from 2021 edition to 2024 [INFO] [stderr] Migrating examples/mutex.rs from 2021 edition to 2024 [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 42.75s [INFO] [stderr] Running `cargo check` to verify 2024 [INFO] [stderr] Checking ydb v0.9.2 (/tmp/fixit) [INFO] [stdout] error: lifetime may not live long enough [INFO] [stdout] --> src/client_table.rs:328:17 [INFO] [stdout] | [INFO] [stdout] 309 | &self, [INFO] [stdout] | - let's call the lifetime of this reference `'1` [INFO] [stdout] ... [INFO] [stdout] 328 | Box::new(self.create_interactive_transaction()) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ cast requires that `'1` must outlive `'static` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: lifetime may not live long enough [INFO] [stdout] --> src/client_table.rs:328:17 [INFO] [stdout] | [INFO] [stdout] 309 | &self, [INFO] [stdout] | - let's call the lifetime of this reference `'1` [INFO] [stdout] ... [INFO] [stdout] 328 | Box::new(self.create_interactive_transaction()) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ cast requires that `'1` must outlive `'static` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 1 previous error [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `ydb` (lib) due to 2 previous errors [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stdout] error[E0716]: temporary value dropped while borrowed [INFO] [stdout] --> src/client_table_test_integration.rs:41:27 [INFO] [stdout] | [INFO] [stdout] 41 | let mut transaction = client [INFO] [stdout] | ___________________________^ [INFO] [stdout] 42 | | .table_client() [INFO] [stdout] | |_______________________^ creates a temporary value which is freed while still in use [INFO] [stdout] 43 | .create_autocommit_transaction(Mode::OnlineReadonly); [INFO] [stdout] | - temporary value is freed at the end of this statement [INFO] [stdout] 44 | let res = transaction.query("SELECT 1+1".into()).await?; [INFO] [stdout] | ----------- borrow later used here [INFO] [stdout] | [INFO] [stdout] help: consider using a `let` binding to create a longer lived value [INFO] [stdout] | [INFO] [stdout] 41 ~ let binding = client [INFO] [stdout] 42 + .table_client(); [INFO] [stdout] 43 ~ let mut transaction = binding [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0716]: temporary value dropped while borrowed [INFO] [stdout] --> src/client_table_test_integration.rs:64:27 [INFO] [stdout] | [INFO] [stdout] 64 | let mut transaction = client [INFO] [stdout] | ___________________________^ [INFO] [stdout] 65 | | .table_client() [INFO] [stdout] | |_______________________^ creates a temporary value which is freed while still in use [INFO] [stdout] 66 | .create_autocommit_transaction(Mode::OnlineReadonly); [INFO] [stdout] | - temporary value is freed at the end of this statement [INFO] [stdout] 67 | let res = transaction.query("SELECT 1+1 as s".into()).await?; [INFO] [stdout] | ----------- borrow later used here [INFO] [stdout] | [INFO] [stdout] help: consider using a `let` binding to create a longer lived value [INFO] [stdout] | [INFO] [stdout] 64 ~ let binding = client [INFO] [stdout] 65 + .table_client(); [INFO] [stdout] 66 ~ let mut transaction = binding [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0716]: temporary value dropped while borrowed [INFO] [stdout] --> src/client_table_test_integration.rs:87:27 [INFO] [stdout] | [INFO] [stdout] 87 | let mut transaction = client [INFO] [stdout] | ___________________________^ [INFO] [stdout] 88 | | .table_client() [INFO] [stdout] | |_______________________^ creates a temporary value which is freed while still in use [INFO] [stdout] 89 | .create_autocommit_transaction(Mode::OnlineReadonly); [INFO] [stdout] | - temporary value is freed at the end of this statement [INFO] [stdout] ... [INFO] [stdout] 92 | let res = transaction [INFO] [stdout] | ----------- borrow later used here [INFO] [stdout] | [INFO] [stdout] help: consider using a `let` binding to create a longer lived value [INFO] [stdout] | [INFO] [stdout] 87 ~ let binding = client [INFO] [stdout] 88 + .table_client(); [INFO] [stdout] 89 ~ let mut transaction = binding [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0716]: temporary value dropped while borrowed [INFO] [stdout] --> src/client_table_test_integration.rs:165:23 [INFO] [stdout] | [INFO] [stdout] 165 | let mut tx_auto = client [INFO] [stdout] | _______________________^ [INFO] [stdout] 166 | | .table_client() [INFO] [stdout] | |_______________________^ creates a temporary value which is freed while still in use [INFO] [stdout] 167 | .create_autocommit_transaction(Mode::SerializableReadWrite); [INFO] [stdout] | - temporary value is freed at the end of this statement [INFO] [stdout] ... [INFO] [stdout] 226 | } [INFO] [stdout] | - borrow might be used here, when `tx_auto` is dropped and runs the destructor for type `impl Transaction` [INFO] [stdout] | [INFO] [stdout] help: consider using a `let` binding to create a longer lived value [INFO] [stdout] | [INFO] [stdout] 165 ~ let binding = client [INFO] [stdout] 166 + .table_client(); [INFO] [stdout] 167 ~ let mut tx_auto = binding [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0716]: temporary value dropped while borrowed [INFO] [stdout] --> src/client_table_test_integration.rs:169:18 [INFO] [stdout] | [INFO] [stdout] 169 | let mut tx = client.table_client().create_interactive_transaction(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ - temporary value is freed at the end of this statement [INFO] [stdout] | | [INFO] [stdout] | creates a temporary value which is freed while still in use [INFO] [stdout] 170 | tx.query(Query::new("DELETE FROM test_values")).await?; [INFO] [stdout] | -- borrow later used here [INFO] [stdout] | [INFO] [stdout] help: consider using a `let` binding to create a longer lived value [INFO] [stdout] | [INFO] [stdout] 169 ~ let binding = client.table_client(); [INFO] [stdout] 170 ~ let mut tx = binding.create_interactive_transaction(); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0716]: temporary value dropped while borrowed [INFO] [stdout] --> src/client_table_test_integration.rs:173:18 [INFO] [stdout] | [INFO] [stdout] 173 | let mut tx = client.table_client().create_interactive_transaction(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ - temporary value is freed at the end of this statement [INFO] [stdout] | | [INFO] [stdout] | creates a temporary value which is freed while still in use [INFO] [stdout] 174 | tx.query(Query::new( [INFO] [stdout] | -- borrow later used here [INFO] [stdout] | [INFO] [stdout] help: consider using a `let` binding to create a longer lived value [INFO] [stdout] | [INFO] [stdout] 173 ~ let binding = client.table_client(); [INFO] [stdout] 174 ~ let mut tx = binding.create_interactive_transaction(); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0716]: temporary value dropped while borrowed [INFO] [stdout] --> src/client_table_test_integration.rs:474:27 [INFO] [stdout] | [INFO] [stdout] 474 | let mut transaction = client [INFO] [stdout] | ___________________________^ [INFO] [stdout] 475 | | .table_client() [INFO] [stdout] | |_______________________^ creates a temporary value which is freed while still in use [INFO] [stdout] 476 | .create_autocommit_transaction(Mode::OnlineReadonly); [INFO] [stdout] | - temporary value is freed at the end of this statement [INFO] [stdout] 477 | let res = transaction [INFO] [stdout] | ----------- borrow later used here [INFO] [stdout] | [INFO] [stdout] help: consider using a `let` binding to create a longer lived value [INFO] [stdout] | [INFO] [stdout] 474 ~ let binding = client [INFO] [stdout] 475 + .table_client(); [INFO] [stdout] 476 ~ let mut transaction = binding [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0716]: temporary value dropped while borrowed [INFO] [stdout] --> src/client_table_test_integration.rs:502:27 [INFO] [stdout] | [INFO] [stdout] 502 | let mut transaction = client [INFO] [stdout] | ___________________________^ [INFO] [stdout] 503 | | .table_client() [INFO] [stdout] | |_______________________^ creates a temporary value which is freed while still in use [INFO] [stdout] 504 | .create_autocommit_transaction(Mode::OnlineReadonly); [INFO] [stdout] | - temporary value is freed at the end of this statement [INFO] [stdout] 505 | let res = transaction [INFO] [stdout] | ----------- borrow later used here [INFO] [stdout] | [INFO] [stdout] help: consider using a `let` binding to create a longer lived value [INFO] [stdout] | [INFO] [stdout] 502 ~ let binding = client [INFO] [stdout] 503 + .table_client(); [INFO] [stdout] 504 ~ let mut transaction = binding [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0716]: temporary value dropped while borrowed [INFO] [stdout] --> src/client_table_test_integration.rs:536:27 [INFO] [stdout] | [INFO] [stdout] 536 | let mut transaction = client [INFO] [stdout] | ___________________________^ [INFO] [stdout] 537 | | .table_client() [INFO] [stdout] | |_______________________^ creates a temporary value which is freed while still in use [INFO] [stdout] 538 | .create_autocommit_transaction(Mode::OnlineReadonly); [INFO] [stdout] | - temporary value is freed at the end of this statement [INFO] [stdout] 539 | let res = transaction [INFO] [stdout] | ----------- borrow later used here [INFO] [stdout] | [INFO] [stdout] help: consider using a `let` binding to create a longer lived value [INFO] [stdout] | [INFO] [stdout] 536 ~ let binding = client [INFO] [stdout] 537 + .table_client(); [INFO] [stdout] 538 ~ let mut transaction = binding [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0716]: temporary value dropped while borrowed [INFO] [stdout] --> src/client_table_test_integration.rs:575:27 [INFO] [stdout] | [INFO] [stdout] 575 | let mut transaction = client [INFO] [stdout] | ___________________________^ [INFO] [stdout] 576 | | .table_client() [INFO] [stdout] | |_______________________^ creates a temporary value which is freed while still in use [INFO] [stdout] 577 | .create_autocommit_transaction(Mode::OnlineReadonly); [INFO] [stdout] | - temporary value is freed at the end of this statement [INFO] [stdout] 578 | let res = transaction [INFO] [stdout] | ----------- borrow later used here [INFO] [stdout] | [INFO] [stdout] help: consider using a `let` binding to create a longer lived value [INFO] [stdout] | [INFO] [stdout] 575 ~ let binding = client [INFO] [stdout] 576 + .table_client(); [INFO] [stdout] 577 ~ let mut transaction = binding [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0716]: temporary value dropped while borrowed [INFO] [stdout] --> src/client_table_test_integration.rs:634:27 [INFO] [stdout] | [INFO] [stdout] 634 | let mut transaction = client [INFO] [stdout] | ___________________________^ [INFO] [stdout] 635 | | .table_client() [INFO] [stdout] | |_______________________^ creates a temporary value which is freed while still in use [INFO] [stdout] 636 | .create_autocommit_transaction(Mode::OnlineReadonly); [INFO] [stdout] | - temporary value is freed at the end of this statement [INFO] [stdout] 637 | let res = transaction [INFO] [stdout] | ----------- borrow later used here [INFO] [stdout] | [INFO] [stdout] help: consider using a `let` binding to create a longer lived value [INFO] [stdout] | [INFO] [stdout] 634 ~ let binding = client [INFO] [stdout] 635 + .table_client(); [INFO] [stdout] 636 ~ let mut transaction = binding [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0716]: temporary value dropped while borrowed [INFO] [stdout] --> src/client_table_test_integration.rs:661:27 [INFO] [stdout] | [INFO] [stdout] 661 | let mut transaction = client [INFO] [stdout] | ___________________________^ [INFO] [stdout] 662 | | .table_client() [INFO] [stdout] | |_______________________^ creates a temporary value which is freed while still in use [INFO] [stdout] 663 | .create_autocommit_transaction(Mode::OnlineReadonly); [INFO] [stdout] | - temporary value is freed at the end of this statement [INFO] [stdout] 664 | let res = transaction [INFO] [stdout] | ----------- borrow later used here [INFO] [stdout] | [INFO] [stdout] help: consider using a `let` binding to create a longer lived value [INFO] [stdout] | [INFO] [stdout] 661 ~ let binding = client [INFO] [stdout] 662 + .table_client(); [INFO] [stdout] 663 ~ let mut transaction = binding [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 13 previous errors [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0716`. [INFO] [stdout] [INFO] [stderr] error: could not compile `ydb` (lib test) due to 14 previous errors [INFO] [stderr] error: failed to check after updating to 2024 [INFO] [stderr] [INFO] [stderr] Caused by: [INFO] [stderr] process didn't exit successfully: `cargo check --frozen --all --all-targets --message-format=json` (exit status: 101) [INFO] running `Command { std: "docker" "inspect" "9fe43dd5ccc4d930ae2f9a6acfe1e139099fd41bd285a9c47fe9fee88da5b48d", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "9fe43dd5ccc4d930ae2f9a6acfe1e139099fd41bd285a9c47fe9fee88da5b48d", kill_on_drop: false }` [INFO] [stdout] 9fe43dd5ccc4d930ae2f9a6acfe1e139099fd41bd285a9c47fe9fee88da5b48d