[INFO] fetching crate fedimint-client 0.4.2... [INFO] checking fedimint-client-0.4.2 against try#ccf408f4326a858c00dd845a64a86b16f360a801 for pr-129466-2 [INFO] extracting crate fedimint-client 0.4.2 into /workspace/builds/worker-7-tc2/source [INFO] validating manifest of crates.io crate fedimint-client 0.4.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 fedimint-client 0.4.2 [INFO] finished tweaking crates.io crate fedimint-client 0.4.2 [INFO] tweaked toml for crates.io crate fedimint-client 0.4.2 written to /workspace/builds/worker-7-tc2/source/Cargo.toml [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+ccf408f4326a858c00dd845a64a86b16f360a801" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Locking 273 packages to latest compatible versions [INFO] [stderr] Adding backon v0.4.4 (available: v1.2.0) [INFO] [stderr] Adding bech32 v0.9.1 (available: v0.11.0) [INFO] [stderr] Adding bitcoin v0.29.2 (available: v0.32.2) [INFO] [stderr] Adding bitcoin v0.30.2 (available: v0.32.2) [INFO] [stderr] Adding bitcoin_hashes v0.11.0 (available: v0.14.0) [INFO] [stderr] Adding bitcoin_hashes v0.12.0 (available: v0.14.0) [INFO] [stderr] Adding generic-array v0.14.7 (available: v1.1.0) [INFO] [stderr] Adding gloo-timers v0.2.6 (available: v0.3.0) [INFO] [stderr] Adding hermit-abi v0.3.9 (available: v0.4.0) [INFO] [stderr] Adding hex-conservative v0.1.2 (available: v0.2.1) [INFO] [stderr] Adding idna v0.5.0 (available: v1.0.2) [INFO] [stderr] Adding itertools v0.10.5 (available: v0.13.0) [INFO] [stderr] Adding itertools v0.12.1 (available: v0.13.0) [INFO] [stderr] Adding lightning v0.0.123 (available: v0.0.124) [INFO] [stderr] Adding lightning-invoice v0.31.0 (available: v0.32.0) [INFO] [stderr] Adding matchers v0.1.0 (available: v0.2.0) [INFO] [stderr] Adding miniscript v10.2.0 (available: v12.2.0) [INFO] [stderr] Adding nu-ansi-term v0.46.0 (available: v0.50.1) [INFO] [stderr] Adding radium v0.7.0 (available: v1.1.0) [INFO] [stderr] Adding regex-automata v0.1.10 (available: v0.4.7) [INFO] [stderr] Adding regex-syntax v0.6.29 (available: v0.8.4) [INFO] [stderr] Adding rustls v0.21.12 (available: v0.23.13) [INFO] [stderr] Adding rustls-webpki v0.101.7 (available: v0.102.8) [INFO] [stderr] Adding secp256k1 v0.24.3 (available: v0.29.1) [INFO] [stderr] Adding secp256k1 v0.27.0 (available: v0.29.1) [INFO] [stderr] Adding secp256k1-sys v0.6.1 (available: v0.10.1) [INFO] [stderr] Adding secp256k1-sys v0.8.1 (available: v0.10.1) [INFO] [stderr] Adding secp256k1-zkp v0.9.2 (available: v0.11.0) [INFO] [stderr] Adding secp256k1-zkp-sys v0.8.1 (available: v0.10.0) [INFO] [stderr] Adding send_wrapper v0.4.0 (available: v0.6.0) [INFO] [stderr] Adding syn v1.0.109 (available: v2.0.77) [INFO] [stderr] Adding tokio-rustls v0.24.1 (available: v0.26.0) [INFO] [stderr] Adding wasi v0.11.0+wasi-snapshot-preview1 (available: v0.13.2+wasi-0.2.1) [INFO] [stderr] Adding windows-registry v0.2.0 (available: v0.3.0) [INFO] [stderr] Adding windows-strings v0.1.0 (available: v0.2.0) [INFO] [stderr] Adding windows-sys v0.52.0 (available: v0.59.0) [INFO] [stderr] Adding wyz v0.5.1 (available: v0.6.1) [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-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:ceb6ea022f8a89cebbe621bb4987e73a935bd40dfbb726f832cfff4742a5b95a" "/opt/rustwide/cargo-home/bin/cargo" "+ccf408f4326a858c00dd845a64a86b16f360a801" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 813e8dd030bd903330c283fbaf730a2ee89abfa011f6557ce1b0888e81b3d504 [INFO] running `Command { std: "docker" "start" "-a" "813e8dd030bd903330c283fbaf730a2ee89abfa011f6557ce1b0888e81b3d504", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "813e8dd030bd903330c283fbaf730a2ee89abfa011f6557ce1b0888e81b3d504", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "813e8dd030bd903330c283fbaf730a2ee89abfa011f6557ce1b0888e81b3d504", kill_on_drop: false }` [INFO] [stdout] 813e8dd030bd903330c283fbaf730a2ee89abfa011f6557ce1b0888e81b3d504 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:ceb6ea022f8a89cebbe621bb4987e73a935bd40dfbb726f832cfff4742a5b95a" "/opt/rustwide/cargo-home/bin/cargo" "+ccf408f4326a858c00dd845a64a86b16f360a801" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 9688b93524389a1d5be20107c9be155c65dcc7298659aca2f3e8ff8ecdc34674 [INFO] running `Command { std: "docker" "start" "-a" "9688b93524389a1d5be20107c9be155c65dcc7298659aca2f3e8ff8ecdc34674", 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] Checking futures-core v0.3.30 [INFO] [stderr] Checking smallvec v1.13.2 [INFO] [stderr] Checking bytes v1.7.2 [INFO] [stderr] Checking subtle v2.6.1 [INFO] [stderr] Compiling ring v0.17.8 [INFO] [stderr] Compiling syn v2.0.77 [INFO] [stderr] Checking getrandom v0.2.15 [INFO] [stderr] Checking log v0.4.22 [INFO] [stderr] Checking futures-io v0.3.30 [INFO] [stderr] Checking parking_lot_core v0.9.10 [INFO] [stderr] Checking rand_core v0.6.4 [INFO] [stderr] Checking mio v1.0.2 [INFO] [stderr] Checking signal-hook-registry v1.4.2 [INFO] [stderr] Checking socket2 v0.5.7 [INFO] [stderr] Checking parking_lot v0.12.3 [INFO] [stderr] Checking futures-channel v0.3.30 [INFO] [stderr] Checking futures-task v0.3.30 [INFO] [stderr] Checking tracing-core v0.1.32 [INFO] [stderr] Checking http v1.1.0 [INFO] [stderr] Compiling secp256k1-sys v0.8.1 [INFO] [stderr] Compiling bitcoin-private v0.1.0 [INFO] [stderr] Checking zeroize v1.8.1 [INFO] [stderr] Compiling syn v1.0.109 [INFO] [stderr] Checking rustls-pki-types v1.8.0 [INFO] [stderr] Compiling serde_json v1.0.128 [INFO] [stderr] Compiling thiserror v1.0.64 [INFO] [stderr] Checking crypto-common v0.1.6 [INFO] [stderr] Checking base64 v0.22.1 [INFO] [stderr] Compiling hex_lit v0.1.1 [INFO] [stderr] Checking digest v0.10.7 [INFO] [stderr] Compiling rustls v0.23.13 [INFO] [stderr] Compiling bitcoin v0.30.2 [INFO] [stderr] Checking bech32 v0.9.1 [INFO] [stderr] Checking regex-syntax v0.8.4 [INFO] [stderr] Compiling hashbrown v0.14.5 [INFO] [stderr] Checking regex-syntax v0.6.29 [INFO] [stderr] Checking ff v0.13.0 [INFO] [stderr] Compiling secp256k1-sys v0.6.1 [INFO] [stderr] Checking overload v0.1.1 [INFO] [stderr] Checking cpufeatures v0.2.14 [INFO] [stderr] Compiling crunchy v0.2.2 [INFO] [stderr] Compiling indexmap v2.5.0 [INFO] [stderr] Compiling toml_datetime v0.6.8 [INFO] [stderr] Compiling winnow v0.6.20 [INFO] [stderr] Checking regex-automata v0.4.7 [INFO] [stderr] Compiling either v1.13.0 [INFO] [stderr] Checking regex-automata v0.1.10 [INFO] [stderr] Checking sharded-slab v0.1.7 [INFO] [stderr] Checking matchers v0.1.0 [INFO] [stderr] Checking nu-ansi-term v0.46.0 [INFO] [stderr] Compiling anyhow v1.0.89 [INFO] [stderr] Checking group v0.13.0 [INFO] [stderr] Checking regex v1.10.6 [INFO] [stderr] Checking tracing-log v0.2.0 [INFO] [stderr] Checking thread_local v1.1.8 [INFO] [stderr] Compiling secp256k1-zkp-sys v0.8.1 [INFO] [stderr] Checking rustls-webpki v0.102.8 [INFO] [stderr] Compiling serde v1.0.210 [INFO] [stderr] Compiling rustls v0.21.12 [INFO] [stderr] Compiling paste v1.0.15 [INFO] [stderr] Compiling tiny-keccak v2.0.2 [INFO] [stderr] Checking futures-timer v3.0.3 [INFO] [stderr] Checking rustc-hash v2.0.0 [INFO] [stderr] Compiling typeid v1.0.2 [INFO] [stderr] Compiling toml_edit v0.22.22 [INFO] [stderr] Checking rustls-webpki v0.101.7 [INFO] [stderr] Checking sct v0.7.1 [INFO] [stderr] Checking pairing v0.23.0 [INFO] [stderr] Checking http-body v1.0.1 [INFO] [stderr] Checking bitmaps v3.2.1 [INFO] [stderr] Checking hex-conservative v0.1.2 [INFO] [stderr] Checking adler2 v2.0.0 [INFO] [stderr] Checking gimli v0.31.0 [INFO] [stderr] Compiling proc-macro-crate v3.2.0 [INFO] [stderr] Compiling serde_derive v1.0.210 [INFO] [stderr] Compiling zerocopy-derive v0.7.35 [INFO] [stderr] Compiling tokio-macros v2.4.0 [INFO] [stderr] Compiling futures-macro v0.3.30 [INFO] [stderr] Compiling tracing-attributes v0.1.27 [INFO] [stderr] Compiling thiserror-impl v1.0.64 [INFO] [stderr] Checking zerocopy v0.7.35 [INFO] [stderr] Compiling pin-project-internal v1.1.5 [INFO] [stderr] Checking tokio v1.40.0 [INFO] [stderr] Compiling async-trait v0.1.83 [INFO] [stderr] Checking futures-util v0.3.30 [INFO] [stderr] Checking ppv-lite86 v0.2.20 [INFO] [stderr] Checking rand_chacha v0.3.1 [INFO] [stderr] Checking tracing v0.1.40 [INFO] [stderr] Checking pin-project v1.1.5 [INFO] [stderr] Compiling parity-scale-codec-derive v3.6.12 [INFO] [stderr] Checking rand v0.8.5 [INFO] [stderr] Checking addr2line v0.24.1 [INFO] [stderr] Checking tracing-subscriber v0.3.18 [INFO] [stderr] Compiling impl-trait-for-tuples v0.2.2 [INFO] [stderr] Checking imbl-sized-chunks v0.1.2 [INFO] [stderr] Checking miniz_oxide v0.8.0 [INFO] [stderr] Checking bls12_381 v0.8.0 [INFO] [stderr] Compiling itertools v0.12.1 [INFO] [stderr] Checking futures-executor v0.3.30 [INFO] [stderr] Checking futures v0.3.30 [INFO] [stderr] Checking sha1 v0.10.6 [INFO] [stderr] Checking rand_xoshiro v0.6.0 [INFO] [stderr] Checking object v0.36.4 [INFO] [stderr] Compiling proc-macro-error-attr v1.0.4 [INFO] [stderr] Checking fastrand v2.1.1 [INFO] [stderr] Checking hex_fmt v0.3.0 [INFO] [stderr] Compiling macro_rules_attribute-proc_macro v0.2.0 [INFO] [stderr] Checking arrayvec v0.7.6 [INFO] [stderr] Checking tokio-util v0.7.12 [INFO] [stderr] Checking tokio-rustls v0.26.0 [INFO] [stderr] Checking tokio-stream v0.1.16 [INFO] [stderr] Checking rustc-demangle v0.1.24 [INFO] [stderr] Checking macro_rules_attribute v0.2.0 [INFO] [stderr] Compiling strum_macros v0.26.4 [INFO] [stderr] Checking hyper v1.4.1 [INFO] [stderr] Checking tokio-rustls v0.24.1 [INFO] [stderr] Compiling fedimint-derive v0.4.2 [INFO] [stderr] Checking backon v0.4.4 [INFO] [stderr] Checking imbl v3.0.0 [INFO] [stderr] Checking soketto v0.8.0 [INFO] [stderr] Checking fedimint-logging v0.4.2 [INFO] [stderr] Checking bitcoin_hashes v0.12.0 [INFO] [stderr] Checking url v2.5.2 [INFO] [stderr] Checking bitcoin_hashes v0.11.0 [INFO] [stderr] Checking hex v0.4.3 [INFO] [stderr] Checking fedimint-threshold-crypto v0.2.1 [INFO] [stderr] Checking erased-serde v0.4.5 [INFO] [stderr] Checking jsonrpsee-types v0.24.5 [INFO] [stderr] Checking bincode v1.3.3 [INFO] [stderr] Checking secp256k1 v0.27.0 [INFO] [stderr] Checking backtrace v0.3.74 [INFO] [stderr] Checking serdect v0.2.0 [INFO] [stderr] Checking secp256k1 v0.24.3 [INFO] [stderr] Checking parity-scale-codec v3.6.12 [INFO] [stderr] Checking jsonrpsee-core v0.24.5 [INFO] [stderr] Checking ahash v0.8.11 [INFO] [stderr] Compiling async-recursion v1.1.1 [INFO] [stderr] Checking base64-url v3.0.0 [INFO] [stderr] Checking secp256k1-zkp v0.9.2 [INFO] [stderr] Checking webpki-roots v0.26.6 [INFO] [stderr] Checking bitcoin v0.29.2 [INFO] [stderr] Compiling proc-macro-error v1.0.4 [INFO] [stderr] Checking strum v0.26.3 [INFO] [stderr] Checking bech32 v0.11.0 [INFO] [stderr] Checking base64ct v1.6.0 [INFO] [stderr] Checking tower-service v0.3.3 [INFO] [stderr] Checking hyper-util v0.1.9 [INFO] [stderr] Checking password-hash v0.5.0 [INFO] [stderr] Compiling fedimint-build v0.4.2 [INFO] [stderr] Checking blake2 v0.10.6 [INFO] [stderr] Compiling include_dir_macros v0.7.4 [INFO] [stderr] Checking lru v0.12.4 [INFO] [stderr] Checking argon2 v0.5.3 [INFO] [stderr] Compiling fedimint-client v0.4.2 (/tmp/fixit) [INFO] [stderr] Checking jsonrpsee-client-transport v0.24.5 [INFO] [stderr] Migrating build.rs from 2021 edition to 2024 [INFO] [stderr] Compiling include_dir v0.7.4 [INFO] [stderr] Checking fedimint-hkdf v0.4.2 [INFO] [stderr] Checking hyper-rustls v0.27.3 [INFO] [stderr] Checking serde_urlencoded v0.7.1 [INFO] [stderr] Checking http-body-util v0.1.2 [INFO] [stderr] Compiling async-stream-impl v0.3.5 [INFO] [stderr] Compiling itertools v0.10.5 [INFO] [stderr] Checking rustls-pemfile v2.1.3 [INFO] [stderr] Checking sync_wrapper v1.0.1 [INFO] [stderr] Checking jsonrpsee-ws-client v0.24.5 [INFO] [stderr] Checking ipnet v2.10.0 [INFO] [stderr] Checking fedimint-aead v0.4.2 [INFO] [stderr] Compiling tracing-test-macro v0.2.5 [INFO] [stderr] Checking reqwest v0.12.7 [INFO] [stderr] Checking async-stream v0.3.5 [INFO] [stderr] Checking tracing-test v0.2.5 [INFO] [stderr] Compiling aquamarine v0.5.0 [INFO] [stderr] Checking lightning v0.0.123 [INFO] [stderr] Checking miniscript v10.2.0 [INFO] [stderr] Checking lightning-invoice v0.31.0 [INFO] [stderr] Checking fedimint-core v0.4.2 [INFO] [stderr] Checking fedimint-derive-secret v0.4.2 [INFO] [stderr] Checking fedimint-api-client v0.4.2 [INFO] [stderr] Migrating src/lib.rs from 2021 edition to 2024 [INFO] [stderr] warning: failed to automatically apply fixes suggested by rustc to crate `fedimint_client` [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/transaction/builder.rs:118:34 [INFO] [stdout] | [INFO] [stdout] 118 | let nonce: [u8; 8] = rng.gen(); [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #49716 [INFO] [stdout] = note: `--force-warn keyword-idents-2024` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/sm/util.rs:56:10 [INFO] [stdout] | [INFO] [stdout] 56 | ($sm:expr, $enum_variant:path) => { [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] 56 | ($sm:expr_2021, $enum_variant:path) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] after fixes were automatically applied the compiler reported errors within these files: [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/lib.rs:868:16 [INFO] [stdout] | [INFO] [stdout] 868 | if let Ok(secret) = Self::load_decodable_client_secret::<[u8; 64]>(db).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/lib.rs:870:13 [INFO] [stdout] | [INFO] [stdout] 870 | } else { [INFO] [stdout] | ^ [INFO] [stdout] = note: `--force-warn if-let-rescope` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 868 ~ match Self::load_decodable_client_secret::<[u8; 64]>(db).await { Ok(secret) => { [INFO] [stdout] 869 | secret [INFO] [stdout] 870 ~ } _ => { [INFO] [stdout] 871 | let secret = PlainRootSecretStrategy::random(&mut thread_rng()); [INFO] [stdout] ... [INFO] [stdout] 875 | secret [INFO] [stdout] 876 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/lib.rs:1371:19 [INFO] [stdout] | [INFO] [stdout] 1371 | while let Some(()) = balance_changes.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/lib.rs:1382:13 [INFO] [stdout] | [INFO] [stdout] 1382 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] * src/sm/util.rs [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/lib.rs:1427:15 [INFO] [stdout] | [INFO] [stdout] 1427 | while let Some((peer_id, response)) = requests.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/lib.rs:1458:9 [INFO] [stdout] | [INFO] [stdout] 1458 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/lib.rs:1533:24 [INFO] [stdout] | [INFO] [stdout] 1533 | if let Err(error) = Self::refresh_common_api_version_static( [INFO] [stdout] | ________________________^ - [INFO] [stdout] | |_________________________________________| [INFO] [stdout] 1534 | || &config, [INFO] [stdout] 1535 | || &client_module_init, [INFO] [stdout] 1536 | || &api, [INFO] [stdout] ... || [INFO] [stdout] 1539 | || ) [INFO] [stdout] 1540 | || .await [INFO] [stdout] | ||__________________________^ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | |__________________________| [INFO] [stdout] | [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/lib.rs:1543:21 [INFO] [stdout] | [INFO] [stdout] 1543 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1533 ~ match Self::refresh_common_api_version_static( [INFO] [stdout] 1534 | &config, [INFO] [stdout] ... [INFO] [stdout] 1540 | .await [INFO] [stdout] 1541 ~ { Err(error) => { [INFO] [stdout] 1542 | warn!(%error, "Failed to discover common api versions"); [INFO] [stdout] 1543 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] This likely indicates a bug in either rustc or cargo itself, [INFO] [stdout] warning: `impl Stream` will capture more lifetimes than possibly intended in edition 2024 [INFO] [stdout] --> src/lib.rs:1676:10 [INFO] [stdout] | [INFO] [stdout] 1676 | ) -> impl Stream { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see [INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds [INFO] [stdout] --> src/lib.rs:1675:9 [INFO] [stdout] | [INFO] [stdout] 1675 | &self, [INFO] [stdout] | ^ [INFO] [stdout] = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024 [INFO] [stdout] = note: `--force-warn impl-trait-overcaptures` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit [INFO] [stdout] | [INFO] [stdout] 1676 | ) -> impl Stream + use<> { [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] and we would appreciate a bug report! You're likely to see [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/lib.rs:1787:15 [INFO] [stdout] | [INFO] [stdout] 1787 | while let Some((module_instance_id, progress)) = futures.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/lib.rs:1820:9 [INFO] [stdout] | [INFO] [stdout] 1820 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] a number of compiler warnings after this message which cargo [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/lib.rs:1832:16 [INFO] [stdout] | [INFO] [stdout] 1832 | if let Some(v) = dbtx [INFO] [stdout] | ________________^ [INFO] [stdout] 1833 | | .get_value(&PeerLastApiVersionsSummaryKey(peer_id)) [INFO] [stdout] 1834 | | .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/lib.rs:1837:13 [INFO] [stdout] | [INFO] [stdout] 1837 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1832 ~ match dbtx [INFO] [stdout] 1833 | .get_value(&PeerLastApiVersionsSummaryKey(peer_id)) [INFO] [stdout] 1834 | .await [INFO] [stdout] 1835 ~ { Some(v) => { [INFO] [stdout] 1836 | peer_api_version_sets.insert(peer_id, v.0); [INFO] [stdout] 1837 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] attempted to fix but failed. If you could open an issue at [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/lib.rs:1887:40 [INFO] [stdout] | [INFO] [stdout] 1887 | let guardian_pub_keys = if let Some(guardian_pub_keys) = config.global.broadcast_public_keys {guardian_pub_keys}else{ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^------^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/lib.rs:1887:124 [INFO] [stdout] | [INFO] [stdout] 1887 | let guardian_pub_keys = if let Some(guardian_pub_keys) = config.global.broadcast_public_keys {guardian_pub_keys}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] 1887 ~ let guardian_pub_keys = match config.global.broadcast_public_keys { Some(guardian_pub_keys) => {guardian_pub_keys} _ => { [INFO] [stdout] 1888 | let fetched_config = retry( [INFO] [stdout] ... [INFO] [stdout] 1920 | guardian_pub_keys [INFO] [stdout] 1921 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] https://github.com/rust-lang/rust/issues [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/lib.rs:2296:22 [INFO] [stdout] | [INFO] [stdout] 2296 | let api = if let Some(admin_creds) = self.admin_creds.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/lib.rs:2305:9 [INFO] [stdout] | [INFO] [stdout] 2305 | } 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] 2296 ~ let api = match self.admin_creds.as_ref() { Some(admin_creds) => { [INFO] [stdout] 2297 | DynGlobalApi::new_admin( [INFO] [stdout] ... [INFO] [stdout] 2304 | ) [INFO] [stdout] 2305 ~ } _ => { [INFO] [stdout] 2306 | DynGlobalApi::from_endpoints(peer_urls, &api_secret) [INFO] [stdout] 2307 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] quoting the full output of this command we'd be very appreciative! [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/lib.rs:2415:35 [INFO] [stdout] | [INFO] [stdout] 2415 | let recovery = if let Some(snapshot) = init_state.does_require_recovery() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^---------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/lib.rs:2447:17 [INFO] [stdout] | [INFO] [stdout] 2447 | } 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] 2415 ~ let recovery = match init_state.does_require_recovery() { Some(snapshot) => { [INFO] [stdout] 2416 | if let Some(module_recovery_state) = db [INFO] [stdout] ... [INFO] [stdout] 2446 | } [INFO] [stdout] 2447 ~ } _ => { [INFO] [stdout] 2448 | None [INFO] [stdout] 2449 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Note that you may be able to make some more progress in the near-term [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/lib.rs:2416:24 [INFO] [stdout] | [INFO] [stdout] 2416 | if let Some(module_recovery_state) = db [INFO] [stdout] | ________________________^ [INFO] [stdout] 2417 | | .begin_transaction_nc() [INFO] [stdout] 2418 | | .await [INFO] [stdout] 2419 | | .get_value(&ClientModuleRecovery { module_instance_id }) [INFO] [stdout] 2420 | | .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/lib.rs:2440:21 [INFO] [stdout] | [INFO] [stdout] 2440 | } 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] 2416 ~ match db [INFO] [stdout] 2417 | .begin_transaction_nc() [INFO] [stdout] ... [INFO] [stdout] 2420 | .await [INFO] [stdout] 2421 ~ { Some(module_recovery_state) => { [INFO] [stdout] 2422 | if module_recovery_state.is_done() { [INFO] [stdout] ... [INFO] [stdout] 2439 | } [INFO] [stdout] 2440 ~ } _ => { [INFO] [stdout] 2441 | debug!( [INFO] [stdout] ... [INFO] [stdout] 2445 | Some(start_module_recover_fn(snapshot, RecoveryProgress::none())) [INFO] [stdout] 2446 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] fixing code with the `--broken-code` flag [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/lib.rs:2451:20 [INFO] [stdout] | [INFO] [stdout] 2451 | if let Some((recovery, recovery_progress_rx)) = recovery { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/lib.rs:2455:17 [INFO] [stdout] | [INFO] [stdout] 2455 | } 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] 2451 ~ match recovery { Some((recovery, recovery_progress_rx)) => { [INFO] [stdout] 2452 | module_recoveries.insert(module_instance_id, recovery); [INFO] [stdout] 2453 | module_recovery_progress_receivers [INFO] [stdout] 2454 | .insert(module_instance_id, recovery_progress_rx); [INFO] [stdout] 2455 ~ } _ => { [INFO] [stdout] 2456 | let module = module_init [INFO] [stdout] ... [INFO] [stdout] 2484 | modules.register_module(module_instance_id, kind, module); [INFO] [stdout] 2485 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/backup.rs:129:16 [INFO] [stdout] | [INFO] [stdout] 129 | if let Some(module_backup) = self [INFO] [stdout] | _________________^ - [INFO] [stdout] | | __________________________________________| [INFO] [stdout] 130 | || .modules [INFO] [stdout] | ||________________________- this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] 131 | | .get(&module_id) [INFO] [stdout] 132 | | .or_else(|| last_backup.and_then(|lb| lb.modules.get(&module_id))) [INFO] [stdout] | |___________________________________________________________________________________^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/backup.rs:158:13 [INFO] [stdout] | [INFO] [stdout] 158 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 129 ~ match self [INFO] [stdout] 130 | .modules [INFO] [stdout] 131 | .get(&module_id) [INFO] [stdout] 132 | .or_else(|| last_backup.and_then(|lb| lb.modules.get(&module_id))) [INFO] [stdout] 133 ~ { Some(module_backup) => { [INFO] [stdout] 134 | let size = module_backup.consensus_encode_to_len(); [INFO] [stdout] ... [INFO] [stdout] 157 | } [INFO] [stdout] 158 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] The following errors were reported: [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/module/init/recovery.rs:106:16 [INFO] [stdout] | [INFO] [stdout] 106 | if let ConsensusItem::Transaction(ref transaction) = accepted_item.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/module/init/recovery.rs:108:13 [INFO] [stdout] | [INFO] [stdout] 108 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 106 ~ match accepted_item.item { ConsensusItem::Transaction(ref transaction) => { [INFO] [stdout] 107 | self.handle_transaction(client_ctx, transaction).await?; [INFO] [stdout] 108 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/module/init/recovery.rs:379:16 [INFO] [stdout] | [INFO] [stdout] 379 | if let Some((state, common_state)) = Recovery::load_dbtx(&mut db.begin_transaction_nc().await, self).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/module/init/recovery.rs:381:13 [INFO] [stdout] | [INFO] [stdout] 381 | } 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] 379 ~ match Recovery::load_dbtx(&mut db.begin_transaction_nc().await, self).await { Some((state, common_state)) => { [INFO] [stdout] 380 | (state, common_state) [INFO] [stdout] 381 ~ } _ => { [INFO] [stdout] 382 | let (state, start_session) = Recovery::new(self, snapshot).await?; [INFO] [stdout] ... [INFO] [stdout] 390 | }) [INFO] [stdout] 391 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] --> src/sm/util.rs:56:6 [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/oplog.rs:152:12 [INFO] [stdout] | [INFO] [stdout] 152 | if let Err(e) = Self::set_operation_outcome(db, operation_id, outcome).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/oplog.rs:154:9 [INFO] [stdout] | [INFO] [stdout] 154 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 152 ~ match Self::set_operation_outcome(db, operation_id, outcome).await { Err(e) => { [INFO] [stdout] 153 | warn!("Error setting operation outcome: {e}"); [INFO] [stdout] 154 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] | [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/oplog.rs:328:15 [INFO] [stdout] | [INFO] [stdout] 328 | while let Some(update) = stream.next().await { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/oplog.rs:331:9 [INFO] [stdout] | [INFO] [stdout] 331 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] 56 | ($sm:expr_2021, $enum_variant:path) => { [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 1 previous error [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: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/sm/executor.rs:375:12 [INFO] [stdout] | [INFO] [stdout] 375 | if let Err(err) = self [INFO] [stdout] | ____________^ - [INFO] [stdout] | |___________________________| [INFO] [stdout] 376 | || .run_state_machines_executor_inner(global_context_gen, sm_update_rx) [INFO] [stdout] 377 | || .await [INFO] [stdout] | ||__________________^ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | |__________________| [INFO] [stdout] | [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/sm/executor.rs:383:9 [INFO] [stdout] | [INFO] [stdout] 383 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 375 ~ match self [INFO] [stdout] 376 | .run_state_machines_executor_inner(global_context_gen, sm_update_rx) [INFO] [stdout] 377 | .await [INFO] [stdout] 378 ~ { Err(err) => { [INFO] [stdout] 379 | warn!( [INFO] [stdout] ... [INFO] [stdout] 382 | ); [INFO] [stdout] 383 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/sm/executor.rs:487:24 [INFO] [stdout] | [INFO] [stdout] 487 | if let Some(new) = new { [INFO] [stdout] | ^^^^^^^^^^^^^^^^--- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/sm/executor.rs:491:21 [INFO] [stdout] | [INFO] [stdout] 491 | } 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] 487 ~ match new { Some(new) => { [INFO] [stdout] 488 | ExecutorLoopEvent::New { [INFO] [stdout] 489 | state: new, [INFO] [stdout] 490 | } [INFO] [stdout] 491 ~ } _ => { [INFO] [stdout] 492 | ExecutorLoopEvent::Disconnected [INFO] [stdout] 493 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/sm/notifier.rs:45:12 [INFO] [stdout] | [INFO] [stdout] 45 | if let Err(e) = self.broadcast.send(state) { [INFO] [stdout] | ^^^^^^^^^^^^^-------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/sm/notifier.rs:52:9 [INFO] [stdout] | [INFO] [stdout] 52 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 45 ~ match self.broadcast.send(state) { Err(e) => { [INFO] [stdout] 46 | debug!( [INFO] [stdout] ... [INFO] [stdout] 51 | ); [INFO] [stdout] 52 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/transaction/sm.rs:109:28 [INFO] [stdout] | [INFO] [stdout] 109 | if let TransactionSubmissionOutcome(Err(transaction_error)) = outcome { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [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/sm.rs:111:25 [INFO] [stdout] | [INFO] [stdout] 111 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 109 ~ match outcome { TransactionSubmissionOutcome(Err(transaction_error)) => { [INFO] [stdout] 110 | return transaction_error.to_string(); [INFO] [stdout] 111 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/api_announcements.rs:96:16 [INFO] [stdout] | [INFO] [stdout] 96 | if let Err(e) = 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/api_announcements.rs:98:13 [INFO] [stdout] | [INFO] [stdout] 98 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 96 ~ match result { Err(e) => { [INFO] [stdout] 97 | warn!(target: LOG_CLIENT, %peer_id, ?e, "Failed to process API announcements"); [INFO] [stdout] 98 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/meta.rs:86:12 [INFO] [stdout] | [INFO] [stdout] 86 | if let Some(value) = self.get_field_from_db(db, field).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/meta.rs:90:9 [INFO] [stdout] | [INFO] [stdout] 90 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 86 ~ match self.get_field_from_db(db, field).await { Some(value) => { [INFO] [stdout] 87 | // might be from in old cache. [INFO] [stdout] 88 | // TODO: maybe old cache should have a ttl? [INFO] [stdout] 89 | Some(value) [INFO] [stdout] 90 ~ } _ => { [INFO] [stdout] 91 | // wait for initial value [INFO] [stdout] 92 | self.initial_fetch_waiter.wait().await; [INFO] [stdout] 93 | self.get_field_from_db(db, field).await [INFO] [stdout] 94 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 25 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] warning: failed to automatically apply fixes suggested by rustc to crate `fedimint_client` [INFO] [stderr] [INFO] [stderr] after fixes were automatically applied the compiler reported errors within these files: [INFO] [stderr] [INFO] [stderr] * src/sm/util.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/sm/util.rs:56:6 [INFO] [stderr] | [INFO] [stderr] 56 | ($sm:expr_2021, $enum_variant:path) => { [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 1 previous error [INFO] [stderr] [INFO] [stderr] For more information about this error, try `rustc --explain E0658`. [INFO] [stderr] Original diagnostics will follow. [INFO] [stderr] [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/transaction/builder.rs:118:34 [INFO] [stdout] | [INFO] [stdout] 118 | let nonce: [u8; 8] = rng.gen(); [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #49716 [INFO] [stdout] = note: `--force-warn keyword-idents-2024` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/sm/util.rs:56:10 [INFO] [stdout] | [INFO] [stdout] 56 | ($sm:expr, $enum_variant:path) => { [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] 56 | ($sm:expr_2021, $enum_variant:path) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/lib.rs:868:16 [INFO] [stdout] | [INFO] [stdout] 868 | if let Ok(secret) = Self::load_decodable_client_secret::<[u8; 64]>(db).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/lib.rs:870:13 [INFO] [stdout] | [INFO] [stdout] 870 | } else { [INFO] [stdout] | ^ [INFO] [stdout] = note: `--force-warn if-let-rescope` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 868 ~ match Self::load_decodable_client_secret::<[u8; 64]>(db).await { Ok(secret) => { [INFO] [stdout] 869 | secret [INFO] [stdout] 870 ~ } _ => { [INFO] [stdout] 871 | let secret = PlainRootSecretStrategy::random(&mut thread_rng()); [INFO] [stdout] ... [INFO] [stdout] 875 | secret [INFO] [stdout] 876 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/lib.rs:1371:19 [INFO] [stdout] | [INFO] [stdout] 1371 | while let Some(()) = balance_changes.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/lib.rs:1382:13 [INFO] [stdout] | [INFO] [stdout] 1382 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/lib.rs:1427:15 [INFO] [stdout] | [INFO] [stdout] 1427 | while let Some((peer_id, response)) = requests.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/lib.rs:1458:9 [INFO] [stdout] | [INFO] [stdout] 1458 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/lib.rs:1533:24 [INFO] [stdout] | [INFO] [stdout] 1533 | if let Err(error) = Self::refresh_common_api_version_static( [INFO] [stdout] | ________________________^ - [INFO] [stdout] | |_________________________________________| [INFO] [stdout] 1534 | || &config, [INFO] [stdout] 1535 | || &client_module_init, [INFO] [stdout] 1536 | || &api, [INFO] [stdout] ... || [INFO] [stdout] 1539 | || ) [INFO] [stdout] 1540 | || .await [INFO] [stdout] | ||__________________________^ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | |__________________________| [INFO] [stdout] | [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/lib.rs:1543:21 [INFO] [stdout] | [INFO] [stdout] 1543 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1533 ~ match Self::refresh_common_api_version_static( [INFO] [stdout] 1534 | &config, [INFO] [stdout] ... [INFO] [stdout] 1540 | .await [INFO] [stdout] 1541 ~ { Err(error) => { [INFO] [stdout] 1542 | warn!(%error, "Failed to discover common api versions"); [INFO] [stdout] 1543 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `impl Stream` will capture more lifetimes than possibly intended in edition 2024 [INFO] [stdout] --> src/lib.rs:1676:10 [INFO] [stdout] | [INFO] [stdout] 1676 | ) -> impl Stream { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see [INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds [INFO] [stdout] --> src/lib.rs:1675:9 [INFO] [stdout] | [INFO] [stdout] 1675 | &self, [INFO] [stdout] | ^ [INFO] [stdout] = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024 [INFO] [stdout] = note: `--force-warn impl-trait-overcaptures` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit [INFO] [stdout] | [INFO] [stdout] 1676 | ) -> impl Stream + use<> { [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/lib.rs:1787:15 [INFO] [stdout] | [INFO] [stdout] 1787 | while let Some((module_instance_id, progress)) = futures.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/lib.rs:1820:9 [INFO] [stdout] | [INFO] [stdout] 1820 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/lib.rs:1832:16 [INFO] [stdout] | [INFO] [stdout] 1832 | if let Some(v) = dbtx [INFO] [stdout] | ________________^ [INFO] [stdout] 1833 | | .get_value(&PeerLastApiVersionsSummaryKey(peer_id)) [INFO] [stdout] 1834 | | .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/lib.rs:1837:13 [INFO] [stdout] | [INFO] [stdout] 1837 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1832 ~ match dbtx [INFO] [stdout] 1833 | .get_value(&PeerLastApiVersionsSummaryKey(peer_id)) [INFO] [stdout] 1834 | .await [INFO] [stdout] 1835 ~ { Some(v) => { [INFO] [stdout] 1836 | peer_api_version_sets.insert(peer_id, v.0); [INFO] [stdout] 1837 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/lib.rs:1887:40 [INFO] [stdout] | [INFO] [stdout] 1887 | let guardian_pub_keys = if let Some(guardian_pub_keys) = config.global.broadcast_public_keys {guardian_pub_keys}else{ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^------^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/lib.rs:1887:124 [INFO] [stdout] | [INFO] [stdout] 1887 | let guardian_pub_keys = if let Some(guardian_pub_keys) = config.global.broadcast_public_keys {guardian_pub_keys}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] 1887 ~ let guardian_pub_keys = match config.global.broadcast_public_keys { Some(guardian_pub_keys) => {guardian_pub_keys} _ => { [INFO] [stdout] 1888 | let fetched_config = retry( [INFO] [stdout] ... [INFO] [stdout] 1920 | guardian_pub_keys [INFO] [stdout] 1921 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/lib.rs:2296:22 [INFO] [stdout] | [INFO] [stdout] 2296 | let api = if let Some(admin_creds) = self.admin_creds.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/lib.rs:2305:9 [INFO] [stdout] | [INFO] [stdout] 2305 | } 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] 2296 ~ let api = match self.admin_creds.as_ref() { Some(admin_creds) => { [INFO] [stdout] 2297 | DynGlobalApi::new_admin( [INFO] [stdout] ... [INFO] [stdout] 2304 | ) [INFO] [stdout] 2305 ~ } _ => { [INFO] [stdout] 2306 | DynGlobalApi::from_endpoints(peer_urls, &api_secret) [INFO] [stdout] 2307 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/lib.rs:2415:35 [INFO] [stdout] | [INFO] [stdout] 2415 | let recovery = if let Some(snapshot) = init_state.does_require_recovery() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^---------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/lib.rs:2447:17 [INFO] [stdout] | [INFO] [stdout] 2447 | } 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] 2415 ~ let recovery = match init_state.does_require_recovery() { Some(snapshot) => { [INFO] [stdout] 2416 | if let Some(module_recovery_state) = db [INFO] [stdout] ... [INFO] [stdout] 2446 | } [INFO] [stdout] 2447 ~ } _ => { [INFO] [stdout] 2448 | None [INFO] [stdout] 2449 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/lib.rs:2416:24 [INFO] [stdout] | [INFO] [stdout] 2416 | if let Some(module_recovery_state) = db [INFO] [stdout] | ________________________^ [INFO] [stdout] 2417 | | .begin_transaction_nc() [INFO] [stdout] 2418 | | .await [INFO] [stdout] 2419 | | .get_value(&ClientModuleRecovery { module_instance_id }) [INFO] [stdout] 2420 | | .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/lib.rs:2440:21 [INFO] [stdout] | [INFO] [stdout] 2440 | } 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] 2416 ~ match db [INFO] [stdout] 2417 | .begin_transaction_nc() [INFO] [stdout] ... [INFO] [stdout] 2420 | .await [INFO] [stdout] 2421 ~ { Some(module_recovery_state) => { [INFO] [stdout] 2422 | if module_recovery_state.is_done() { [INFO] [stdout] ... [INFO] [stdout] 2439 | } [INFO] [stdout] 2440 ~ } _ => { [INFO] [stdout] 2441 | debug!( [INFO] [stdout] ... [INFO] [stdout] 2445 | Some(start_module_recover_fn(snapshot, RecoveryProgress::none())) [INFO] [stdout] 2446 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/lib.rs:2451:20 [INFO] [stdout] | [INFO] [stdout] 2451 | if let Some((recovery, recovery_progress_rx)) = recovery { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/lib.rs:2455:17 [INFO] [stdout] | [INFO] [stdout] 2455 | } 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] 2451 ~ match recovery { Some((recovery, recovery_progress_rx)) => { [INFO] [stdout] 2452 | module_recoveries.insert(module_instance_id, recovery); [INFO] [stdout] 2453 | module_recovery_progress_receivers [INFO] [stdout] 2454 | .insert(module_instance_id, recovery_progress_rx); [INFO] [stdout] 2455 ~ } _ => { [INFO] [stdout] 2456 | let module = module_init [INFO] [stdout] ... [INFO] [stdout] 2484 | modules.register_module(module_instance_id, kind, module); [INFO] [stdout] 2485 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/backup.rs:129:16 [INFO] [stdout] | [INFO] [stdout] 129 | if let Some(module_backup) = self [INFO] [stdout] | _________________^ - [INFO] [stdout] | | __________________________________________| [INFO] [stdout] 130 | || .modules [INFO] [stdout] | ||________________________- this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] 131 | | .get(&module_id) [INFO] [stdout] 132 | | .or_else(|| last_backup.and_then(|lb| lb.modules.get(&module_id))) [INFO] [stdout] | |___________________________________________________________________________________^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/backup.rs:158:13 [INFO] [stdout] | [INFO] [stdout] 158 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 129 ~ match self [INFO] [stdout] 130 | .modules [INFO] [stdout] 131 | .get(&module_id) [INFO] [stdout] 132 | .or_else(|| last_backup.and_then(|lb| lb.modules.get(&module_id))) [INFO] [stdout] 133 ~ { Some(module_backup) => { [INFO] [stdout] 134 | let size = module_backup.consensus_encode_to_len(); [INFO] [stdout] ... [INFO] [stdout] 157 | } [INFO] [stdout] 158 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/module/init/recovery.rs:106:16 [INFO] [stdout] | [INFO] [stdout] 106 | if let ConsensusItem::Transaction(ref transaction) = accepted_item.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/module/init/recovery.rs:108:13 [INFO] [stdout] | [INFO] [stdout] 108 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 106 ~ match accepted_item.item { ConsensusItem::Transaction(ref transaction) => { [INFO] [stdout] 107 | self.handle_transaction(client_ctx, transaction).await?; [INFO] [stdout] 108 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/module/init/recovery.rs:379:16 [INFO] [stdout] | [INFO] [stdout] 379 | if let Some((state, common_state)) = Recovery::load_dbtx(&mut db.begin_transaction_nc().await, self).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/module/init/recovery.rs:381:13 [INFO] [stdout] | [INFO] [stdout] 381 | } 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] 379 ~ match Recovery::load_dbtx(&mut db.begin_transaction_nc().await, self).await { Some((state, common_state)) => { [INFO] [stdout] 380 | (state, common_state) [INFO] [stdout] 381 ~ } _ => { [INFO] [stdout] 382 | let (state, start_session) = Recovery::new(self, snapshot).await?; [INFO] [stdout] ... [INFO] [stdout] 390 | }) [INFO] [stdout] 391 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/oplog.rs:152:12 [INFO] [stdout] | [INFO] [stdout] 152 | if let Err(e) = Self::set_operation_outcome(db, operation_id, outcome).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/oplog.rs:154:9 [INFO] [stdout] | [INFO] [stdout] 154 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 152 ~ match Self::set_operation_outcome(db, operation_id, outcome).await { Err(e) => { [INFO] [stdout] 153 | warn!("Error setting operation outcome: {e}"); [INFO] [stdout] 154 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/oplog.rs:328:15 [INFO] [stdout] | [INFO] [stdout] 328 | while let Some(update) = stream.next().await { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/oplog.rs:331:9 [INFO] [stdout] | [INFO] [stdout] 331 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 35s [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/sm/executor.rs:375:12 [INFO] [stdout] | [INFO] [stdout] 375 | if let Err(err) = self [INFO] [stdout] | ____________^ - [INFO] [stdout] | |___________________________| [INFO] [stdout] 376 | || .run_state_machines_executor_inner(global_context_gen, sm_update_rx) [INFO] [stdout] 377 | || .await [INFO] [stdout] | ||__________________^ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | |__________________| [INFO] [stdout] | [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/sm/executor.rs:383:9 [INFO] [stdout] | [INFO] [stdout] 383 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 375 ~ match self [INFO] [stdout] 376 | .run_state_machines_executor_inner(global_context_gen, sm_update_rx) [INFO] [stdout] 377 | .await [INFO] [stdout] 378 ~ { Err(err) => { [INFO] [stdout] 379 | warn!( [INFO] [stdout] ... [INFO] [stdout] 382 | ); [INFO] [stdout] 383 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/sm/executor.rs:487:24 [INFO] [stdout] | [INFO] [stdout] 487 | if let Some(new) = new { [INFO] [stdout] | ^^^^^^^^^^^^^^^^--- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/sm/executor.rs:491:21 [INFO] [stdout] | [INFO] [stdout] 491 | } 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] 487 ~ match new { Some(new) => { [INFO] [stdout] 488 | ExecutorLoopEvent::New { [INFO] [stdout] 489 | state: new, [INFO] [stdout] 490 | } [INFO] [stdout] 491 ~ } _ => { [INFO] [stdout] 492 | ExecutorLoopEvent::Disconnected [INFO] [stdout] 493 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/sm/notifier.rs:45:12 [INFO] [stdout] | [INFO] [stdout] 45 | if let Err(e) = self.broadcast.send(state) { [INFO] [stdout] | ^^^^^^^^^^^^^-------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/sm/notifier.rs:52:9 [INFO] [stdout] | [INFO] [stdout] 52 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 45 ~ match self.broadcast.send(state) { Err(e) => { [INFO] [stdout] 46 | debug!( [INFO] [stdout] ... [INFO] [stdout] 51 | ); [INFO] [stdout] 52 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/transaction/sm.rs:109:28 [INFO] [stdout] | [INFO] [stdout] 109 | if let TransactionSubmissionOutcome(Err(transaction_error)) = outcome { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [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/sm.rs:111:25 [INFO] [stdout] | [INFO] [stdout] 111 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 109 ~ match outcome { TransactionSubmissionOutcome(Err(transaction_error)) => { [INFO] [stdout] 110 | return transaction_error.to_string(); [INFO] [stdout] 111 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/api_announcements.rs:96:16 [INFO] [stdout] | [INFO] [stdout] 96 | if let Err(e) = 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/api_announcements.rs:98:13 [INFO] [stdout] | [INFO] [stdout] 98 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 96 ~ match result { Err(e) => { [INFO] [stdout] 97 | warn!(target: LOG_CLIENT, %peer_id, ?e, "Failed to process API announcements"); [INFO] [stdout] 98 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/meta.rs:86:12 [INFO] [stdout] | [INFO] [stdout] 86 | if let Some(value) = self.get_field_from_db(db, field).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/meta.rs:90:9 [INFO] [stdout] | [INFO] [stdout] 90 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 86 ~ match self.get_field_from_db(db, field).await { Some(value) => { [INFO] [stdout] 87 | // might be from in old cache. [INFO] [stdout] 88 | // TODO: maybe old cache should have a ttl? [INFO] [stdout] 89 | Some(value) [INFO] [stdout] 90 ~ } _ => { [INFO] [stdout] 91 | // wait for initial value [INFO] [stdout] 92 | self.initial_fetch_waiter.wait().await; [INFO] [stdout] 93 | self.get_field_from_db(db, field).await [INFO] [stdout] 94 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 25 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Running `cargo check` to verify 2024 [INFO] [stderr] Compiling fedimint-client v0.4.2 (/tmp/fixit) [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/transaction/builder.rs:118:34 [INFO] [stdout] | [INFO] [stdout] 118 | let nonce: [u8; 8] = rng.gen(); [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 118 | let nonce: [u8; 8] = rng.r#gen(); [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/transaction/builder.rs:118:34 [INFO] [stdout] | [INFO] [stdout] 118 | let nonce: [u8; 8] = rng.gen(); [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 118 | let nonce: [u8; 8] = rng.r#gen(); [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 1 previous error [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `fedimint-client` (lib) due to 2 previous errors [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stdout] error: aborting due to 1 previous error [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `fedimint-client` (lib test) due to 2 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" "9688b93524389a1d5be20107c9be155c65dcc7298659aca2f3e8ff8ecdc34674", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "9688b93524389a1d5be20107c9be155c65dcc7298659aca2f3e8ff8ecdc34674", kill_on_drop: false }` [INFO] [stdout] 9688b93524389a1d5be20107c9be155c65dcc7298659aca2f3e8ff8ecdc34674