[INFO] fetching crate radicle-node 0.10.0... [INFO] checking radicle-node-0.10.0 against try#ccf408f4326a858c00dd845a64a86b16f360a801 for pr-129466-2 [INFO] extracting crate radicle-node 0.10.0 into /workspace/builds/worker-6-tc2/source [INFO] validating manifest of crates.io crate radicle-node 0.10.0 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 radicle-node 0.10.0 [INFO] finished tweaking crates.io crate radicle-node 0.10.0 [INFO] tweaked toml for crates.io crate radicle-node 0.10.0 written to /workspace/builds/worker-6-tc2/source/Cargo.toml [INFO] crate crates.io crate radicle-node 0.10.0 already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+ccf408f4326a858c00dd845a64a86b16f360a801" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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] 9eea7b6e23e7a65ff0a11f18f93e03b955718faeaa156b131161232ac5d1ffc0 [INFO] running `Command { std: "docker" "start" "-a" "9eea7b6e23e7a65ff0a11f18f93e03b955718faeaa156b131161232ac5d1ffc0", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "9eea7b6e23e7a65ff0a11f18f93e03b955718faeaa156b131161232ac5d1ffc0", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "9eea7b6e23e7a65ff0a11f18f93e03b955718faeaa156b131161232ac5d1ffc0", kill_on_drop: false }` [INFO] [stdout] 9eea7b6e23e7a65ff0a11f18f93e03b955718faeaa156b131161232ac5d1ffc0 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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] 581e048a6d10ff76eac07116d3704bca440c3cbe2eb37cc5f6e105430be3a869 [INFO] running `Command { std: "docker" "start" "-a" "581e048a6d10ff76eac07116d3704bca440c3cbe2eb37cc5f6e105430be3a869", kill_on_drop: false }` [INFO] [stderr] Copying to /tmp/fixit [INFO] [stderr] Running `cargo fix --edition` [INFO] [stderr] Migrating Cargo.toml from 2021 edition to 2024 [INFO] [stderr] Fixed Cargo.toml (2 fixes) [INFO] [stderr] Compiling proc-macro2 v1.0.81 [INFO] [stderr] Compiling thiserror v1.0.59 [INFO] [stderr] Checking memchr v2.7.2 [INFO] [stderr] Checking regex-automata v0.4.6 [INFO] [stderr] Checking getrandom v0.2.14 [INFO] [stderr] Checking tinyvec v1.6.0 [INFO] [stderr] Checking subtle v2.5.0 [INFO] [stderr] Checking fastrand v2.1.0 [INFO] [stderr] Checking block-padding v0.3.3 [INFO] [stderr] Checking rand_core v0.6.4 [INFO] [stderr] Checking zeroize v1.7.0 [INFO] [stderr] Checking inout v0.1.3 [INFO] [stderr] Checking gix-trace v0.1.9 [INFO] [stderr] Compiling autocfg v1.2.0 [INFO] [stderr] Compiling crc32fast v1.4.0 [INFO] [stderr] Checking crypto-common v0.1.6 [INFO] [stderr] Checking bitflags v2.5.0 [INFO] [stderr] Checking digest v0.10.7 [INFO] [stderr] Checking cipher v0.4.4 [INFO] [stderr] Checking faster-hex v0.9.0 [INFO] [stderr] Compiling cc v1.0.95 [INFO] [stderr] Checking miniz_oxide v0.7.2 [INFO] [stderr] Checking same-file v1.0.6 [INFO] [stderr] Checking unicode-normalization v0.1.23 [INFO] [stderr] Checking sha2 v0.10.8 [INFO] [stderr] Checking bstr v1.9.1 [INFO] [stderr] Checking walkdir v2.5.0 [INFO] [stderr] Compiling quote v1.0.36 [INFO] [stderr] Checking sha1_smol v1.0.0 [INFO] [stderr] Compiling syn v2.0.60 [INFO] [stderr] Compiling syn v1.0.109 [INFO] [stderr] Checking prodash v28.0.0 [INFO] [stderr] Checking flate2 v1.0.28 [INFO] [stderr] Checking universal-hash v0.5.1 [INFO] [stderr] Checking smallvec v1.13.2 [INFO] [stderr] Checking gix-utils v0.1.12 [INFO] [stderr] Compiling lock_api v0.4.11 [INFO] [stderr] Compiling parking_lot_core v0.9.9 [INFO] [stderr] Compiling data-encoding v2.5.0 [INFO] [stderr] Checking amplify_num v0.5.2 [INFO] [stderr] Checking unicode-bidi v0.3.15 [INFO] [stderr] Checking signature v1.6.4 [INFO] [stderr] Checking ascii v1.1.0 [INFO] [stderr] Compiling serde v1.0.198 [INFO] [stderr] Checking idna v0.5.0 [INFO] [stderr] Checking ed25519 v1.5.3 [INFO] [stderr] Checking aead v0.5.2 [INFO] [stderr] Checking home v0.5.9 [INFO] [stderr] Checking base-x v0.2.11 [INFO] [stderr] Checking num_threads v0.1.7 [INFO] [stderr] Compiling rustix v0.38.34 [INFO] [stderr] Compiling vcpkg v0.2.15 [INFO] [stderr] Checking ct-codecs v1.1.1 [INFO] [stderr] Checking parking_lot v0.12.1 [INFO] [stderr] Checking time v0.3.36 [INFO] [stderr] Checking ec25519 v0.1.0 [INFO] [stderr] Checking url v2.5.0 [INFO] [stderr] Checking poly1305 v0.8.0 [INFO] [stderr] Checking chacha20 v0.9.1 [INFO] [stderr] Checking linux-raw-sys v0.4.13 [INFO] [stderr] Checking hashbrown v0.14.3 [INFO] [stderr] Checking winnow v0.6.8 [INFO] [stderr] Checking sha3 v0.10.8 [INFO] [stderr] Compiling proc-macro-error-attr v1.0.4 [INFO] [stderr] Compiling libz-sys v1.1.16 [INFO] [stderr] Compiling amplify_syn v2.0.1 [INFO] [stderr] Compiling sqlite3-src v0.5.1 [INFO] [stderr] Compiling libgit2-sys v0.17.0+1.8.1 [INFO] [stderr] Checking polyval v0.6.2 [INFO] [stderr] Checking hmac v0.12.1 [INFO] [stderr] Checking base32 v0.4.0 [INFO] [stderr] Compiling crossbeam-utils v0.8.19 [INFO] [stderr] Checking ppv-lite86 v0.2.17 [INFO] [stderr] Checking pem-rfc7468 v0.7.0 [INFO] [stderr] Checking pbkdf2 v0.12.2 [INFO] [stderr] Checking rand_chacha v0.3.1 [INFO] [stderr] Checking ghash v0.5.1 [INFO] [stderr] Compiling proc-macro-error v1.0.4 [INFO] [stderr] Checking chacha20poly1305 v0.10.1 [INFO] [stderr] Checking aes v0.8.4 [INFO] [stderr] Checking ctr v0.9.2 [INFO] [stderr] Checking log v0.4.21 [INFO] [stderr] Checking rand v0.8.5 [INFO] [stderr] Checking ssh-encoding v0.2.0 [INFO] [stderr] Checking aes-gcm v0.10.3 [INFO] [stderr] Checking blowfish v0.9.1 [INFO] [stderr] Checking cbc v0.1.2 [INFO] [stderr] Checking memmap2 v0.9.4 [INFO] [stderr] Checking shell-words v1.1.0 [INFO] [stderr] Compiling amplify_derive v4.0.0 [INFO] [stderr] Compiling data-encoding-macro-internal v0.1.12 [INFO] [stderr] Compiling thiserror-impl v1.0.59 [INFO] [stderr] Compiling serde_derive v1.0.198 [INFO] [stderr] Checking crossbeam-channel v0.5.13 [INFO] [stderr] Checking tempfile v3.10.1 [INFO] [stderr] Checking ssh-cipher v0.2.0 [INFO] [stderr] Checking data-encoding-macro v0.1.14 [INFO] [stderr] Checking bcrypt-pbkdf v0.10.0 [INFO] [stderr] Checking multibase v0.9.1 [INFO] [stderr] Compiling num-traits v0.2.18 [INFO] [stderr] Compiling serde_json v1.0.116 [INFO] [stderr] Checking signature v2.2.0 [INFO] [stderr] Checking radicle-std-ext v0.1.0 [INFO] [stderr] Checking indexmap v2.2.6 [INFO] [stderr] Checking ssh-key v0.6.6 [INFO] [stderr] Checking gix-hash v0.14.2 [INFO] [stderr] Checking gix-path v0.10.9 [INFO] [stderr] Checking gix-date v0.8.7 [INFO] [stderr] Checking gix-features v0.38.2 [INFO] [stderr] Compiling git-ref-format-core v0.3.0 [INFO] [stderr] Checking gix-validate v0.8.5 [INFO] [stderr] Checking gix-actor v0.31.5 [INFO] [stderr] Checking gix-chunk v0.4.8 [INFO] [stderr] Checking gix-command v0.3.6 [INFO] [stderr] Compiling git-ref-format-macro v0.3.0 [INFO] [stderr] Checking gix-object v0.42.3 [INFO] [stderr] Checking gix-hashtable v0.5.2 [INFO] [stderr] Checking gix-commitgraph v0.24.3 [INFO] [stderr] Checking gix-fs v0.11.2 [INFO] [stderr] Checking amplify v4.6.0 [INFO] [stderr] Checking gix-url v0.27.3 [INFO] [stderr] Checking gix-config-value v0.14.6 [INFO] [stderr] Checking gix-quote v0.4.12 [INFO] [stderr] Checking radicle-ssh v0.9.0 [INFO] [stderr] Checking qcheck v1.0.0 [INFO] [stderr] Checking cyphergraphy v0.3.0 [INFO] [stderr] Checking gix-sec v0.10.6 [INFO] [stderr] Checking ryu v1.0.17 [INFO] [stderr] Checking gix-prompt v0.8.4 [INFO] [stderr] Checking gix-tempfile v14.0.1 [INFO] [stderr] Checking gix-revwalk v0.13.2 [INFO] [stderr] Checking cypheraddr v0.4.0 [INFO] [stderr] Checking noise-framework v0.4.0 [INFO] [stderr] Checking gix-diff v0.44.1 [INFO] [stderr] Checking gix-packetline v0.17.5 [INFO] [stderr] Checking gix-traverse v0.39.2 [INFO] [stderr] Checking socks5-client v0.4.1 [INFO] [stderr] Checking radicle-dag v0.9.0 [INFO] [stderr] Checking colored v2.1.0 [INFO] [stderr] Checking cyphernet v0.5.2 [INFO] [stderr] Checking gix-transport v0.42.0 [INFO] [stderr] Checking gix-credentials v0.24.2 [INFO] [stderr] Compiling maybe-async v0.2.10 [INFO] [stderr] Checking gix-pack v0.51.1 [INFO] [stderr] Checking popol v3.0.0 [INFO] [stderr] Compiling anyhow v1.0.82 [INFO] [stderr] Checking arc-swap v1.7.1 [INFO] [stderr] Checking chrono v0.4.38 [INFO] [stderr] Checking utf8parse v0.2.1 [INFO] [stderr] Checking siphasher v1.0.1 [INFO] [stderr] Checking base64 v0.21.7 [INFO] [stderr] Checking gix-protocol v0.45.0 [INFO] [stderr] Checking anstyle-parse v0.2.3 [INFO] [stderr] Checking io-reactor v0.5.2 [INFO] [stderr] Checking salsa20 v0.10.2 [INFO] [stderr] Checking anstyle-query v1.0.2 [INFO] [stderr] Checking colorchoice v1.0.0 [INFO] [stderr] Compiling radicle-node v0.10.0 (/tmp/fixit) [INFO] [stderr] Checking anstyle v1.0.6 [INFO] [stderr] Migrating build.rs from 2021 edition to 2024 [INFO] [stderr] Checking either v1.11.0 [INFO] [stderr] Checking anstream v0.6.13 [INFO] [stderr] Checking gix-odb v0.61.1 [INFO] [stderr] Checking scrypt v0.11.0 [INFO] [stderr] Checking bloomy v1.2.0 [INFO] [stderr] Checking netservices v0.8.0 [INFO] [stderr] Checking radicle-signals v0.10.0 [INFO] [stderr] Checking radicle-systemd v0.9.0 [INFO] [stderr] Checking lexopt v0.3.0 [INFO] [stderr] Checking snapbox-macros v0.3.8 [INFO] [stderr] Checking normalize-line-endings v0.3.0 [INFO] [stderr] Checking similar v2.5.0 [INFO] [stderr] Compiling qcheck-macros v1.0.0 [INFO] [stderr] Checking snapbox v0.4.17 [INFO] [stderr] Checking nonempty v0.9.0 [INFO] [stderr] Checking git-ref-format v0.3.0 [INFO] [stderr] Checking localtime v1.3.1 [INFO] [stderr] Checking sqlite3-sys v0.15.2 [INFO] [stderr] Checking git2 v0.19.0 [INFO] [stderr] Checking sqlite v0.32.0 [INFO] [stderr] Checking radicle-git-ext v0.8.0 [INFO] [stderr] Checking radicle-crypto v0.11.0 [INFO] [stderr] Checking radicle-cob v0.12.0 [INFO] [stderr] Checking radicle v0.13.0 [INFO] [stderr] Checking radicle-fetch v0.10.0 [INFO] [stderr] Migrating src/lib.rs from 2021 edition to 2024 [INFO] [stderr] warning: failed to automatically apply fixes suggested by rustc to crate `radicle_node` [INFO] [stderr] [INFO] [stderr] after fixes were automatically applied the compiler reported errors within these files: [INFO] [stderr] [INFO] [stderr] * src/service.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: ambiguous `+` in a type [INFO] [stderr] --> src/service.rs:324:31 [INFO] [stderr] | [INFO] [stderr] 324 | pub fn routing(&self) -> &impl routing::Store + use { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] help: try adding parentheses [INFO] [stderr] | [INFO] [stderr] 324 | pub fn routing(&self) -> &(impl routing::Store + use) { [INFO] [stderr] | + + [INFO] [stderr] [INFO] [stderr] error: ambiguous `+` in a type [INFO] [stderr] --> src/service.rs:329:43 [INFO] [stderr] | [INFO] [stderr] 329 | pub fn routing_mut(&mut self) -> &mut impl routing::Store + use { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] help: try adding parentheses [INFO] [stderr] | [INFO] [stderr] 329 | pub fn routing_mut(&mut self) -> &mut (impl routing::Store + use) { [INFO] [stderr] | + + [INFO] [stderr] [INFO] [stderr] error: ambiguous `+` in a type [INFO] [stderr] --> src/service.rs:334:33 [INFO] [stderr] | [INFO] [stderr] 334 | pub fn addresses(&self) -> &impl address::Store + use { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] help: try adding parentheses [INFO] [stderr] | [INFO] [stderr] 334 | pub fn addresses(&self) -> &(impl address::Store + use) { [INFO] [stderr] | + + [INFO] [stderr] [INFO] [stderr] error: ambiguous `+` in a type [INFO] [stderr] --> src/service.rs:339:45 [INFO] [stderr] | [INFO] [stderr] 339 | pub fn addresses_mut(&mut self) -> &mut impl address::Store + use { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] help: try adding parentheses [INFO] [stderr] | [INFO] [stderr] 339 | pub fn addresses_mut(&mut self) -> &mut (impl address::Store + use) { [INFO] [stderr] | + + [INFO] [stderr] [INFO] [stderr] error: ambiguous `+` in a type [INFO] [stderr] --> src/service.rs:344:30 [INFO] [stderr] | [INFO] [stderr] 344 | pub fn gossip(&self) -> &impl gossip::Store + use { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] help: try adding parentheses [INFO] [stderr] | [INFO] [stderr] 344 | pub fn gossip(&self) -> &(impl gossip::Store + use) { [INFO] [stderr] | + + [INFO] [stderr] [INFO] [stderr] error: ambiguous `+` in a type [INFO] [stderr] --> src/service.rs:349:42 [INFO] [stderr] | [INFO] [stderr] 349 | pub fn gossip_mut(&mut self) -> &mut impl gossip::Store + use { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] help: try adding parentheses [INFO] [stderr] | [INFO] [stderr] 349 | pub fn gossip_mut(&mut self) -> &mut (impl gossip::Store + use) { [INFO] [stderr] | + + [INFO] [stderr] [INFO] [stderr] error: ambiguous `+` in a type [INFO] [stderr] --> src/service.rs:354:29 [INFO] [stderr] | [INFO] [stderr] 354 | pub fn seeds(&self) -> &impl seed::Store + use { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] help: try adding parentheses [INFO] [stderr] | [INFO] [stderr] 354 | pub fn seeds(&self) -> &(impl seed::Store + use) { [INFO] [stderr] | + + [INFO] [stderr] [INFO] [stderr] error: ambiguous `+` in a type [INFO] [stderr] --> src/service.rs:359:41 [INFO] [stderr] | [INFO] [stderr] 359 | pub fn seeds_mut(&mut self) -> &mut impl seed::Store + use { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] help: try adding parentheses [INFO] [stderr] | [INFO] [stderr] 359 | pub fn seeds_mut(&mut self) -> &mut (impl seed::Store + use) { [INFO] [stderr] | + + [INFO] [stderr] [INFO] [stderr] error: ambiguous `+` in a type [INFO] [stderr] --> src/service.rs:364:28 [INFO] [stderr] | [INFO] [stderr] 364 | pub fn refs(&self) -> &impl node::refs::Store + use { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] help: try adding parentheses [INFO] [stderr] | [INFO] [stderr] 364 | pub fn refs(&self) -> &(impl node::refs::Store + use) { [INFO] [stderr] | + + [INFO] [stderr] [INFO] [stderr] error: ambiguous `+` in a type [INFO] [stderr] --> src/service.rs:369:40 [INFO] [stderr] | [INFO] [stderr] 369 | pub fn refs_mut(&mut self) -> &mut impl node::refs::Store + use { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] help: try adding parentheses [INFO] [stderr] | [INFO] [stderr] 369 | pub fn refs_mut(&mut self) -> &mut (impl node::refs::Store + use) { [INFO] [stderr] | + + [INFO] [stderr] [INFO] [stderr] error: aborting due to 10 previous errors [INFO] [stderr] [INFO] [stderr] Original diagnostics will follow. [INFO] [stderr] [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/control.rs:301:37 [INFO] [stdout] | [INFO] [stdout] 301 | let proj = test::arbitrary::gen::(1); [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #49716 [INFO] [stdout] = note: `--force-warn keyword-idents-2024` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/control.rs:302:37 [INFO] [stdout] | [INFO] [stdout] 302 | let peer = test::arbitrary::gen::(1); [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #49716 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/service/gossip/store.rs:407:30 [INFO] [stdout] | [INFO] [stdout] 407 | let nid = arbitrary::gen::(1); [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #49716 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/service/gossip/store.rs:408:30 [INFO] [stdout] | [INFO] [stdout] 408 | let rid = arbitrary::gen::(1); [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #49716 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/service/limiter.rs:142:28 [INFO] [stdout] | [INFO] [stdout] 142 | let n = arbitrary::gen::(1); [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #49716 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/service/limiter.rs:172:28 [INFO] [stdout] | [INFO] [stdout] 172 | let n = arbitrary::gen::(1); [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #49716 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/service/limiter.rs:193:28 [INFO] [stdout] | [INFO] [stdout] 193 | let n = arbitrary::gen::(1); [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #49716 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/service/message.rs:612:29 [INFO] [stdout] | [INFO] [stdout] 612 | rid: arbitrary::gen(1), [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #49716 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/wire/message.rs:472:59 [INFO] [stdout] | [INFO] [stdout] 472 | let refs: [RefsAt; REF_REMOTE_LIMIT] = arbitrary::gen(1); [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #49716 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/wire/message.rs:474:29 [INFO] [stdout] | [INFO] [stdout] 474 | rid: arbitrary::gen(1), [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #49716 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/wire/message.rs:476:35 [INFO] [stdout] | [INFO] [stdout] 476 | timestamp: arbitrary::gen(1), [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #49716 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/wire/message.rs:488:57 [INFO] [stdout] | [INFO] [stdout] 488 | let inv: [RepoId; INVENTORY_LIMIT] = arbitrary::gen(1); [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #49716 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/wire/message.rs:491:35 [INFO] [stdout] | [INFO] [stdout] 491 | timestamp: arbitrary::gen(1), [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #49716 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/wire/message.rs:503:58 [INFO] [stdout] | [INFO] [stdout] 503 | let addrs: [Address; ADDRESS_LIMIT] = arbitrary::gen(1); [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #49716 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/wire/message.rs:510:35 [INFO] [stdout] | [INFO] [stdout] 510 | timestamp: arbitrary::gen(1), [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #49716 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/wire/message.rs:581:14 [INFO] [stdout] | [INFO] [stdout] 581 | .gen(qcheck::Gen::new(16)) [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #49716 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/wire/protocol.rs:1300:45 [INFO] [stdout] | [INFO] [stdout] 1300 | let rid = radicle::test::arbitrary::gen(1); [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #49716 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/wire/protocol.rs:1301:44 [INFO] [stdout] | [INFO] [stdout] 1301 | let pk = radicle::test::arbitrary::gen(1); [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #49716 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/wire/protocol.rs:1302:55 [INFO] [stdout] | [INFO] [stdout] 1302 | let sig: [u8; 64] = radicle::test::arbitrary::gen(1); [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #49716 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/control.rs:49:24 [INFO] [stdout] | [INFO] [stdout] 49 | if let Err(e) = command(&stream, handle) { [INFO] [stdout] | ^^^^^^^^^^^^^------------------------ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/control.rs:56:21 [INFO] [stdout] | [INFO] [stdout] 56 | } [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] 49 ~ match command(&stream, handle) { Err(e) => { [INFO] [stdout] 50 | log::error!(target: "control", "Command returned error: {e}"); [INFO] [stdout] ... [INFO] [stdout] 55 | stream.shutdown(net::Shutdown::Both).ok(); [INFO] [stdout] 56 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/runtime.rs:149:31 [INFO] [stdout] | [INFO] [stdout] 149 | let announcement = if let Some(ann) = fs::read(node_dir.join(node::NODE_ANNOUNCEMENT_FILE)) [INFO] [stdout] | ^ ----------------------------------------------------- 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] 150 | | .ok() [INFO] [stdout] 151 | | .and_then(|ann| NodeAnnouncement::decode(&mut ann.as_slice()).ok()) [INFO] [stdout] 152 | | .and_then(|ann| { [INFO] [stdout] ... | [INFO] [stdout] 170 | | } [INFO] [stdout] 171 | | }) { [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/runtime.rs:179:9 [INFO] [stdout] | [INFO] [stdout] 179 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 149 ~ let announcement = match fs::read(node_dir.join(node::NODE_ANNOUNCEMENT_FILE)) [INFO] [stdout] 150 | .ok() [INFO] [stdout] ... [INFO] [stdout] 170 | } [INFO] [stdout] 171 ~ }) { Some(ann) => { [INFO] [stdout] 172 | log::info!( [INFO] [stdout] ... [INFO] [stdout] 178 | ann [INFO] [stdout] 179 ~ } _ => { [INFO] [stdout] 180 | service::gossip::node(&config, timestamp) [INFO] [stdout] 181 | .solve(Default::default()) [INFO] [stdout] 182 | .expect("Runtime::init: unable to solve proof-of-work puzzle") [INFO] [stdout] 183 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/runtime.rs:356:16 [INFO] [stdout] | [INFO] [stdout] 356 | if let Some(listener) = Self::receive_listener() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^------------------------ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/runtime.rs:359:13 [INFO] [stdout] | [INFO] [stdout] 359 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 356 ~ match Self::receive_listener() { Some(listener) => { [INFO] [stdout] 357 | log::info!(target: "node", "Received control socket."); [INFO] [stdout] 358 | return Ok(ControlSocket::Received(listener)); [INFO] [stdout] 359 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `impl radicle::node::routing::Store` will capture more lifetimes than possibly intended in edition 2024 [INFO] [stdout] --> src/service.rs:324:31 [INFO] [stdout] | [INFO] [stdout] 324 | pub fn routing(&self) -> &impl routing::Store { [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/service.rs:324:20 [INFO] [stdout] | [INFO] [stdout] 324 | pub fn routing(&self) -> &impl routing::Store { [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] 324 | pub fn routing(&self) -> &impl routing::Store + use { [INFO] [stdout] | ++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `impl radicle::node::routing::Store` will capture more lifetimes than possibly intended in edition 2024 [INFO] [stdout] --> src/service.rs:329:43 [INFO] [stdout] | [INFO] [stdout] 329 | pub fn routing_mut(&mut self) -> &mut impl routing::Store { [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/service.rs:329:24 [INFO] [stdout] | [INFO] [stdout] 329 | pub fn routing_mut(&mut self) -> &mut impl routing::Store { [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] 329 | pub fn routing_mut(&mut self) -> &mut impl routing::Store + use { [INFO] [stdout] | ++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `impl radicle::node::address::Store` will capture more lifetimes than possibly intended in edition 2024 [INFO] [stdout] --> src/service.rs:334:33 [INFO] [stdout] | [INFO] [stdout] 334 | pub fn addresses(&self) -> &impl address::Store { [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/service.rs:334:22 [INFO] [stdout] | [INFO] [stdout] 334 | pub fn addresses(&self) -> &impl address::Store { [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] 334 | pub fn addresses(&self) -> &impl address::Store + use { [INFO] [stdout] | ++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `impl radicle::node::address::Store` will capture more lifetimes than possibly intended in edition 2024 [INFO] [stdout] --> src/service.rs:339:45 [INFO] [stdout] | [INFO] [stdout] 339 | pub fn addresses_mut(&mut self) -> &mut impl address::Store { [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/service.rs:339:26 [INFO] [stdout] | [INFO] [stdout] 339 | pub fn addresses_mut(&mut self) -> &mut impl address::Store { [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] 339 | pub fn addresses_mut(&mut self) -> &mut impl address::Store + use { [INFO] [stdout] | ++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `impl gossip::store::Store` will capture more lifetimes than possibly intended in edition 2024 [INFO] [stdout] --> src/service.rs:344:30 [INFO] [stdout] | [INFO] [stdout] 344 | pub fn gossip(&self) -> &impl gossip::Store { [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/service.rs:344:19 [INFO] [stdout] | [INFO] [stdout] 344 | pub fn gossip(&self) -> &impl gossip::Store { [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] 344 | pub fn gossip(&self) -> &impl gossip::Store + use { [INFO] [stdout] | ++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `impl gossip::store::Store` will capture more lifetimes than possibly intended in edition 2024 [INFO] [stdout] --> src/service.rs:349:42 [INFO] [stdout] | [INFO] [stdout] 349 | pub fn gossip_mut(&mut self) -> &mut impl gossip::Store { [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/service.rs:349:23 [INFO] [stdout] | [INFO] [stdout] 349 | pub fn gossip_mut(&mut self) -> &mut impl gossip::Store { [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] 349 | pub fn gossip_mut(&mut self) -> &mut impl gossip::Store + use { [INFO] [stdout] | ++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `impl radicle::node::seed::Store` will capture more lifetimes than possibly intended in edition 2024 [INFO] [stdout] --> src/service.rs:354:29 [INFO] [stdout] | [INFO] [stdout] 354 | pub fn seeds(&self) -> &impl seed::Store { [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/service.rs:354:18 [INFO] [stdout] | [INFO] [stdout] 354 | pub fn seeds(&self) -> &impl seed::Store { [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] 354 | pub fn seeds(&self) -> &impl seed::Store + use { [INFO] [stdout] | ++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `impl radicle::node::seed::Store` will capture more lifetimes than possibly intended in edition 2024 [INFO] [stdout] --> src/service.rs:359:41 [INFO] [stdout] | [INFO] [stdout] 359 | pub fn seeds_mut(&mut self) -> &mut impl seed::Store { [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/service.rs:359:22 [INFO] [stdout] | [INFO] [stdout] 359 | pub fn seeds_mut(&mut self) -> &mut impl seed::Store { [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] 359 | pub fn seeds_mut(&mut self) -> &mut impl seed::Store + use { [INFO] [stdout] | ++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `impl radicle::node::refs::Store` will capture more lifetimes than possibly intended in edition 2024 [INFO] [stdout] --> src/service.rs:364:28 [INFO] [stdout] | [INFO] [stdout] 364 | pub fn refs(&self) -> &impl node::refs::Store { [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/service.rs:364:17 [INFO] [stdout] | [INFO] [stdout] 364 | pub fn refs(&self) -> &impl node::refs::Store { [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] 364 | pub fn refs(&self) -> &impl node::refs::Store + use { [INFO] [stdout] | ++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `impl radicle::node::refs::Store` will capture more lifetimes than possibly intended in edition 2024 [INFO] [stdout] --> src/service.rs:369:40 [INFO] [stdout] | [INFO] [stdout] 369 | pub fn refs_mut(&mut self) -> &mut impl node::refs::Store { [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/service.rs:369:21 [INFO] [stdout] | [INFO] [stdout] 369 | pub fn refs_mut(&mut self) -> &mut impl node::refs::Store { [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] 369 | pub fn refs_mut(&mut self) -> &mut impl node::refs::Store + use { [INFO] [stdout] | ++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/service.rs:557:16 [INFO] [stdout] | [INFO] [stdout] 557 | if let Err(e) = self.remove_inventory(id) { [INFO] [stdout] | ^^^^^^^^^^^^^------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/service.rs:559:13 [INFO] [stdout] | [INFO] [stdout] 559 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 557 ~ match self.remove_inventory(id) { Err(e) => { [INFO] [stdout] 558 | error!(target: "service", "Error updating inventory after unseed: {e}"); [INFO] [stdout] 559 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/service.rs:656:20 [INFO] [stdout] | [INFO] [stdout] 656 | if let Err(e) = self.db.refs_mut().populate(&self.storage) { [INFO] [stdout] | ^^^^^^^^^^^^^------------------------------------------ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/service.rs:658:17 [INFO] [stdout] | [INFO] [stdout] 658 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 656 ~ match self.db.refs_mut().populate(&self.storage) { Err(e) => { [INFO] [stdout] 657 | error!(target: "service", "Failed to populate refs database: {e}"); [INFO] [stdout] 658 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/service.rs:708:16 [INFO] [stdout] | [INFO] [stdout] 708 | if let Ok((ann, _)) = self.refs_announcement_for(rid, [nid]) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^-------------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/service.rs:711:13 [INFO] [stdout] | [INFO] [stdout] 711 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 708 ~ match self.refs_announcement_for(rid, [nid]) { Ok((ann, _)) => { [INFO] [stdout] 709 | debug!(target: "service", "Adding refs announcement for {rid} to historical gossip messages.."); [INFO] [stdout] 710 | self.db.gossip_mut().announced(&nid, &ann)?; [INFO] [stdout] 711 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/service.rs:1009:24 [INFO] [stdout] | [INFO] [stdout] 1009 | if let Some(c) = channel { [INFO] [stdout] | ^^^^^^^^^^^^^^------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/service.rs:1011:21 [INFO] [stdout] | [INFO] [stdout] 1011 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1009 ~ match channel { Some(c) => { [INFO] [stdout] 1010 | fetching.subscribe(c); [INFO] [stdout] 1011 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/service.rs:1036:20 [INFO] [stdout] | [INFO] [stdout] 1036 | if let Some(c) = channel { [INFO] [stdout] | ^^^^^^^^^^^^^^------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/service.rs:1041:17 [INFO] [stdout] | [INFO] [stdout] 1041 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1036 ~ match channel { Some(c) => { [INFO] [stdout] 1037 | c.send(FetchResult::Failed { [INFO] [stdout] ... [INFO] [stdout] 1040 | .ok(); [INFO] [stdout] 1041 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/service.rs:1052:12 [INFO] [stdout] | [INFO] [stdout] 1052 | if let Err(e) = s.queue_fetch(fetch) { [INFO] [stdout] | ^^^^^^^^^^^^^-------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/service.rs:1055:9 [INFO] [stdout] | [INFO] [stdout] 1055 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1052 ~ match s.queue_fetch(fetch) { Err(e) => { [INFO] [stdout] 1053 | let fetch = e.inner(); [INFO] [stdout] 1054 | log::debug!(target: "service", "Unable to queue fetch for {} with {}: {e}", &fetch.rid, &fetch.from); [INFO] [stdout] 1055 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/service.rs:1174:24 [INFO] [stdout] | [INFO] [stdout] 1174 | if let Err(e) = self.add_inventory(rid) { [INFO] [stdout] | ^^^^^^^^^^^^^----------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/service.rs:1176:21 [INFO] [stdout] | [INFO] [stdout] 1176 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1174 ~ match self.add_inventory(rid) { Err(e) => { [INFO] [stdout] 1175 | error!(target: "service", "Error announcing inventory for {rid}: {e}"); [INFO] [stdout] 1176 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/service.rs:1185:24 [INFO] [stdout] | [INFO] [stdout] 1185 | if let Err(e) = self.announce_refs(rid, doc.into(), namespaces) { [INFO] [stdout] | ^^^^^^^^^^^^^----------------------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/service.rs:1187:21 [INFO] [stdout] | [INFO] [stdout] 1187 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1185 ~ match self.announce_refs(rid, doc.into(), namespaces) { Err(e) => { [INFO] [stdout] 1186 | error!(target: "service", "Failed to announce new refs: {e}"); [INFO] [stdout] 1187 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/service.rs:1227:16 [INFO] [stdout] | [INFO] [stdout] 1227 | if let Some(QueuedFetch { [INFO] [stdout] | ________________^ [INFO] [stdout] 1228 | | rid, [INFO] [stdout] 1229 | | from, [INFO] [stdout] 1230 | | refs_at, [INFO] [stdout] 1231 | | timeout, [INFO] [stdout] 1232 | | channel, [INFO] [stdout] 1233 | | }) = sess.dequeue_fetch() [INFO] [stdout] | |__________________-------------------^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/service.rs:1250:13 [INFO] [stdout] | [INFO] [stdout] 1250 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1227 ~ match sess.dequeue_fetch() [INFO] [stdout] 1228 ~ { Some(QueuedFetch { [INFO] [stdout] 1229 + rid, [INFO] [stdout] 1230 + from, [INFO] [stdout] 1231 + refs_at, [INFO] [stdout] 1232 + timeout, [INFO] [stdout] 1233 + channel, [INFO] [stdout] 1234 ~ }) => { [INFO] [stdout] 1235 | debug!(target: "service", "Dequeued fetch for {rid} from session {from}.."); [INFO] [stdout] ... [INFO] [stdout] 1249 | } [INFO] [stdout] 1250 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/service.rs:1291:12 [INFO] [stdout] | [INFO] [stdout] 1291 | if let Some(sess) = self.sessions.get_mut(&nid) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^-------------^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/service.rs:1293:9 [INFO] [stdout] | [INFO] [stdout] 1293 | } 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] 1291 ~ match self.sessions.get_mut(&nid) { Some(sess) => { [INFO] [stdout] 1292 | sess.to_attempted(); [INFO] [stdout] 1293 ~ } _ => { [INFO] [stdout] 1294 | #[cfg(debug_assertions)] [INFO] [stdout] 1295 | panic!("Service::attempted: unknown session {nid}@{addr}"); [INFO] [stdout] 1296 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/service.rs:1312:16 [INFO] [stdout] | [INFO] [stdout] 1312 | if let Some(peer) = self.sessions.get_mut(&remote) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^-------------^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/service.rs:1315:13 [INFO] [stdout] | [INFO] [stdout] 1315 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1312 ~ match self.sessions.get_mut(&remote) { Some(peer) => { [INFO] [stdout] 1313 | peer.to_connected(self.clock); [INFO] [stdout] 1314 | self.outbox.write_all(peer, msgs); [INFO] [stdout] 1315 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/service.rs:1340:32 [INFO] [stdout] | [INFO] [stdout] 1340 | ... if let Err(e) = [INFO] [stdout] | __________________________^ [INFO] [stdout] 1341 | | ... self.db [INFO] [stdout] | | ------- this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] 1342 | | ... .addresses_mut() [INFO] [stdout] 1343 | | ... .record_ip(&remote, ip, self.clock.into()) [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/service.rs:1346:29 [INFO] [stdout] | [INFO] [stdout] 1346 | ... } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1340 ~ match self.db [INFO] [stdout] 1341 | .addresses_mut() [INFO] [stdout] 1342 | .record_ip(&remote, ip, self.clock.into()) [INFO] [stdout] 1343 ~ { Err(e) => { [INFO] [stdout] 1344 | log::error!(target: "service", "Error recording IP address for {remote}: {e}"); [INFO] [stdout] 1345 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/service.rs:1947:12 [INFO] [stdout] | [INFO] [stdout] 1947 | if let Ok(result) = self.db.routing_mut().add_inventory([&rid], nid, time) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^-------^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/service.rs:1952:9 [INFO] [stdout] | [INFO] [stdout] 1952 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1947 ~ match self.db.routing_mut().add_inventory([&rid], nid, time) { Ok(result) => { [INFO] [stdout] 1948 | if let &[(_, InsertResult::SeedAdded)] = result.as_slice() { [INFO] [stdout] ... [INFO] [stdout] 1951 | } [INFO] [stdout] 1952 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/service.rs:2143:16 [INFO] [stdout] | [INFO] [stdout] 2143 | if let Err(e) = self.database_mut().refs_mut().set( [INFO] [stdout] | ________________^ - [INFO] [stdout] | |_____________________________| [INFO] [stdout] 2144 | || &rid, [INFO] [stdout] 2145 | || &r.remote, [INFO] [stdout] 2146 | || &SIGREFS_BRANCH, [INFO] [stdout] 2147 | || r.at, [INFO] [stdout] 2148 | || timestamp.to_local_time(), [INFO] [stdout] 2149 | || ) { [INFO] [stdout] | ||_____________^ 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/service.rs:2155:13 [INFO] [stdout] | [INFO] [stdout] 2155 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 2143 ~ match self.database_mut().refs_mut().set( [INFO] [stdout] 2144 | &rid, [INFO] [stdout] ... [INFO] [stdout] 2148 | timestamp.to_local_time(), [INFO] [stdout] 2149 ~ ) { Err(e) => { [INFO] [stdout] 2150 | error!( [INFO] [stdout] ... [INFO] [stdout] 2154 | ); [INFO] [stdout] 2155 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/service.rs:2180:16 [INFO] [stdout] | [INFO] [stdout] 2180 | if let Err(e) = self [INFO] [stdout] | _________________^ - [INFO] [stdout] | | _____________________________| [INFO] [stdout] 2181 | || .db [INFO] [stdout] | ||___________________- this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] 2182 | | .seeds_mut() [INFO] [stdout] 2183 | | .synced(&rid, &ann.node, refs.at, timestamp) [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/service.rs:2186:13 [INFO] [stdout] | [INFO] [stdout] 2186 | } 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] 2180 ~ match self [INFO] [stdout] 2181 | .db [INFO] [stdout] 2182 | .seeds_mut() [INFO] [stdout] 2183 | .synced(&rid, &ann.node, refs.at, timestamp) [INFO] [stdout] 2184 ~ { Err(e) => { [INFO] [stdout] 2185 | error!(target: "service", "Error updating sync status for local node: {e}"); [INFO] [stdout] 2186 ~ } _ => { [INFO] [stdout] 2187 | debug!(target: "service", "Saved local sync status for {rid}.."); [INFO] [stdout] 2188 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/service.rs:2255:16 [INFO] [stdout] | [INFO] [stdout] 2255 | if let Ok(local) = RefsAt::new(&repo, self.node_id()) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^---------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/service.rs:2271:13 [INFO] [stdout] | [INFO] [stdout] 2271 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 2255 ~ match RefsAt::new(&repo, self.node_id()) { Ok(local) => { [INFO] [stdout] 2256 | for seed in self.db.seeds().seeds_for(rid)? { [INFO] [stdout] ... [INFO] [stdout] 2270 | } [INFO] [stdout] 2271 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/service.rs:2468:24 [INFO] [stdout] | [INFO] [stdout] 2468 | if let Some(connected) = NonEmpty::from_vec(seeds.connected().collect()) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-----------------^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/service.rs:2472:21 [INFO] [stdout] | [INFO] [stdout] 2472 | } 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] 2468 ~ match NonEmpty::from_vec(seeds.connected().collect()) { Some(connected) => { [INFO] [stdout] 2469 | for seed in connected { [INFO] [stdout] 2470 | self.fetch(rid, seed.nid, FETCH_TIMEOUT, None); [INFO] [stdout] 2471 | } [INFO] [stdout] 2472 ~ } _ => { [INFO] [stdout] 2473 | // TODO: We should make sure that this fetch is retried later, either [INFO] [stdout] ... [INFO] [stdout] 2482 | debug!(target: "service", "No connected seeds found for {rid}.."); [INFO] [stdout] 2483 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/service.rs:2500:20 [INFO] [stdout] | [INFO] [stdout] 2500 | if let Err(e) = [INFO] [stdout] | ____________________^ [INFO] [stdout] 2501 | | self.db [INFO] [stdout] | | ------- this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] 2502 | | .addresses_mut() [INFO] [stdout] 2503 | | .connected(&sess.id, &sess.addr, self.clock.into()) [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/service.rs:2506:17 [INFO] [stdout] | [INFO] [stdout] 2506 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 2500 ~ match self.db [INFO] [stdout] 2501 | .addresses_mut() [INFO] [stdout] 2502 | .connected(&sess.id, &sess.addr, self.clock.into()) [INFO] [stdout] 2503 ~ { Err(e) => { [INFO] [stdout] 2504 | error!(target: "service", "Error updating address book with connection: {e}"); [INFO] [stdout] 2505 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/service.rs:2581:16 [INFO] [stdout] | [INFO] [stdout] 2581 | if let Some(addr) = self.config.peer(nid) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^-----------^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/service.rs:2590:13 [INFO] [stdout] | [INFO] [stdout] 2590 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 2581 ~ match self.config.peer(nid) { Some(addr) => { [INFO] [stdout] 2582 | if let session::State::Disconnected { retry_at, .. } = &mut session.state { [INFO] [stdout] ... [INFO] [stdout] 2589 | } [INFO] [stdout] 2590 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/service.rs:2582:20 [INFO] [stdout] | [INFO] [stdout] 2582 | if let session::State::Disconnected { retry_at, .. } = &mut session.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/service.rs:2589:17 [INFO] [stdout] | [INFO] [stdout] 2589 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 2582 ~ match &mut session.state { session::State::Disconnected { retry_at, .. } => { [INFO] [stdout] 2583 | // TODO: Try to reconnect only if the peer was attempted. A disconnect without [INFO] [stdout] ... [INFO] [stdout] 2588 | } [INFO] [stdout] 2589 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/service/gossip/store.rs:134:12 [INFO] [stdout] | [INFO] [stdout] 134 | if let Some(row) = stmt.into_iter().next() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^----------------^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/service/gossip/store.rs:139:9 [INFO] [stdout] | [INFO] [stdout] 139 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 134 ~ match stmt.into_iter().next() { Some(row) => { [INFO] [stdout] 135 | let row = row?; [INFO] [stdout] ... [INFO] [stdout] 138 | Ok(Some(id as AnnouncementId)) [INFO] [stdout] 139 ~ } _ => { [INFO] [stdout] 140 | Ok(None) [INFO] [stdout] 141 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/service/session.rs:254:12 [INFO] [stdout] | [INFO] [stdout] 254 | if let State::Connected { [INFO] [stdout] | ____________^ [INFO] [stdout] 255 | | since, [INFO] [stdout] 256 | | ref mut stable, [INFO] [stdout] 257 | | .. [INFO] [stdout] 258 | | } = self.state [INFO] [stdout] | |_____________---------^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/service/session.rs:265:9 [INFO] [stdout] | [INFO] [stdout] 265 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 254 ~ match self.state [INFO] [stdout] 255 ~ { State::Connected { [INFO] [stdout] 256 + since, [INFO] [stdout] 257 + ref mut stable, [INFO] [stdout] 258 + .. [INFO] [stdout] 259 ~ } => { [INFO] [stdout] 260 | if now >= since && now.duration_since(since) >= CONNECTION_STABLE_THRESHOLD { [INFO] [stdout] ... [INFO] [stdout] 264 | } [INFO] [stdout] 265 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/service/session.rs:274:12 [INFO] [stdout] | [INFO] [stdout] 274 | if let State::Connected { fetching, .. } = &mut self.state { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^---------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/service/session.rs:279:9 [INFO] [stdout] | [INFO] [stdout] 279 | } 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] 274 ~ match &mut self.state { State::Connected { fetching, .. } => { [INFO] [stdout] 275 | assert!( [INFO] [stdout] ... [INFO] [stdout] 278 | ); [INFO] [stdout] 279 ~ } _ => { [INFO] [stdout] 280 | panic!( [INFO] [stdout] ... [INFO] [stdout] 283 | ); [INFO] [stdout] 284 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/service/session.rs:288:12 [INFO] [stdout] | [INFO] [stdout] 288 | if let State::Connected { fetching, .. } = &mut self.state { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^---------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/service/session.rs:292:9 [INFO] [stdout] | [INFO] [stdout] 292 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 288 ~ match &mut self.state { State::Connected { fetching, .. } => { [INFO] [stdout] 289 | if !fetching.remove(&rid) { [INFO] [stdout] 290 | log::warn!(target: "service", "Fetched unknown repository {rid}"); [INFO] [stdout] 291 | } [INFO] [stdout] 292 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/wire/protocol.rs:416:16 [INFO] [stdout] | [INFO] [stdout] 416 | if let Some(s) = streams.unregister(&task.stream) { [INFO] [stdout] | ^^^^^^^^^^^^^^-------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/wire/protocol.rs:428:13 [INFO] [stdout] | [INFO] [stdout] 428 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 416 ~ match streams.unregister(&task.stream) { Some(s) => { [INFO] [stdout] 417 | log::debug!( [INFO] [stdout] ... [INFO] [stdout] 427 | self.actions.push_back(Action::Send(fd, frame.to_bytes())); [INFO] [stdout] 428 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/wire/protocol.rs:443:24 [INFO] [stdout] | [INFO] [stdout] 443 | if let Some(err) = result.err() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^------------ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/wire/protocol.rs:445:21 [INFO] [stdout] | [INFO] [stdout] 445 | } 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] 443 ~ match result.err() { Some(err) => { [INFO] [stdout] 444 | log::info!(target: "wire", "Peer {nid} failed to fetch {rid} from us: {err}"); [INFO] [stdout] 445 ~ } _ => { [INFO] [stdout] 446 | log::info!(target: "wire", "Peer {nid} fetched {rid} from us successfully"); [INFO] [stdout] 447 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/wire/protocol.rs:723:24 [INFO] [stdout] | [INFO] [stdout] 723 | if let Some((nid, link)) = self.disconnect(*id, DisconnectReason::Conflict) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^--------------------------^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/wire/protocol.rs:729:21 [INFO] [stdout] | [INFO] [stdout] 729 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 723 ~ match self.disconnect(*id, DisconnectReason::Conflict) { Some((nid, link)) => { [INFO] [stdout] 724 | // We disconnect the session eagerly because otherwise we will get the new [INFO] [stdout] ... [INFO] [stdout] 728 | .disconnected(nid, link, &DisconnectReason::Conflict); [INFO] [stdout] 729 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/wire/protocol.rs:738:20 [INFO] [stdout] | [INFO] [stdout] 738 | if let Some(Peer::Connected { [INFO] [stdout] | ____________________^ [INFO] [stdout] 739 | | nid, [INFO] [stdout] 740 | | inbox, [INFO] [stdout] 741 | | streams, [INFO] [stdout] 742 | | .. [INFO] [stdout] 743 | | }) = self.peers.get_mut(&id) [INFO] [stdout] | |______________________----------____________^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/wire/protocol.rs:855:17 [INFO] [stdout] | [INFO] [stdout] 855 | } 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] 738 ~ match self.peers.get_mut(&id) [INFO] [stdout] 739 ~ { Some(Peer::Connected { [INFO] [stdout] 740 + nid, [INFO] [stdout] 741 + inbox, [INFO] [stdout] 742 + streams, [INFO] [stdout] 743 + .. [INFO] [stdout] 744 ~ }) => { [INFO] [stdout] 745 | let metrics = self.metrics.peer(*nid); [INFO] [stdout] ... [INFO] [stdout] 854 | } [INFO] [stdout] 855 ~ } _ => { [INFO] [stdout] 856 | log::warn!(target: "wire", "Dropping message from unconnected peer (id={id})"); [INFO] [stdout] 857 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/wire/protocol.rs:779:36 [INFO] [stdout] | [INFO] [stdout] 779 | ... if let Err(e) = self.worker.try_send(task) { [INFO] [stdout] | ^^^^^^^^^^^^^-------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/wire/protocol.rs:784:33 [INFO] [stdout] | [INFO] [stdout] 784 | ... } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 779 ~ match self.worker.try_send(task) { Err(e) => { [INFO] [stdout] 780 | log::error!( [INFO] [stdout] ... [INFO] [stdout] 783 | ); [INFO] [stdout] 784 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/wire/protocol.rs:806:36 [INFO] [stdout] | [INFO] [stdout] 806 | ... if let Some(s) = streams.unregister(&stream) { [INFO] [stdout] | ^^^^^^^^^^^^^^--------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/wire/protocol.rs:813:33 [INFO] [stdout] | [INFO] [stdout] 813 | ... } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 806 ~ match streams.unregister(&stream) { Some(s) => { [INFO] [stdout] 807 | log::debug!( [INFO] [stdout] ... [INFO] [stdout] 812 | s.channels.close().ok(); [INFO] [stdout] 813 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/wire/protocol.rs:902:28 [INFO] [stdout] | [INFO] [stdout] 902 | if let Some(id) = peer.id() { [INFO] [stdout] | ^^^^^^^^^^^^^^^----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/wire/protocol.rs:908:25 [INFO] [stdout] | [INFO] [stdout] 908 | } 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] 902 ~ match peer.id() { Some(id) => { [INFO] [stdout] 903 | self.service.disconnected( [INFO] [stdout] ... [INFO] [stdout] 907 | ); [INFO] [stdout] 908 ~ } _ => { [INFO] [stdout] 909 | log::debug!(target: "wire", "Inbound disconnection before handshake; ignoring..") [INFO] [stdout] 910 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/wire/protocol.rs:967:15 [INFO] [stdout] | [INFO] [stdout] 967 | while let Some(ev) = self.service.next() { [INFO] [stdout] | ^^^^^^^^^^^^^^^------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/wire/protocol.rs:1117:9 [INFO] [stdout] | [INFO] [stdout] 1117 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/wire/protocol.rs:1050:24 [INFO] [stdout] | [INFO] [stdout] 1050 | if let Some((id, Peer::Connected { .. })) = self.peers.lookup(&nid) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^----------^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/wire/protocol.rs:1054:21 [INFO] [stdout] | [INFO] [stdout] 1054 | } 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] 1050 ~ match self.peers.lookup(&nid) { Some((id, Peer::Connected { .. })) => { [INFO] [stdout] 1051 | if let Some((nid, _)) = self.disconnect(id, reason) { [INFO] [stdout] 1052 | self.metrics.peer(nid).disconnects += 1; [INFO] [stdout] 1053 | } [INFO] [stdout] 1054 ~ } _ => { [INFO] [stdout] 1055 | log::warn!(target: "wire", "Peer {nid} is not connected: ignoring disconnect"); [INFO] [stdout] 1056 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/wire/protocol.rs:1051:28 [INFO] [stdout] | [INFO] [stdout] 1051 | if let Some((nid, _)) = self.disconnect(id, reason) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^------^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/wire/protocol.rs:1053:25 [INFO] [stdout] | [INFO] [stdout] 1053 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1051 ~ match self.disconnect(id, reason) { Some((nid, _)) => { [INFO] [stdout] 1052 | self.metrics.peer(nid).disconnects += 1; [INFO] [stdout] 1053 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/worker.rs:383:16 [INFO] [stdout] | [INFO] [stdout] 383 | if let Err(err) = worker.join()? { [INFO] [stdout] | ^^^^^^^^^^^^^^^-------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/worker.rs:385:13 [INFO] [stdout] | [INFO] [stdout] 385 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 383 ~ match worker.join()? { Err(err) => { [INFO] [stdout] 384 | log::trace!(target: "pool", "Worker {i} exited: {err}"); [INFO] [stdout] 385 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/worker/upload_pack.rs:110:28 [INFO] [stdout] | [INFO] [stdout] 110 | if let Err(e) = stdin.write_all(&buffer[..n]) { [INFO] [stdout] | ^^^^^^^^^^^^^----------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/worker/upload_pack.rs:113:25 [INFO] [stdout] | [INFO] [stdout] 113 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 110 ~ match stdin.write_all(&buffer[..n]) { Err(e) => { [INFO] [stdout] 111 | log::warn!(target: "worker", "Error writing to upload-pack stdin: {e}"); [INFO] [stdout] 112 | break; [INFO] [stdout] 113 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/worker/fetch.rs:223:19 [INFO] [stdout] | [INFO] [stdout] 223 | } else if let Err(e) = store.insert(rid, update, now) { [INFO] [stdout] | ^^^^^^^^^^^^^------------------------------ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/worker/fetch.rs:228:9 [INFO] [stdout] | [INFO] [stdout] 228 | } [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 ~ } else { match store.insert(rid, update, now) { Err(e) => { [INFO] [stdout] 224 | log::error!( [INFO] [stdout] ... [INFO] [stdout] 227 | ); [INFO] [stdout] 228 ~ } _ => {}}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/worker/fetch.rs:263:12 [INFO] [stdout] | [INFO] [stdout] 263 | 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/worker/fetch.rs:267:9 [INFO] [stdout] | [INFO] [stdout] 267 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 263 ~ match result { Err(e) => { [INFO] [stdout] 264 | log::error!(target: "worker", "Error updating git refs cache for {name:?}: {e}"); [INFO] [stdout] 265 | log::warn!(target: "worker", "Skipping refs caching for fetch of {repo}"); [INFO] [stdout] 266 | break; [INFO] [stdout] 267 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 70 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Migrating src/main.rs from 2021 edition to 2024 [INFO] [stderr] warning: failed to automatically apply fixes suggested by rustc to crate `radicle_node` [INFO] [stderr] [INFO] [stderr] after fixes were automatically applied the compiler reported errors within these files: [INFO] [stderr] [INFO] [stderr] * src/service.rs [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/control.rs:301:37 [INFO] [stdout] | [INFO] [stdout] 301 | let proj = test::arbitrary::gen::(1); [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #49716 [INFO] [stdout] = note: `--force-warn keyword-idents-2024` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] [INFO] [stderr] 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: ambiguous `+` in a type [INFO] [stderr] --> src/service.rs:324:31 [INFO] [stderr] | [INFO] [stderr] 324 | pub fn routing(&self) -> &impl routing::Store + use { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] help: try adding parentheses [INFO] [stderr] | [INFO] [stderr] 324 | pub fn routing(&self) -> &(impl routing::Store + use) { [INFO] [stderr] | + + [INFO] [stderr] [INFO] [stderr] error: ambiguous `+` in a type [INFO] [stderr] --> src/service.rs:329:43 [INFO] [stderr] | [INFO] [stderr] 329 | pub fn routing_mut(&mut self) -> &mut impl routing::Store + use { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] help: try adding parentheses [INFO] [stderr] | [INFO] [stderr] 329 | pub fn routing_mut(&mut self) -> &mut (impl routing::Store + use) { [INFO] [stderr] | + + [INFO] [stderr] [INFO] [stderr] error: ambiguous `+` in a type [INFO] [stderr] --> src/service.rs:334:33 [INFO] [stderr] | [INFO] [stderr] 334 | pub fn addresses(&self) -> &impl address::Store + use { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] help: try adding parentheses [INFO] [stderr] | [INFO] [stderr] 334 | pub fn addresses(&self) -> &(impl address::Store + use) { [INFO] [stderr] | + + [INFO] [stderr] [INFO] [stderr] error: ambiguous `+` in a type [INFO] [stderr] --> src/service.rs:339:45 [INFO] [stderr] | [INFO] [stderr] 339 | pub fn addresses_mut(&mut self) -> &mut impl address::Store + use { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] help: try adding parentheses [INFO] [stderr] | [INFO] [stderr] 339 | pub fn addresses_mut(&mut self) -> &mut (impl address::Store + use) { [INFO] [stderr] | + + [INFO] [stderr] [INFO] [stderr] error: ambiguous `+` in a type [INFO] [stderr] --> src/service.rs:344:30 [INFO] [stderr] | [INFO] [stderr] 344 | pub fn gossip(&self) -> &impl gossip::Store + use { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] help: try adding parentheses [INFO] [stderr] | [INFO] [stderr] 344 | pub fn gossip(&self) -> &(impl gossip::Store + use) { [INFO] [stderr] | + + [INFO] [stderr] [INFO] [stderr] error: ambiguous `+` in a type [INFO] [stderr] --> src/service.rs:349:42 [INFO] [stderr] | [INFO] [stderr] 349 | pub fn gossip_mut(&mut self) -> &mut impl gossip::Store + use { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] help: try adding parentheses [INFO] [stderr] | [INFO] [stderr] 349 | pub fn gossip_mut(&mut self) -> &mut (impl gossip::Store + use) { [INFO] [stderr] | + + [INFO] [stderr] [INFO] [stderr] error: ambiguous `+` in a type [INFO] [stderr] --> src/service.rs:354:29 [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/control.rs:302:37 [INFO] [stdout] | [INFO] [stdout] 302 | let peer = test::arbitrary::gen::(1); [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #49716 [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] | [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/service/gossip/store.rs:407:30 [INFO] [stdout] | [INFO] [stdout] 407 | let nid = arbitrary::gen::(1); [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #49716 [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] 354 | pub fn seeds(&self) -> &impl seed::Store + use { [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/service/gossip/store.rs:408:30 [INFO] [stdout] | [INFO] [stdout] 408 | let rid = arbitrary::gen::(1); [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #49716 [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/service/limiter.rs:142:28 [INFO] [stdout] | [INFO] [stdout] 142 | let n = arbitrary::gen::(1); [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #49716 [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] | [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/service/limiter.rs:172:28 [INFO] [stdout] | [INFO] [stdout] 172 | let n = arbitrary::gen::(1); [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #49716 [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] help: try adding parentheses [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/service/limiter.rs:193:28 [INFO] [stdout] | [INFO] [stdout] 193 | let n = arbitrary::gen::(1); [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #49716 [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] | [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/service/message.rs:612:29 [INFO] [stdout] | [INFO] [stdout] 612 | rid: arbitrary::gen(1), [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #49716 [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] 354 | pub fn seeds(&self) -> &(impl seed::Store + use) { [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/test/gossip.rs:6:30 [INFO] [stdout] | [INFO] [stdout] 6 | use radicle::test::fixtures::gen; [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #49716 [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] | + + [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/test/gossip.rs:38:41 [INFO] [stdout] | [INFO] [stdout] 38 | alias: node::Alias::new(gen::string(5)), [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #49716 [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/test/simulator.rs:663:53 [INFO] [stdout] | [INFO] [stdout] 663 | ... doc: arbitrary::gen(1), [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #49716 [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: ambiguous `+` in a type [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/tests.rs:20:31 [INFO] [stdout] | [INFO] [stdout] 20 | use radicle::test::arbitrary::gen; [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #49716 [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] --> src/service.rs:359:41 [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/tests.rs:77:45 [INFO] [stdout] | [INFO] [stdout] 77 | let inventory: Vec = arbitrary::gen(300); [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #49716 [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] | [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/tests.rs:413:54 [INFO] [stdout] | [INFO] [stdout] 413 | let proj_id: identity::RepoId = test::arbitrary::gen(1); [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #49716 [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] 359 | pub fn seeds_mut(&mut self) -> &mut impl seed::Store + use { [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/tests.rs:810:39 [INFO] [stdout] | [INFO] [stdout] 810 | bob.signed_refs_at(arbitrary::gen::(8), arbitrary::oid()), [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #49716 [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/tests.rs:814:49 [INFO] [stdout] | [INFO] [stdout] 814 | let sigrefs = bob.signed_refs_at(arbitrary::gen::(8), arbitrary::oid()); [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #49716 [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] | [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/tests.rs:858:25 [INFO] [stdout] | [INFO] [stdout] 858 | let id = arbitrary::gen(1); [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #49716 [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] help: try adding parentheses [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/tests.rs:1303:26 [INFO] [stdout] | [INFO] [stdout] 1303 | let rid = arbitrary::gen::(1); [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #49716 [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] | [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/tests.rs:1322:26 [INFO] [stdout] | [INFO] [stdout] 1322 | let rid = arbitrary::gen::(1); [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #49716 [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] 359 | pub fn seeds_mut(&mut self) -> &mut (impl seed::Store + use) { [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/tests.rs:1347:26 [INFO] [stdout] | [INFO] [stdout] 1347 | let rid = arbitrary::gen::(1); [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #49716 [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] | + + [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/tests.rs:1477:41 [INFO] [stdout] | [INFO] [stdout] 1477 | carol.signed_refs_at(arbitrary::gen::(1), oid), [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #49716 [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/tests.rs:1494:29 [INFO] [stdout] | [INFO] [stdout] 1494 | doc: arbitrary::gen(1), [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #49716 [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: ambiguous `+` in a type [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/tests.rs:1546:44 [INFO] [stdout] | [INFO] [stdout] 1546 | alice.fetched(rid1, nid, Ok(arbitrary::gen::(1))); [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #49716 [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] --> src/service.rs:364:28 [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/tests.rs:1556:44 [INFO] [stdout] | [INFO] [stdout] 1556 | alice.fetched(rid1, nid, Ok(arbitrary::gen::(1))); [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #49716 [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] | [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/tests.rs:1818:10 [INFO] [stdout] | [INFO] [stdout] 1818 | .gen(qcheck::Gen::new(5)) [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #49716 [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] 364 | pub fn refs(&self) -> &impl node::refs::Store + use { [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/tests.rs:1842:19 [INFO] [stdout] | [INFO] [stdout] 1842 | let rid = gen::(1); [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #49716 [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/tests.rs:1940:26 [INFO] [stdout] | [INFO] [stdout] 1940 | .insert(rid, gen::(1)); [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #49716 [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] | [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/wire/message.rs:472:59 [INFO] [stdout] | [INFO] [stdout] 472 | let refs: [RefsAt; REF_REMOTE_LIMIT] = arbitrary::gen(1); [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #49716 [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] help: try adding parentheses [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/wire/message.rs:474:29 [INFO] [stdout] | [INFO] [stdout] 474 | rid: arbitrary::gen(1), [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #49716 [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] | [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/wire/message.rs:476:35 [INFO] [stdout] | [INFO] [stdout] 476 | timestamp: arbitrary::gen(1), [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #49716 [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] 364 | pub fn refs(&self) -> &(impl node::refs::Store + use) { [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/wire/message.rs:488:57 [INFO] [stdout] | [INFO] [stdout] 488 | let inv: [RepoId; INVENTORY_LIMIT] = arbitrary::gen(1); [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #49716 [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] | + + [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/wire/message.rs:491:35 [INFO] [stdout] | [INFO] [stdout] 491 | timestamp: arbitrary::gen(1), [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #49716 [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/wire/message.rs:503:58 [INFO] [stdout] | [INFO] [stdout] 503 | let addrs: [Address; ADDRESS_LIMIT] = arbitrary::gen(1); [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #49716 [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: ambiguous `+` in a type [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/wire/message.rs:510:35 [INFO] [stdout] | [INFO] [stdout] 510 | timestamp: arbitrary::gen(1), [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #49716 [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] --> src/service.rs:369:40 [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/wire/message.rs:581:14 [INFO] [stdout] | [INFO] [stdout] 581 | .gen(qcheck::Gen::new(16)) [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #49716 [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] | [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/wire/protocol.rs:1300:45 [INFO] [stdout] | [INFO] [stdout] 1300 | let rid = radicle::test::arbitrary::gen(1); [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #49716 [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] 369 | pub fn refs_mut(&mut self) -> &mut impl node::refs::Store + use { [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/wire/protocol.rs:1301:44 [INFO] [stdout] | [INFO] [stdout] 1301 | let pk = radicle::test::arbitrary::gen(1); [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #49716 [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/wire/protocol.rs:1302:55 [INFO] [stdout] | [INFO] [stdout] 1302 | let sig: [u8; 64] = radicle::test::arbitrary::gen(1); [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #49716 [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] | [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/control.rs:49:24 [INFO] [stdout] | [INFO] [stdout] 49 | if let Err(e) = command(&stream, handle) { [INFO] [stdout] | ^^^^^^^^^^^^^------------------------ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/control.rs:56:21 [INFO] [stdout] | [INFO] [stdout] 56 | } [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] 49 ~ match command(&stream, handle) { Err(e) => { [INFO] [stdout] 50 | log::error!(target: "control", "Command returned error: {e}"); [INFO] [stdout] ... [INFO] [stdout] 55 | stream.shutdown(net::Shutdown::Both).ok(); [INFO] [stdout] 56 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] help: try adding parentheses [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/control.rs:265:20 [INFO] [stdout] | [INFO] [stdout] 265 | if let Ok(stream) = UnixStream::connect(&socket) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^---------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/control.rs:267:17 [INFO] [stdout] | [INFO] [stdout] 267 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 265 ~ match UnixStream::connect(&socket) { Ok(stream) => { [INFO] [stdout] 266 | break stream; [INFO] [stdout] 267 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] | [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/deserializer.rs:153:19 [INFO] [stdout] | [INFO] [stdout] 153 | while let Some(msg) = decoder.deserialize_next().unwrap() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^--------------------------^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/deserializer.rs:155:13 [INFO] [stdout] | [INFO] [stdout] 155 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] 369 | pub fn refs_mut(&mut self) -> &mut (impl node::refs::Store + use) { [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/runtime.rs:149:31 [INFO] [stdout] | [INFO] [stdout] 149 | let announcement = if let Some(ann) = fs::read(node_dir.join(node::NODE_ANNOUNCEMENT_FILE)) [INFO] [stdout] | ^ ----------------------------------------------------- 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] 150 | | .ok() [INFO] [stdout] 151 | | .and_then(|ann| NodeAnnouncement::decode(&mut ann.as_slice()).ok()) [INFO] [stdout] 152 | | .and_then(|ann| { [INFO] [stdout] ... | [INFO] [stdout] 170 | | } [INFO] [stdout] 171 | | }) { [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/runtime.rs:179:9 [INFO] [stdout] | [INFO] [stdout] 179 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 149 ~ let announcement = match fs::read(node_dir.join(node::NODE_ANNOUNCEMENT_FILE)) [INFO] [stdout] 150 | .ok() [INFO] [stdout] ... [INFO] [stdout] 170 | } [INFO] [stdout] 171 ~ }) { Some(ann) => { [INFO] [stdout] 172 | log::info!( [INFO] [stdout] ... [INFO] [stdout] 178 | ann [INFO] [stdout] 179 ~ } _ => { [INFO] [stdout] 180 | service::gossip::node(&config, timestamp) [INFO] [stdout] 181 | .solve(Default::default()) [INFO] [stdout] 182 | .expect("Runtime::init: unable to solve proof-of-work puzzle") [INFO] [stdout] 183 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] | + + [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/runtime.rs:356:16 [INFO] [stdout] | [INFO] [stdout] 356 | if let Some(listener) = Self::receive_listener() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^------------------------ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/runtime.rs:359:13 [INFO] [stdout] | [INFO] [stdout] 359 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 356 ~ match Self::receive_listener() { Some(listener) => { [INFO] [stdout] 357 | log::info!(target: "node", "Received control socket."); [INFO] [stdout] 358 | return Ok(ControlSocket::Received(listener)); [INFO] [stdout] 359 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] [INFO] [stdout] warning: `impl radicle::node::routing::Store` will capture more lifetimes than possibly intended in edition 2024 [INFO] [stdout] --> src/service.rs:324:31 [INFO] [stdout] | [INFO] [stdout] 324 | pub fn routing(&self) -> &impl routing::Store { [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/service.rs:324:20 [INFO] [stdout] | [INFO] [stdout] 324 | pub fn routing(&self) -> &impl routing::Store { [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] 324 | pub fn routing(&self) -> &impl routing::Store + use { [INFO] [stdout] | ++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: aborting due to 10 previous errors [INFO] [stdout] warning: `impl radicle::node::routing::Store` will capture more lifetimes than possibly intended in edition 2024 [INFO] [stdout] --> src/service.rs:329:43 [INFO] [stdout] | [INFO] [stdout] 329 | pub fn routing_mut(&mut self) -> &mut impl routing::Store { [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/service.rs:329:24 [INFO] [stdout] | [INFO] [stdout] 329 | pub fn routing_mut(&mut self) -> &mut impl routing::Store { [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] 329 | pub fn routing_mut(&mut self) -> &mut impl routing::Store + use { [INFO] [stdout] | ++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] [INFO] [stdout] warning: `impl radicle::node::address::Store` will capture more lifetimes than possibly intended in edition 2024 [INFO] [stdout] --> src/service.rs:334:33 [INFO] [stdout] | [INFO] [stdout] 334 | pub fn addresses(&self) -> &impl address::Store { [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/service.rs:334:22 [INFO] [stdout] | [INFO] [stdout] 334 | pub fn addresses(&self) -> &impl address::Store { [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] 334 | pub fn addresses(&self) -> &impl address::Store + use { [INFO] [stdout] | ++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Original diagnostics will follow. [INFO] [stdout] warning: `impl radicle::node::address::Store` will capture more lifetimes than possibly intended in edition 2024 [INFO] [stdout] --> src/service.rs:339:45 [INFO] [stdout] | [INFO] [stdout] 339 | pub fn addresses_mut(&mut self) -> &mut impl address::Store { [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/service.rs:339:26 [INFO] [stdout] | [INFO] [stdout] 339 | pub fn addresses_mut(&mut self) -> &mut impl address::Store { [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] 339 | pub fn addresses_mut(&mut self) -> &mut impl address::Store + use { [INFO] [stdout] | ++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] [INFO] [stdout] warning: `impl service::gossip::store::Store` will capture more lifetimes than possibly intended in edition 2024 [INFO] [stdout] --> src/service.rs:344:30 [INFO] [stdout] | [INFO] [stdout] 344 | pub fn gossip(&self) -> &impl gossip::Store { [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/service.rs:344:19 [INFO] [stdout] | [INFO] [stdout] 344 | pub fn gossip(&self) -> &impl gossip::Store { [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] 344 | pub fn gossip(&self) -> &impl gossip::Store + use { [INFO] [stdout] | ++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `impl service::gossip::store::Store` will capture more lifetimes than possibly intended in edition 2024 [INFO] [stdout] --> src/service.rs:349:42 [INFO] [stdout] | [INFO] [stdout] 349 | pub fn gossip_mut(&mut self) -> &mut impl gossip::Store { [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/service.rs:349:23 [INFO] [stdout] | [INFO] [stdout] 349 | pub fn gossip_mut(&mut self) -> &mut impl gossip::Store { [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] 349 | pub fn gossip_mut(&mut self) -> &mut impl gossip::Store + use { [INFO] [stdout] | ++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `impl radicle::node::seed::Store` will capture more lifetimes than possibly intended in edition 2024 [INFO] [stdout] --> src/service.rs:354:29 [INFO] [stdout] | [INFO] [stdout] 354 | pub fn seeds(&self) -> &impl seed::Store { [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/service.rs:354:18 [INFO] [stdout] | [INFO] [stdout] 354 | pub fn seeds(&self) -> &impl seed::Store { [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] 354 | pub fn seeds(&self) -> &impl seed::Store + use { [INFO] [stdout] | ++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `impl radicle::node::seed::Store` will capture more lifetimes than possibly intended in edition 2024 [INFO] [stdout] --> src/service.rs:359:41 [INFO] [stdout] | [INFO] [stdout] 359 | pub fn seeds_mut(&mut self) -> &mut impl seed::Store { [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/service.rs:359:22 [INFO] [stdout] | [INFO] [stdout] 359 | pub fn seeds_mut(&mut self) -> &mut impl seed::Store { [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] 359 | pub fn seeds_mut(&mut self) -> &mut impl seed::Store + use { [INFO] [stdout] | ++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `impl radicle::node::refs::Store` will capture more lifetimes than possibly intended in edition 2024 [INFO] [stdout] --> src/service.rs:364:28 [INFO] [stdout] | [INFO] [stdout] 364 | pub fn refs(&self) -> &impl node::refs::Store { [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/service.rs:364:17 [INFO] [stdout] | [INFO] [stdout] 364 | pub fn refs(&self) -> &impl node::refs::Store { [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] 364 | pub fn refs(&self) -> &impl node::refs::Store + use { [INFO] [stdout] | ++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `impl radicle::node::refs::Store` will capture more lifetimes than possibly intended in edition 2024 [INFO] [stdout] --> src/service.rs:369:40 [INFO] [stdout] | [INFO] [stdout] 369 | pub fn refs_mut(&mut self) -> &mut impl node::refs::Store { [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/service.rs:369:21 [INFO] [stdout] | [INFO] [stdout] 369 | pub fn refs_mut(&mut self) -> &mut impl node::refs::Store { [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] 369 | pub fn refs_mut(&mut self) -> &mut impl node::refs::Store + use { [INFO] [stdout] | ++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/service.rs:557:16 [INFO] [stdout] | [INFO] [stdout] 557 | if let Err(e) = self.remove_inventory(id) { [INFO] [stdout] | ^^^^^^^^^^^^^------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/service.rs:559:13 [INFO] [stdout] | [INFO] [stdout] 559 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 557 ~ match self.remove_inventory(id) { Err(e) => { [INFO] [stdout] 558 | error!(target: "service", "Error updating inventory after unseed: {e}"); [INFO] [stdout] 559 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/service.rs:656:20 [INFO] [stdout] | [INFO] [stdout] 656 | if let Err(e) = self.db.refs_mut().populate(&self.storage) { [INFO] [stdout] | ^^^^^^^^^^^^^------------------------------------------ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/service.rs:658:17 [INFO] [stdout] | [INFO] [stdout] 658 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 656 ~ match self.db.refs_mut().populate(&self.storage) { Err(e) => { [INFO] [stdout] 657 | error!(target: "service", "Failed to populate refs database: {e}"); [INFO] [stdout] 658 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/service.rs:708:16 [INFO] [stdout] | [INFO] [stdout] 708 | if let Ok((ann, _)) = self.refs_announcement_for(rid, [nid]) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^-------------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/service.rs:711:13 [INFO] [stdout] | [INFO] [stdout] 711 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 708 ~ match self.refs_announcement_for(rid, [nid]) { Ok((ann, _)) => { [INFO] [stdout] 709 | debug!(target: "service", "Adding refs announcement for {rid} to historical gossip messages.."); [INFO] [stdout] 710 | self.db.gossip_mut().announced(&nid, &ann)?; [INFO] [stdout] 711 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/service.rs:1009:24 [INFO] [stdout] | [INFO] [stdout] 1009 | if let Some(c) = channel { [INFO] [stdout] | ^^^^^^^^^^^^^^------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/service.rs:1011:21 [INFO] [stdout] | [INFO] [stdout] 1011 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1009 ~ match channel { Some(c) => { [INFO] [stdout] 1010 | fetching.subscribe(c); [INFO] [stdout] 1011 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/service.rs:1036:20 [INFO] [stdout] | [INFO] [stdout] 1036 | if let Some(c) = channel { [INFO] [stdout] | ^^^^^^^^^^^^^^------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/service.rs:1041:17 [INFO] [stdout] | [INFO] [stdout] 1041 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1036 ~ match channel { Some(c) => { [INFO] [stdout] 1037 | c.send(FetchResult::Failed { [INFO] [stdout] ... [INFO] [stdout] 1040 | .ok(); [INFO] [stdout] 1041 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/service.rs:1052:12 [INFO] [stdout] | [INFO] [stdout] 1052 | if let Err(e) = s.queue_fetch(fetch) { [INFO] [stdout] | ^^^^^^^^^^^^^-------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/service.rs:1055:9 [INFO] [stdout] | [INFO] [stdout] 1055 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1052 ~ match s.queue_fetch(fetch) { Err(e) => { [INFO] [stdout] 1053 | let fetch = e.inner(); [INFO] [stdout] 1054 | log::debug!(target: "service", "Unable to queue fetch for {} with {}: {e}", &fetch.rid, &fetch.from); [INFO] [stdout] 1055 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/service.rs:1174:24 [INFO] [stdout] | [INFO] [stdout] 1174 | if let Err(e) = self.add_inventory(rid) { [INFO] [stdout] | ^^^^^^^^^^^^^----------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/service.rs:1176:21 [INFO] [stdout] | [INFO] [stdout] 1176 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1174 ~ match self.add_inventory(rid) { Err(e) => { [INFO] [stdout] 1175 | error!(target: "service", "Error announcing inventory for {rid}: {e}"); [INFO] [stdout] 1176 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/service.rs:1185:24 [INFO] [stdout] | [INFO] [stdout] 1185 | if let Err(e) = self.announce_refs(rid, doc.into(), namespaces) { [INFO] [stdout] | ^^^^^^^^^^^^^----------------------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/service.rs:1187:21 [INFO] [stdout] | [INFO] [stdout] 1187 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1185 ~ match self.announce_refs(rid, doc.into(), namespaces) { Err(e) => { [INFO] [stdout] 1186 | error!(target: "service", "Failed to announce new refs: {e}"); [INFO] [stdout] 1187 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/service.rs:1227:16 [INFO] [stdout] | [INFO] [stdout] 1227 | if let Some(QueuedFetch { [INFO] [stdout] | ________________^ [INFO] [stdout] 1228 | | rid, [INFO] [stdout] 1229 | | from, [INFO] [stdout] 1230 | | refs_at, [INFO] [stdout] 1231 | | timeout, [INFO] [stdout] 1232 | | channel, [INFO] [stdout] 1233 | | }) = sess.dequeue_fetch() [INFO] [stdout] | |__________________-------------------^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/service.rs:1250:13 [INFO] [stdout] | [INFO] [stdout] 1250 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1227 ~ match sess.dequeue_fetch() [INFO] [stdout] 1228 ~ { Some(QueuedFetch { [INFO] [stdout] 1229 + rid, [INFO] [stdout] 1230 + from, [INFO] [stdout] 1231 + refs_at, [INFO] [stdout] 1232 + timeout, [INFO] [stdout] 1233 + channel, [INFO] [stdout] 1234 ~ }) => { [INFO] [stdout] 1235 | debug!(target: "service", "Dequeued fetch for {rid} from session {from}.."); [INFO] [stdout] ... [INFO] [stdout] 1249 | } [INFO] [stdout] 1250 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/service.rs:1291:12 [INFO] [stdout] | [INFO] [stdout] 1291 | if let Some(sess) = self.sessions.get_mut(&nid) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^-------------^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/service.rs:1293:9 [INFO] [stdout] | [INFO] [stdout] 1293 | } 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] 1291 ~ match self.sessions.get_mut(&nid) { Some(sess) => { [INFO] [stdout] 1292 | sess.to_attempted(); [INFO] [stdout] 1293 ~ } _ => { [INFO] [stdout] 1294 | #[cfg(debug_assertions)] [INFO] [stdout] 1295 | panic!("Service::attempted: unknown session {nid}@{addr}"); [INFO] [stdout] 1296 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/service.rs:1312:16 [INFO] [stdout] | [INFO] [stdout] 1312 | if let Some(peer) = self.sessions.get_mut(&remote) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^-------------^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/service.rs:1315:13 [INFO] [stdout] | [INFO] [stdout] 1315 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1312 ~ match self.sessions.get_mut(&remote) { Some(peer) => { [INFO] [stdout] 1313 | peer.to_connected(self.clock); [INFO] [stdout] 1314 | self.outbox.write_all(peer, msgs); [INFO] [stdout] 1315 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/service.rs:1340:32 [INFO] [stdout] | [INFO] [stdout] 1340 | ... if let Err(e) = [INFO] [stdout] | __________________________^ [INFO] [stdout] 1341 | | ... self.db [INFO] [stdout] | | ------- this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] 1342 | | ... .addresses_mut() [INFO] [stdout] 1343 | | ... .record_ip(&remote, ip, self.clock.into()) [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/service.rs:1346:29 [INFO] [stdout] | [INFO] [stdout] 1346 | ... } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1340 ~ match self.db [INFO] [stdout] 1341 | .addresses_mut() [INFO] [stdout] 1342 | .record_ip(&remote, ip, self.clock.into()) [INFO] [stdout] 1343 ~ { Err(e) => { [INFO] [stdout] 1344 | log::error!(target: "service", "Error recording IP address for {remote}: {e}"); [INFO] [stdout] 1345 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/service.rs:1947:12 [INFO] [stdout] | [INFO] [stdout] 1947 | if let Ok(result) = self.db.routing_mut().add_inventory([&rid], nid, time) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^-------^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/service.rs:1952:9 [INFO] [stdout] | [INFO] [stdout] 1952 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1947 ~ match self.db.routing_mut().add_inventory([&rid], nid, time) { Ok(result) => { [INFO] [stdout] 1948 | if let &[(_, InsertResult::SeedAdded)] = result.as_slice() { [INFO] [stdout] ... [INFO] [stdout] 1951 | } [INFO] [stdout] 1952 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/service.rs:2143:16 [INFO] [stdout] | [INFO] [stdout] 2143 | if let Err(e) = self.database_mut().refs_mut().set( [INFO] [stdout] | ________________^ - [INFO] [stdout] | |_____________________________| [INFO] [stdout] 2144 | || &rid, [INFO] [stdout] 2145 | || &r.remote, [INFO] [stdout] 2146 | || &SIGREFS_BRANCH, [INFO] [stdout] 2147 | || r.at, [INFO] [stdout] 2148 | || timestamp.to_local_time(), [INFO] [stdout] 2149 | || ) { [INFO] [stdout] | ||_____________^ 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/service.rs:2155:13 [INFO] [stdout] | [INFO] [stdout] 2155 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 2143 ~ match self.database_mut().refs_mut().set( [INFO] [stdout] 2144 | &rid, [INFO] [stdout] ... [INFO] [stdout] 2148 | timestamp.to_local_time(), [INFO] [stdout] 2149 ~ ) { Err(e) => { [INFO] [stdout] 2150 | error!( [INFO] [stdout] ... [INFO] [stdout] 2154 | ); [INFO] [stdout] 2155 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/service.rs:2180:16 [INFO] [stdout] | [INFO] [stdout] 2180 | if let Err(e) = self [INFO] [stdout] | _________________^ - [INFO] [stdout] | | _____________________________| [INFO] [stdout] 2181 | || .db [INFO] [stdout] | ||___________________- this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] 2182 | | .seeds_mut() [INFO] [stdout] 2183 | | .synced(&rid, &ann.node, refs.at, timestamp) [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/service.rs:2186:13 [INFO] [stdout] | [INFO] [stdout] 2186 | } 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] 2180 ~ match self [INFO] [stdout] 2181 | .db [INFO] [stdout] 2182 | .seeds_mut() [INFO] [stdout] 2183 | .synced(&rid, &ann.node, refs.at, timestamp) [INFO] [stdout] 2184 ~ { Err(e) => { [INFO] [stdout] 2185 | error!(target: "service", "Error updating sync status for local node: {e}"); [INFO] [stdout] 2186 ~ } _ => { [INFO] [stdout] 2187 | debug!(target: "service", "Saved local sync status for {rid}.."); [INFO] [stdout] 2188 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/service.rs:2255:16 [INFO] [stdout] | [INFO] [stdout] 2255 | if let Ok(local) = RefsAt::new(&repo, self.node_id()) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^---------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/service.rs:2271:13 [INFO] [stdout] | [INFO] [stdout] 2271 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 2255 ~ match RefsAt::new(&repo, self.node_id()) { Ok(local) => { [INFO] [stdout] 2256 | for seed in self.db.seeds().seeds_for(rid)? { [INFO] [stdout] ... [INFO] [stdout] 2270 | } [INFO] [stdout] 2271 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/service.rs:2468:24 [INFO] [stdout] | [INFO] [stdout] 2468 | if let Some(connected) = NonEmpty::from_vec(seeds.connected().collect()) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-----------------^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/service.rs:2472:21 [INFO] [stdout] | [INFO] [stdout] 2472 | } 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] 2468 ~ match NonEmpty::from_vec(seeds.connected().collect()) { Some(connected) => { [INFO] [stdout] 2469 | for seed in connected { [INFO] [stdout] 2470 | self.fetch(rid, seed.nid, FETCH_TIMEOUT, None); [INFO] [stdout] 2471 | } [INFO] [stdout] 2472 ~ } _ => { [INFO] [stdout] 2473 | // TODO: We should make sure that this fetch is retried later, either [INFO] [stdout] ... [INFO] [stdout] 2482 | debug!(target: "service", "No connected seeds found for {rid}.."); [INFO] [stdout] 2483 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/service.rs:2500:20 [INFO] [stdout] | [INFO] [stdout] 2500 | if let Err(e) = [INFO] [stdout] | ____________________^ [INFO] [stdout] 2501 | | self.db [INFO] [stdout] | | ------- this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] 2502 | | .addresses_mut() [INFO] [stdout] 2503 | | .connected(&sess.id, &sess.addr, self.clock.into()) [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/service.rs:2506:17 [INFO] [stdout] | [INFO] [stdout] 2506 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 2500 ~ match self.db [INFO] [stdout] 2501 | .addresses_mut() [INFO] [stdout] 2502 | .connected(&sess.id, &sess.addr, self.clock.into()) [INFO] [stdout] 2503 ~ { Err(e) => { [INFO] [stdout] 2504 | error!(target: "service", "Error updating address book with connection: {e}"); [INFO] [stdout] 2505 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/service.rs:2581:16 [INFO] [stdout] | [INFO] [stdout] 2581 | if let Some(addr) = self.config.peer(nid) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^-----------^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/service.rs:2590:13 [INFO] [stdout] | [INFO] [stdout] 2590 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 2581 ~ match self.config.peer(nid) { Some(addr) => { [INFO] [stdout] 2582 | if let session::State::Disconnected { retry_at, .. } = &mut session.state { [INFO] [stdout] ... [INFO] [stdout] 2589 | } [INFO] [stdout] 2590 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/service.rs:2582:20 [INFO] [stdout] | [INFO] [stdout] 2582 | if let session::State::Disconnected { retry_at, .. } = &mut session.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/service.rs:2589:17 [INFO] [stdout] | [INFO] [stdout] 2589 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 2582 ~ match &mut session.state { session::State::Disconnected { retry_at, .. } => { [INFO] [stdout] 2583 | // TODO: Try to reconnect only if the peer was attempted. A disconnect without [INFO] [stdout] ... [INFO] [stdout] 2588 | } [INFO] [stdout] 2589 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/service/gossip/store.rs:134:12 [INFO] [stdout] | [INFO] [stdout] 134 | if let Some(row) = stmt.into_iter().next() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^----------------^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/service/gossip/store.rs:139:9 [INFO] [stdout] | [INFO] [stdout] 139 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 134 ~ match stmt.into_iter().next() { Some(row) => { [INFO] [stdout] 135 | let row = row?; [INFO] [stdout] ... [INFO] [stdout] 138 | Ok(Some(id as AnnouncementId)) [INFO] [stdout] 139 ~ } _ => { [INFO] [stdout] 140 | Ok(None) [INFO] [stdout] 141 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/service/session.rs:254:12 [INFO] [stdout] | [INFO] [stdout] 254 | if let State::Connected { [INFO] [stdout] | ____________^ [INFO] [stdout] 255 | | since, [INFO] [stdout] 256 | | ref mut stable, [INFO] [stdout] 257 | | .. [INFO] [stdout] 258 | | } = self.state [INFO] [stdout] | |_____________---------^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/service/session.rs:265:9 [INFO] [stdout] | [INFO] [stdout] 265 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 254 ~ match self.state [INFO] [stdout] 255 ~ { State::Connected { [INFO] [stdout] 256 + since, [INFO] [stdout] 257 + ref mut stable, [INFO] [stdout] 258 + .. [INFO] [stdout] 259 ~ } => { [INFO] [stdout] 260 | if now >= since && now.duration_since(since) >= CONNECTION_STABLE_THRESHOLD { [INFO] [stdout] ... [INFO] [stdout] 264 | } [INFO] [stdout] 265 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/service/session.rs:274:12 [INFO] [stdout] | [INFO] [stdout] 274 | if let State::Connected { fetching, .. } = &mut self.state { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^---------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/service/session.rs:279:9 [INFO] [stdout] | [INFO] [stdout] 279 | } 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] 274 ~ match &mut self.state { State::Connected { fetching, .. } => { [INFO] [stdout] 275 | assert!( [INFO] [stdout] ... [INFO] [stdout] 278 | ); [INFO] [stdout] 279 ~ } _ => { [INFO] [stdout] 280 | panic!( [INFO] [stdout] ... [INFO] [stdout] 283 | ); [INFO] [stdout] 284 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/service/session.rs:288:12 [INFO] [stdout] | [INFO] [stdout] 288 | if let State::Connected { fetching, .. } = &mut self.state { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^---------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/service/session.rs:292:9 [INFO] [stdout] | [INFO] [stdout] 292 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 288 ~ match &mut self.state { State::Connected { fetching, .. } => { [INFO] [stdout] 289 | if !fetching.remove(&rid) { [INFO] [stdout] 290 | log::warn!(target: "service", "Fetched unknown repository {rid}"); [INFO] [stdout] 291 | } [INFO] [stdout] 292 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `impl Iterator` will capture more lifetimes than possibly intended in edition 2024 [INFO] [stdout] --> src/test/environment.rs:261:30 [INFO] [stdout] | [INFO] [stdout] 261 | pub fn routing(&self) -> impl Iterator { [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/test/environment.rs:261:20 [INFO] [stdout] | [INFO] [stdout] 261 | pub fn routing(&self) -> impl Iterator { [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] 261 | pub fn routing(&self) -> impl Iterator + use { [INFO] [stdout] | ++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/test/peer.rs:326:16 [INFO] [stdout] | [INFO] [stdout] 326 | if let Ok(false) = repo.is_empty() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^--------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/test/peer.rs:342:13 [INFO] [stdout] | [INFO] [stdout] 342 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 326 ~ match repo.is_empty() { Ok(false) => { [INFO] [stdout] 327 | if let Ok(remotes) = repo.remotes() { [INFO] [stdout] ... [INFO] [stdout] 341 | } [INFO] [stdout] 342 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/test/peer.rs:327:20 [INFO] [stdout] | [INFO] [stdout] 327 | if let Ok(remotes) = repo.remotes() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^-------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/test/peer.rs:341:17 [INFO] [stdout] | [INFO] [stdout] 341 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 327 ~ match repo.remotes() { Ok(remotes) => { [INFO] [stdout] 328 | for (remote_id, _) in remotes.into_iter() { [INFO] [stdout] ... [INFO] [stdout] 340 | } [INFO] [stdout] 341 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `impl Iterator` will capture more lifetimes than possibly intended in edition 2024 [INFO] [stdout] --> src/test/peer.rs:426:51 [INFO] [stdout] | [INFO] [stdout] 426 | pub fn messages(&mut self, remote: NodeId) -> impl Iterator { [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/test/peer.rs:426:21 [INFO] [stdout] | [INFO] [stdout] 426 | pub fn messages(&mut self, remote: NodeId) -> impl Iterator { [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] 426 | pub fn messages(&mut self, remote: NodeId) -> impl Iterator + use { [INFO] [stdout] | +++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `impl Iterator` will capture more lifetimes than possibly intended in edition 2024 [INFO] [stdout] --> src/test/peer.rs:444:50 [INFO] [stdout] | [INFO] [stdout] 444 | pub fn relayed(&mut self, remote: NodeId) -> impl Iterator { [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/test/peer.rs:444:20 [INFO] [stdout] | [INFO] [stdout] 444 | pub fn relayed(&mut self, remote: NodeId) -> impl Iterator { [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] 444 | pub fn relayed(&mut self, remote: NodeId) -> impl Iterator + use { [INFO] [stdout] | +++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `impl Iterator` will capture more lifetimes than possibly intended in edition 2024 [INFO] [stdout] --> src/test/peer.rs:470:66 [INFO] [stdout] | [INFO] [stdout] 470 | pub fn inventory_announcements(&mut self, remote: NodeId) -> impl Iterator { [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/test/peer.rs:470:36 [INFO] [stdout] | [INFO] [stdout] 470 | pub fn inventory_announcements(&mut self, remote: NodeId) -> impl Iterator { [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] 470 | pub fn inventory_announcements(&mut self, remote: NodeId) -> impl Iterator + use { [INFO] [stdout] | +++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/test/peer.rs:504:16 [INFO] [stdout] | [INFO] [stdout] 504 | if let Io::Fetch { rid, remote, .. } = io { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/test/peer.rs:506:13 [INFO] [stdout] | [INFO] [stdout] 506 | } 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] 504 ~ match io { Io::Fetch { rid, remote, .. } => { [INFO] [stdout] 505 | Some((rid, remote)) [INFO] [stdout] 506 ~ } _ => { [INFO] [stdout] 507 | None [INFO] [stdout] 508 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `impl Iterator + '_` will capture more lifetimes than possibly intended in edition 2024 [INFO] [stdout] --> src/test/simulator.rs:249:48 [INFO] [stdout] | [INFO] [stdout] 249 | pub fn events(&mut self, node: &NodeId) -> impl Iterator + '_ { [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/test/simulator.rs:249:36 [INFO] [stdout] | [INFO] [stdout] 249 | pub fn events(&mut self, node: &NodeId) -> impl Iterator + '_ { [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] 249 | pub fn events(&mut self, node: &NodeId) -> impl Iterator + '_ + use<'_, S, G> { [INFO] [stdout] | +++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/test/simulator.rs:346:19 [INFO] [stdout] | [INFO] [stdout] 346 | while let Some(o) = peer.next() { [INFO] [stdout] | ^^^^^^^^^^^^^^----------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/test/simulator.rs:348:13 [INFO] [stdout] | [INFO] [stdout] 348 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/test/simulator.rs:443:23 [INFO] [stdout] | [INFO] [stdout] 443 | while let Some(o) = p.next() { [INFO] [stdout] | ^^^^^^^^^^^^^^-------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/test/simulator.rs:445:17 [INFO] [stdout] | [INFO] [stdout] 445 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/wire/protocol.rs:416:16 [INFO] [stdout] | [INFO] [stdout] 416 | if let Some(s) = streams.unregister(&task.stream) { [INFO] [stdout] | ^^^^^^^^^^^^^^-------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/wire/protocol.rs:428:13 [INFO] [stdout] | [INFO] [stdout] 428 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 416 ~ match streams.unregister(&task.stream) { Some(s) => { [INFO] [stdout] 417 | log::debug!( [INFO] [stdout] ... [INFO] [stdout] 427 | self.actions.push_back(Action::Send(fd, frame.to_bytes())); [INFO] [stdout] 428 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/wire/protocol.rs:443:24 [INFO] [stdout] | [INFO] [stdout] 443 | if let Some(err) = result.err() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^------------ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/wire/protocol.rs:445:21 [INFO] [stdout] | [INFO] [stdout] 445 | } 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] 443 ~ match result.err() { Some(err) => { [INFO] [stdout] 444 | log::info!(target: "wire", "Peer {nid} failed to fetch {rid} from us: {err}"); [INFO] [stdout] 445 ~ } _ => { [INFO] [stdout] 446 | log::info!(target: "wire", "Peer {nid} fetched {rid} from us successfully"); [INFO] [stdout] 447 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/wire/protocol.rs:723:24 [INFO] [stdout] | [INFO] [stdout] 723 | if let Some((nid, link)) = self.disconnect(*id, DisconnectReason::Conflict) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^--------------------------^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/wire/protocol.rs:729:21 [INFO] [stdout] | [INFO] [stdout] 729 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 723 ~ match self.disconnect(*id, DisconnectReason::Conflict) { Some((nid, link)) => { [INFO] [stdout] 724 | // We disconnect the session eagerly because otherwise we will get the new [INFO] [stdout] ... [INFO] [stdout] 728 | .disconnected(nid, link, &DisconnectReason::Conflict); [INFO] [stdout] 729 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/wire/protocol.rs:738:20 [INFO] [stdout] | [INFO] [stdout] 738 | if let Some(Peer::Connected { [INFO] [stdout] | ____________________^ [INFO] [stdout] 739 | | nid, [INFO] [stdout] 740 | | inbox, [INFO] [stdout] 741 | | streams, [INFO] [stdout] 742 | | .. [INFO] [stdout] 743 | | }) = self.peers.get_mut(&id) [INFO] [stdout] | |______________________----------____________^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/wire/protocol.rs:855:17 [INFO] [stdout] | [INFO] [stdout] 855 | } 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] 738 ~ match self.peers.get_mut(&id) [INFO] [stdout] 739 ~ { Some(Peer::Connected { [INFO] [stdout] 740 + nid, [INFO] [stdout] 741 + inbox, [INFO] [stdout] 742 + streams, [INFO] [stdout] 743 + .. [INFO] [stdout] 744 ~ }) => { [INFO] [stdout] 745 | let metrics = self.metrics.peer(*nid); [INFO] [stdout] ... [INFO] [stdout] 854 | } [INFO] [stdout] 855 ~ } _ => { [INFO] [stdout] 856 | log::warn!(target: "wire", "Dropping message from unconnected peer (id={id})"); [INFO] [stdout] 857 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/wire/protocol.rs:779:36 [INFO] [stdout] | [INFO] [stdout] 779 | ... if let Err(e) = self.worker.try_send(task) { [INFO] [stdout] | ^^^^^^^^^^^^^-------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/wire/protocol.rs:784:33 [INFO] [stdout] | [INFO] [stdout] 784 | ... } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 779 ~ match self.worker.try_send(task) { Err(e) => { [INFO] [stdout] 780 | log::error!( [INFO] [stdout] ... [INFO] [stdout] 783 | ); [INFO] [stdout] 784 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/wire/protocol.rs:806:36 [INFO] [stdout] | [INFO] [stdout] 806 | ... if let Some(s) = streams.unregister(&stream) { [INFO] [stdout] | ^^^^^^^^^^^^^^--------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/wire/protocol.rs:813:33 [INFO] [stdout] | [INFO] [stdout] 813 | ... } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 806 ~ match streams.unregister(&stream) { Some(s) => { [INFO] [stdout] 807 | log::debug!( [INFO] [stdout] ... [INFO] [stdout] 812 | s.channels.close().ok(); [INFO] [stdout] 813 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/wire/protocol.rs:902:28 [INFO] [stdout] | [INFO] [stdout] 902 | if let Some(id) = peer.id() { [INFO] [stdout] | ^^^^^^^^^^^^^^^----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/wire/protocol.rs:908:25 [INFO] [stdout] | [INFO] [stdout] 908 | } 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] 902 ~ match peer.id() { Some(id) => { [INFO] [stdout] 903 | self.service.disconnected( [INFO] [stdout] ... [INFO] [stdout] 907 | ); [INFO] [stdout] 908 ~ } _ => { [INFO] [stdout] 909 | log::debug!(target: "wire", "Inbound disconnection before handshake; ignoring..") [INFO] [stdout] 910 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/wire/protocol.rs:967:15 [INFO] [stdout] | [INFO] [stdout] 967 | while let Some(ev) = self.service.next() { [INFO] [stdout] | ^^^^^^^^^^^^^^^------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/wire/protocol.rs:1117:9 [INFO] [stdout] | [INFO] [stdout] 1117 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/wire/protocol.rs:1050:24 [INFO] [stdout] | [INFO] [stdout] 1050 | if let Some((id, Peer::Connected { .. })) = self.peers.lookup(&nid) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^----------^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/wire/protocol.rs:1054:21 [INFO] [stdout] | [INFO] [stdout] 1054 | } 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] 1050 ~ match self.peers.lookup(&nid) { Some((id, Peer::Connected { .. })) => { [INFO] [stdout] 1051 | if let Some((nid, _)) = self.disconnect(id, reason) { [INFO] [stdout] 1052 | self.metrics.peer(nid).disconnects += 1; [INFO] [stdout] 1053 | } [INFO] [stdout] 1054 ~ } _ => { [INFO] [stdout] 1055 | log::warn!(target: "wire", "Peer {nid} is not connected: ignoring disconnect"); [INFO] [stdout] 1056 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/wire/protocol.rs:1051:28 [INFO] [stdout] | [INFO] [stdout] 1051 | if let Some((nid, _)) = self.disconnect(id, reason) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^------^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/wire/protocol.rs:1053:25 [INFO] [stdout] | [INFO] [stdout] 1053 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1051 ~ match self.disconnect(id, reason) { Some((nid, _)) => { [INFO] [stdout] 1052 | self.metrics.peer(nid).disconnects += 1; [INFO] [stdout] 1053 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/worker.rs:383:16 [INFO] [stdout] | [INFO] [stdout] 383 | if let Err(err) = worker.join()? { [INFO] [stdout] | ^^^^^^^^^^^^^^^-------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/worker.rs:385:13 [INFO] [stdout] | [INFO] [stdout] 385 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 383 ~ match worker.join()? { Err(err) => { [INFO] [stdout] 384 | log::trace!(target: "pool", "Worker {i} exited: {err}"); [INFO] [stdout] 385 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/worker/upload_pack.rs:110:28 [INFO] [stdout] | [INFO] [stdout] 110 | if let Err(e) = stdin.write_all(&buffer[..n]) { [INFO] [stdout] | ^^^^^^^^^^^^^----------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/worker/upload_pack.rs:113:25 [INFO] [stdout] | [INFO] [stdout] 113 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 110 ~ match stdin.write_all(&buffer[..n]) { Err(e) => { [INFO] [stdout] 111 | log::warn!(target: "worker", "Error writing to upload-pack stdin: {e}"); [INFO] [stdout] 112 | break; [INFO] [stdout] 113 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/worker/fetch.rs:223:19 [INFO] [stdout] | [INFO] [stdout] 223 | } else if let Err(e) = store.insert(rid, update, now) { [INFO] [stdout] | ^^^^^^^^^^^^^------------------------------ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/worker/fetch.rs:228:9 [INFO] [stdout] | [INFO] [stdout] 228 | } [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 ~ } else { match store.insert(rid, update, now) { Err(e) => { [INFO] [stdout] 224 | log::error!( [INFO] [stdout] ... [INFO] [stdout] 227 | ); [INFO] [stdout] 228 ~ } _ => {}}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/worker/fetch.rs:263:12 [INFO] [stdout] | [INFO] [stdout] 263 | 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/worker/fetch.rs:267:9 [INFO] [stdout] | [INFO] [stdout] 267 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 263 ~ match result { Err(e) => { [INFO] [stdout] 264 | log::error!(target: "worker", "Error updating git refs cache for {name:?}: {e}"); [INFO] [stdout] 265 | log::warn!(target: "worker", "Skipping refs caching for fetch of {repo}"); [INFO] [stdout] 266 | break; [INFO] [stdout] 267 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 101 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Fixed src/main.rs (1 fix) [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/main.rs:50:15 [INFO] [stdout] | [INFO] [stdout] 50 | while let Some(arg) = parser.next()? { [INFO] [stdout] | ^^^^^^^^^^^^^^^^-------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/main.rs:77:9 [INFO] [stdout] | [INFO] [stdout] 77 | } [INFO] [stdout] | ^ [INFO] [stdout] = note: `--force-warn if-let-rescope` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 1 warning emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 48.13s [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/main.rs:50:15 [INFO] [stdout] | [INFO] [stdout] 50 | while let Some(arg) = parser.next()? { [INFO] [stdout] | ^^^^^^^^^^^^^^^^-------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/main.rs:77:9 [INFO] [stdout] | [INFO] [stdout] 77 | } [INFO] [stdout] | ^ [INFO] [stdout] = note: `--force-warn if-let-rescope` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 1 warning emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Running `cargo check` to verify 2024 [INFO] [stderr] Compiling radicle-node v0.10.0 (/tmp/fixit) [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/control.rs:301:37 [INFO] [stdout] | [INFO] [stdout] 301 | let proj = test::arbitrary::gen::(1); [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 301 | let proj = test::arbitrary::r#gen::(1); [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/control.rs:302:37 [INFO] [stdout] | [INFO] [stdout] 302 | let peer = test::arbitrary::gen::(1); [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 302 | let peer = test::arbitrary::r#gen::(1); [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/control.rs:301:37 [INFO] [stdout] | [INFO] [stdout] 301 | let proj = test::arbitrary::gen::(1); [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 301 | let proj = test::arbitrary::r#gen::(1); [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/control.rs:302:37 [INFO] [stdout] | [INFO] [stdout] 302 | let peer = test::arbitrary::gen::(1); [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 302 | let peer = test::arbitrary::r#gen::(1); [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/service/gossip/store.rs:407:30 [INFO] [stdout] | [INFO] [stdout] 407 | let nid = arbitrary::gen::(1); [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 407 | let nid = arbitrary::r#gen::(1); [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/service/gossip/store.rs:408:30 [INFO] [stdout] | [INFO] [stdout] 408 | let rid = arbitrary::gen::(1); [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 408 | let rid = arbitrary::r#gen::(1); [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/service/limiter.rs:142:28 [INFO] [stdout] | [INFO] [stdout] 142 | let n = arbitrary::gen::(1); [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 142 | let n = arbitrary::r#gen::(1); [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/service/limiter.rs:172:28 [INFO] [stdout] | [INFO] [stdout] 172 | let n = arbitrary::gen::(1); [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 172 | let n = arbitrary::r#gen::(1); [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/service/limiter.rs:193:28 [INFO] [stdout] | [INFO] [stdout] 193 | let n = arbitrary::gen::(1); [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 193 | let n = arbitrary::r#gen::(1); [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/service/message.rs:612:29 [INFO] [stdout] | [INFO] [stdout] 612 | rid: arbitrary::gen(1), [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 612 | rid: arbitrary::r#gen(1), [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/wire/message.rs:472:59 [INFO] [stdout] | [INFO] [stdout] 472 | let refs: [RefsAt; REF_REMOTE_LIMIT] = arbitrary::gen(1); [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 472 | let refs: [RefsAt; REF_REMOTE_LIMIT] = arbitrary::r#gen(1); [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/wire/message.rs:474:29 [INFO] [stdout] | [INFO] [stdout] 474 | rid: arbitrary::gen(1), [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 474 | rid: arbitrary::r#gen(1), [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/wire/message.rs:476:35 [INFO] [stdout] | [INFO] [stdout] 476 | timestamp: arbitrary::gen(1), [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 476 | timestamp: arbitrary::r#gen(1), [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/wire/message.rs:488:57 [INFO] [stdout] | [INFO] [stdout] 488 | let inv: [RepoId; INVENTORY_LIMIT] = arbitrary::gen(1); [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 488 | let inv: [RepoId; INVENTORY_LIMIT] = arbitrary::r#gen(1); [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/wire/message.rs:491:35 [INFO] [stdout] | [INFO] [stdout] 491 | timestamp: arbitrary::gen(1), [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 491 | timestamp: arbitrary::r#gen(1), [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/wire/message.rs:503:58 [INFO] [stdout] | [INFO] [stdout] 503 | let addrs: [Address; ADDRESS_LIMIT] = arbitrary::gen(1); [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 503 | let addrs: [Address; ADDRESS_LIMIT] = arbitrary::r#gen(1); [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/wire/message.rs:510:35 [INFO] [stdout] | [INFO] [stdout] 510 | timestamp: arbitrary::gen(1), [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 510 | timestamp: arbitrary::r#gen(1), [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/wire/message.rs:581:14 [INFO] [stdout] | [INFO] [stdout] 581 | .gen(qcheck::Gen::new(16)) [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 581 | .r#gen(qcheck::Gen::new(16)) [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/wire/protocol.rs:1300:45 [INFO] [stdout] | [INFO] [stdout] 1300 | let rid = radicle::test::arbitrary::gen(1); [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 1300 | let rid = radicle::test::arbitrary::r#gen(1); [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/service/gossip/store.rs:407:30 [INFO] [stdout] | [INFO] [stdout] 407 | let nid = arbitrary::gen::(1); [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 407 | let nid = arbitrary::r#gen::(1); [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/wire/protocol.rs:1301:44 [INFO] [stdout] | [INFO] [stdout] 1301 | let pk = radicle::test::arbitrary::gen(1); [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 1301 | let pk = radicle::test::arbitrary::r#gen(1); [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/service/gossip/store.rs:408:30 [INFO] [stdout] | [INFO] [stdout] 408 | let rid = arbitrary::gen::(1); [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 408 | let rid = arbitrary::r#gen::(1); [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/service/limiter.rs:142:28 [INFO] [stdout] | [INFO] [stdout] 142 | let n = arbitrary::gen::(1); [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 142 | let n = arbitrary::r#gen::(1); [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/wire/protocol.rs:1302:55 [INFO] [stdout] | [INFO] [stdout] 1302 | let sig: [u8; 64] = radicle::test::arbitrary::gen(1); [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 1302 | let sig: [u8; 64] = radicle::test::arbitrary::r#gen(1); [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/service/limiter.rs:172:28 [INFO] [stdout] | [INFO] [stdout] 172 | let n = arbitrary::gen::(1); [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 172 | let n = arbitrary::r#gen::(1); [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/service/limiter.rs:193:28 [INFO] [stdout] | [INFO] [stdout] 193 | let n = arbitrary::gen::(1); [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 193 | let n = arbitrary::r#gen::(1); [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/service/message.rs:612:29 [INFO] [stdout] | [INFO] [stdout] 612 | rid: arbitrary::gen(1), [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 612 | rid: arbitrary::r#gen(1), [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/test/gossip.rs:6:30 [INFO] [stdout] | [INFO] [stdout] 6 | use radicle::test::fixtures::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] 6 | use radicle::test::fixtures::r#gen; [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected expression, found reserved keyword `gen` [INFO] [stdout] --> src/test/gossip.rs:38:41 [INFO] [stdout] | [INFO] [stdout] 38 | alias: node::Alias::new(gen::string(5)), [INFO] [stdout] | ^^^ expected expression [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/test/simulator.rs:663:53 [INFO] [stdout] | [INFO] [stdout] 663 | ... doc: arbitrary::gen(1), [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 663 | doc: arbitrary::r#gen(1), [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/tests.rs:20:31 [INFO] [stdout] | [INFO] [stdout] 20 | use radicle::test::arbitrary::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] 20 | use radicle::test::arbitrary::r#gen; [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/tests.rs:77:45 [INFO] [stdout] | [INFO] [stdout] 77 | let inventory: Vec = arbitrary::gen(300); [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 77 | let inventory: Vec = arbitrary::r#gen(300); [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/tests.rs:413:54 [INFO] [stdout] | [INFO] [stdout] 413 | let proj_id: identity::RepoId = test::arbitrary::gen(1); [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 413 | let proj_id: identity::RepoId = test::arbitrary::r#gen(1); [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/tests.rs:810:39 [INFO] [stdout] | [INFO] [stdout] 810 | bob.signed_refs_at(arbitrary::gen::(8), arbitrary::oid()), [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 810 | bob.signed_refs_at(arbitrary::r#gen::(8), arbitrary::oid()), [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/tests.rs:814:49 [INFO] [stdout] | [INFO] [stdout] 814 | let sigrefs = bob.signed_refs_at(arbitrary::gen::(8), arbitrary::oid()); [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 814 | let sigrefs = bob.signed_refs_at(arbitrary::r#gen::(8), arbitrary::oid()); [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/tests.rs:858:25 [INFO] [stdout] | [INFO] [stdout] 858 | let id = arbitrary::gen(1); [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 858 | let id = arbitrary::r#gen(1); [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/tests.rs:1303:26 [INFO] [stdout] | [INFO] [stdout] 1303 | let rid = arbitrary::gen::(1); [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 1303 | let rid = arbitrary::r#gen::(1); [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/tests.rs:1322:26 [INFO] [stdout] | [INFO] [stdout] 1322 | let rid = arbitrary::gen::(1); [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 1322 | let rid = arbitrary::r#gen::(1); [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/tests.rs:1347:26 [INFO] [stdout] | [INFO] [stdout] 1347 | let rid = arbitrary::gen::(1); [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 1347 | let rid = arbitrary::r#gen::(1); [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/tests.rs:1477:41 [INFO] [stdout] | [INFO] [stdout] 1477 | carol.signed_refs_at(arbitrary::gen::(1), oid), [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 1477 | carol.signed_refs_at(arbitrary::r#gen::(1), oid), [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/tests.rs:1494:29 [INFO] [stdout] | [INFO] [stdout] 1494 | doc: arbitrary::gen(1), [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 1494 | doc: arbitrary::r#gen(1), [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/tests.rs:1546:44 [INFO] [stdout] | [INFO] [stdout] 1546 | alice.fetched(rid1, nid, Ok(arbitrary::gen::(1))); [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 1546 | alice.fetched(rid1, nid, Ok(arbitrary::r#gen::(1))); [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/tests.rs:1556:44 [INFO] [stdout] | [INFO] [stdout] 1556 | alice.fetched(rid1, nid, Ok(arbitrary::gen::(1))); [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 1556 | alice.fetched(rid1, nid, Ok(arbitrary::r#gen::(1))); [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/tests.rs:1818:10 [INFO] [stdout] | [INFO] [stdout] 1818 | .gen(qcheck::Gen::new(5)) [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 1818 | .r#gen(qcheck::Gen::new(5)) [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected expression, found reserved keyword `gen` [INFO] [stdout] --> src/tests.rs:1842:19 [INFO] [stdout] | [INFO] [stdout] 1842 | let rid = gen::(1); [INFO] [stdout] | ^^^ expected expression [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/wire/message.rs:472:59 [INFO] [stdout] | [INFO] [stdout] 472 | let refs: [RefsAt; REF_REMOTE_LIMIT] = arbitrary::gen(1); [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 472 | let refs: [RefsAt; REF_REMOTE_LIMIT] = arbitrary::r#gen(1); [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/wire/message.rs:474:29 [INFO] [stdout] | [INFO] [stdout] 474 | rid: arbitrary::gen(1), [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 474 | rid: arbitrary::r#gen(1), [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/wire/message.rs:476:35 [INFO] [stdout] | [INFO] [stdout] 476 | timestamp: arbitrary::gen(1), [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 476 | timestamp: arbitrary::r#gen(1), [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/wire/message.rs:488:57 [INFO] [stdout] | [INFO] [stdout] 488 | let inv: [RepoId; INVENTORY_LIMIT] = arbitrary::gen(1); [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 488 | let inv: [RepoId; INVENTORY_LIMIT] = arbitrary::r#gen(1); [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/wire/message.rs:491:35 [INFO] [stdout] | [INFO] [stdout] 491 | timestamp: arbitrary::gen(1), [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 491 | timestamp: arbitrary::r#gen(1), [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/wire/message.rs:503:58 [INFO] [stdout] | [INFO] [stdout] 503 | let addrs: [Address; ADDRESS_LIMIT] = arbitrary::gen(1); [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 503 | let addrs: [Address; ADDRESS_LIMIT] = arbitrary::r#gen(1); [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/wire/message.rs:510:35 [INFO] [stdout] | [INFO] [stdout] 510 | timestamp: arbitrary::gen(1), [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 510 | timestamp: arbitrary::r#gen(1), [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/wire/message.rs:581:14 [INFO] [stdout] | [INFO] [stdout] 581 | .gen(qcheck::Gen::new(16)) [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 581 | .r#gen(qcheck::Gen::new(16)) [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/wire/protocol.rs:1300:45 [INFO] [stdout] | [INFO] [stdout] 1300 | let rid = radicle::test::arbitrary::gen(1); [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 1300 | let rid = radicle::test::arbitrary::r#gen(1); [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/wire/protocol.rs:1301:44 [INFO] [stdout] | [INFO] [stdout] 1301 | let pk = radicle::test::arbitrary::gen(1); [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 1301 | let pk = radicle::test::arbitrary::r#gen(1); [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/wire/protocol.rs:1302:55 [INFO] [stdout] | [INFO] [stdout] 1302 | let sig: [u8; 64] = radicle::test::arbitrary::gen(1); [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 1302 | let sig: [u8; 64] = radicle::test::arbitrary::r#gen(1); [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `radicle::test::fixtures::gen` [INFO] [stdout] --> src/test/gossip.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use radicle::test::fixtures::gen; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `radicle::test::arbitrary::gen` [INFO] [stdout] --> src/tests.rs:20:5 [INFO] [stdout] | [INFO] [stdout] 20 | use radicle::test::arbitrary::gen; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `radicle::test::storage::MockRepository` [INFO] [stdout] --> src/tests.rs:21:5 [INFO] [stdout] | [INFO] [stdout] 21 | use radicle::test::storage::MockRepository; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 19 previous errors [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `radicle-node` (lib) due to 20 previous errors [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stdout] error[E0502]: cannot borrow `alice.id` as immutable because it is also borrowed as mutable [INFO] [stdout] --> src/tests.rs:912:24 [INFO] [stdout] | [INFO] [stdout] 901 | for msg in alice.messages(bob.id()) { [INFO] [stdout] | ------------------------ [INFO] [stdout] | | [INFO] [stdout] | mutable borrow occurs here [INFO] [stdout] | mutable borrow later used here [INFO] [stdout] ... [INFO] [stdout] 912 | if node == alice.id && inv.remove(&rid) [INFO] [stdout] | ^^^^^^^^ immutable borrow occurs here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0502]: cannot borrow `alice` as immutable because it is also borrowed as mutable [INFO] [stdout] --> src/tests.rs:1316:25 [INFO] [stdout] | [INFO] [stdout] 1310 | / assert_matches!( [INFO] [stdout] 1311 | | alice.messages(bob.id).next(), [INFO] [stdout] | | ---------------------- [INFO] [stdout] | | | [INFO] [stdout] | | mutable borrow occurs here [INFO] [stdout] | | a temporary with access to the mutable borrow is created here ... [INFO] [stdout] 1312 | | Some(Message::Subscribe(Subscribe { [INFO] [stdout] 1313 | | filter, [INFO] [stdout] ... | [INFO] [stdout] 1316 | | })) if since == alice.timestamp() && filter.contains(&rid) [INFO] [stdout] | | ^^^^^ immutable borrow occurs here [INFO] [stdout] 1317 | | ); [INFO] [stdout] | |_____- ... and the mutable borrow might be used here, when that temporary is dropped and runs the destructor for type `impl Iterator` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 39 previous errors; 3 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0502`. [INFO] [stdout] [INFO] [stderr] error: could not compile `radicle-node` (lib test) due to 40 previous errors; 3 warnings emitted [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" "581e048a6d10ff76eac07116d3704bca440c3cbe2eb37cc5f6e105430be3a869", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "581e048a6d10ff76eac07116d3704bca440c3cbe2eb37cc5f6e105430be3a869", kill_on_drop: false }` [INFO] [stdout] 581e048a6d10ff76eac07116d3704bca440c3cbe2eb37cc5f6e105430be3a869