[INFO] fetching crate portier_broker 0.11.0... [INFO] checking portier_broker-0.11.0 against try#ccf408f4326a858c00dd845a64a86b16f360a801 for pr-129466-2 [INFO] extracting crate portier_broker 0.11.0 into /workspace/builds/worker-0-tc2/source [INFO] validating manifest of crates.io crate portier_broker 0.11.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 portier_broker 0.11.0 [INFO] finished tweaking crates.io crate portier_broker 0.11.0 [INFO] tweaked toml for crates.io crate portier_broker 0.11.0 written to /workspace/builds/worker-0-tc2/source/Cargo.toml [INFO] crate crates.io crate portier_broker 0.11.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] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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] 4b5a9c220555770b5125c4bd29c25cf391c7e5b843818f79e88df3e21b3186e4 [INFO] running `Command { std: "docker" "start" "-a" "4b5a9c220555770b5125c4bd29c25cf391c7e5b843818f79e88df3e21b3186e4", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "4b5a9c220555770b5125c4bd29c25cf391c7e5b843818f79e88df3e21b3186e4", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "4b5a9c220555770b5125c4bd29c25cf391c7e5b843818f79e88df3e21b3186e4", kill_on_drop: false }` [INFO] [stdout] 4b5a9c220555770b5125c4bd29c25cf391c7e5b843818f79e88df3e21b3186e4 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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] 149b4c726d9e1923abc8fc1136c0b52aa81a3a232a0a6e9bc2009c5d0a22162d [INFO] running `Command { std: "docker" "start" "-a" "149b4c726d9e1923abc8fc1136c0b52aa81a3a232a0a6e9bc2009c5d0a22162d", 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 (7 fixes) [INFO] [stderr] Compiling libc v0.2.155 [INFO] [stderr] Compiling serde v1.0.204 [INFO] [stderr] Checking bytes v1.6.1 [INFO] [stderr] Compiling dunce v1.0.4 [INFO] [stderr] Compiling fs_extra v1.3.0 [INFO] [stderr] Compiling proc-macro2 v1.0.86 [INFO] [stderr] Compiling ahash v0.8.11 [INFO] [stderr] Checking stable_deref_trait v1.2.0 [INFO] [stderr] Compiling aws-lc-rs v1.8.1 [INFO] [stderr] Checking rustls-pki-types v1.7.0 [INFO] [stderr] Checking unicode-normalization v0.1.23 [INFO] [stderr] Compiling generic-array v0.14.7 [INFO] [stderr] Compiling unicase v2.7.0 [INFO] [stderr] Checking futures-channel v0.3.30 [INFO] [stderr] Checking untrusted v0.7.1 [INFO] [stderr] Checking encoding_index_tests v0.1.4 [INFO] [stderr] Checking log v0.4.22 [INFO] [stderr] Checking mirai-annotations v1.12.0 [INFO] [stderr] Checking writeable v0.5.5 [INFO] [stderr] Checking litemap v0.7.3 [INFO] [stderr] Compiling rustls v0.23.11 [INFO] [stderr] Checking tower-service v0.3.2 [INFO] [stderr] Checking tower-layer v0.3.2 [INFO] [stderr] Checking rustls-pemfile v2.1.2 [INFO] [stderr] Compiling cfg_aliases v0.1.1 [INFO] [stderr] Compiling thiserror v1.0.63 [INFO] [stderr] Compiling pkg-config v0.3.30 [INFO] [stderr] Checking icu_locid_transform_data v1.5.0 [INFO] [stderr] Compiling nix v0.28.0 [INFO] [stderr] Compiling heck v0.4.1 [INFO] [stderr] Checking rustls-native-certs v0.7.1 [INFO] [stderr] Checking ipnet v2.9.0 [INFO] [stderr] Checking regex-syntax v0.8.4 [INFO] [stderr] Checking icu_properties_data v1.5.0 [INFO] [stderr] Checking http v1.1.0 [INFO] [stderr] Checking hashbrown v0.14.5 [INFO] [stderr] Compiling quote v1.0.36 [INFO] [stderr] Compiling mime_guess v2.0.5 [INFO] [stderr] Checking encoding-index-japanese v1.20141219.5 [INFO] [stderr] Checking idna v0.5.0 [INFO] [stderr] Checking idna v0.4.0 [INFO] [stderr] Checking encoding-index-simpchinese v1.20141219.5 [INFO] [stderr] Compiling syn v2.0.72 [INFO] [stderr] Checking encoding-index-singlebyte v1.20141219.5 [INFO] [stderr] Checking encoding-index-korean v1.20141219.5 [INFO] [stderr] Checking encoding-index-tradchinese v1.20141219.5 [INFO] [stderr] Checking utf16_iter v1.0.5 [INFO] [stderr] Checking cpufeatures v0.2.12 [INFO] [stderr] Checking winnow v0.6.15 [INFO] [stderr] Checking data-encoding v2.6.0 [INFO] [stderr] Checking linked-hash-map v0.5.6 [INFO] [stderr] Checking block-buffer v0.10.4 [INFO] [stderr] Checking crypto-common v0.1.6 [INFO] [stderr] Compiling serde_json v1.0.120 [INFO] [stderr] Checking utf8_iter v1.0.4 [INFO] [stderr] Checking icu_normalizer_data v1.5.0 [INFO] [stderr] Checking write16 v1.0.0 [INFO] [stderr] Checking lru-cache v0.1.2 [INFO] [stderr] Checking digest v0.10.7 [INFO] [stderr] Checking encoding v0.2.33 [INFO] [stderr] Compiling jobserver v0.1.31 [INFO] [stderr] Checking webpki-roots v0.26.3 [INFO] [stderr] Checking indexmap v2.2.6 [INFO] [stderr] Checking hashlink v0.9.1 [INFO] [stderr] Checking log v0.3.9 [INFO] [stderr] Checking email-encoding v0.3.0 [INFO] [stderr] Checking fallible-streaming-iterator v0.1.9 [INFO] [stderr] Checking quoted_printable v0.5.1 [INFO] [stderr] Checking fastrand v2.1.0 [INFO] [stderr] Checking http-body v1.0.1 [INFO] [stderr] Checking sha1 v0.10.6 [INFO] [stderr] Checking headers-core v0.3.0 [INFO] [stderr] Checking sync_wrapper v1.0.1 [INFO] [stderr] Checking sha1_smol v1.0.1 [INFO] [stderr] Checking fallible-iterator v0.3.0 [INFO] [stderr] Compiling cc v1.1.6 [INFO] [stderr] Checking email_address v0.2.7 [INFO] [stderr] Checking accept-language v3.1.0 [INFO] [stderr] Checking headers v0.4.0 [INFO] [stderr] Checking gettext v0.4.0 [INFO] [stderr] Checking socket2 v0.5.7 [INFO] [stderr] Checking mio v1.0.1 [INFO] [stderr] Checking getrandom v0.2.15 [INFO] [stderr] Checking signal-hook-registry v1.4.2 [INFO] [stderr] Checking parking_lot_core v0.9.10 [INFO] [stderr] Checking listenfd v1.0.1 [INFO] [stderr] Checking rand_core v0.6.4 [INFO] [stderr] Checking parking_lot v0.12.3 [INFO] [stderr] Compiling cmake v0.1.50 [INFO] [stderr] Checking rand_chacha v0.3.1 [INFO] [stderr] Checking regex-automata v0.4.7 [INFO] [stderr] Checking rand v0.8.5 [INFO] [stderr] Compiling ring v0.17.8 [INFO] [stderr] Compiling psm v0.1.21 [INFO] [stderr] Compiling stacker v0.1.15 [INFO] [stderr] Compiling libsqlite3-sys v0.28.0 [INFO] [stderr] Compiling aws-lc-sys v0.20.0 [INFO] [stderr] Checking chumsky v0.9.3 [INFO] [stderr] Checking ctrlc v3.4.4 [INFO] [stderr] Checking regex v1.10.5 [INFO] [stderr] Compiling synstructure v0.13.1 [INFO] [stderr] Compiling serde_derive v1.0.204 [INFO] [stderr] Compiling tokio-macros v2.4.0 [INFO] [stderr] Compiling futures-macro v0.3.30 [INFO] [stderr] Compiling zerofrom-derive v0.1.4 [INFO] [stderr] Compiling yoke-derive v0.7.4 [INFO] [stderr] Compiling zerovec-derive v0.10.3 [INFO] [stderr] Compiling zeroize_derive v1.4.2 [INFO] [stderr] Compiling displaydoc v0.2.5 [INFO] [stderr] Compiling tracing-attributes v0.1.27 [INFO] [stderr] Compiling icu_provider_macros v1.5.0 [INFO] [stderr] Compiling pin-project-internal v1.1.5 [INFO] [stderr] Compiling thiserror-impl v1.0.63 [INFO] [stderr] Compiling async-trait v0.1.81 [INFO] [stderr] Compiling enum-as-inner v0.6.0 [INFO] [stderr] Checking zeroize v1.8.1 [INFO] [stderr] Checking tokio v1.39.0 [INFO] [stderr] Checking futures-util v0.3.30 [INFO] [stderr] Checking pin-project v1.1.5 [INFO] [stderr] Checking zerofrom v0.1.4 [INFO] [stderr] Checking yoke v0.7.4 [INFO] [stderr] Checking tracing v0.1.40 [INFO] [stderr] Checking zerovec v0.10.4 [INFO] [stderr] Checking tinystr v0.7.6 [INFO] [stderr] Checking icu_collections v1.5.0 [INFO] [stderr] Checking icu_locid v1.5.0 [INFO] [stderr] Checking icu_provider v1.5.0 [INFO] [stderr] Checking http-body-util v0.1.2 [INFO] [stderr] Checking icu_locid_transform v1.5.0 [INFO] [stderr] Checking icu_properties v1.5.1 [INFO] [stderr] Checking hyper v1.4.1 [INFO] [stderr] Checking tower v0.4.13 [INFO] [stderr] Checking tokio-util v0.7.11 [INFO] [stderr] Checking combine v4.6.7 [INFO] [stderr] Checking rusqlite v0.31.0 [INFO] [stderr] Checking url v2.5.2 [INFO] [stderr] Checking toml_datetime v0.6.6 [INFO] [stderr] Checking serde_spanned v0.6.6 [INFO] [stderr] Checking serde_urlencoded v0.7.1 [INFO] [stderr] Checking mustache v0.9.0 [INFO] [stderr] Checking docopt v1.1.1 [INFO] [stderr] Checking ipnetwork v0.20.0 [INFO] [stderr] Checking envy v0.4.2 [INFO] [stderr] Checking hyper-util v0.1.6 [INFO] [stderr] Checking toml_edit v0.22.16 [INFO] [stderr] Checking icu_normalizer v1.5.0 [INFO] [stderr] Checking hickory-proto v0.24.1 [INFO] [stderr] Checking hyper-staticfile v0.10.1 [INFO] [stderr] Checking idna v1.0.2 [INFO] [stderr] Checking rustls-webpki v0.102.6 [INFO] [stderr] Checking toml v0.8.15 [INFO] [stderr] Checking hickory-resolver v0.24.1 [INFO] [stderr] Checking redis v0.25.4 [INFO] [stderr] Checking tokio-rustls v0.26.0 [INFO] [stderr] Checking lettre v0.11.7 [INFO] [stderr] Checking hyper-rustls v0.27.2 [INFO] [stderr] Checking reqwest v0.12.5 [INFO] [stderr] Checking portier_broker v0.11.0 (/tmp/fixit) [INFO] [stderr] Migrating src/main.rs from 2021 edition to 2024 [INFO] [stderr] warning: failed to automatically apply fixes suggested by rustc to crate `portier_broker` [INFO] [stderr] [INFO] [stderr] after fixes were automatically applied the compiler reported errors within these files: [INFO] [stderr] [INFO] [stderr] * src/agents/store/redis.rs [INFO] [stderr] * src/agents/store/rusqlite.rs [INFO] [stderr] * src/macros.rs [INFO] [stderr] * src/main.rs [INFO] [stderr] * src/utils/sd_notify.rs [INFO] [stderr] [INFO] [stderr] This likely indicates a bug in either rustc or cargo itself, [INFO] [stderr] and we would appreciate a bug report! You're likely to see [INFO] [stderr] a number of compiler warnings after this message which cargo [INFO] [stderr] attempted to fix but failed. If you could open an issue at [INFO] [stderr] https://github.com/rust-lang/rust/issues [INFO] [stderr] quoting the full output of this command we'd be very appreciative! [INFO] [stderr] Note that you may be able to make some more progress in the near-term [INFO] [stderr] fixing code with the `--broken-code` flag [INFO] [stderr] [INFO] [stderr] The following errors were reported: [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/macros.rs:12:7 [INFO] [stderr] | [INFO] [stderr] 12 | ( $params:expr_2021 , $key:tt ) => { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/macros.rs:19:7 [INFO] [stderr] | [INFO] [stderr] 19 | ( $params:expr_2021 , $key:tt , $default:expr_2021 ) => { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/macros.rs:19:37 [INFO] [stderr] | [INFO] [stderr] 19 | ( $params:expr_2021 , $key:tt , $default:expr_2021 ) => { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/macros.rs:34:7 [INFO] [stderr] | [INFO] [stderr] 34 | ( $params:expr_2021 , $key:tt ) => { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/macros.rs:52:7 [INFO] [stderr] | [INFO] [stderr] 52 | ( $input:expr_2021, $key:tt, $conv:expr_2021, $descr:expr_2021 ) => { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/macros.rs:52:34 [INFO] [stderr] | [INFO] [stderr] 52 | ( $input:expr_2021, $key:tt, $conv:expr_2021, $descr:expr_2021 ) => { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/macros.rs:52:51 [INFO] [stderr] | [INFO] [stderr] 52 | ( $input:expr_2021, $key:tt, $conv:expr_2021, $descr:expr_2021 ) => { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/macros.rs:57:7 [INFO] [stderr] | [INFO] [stderr] 57 | ( $input:expr_2021, $key:tt, $descr:expr_2021 ) => { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/macros.rs:57:34 [INFO] [stderr] | [INFO] [stderr] 57 | ( $input:expr_2021, $key:tt, $descr:expr_2021 ) => { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/macros.rs:71:7 [INFO] [stderr] | [INFO] [stderr] 71 | ( $check:expr_2021, $key:expr_2021, $descr:expr_2021 ) => { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/macros.rs:71:25 [INFO] [stderr] | [INFO] [stderr] 71 | ( $check:expr_2021, $key:expr_2021, $descr:expr_2021 ) => { [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/macros.rs:71:41 [INFO] [stderr] | [INFO] [stderr] 71 | ( $check:expr_2021, $key:expr_2021, $descr:expr_2021 ) => { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/agents/store/rusqlite.rs:12:8 [INFO] [stderr] | [INFO] [stderr] 12 | ($($list:expr_2021),*) => ( [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/main.rs:229:10 [INFO] [stderr] | [INFO] [stderr] 229 | ($socket: expr_2021, $addr:expr_2021) => {{ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/main.rs:229:30 [INFO] [stderr] | [INFO] [stderr] 229 | ($socket: expr_2021, $addr:expr_2021) => {{ [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error: usage of an `unsafe` block [INFO] [stderr] --> src/utils/sd_notify.rs:14:9 [INFO] [stderr] | [INFO] [stderr] 14 | unsafe { env::remove_var("NOTIFY_SOCKET") }; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: the lint level is defined here [INFO] [stderr] --> src/main.rs:1:11 [INFO] [stderr] | [INFO] [stderr] 1 | #![forbid(unsafe_code)] [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: this function depends on never type fallback being `()` [INFO] [stderr] --> src/agents/store/redis.rs:161:5 [INFO] [stderr] | [INFO] [stderr] 161 | fn handle(&mut self, message: SaveSession, cx: Context) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #123748 [INFO] [stderr] = help: specify the types explicitly [INFO] [stderr] note: in edition 2024, the requirement `!: FromRedisValue` will fail [INFO] [stderr] --> src/agents/store/redis.rs:167:18 [INFO] [stderr] | [INFO] [stderr] 167 | conn.set_ex(&key, data, ttl.as_secs()).await?; [INFO] [stderr] | ^^^^^^ [INFO] [stderr] = note: `#[warn(dependency_on_unit_never_type_fallback)]` on by default [INFO] [stderr] [INFO] [stderr] warning: this function depends on never type fallback being `()` [INFO] [stderr] --> src/agents/store/redis.rs:189:5 [INFO] [stderr] | [INFO] [stderr] 189 | fn handle(&mut self, message: DeleteSession, cx: Context) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #123748 [INFO] [stderr] = help: specify the types explicitly [INFO] [stderr] note: in edition 2024, the requirement `!: FromRedisValue` will fail [INFO] [stderr] --> src/agents/store/redis.rs:193:18 [INFO] [stderr] | [INFO] [stderr] 193 | conn.del(&key).await?; [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: this function depends on never type fallback being `()` [INFO] [stderr] --> src/agents/store/redis.rs:200:5 [INFO] [stderr] | [INFO] [stderr] 200 | fn handle(&mut self, message: SaveAuthCode, cx: Context) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #123748 [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/macros.rs:12:15 [INFO] [stdout] | [INFO] [stdout] 12 | ( $params:expr , $key:tt ) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] = note: `--force-warn edition-2024-expr-fragment-specifier` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 12 | ( $params:expr_2021 , $key:tt ) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] = help: specify the types explicitly [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/macros.rs:19:15 [INFO] [stdout] | [INFO] [stdout] 19 | ( $params:expr , $key:tt , $default:expr ) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 19 | ( $params:expr_2021 , $key:tt , $default:expr ) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] note: in edition 2024, the requirement `!: FromRedisValue` will fail [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/macros.rs:19:41 [INFO] [stdout] | [INFO] [stdout] 19 | ( $params:expr , $key:tt , $default:expr ) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 19 | ( $params:expr , $key:tt , $default:expr_2021 ) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] --> src/agents/store/redis.rs:206:18 [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/macros.rs:34:15 [INFO] [stdout] | [INFO] [stdout] 34 | ( $params:expr , $key:tt ) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 34 | ( $params:expr_2021 , $key:tt ) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] | [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/macros.rs:52:14 [INFO] [stdout] | [INFO] [stdout] 52 | ( $input:expr, $key:tt, $conv:expr, $descr:expr ) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 52 | ( $input:expr_2021, $key:tt, $conv:expr, $descr:expr ) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] 206 | conn.set_ex(&key, data, ttl.as_secs()).await?; [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/macros.rs:52:35 [INFO] [stdout] | [INFO] [stdout] 52 | ( $input:expr, $key:tt, $conv:expr, $descr:expr ) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 52 | ( $input:expr, $key:tt, $conv:expr_2021, $descr:expr ) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] | ^^^^^^ [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/macros.rs:52:48 [INFO] [stdout] | [INFO] [stdout] 52 | ( $input:expr, $key:tt, $conv:expr, $descr:expr ) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 52 | ( $input:expr, $key:tt, $conv:expr, $descr:expr_2021 ) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/macros.rs:57:14 [INFO] [stdout] | [INFO] [stdout] 57 | ( $input:expr, $key:tt, $descr:expr ) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 57 | ( $input:expr_2021, $key:tt, $descr:expr ) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] warning: this function depends on never type fallback being `()` [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/macros.rs:57:36 [INFO] [stdout] | [INFO] [stdout] 57 | ( $input:expr, $key:tt, $descr:expr ) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 57 | ( $input:expr, $key:tt, $descr:expr_2021 ) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] --> src/agents/store/redis.rs:234:5 [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/macros.rs:71:14 [INFO] [stdout] | [INFO] [stdout] 71 | ( $check:expr, $key:expr, $descr:expr ) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 71 | ( $check:expr_2021, $key:expr, $descr:expr ) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] | [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/macros.rs:71:25 [INFO] [stdout] | [INFO] [stdout] 71 | ( $check:expr, $key:expr, $descr:expr ) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 71 | ( $check:expr, $key:expr_2021, $descr:expr ) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] 234 | fn handle(&mut self, message: FetchUrlCached, cx: Context) { [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/macros.rs:71:38 [INFO] [stdout] | [INFO] [stdout] 71 | ( $check:expr, $key:expr, $descr:expr ) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 71 | ( $check:expr, $key:expr, $descr:expr_2021 ) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/agents/store/rusqlite.rs:12:14 [INFO] [stdout] | [INFO] [stdout] 12 | ($($list:expr),*) => ( [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 12 | ($($list:expr_2021),*) => ( [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] | [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/main.rs:229:19 [INFO] [stdout] | [INFO] [stdout] 229 | ($socket: expr, $addr:expr) => {{ [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 229 | ($socket: expr_2021, $addr:expr) => {{ [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #123748 [INFO] [stderr] = help: specify the types explicitly [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/main.rs:229:31 [INFO] [stdout] | [INFO] [stdout] 229 | ($socket: expr, $addr:expr) => {{ [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 229 | ($socket: expr, $addr:expr_2021) => {{ [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] note: in edition 2024, the requirement `!: FromRedisValue` will fail [INFO] [stderr] --> src/agents/store/redis.rs:248:22 [INFO] [stderr] | [INFO] [stderr] 248 | conn.set_ex(key, result.data.clone(), ttl.as_secs()).await?; [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] error: aborting due to 16 previous errors; 4 warnings emitted [INFO] [stderr] [INFO] [stderr] For more information about this error, try `rustc --explain E0658`. [INFO] [stderr] Original diagnostics will follow. [INFO] [stderr] [INFO] [stdout] warning: this function depends on never type fallback being `()` [INFO] [stdout] --> src/agents/store/redis.rs:161:5 [INFO] [stdout] | [INFO] [stdout] 161 | fn handle(&mut self, message: SaveSession, cx: Context) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #123748 [INFO] [stdout] = help: specify the types explicitly [INFO] [stdout] note: in edition 2024, the requirement `!: FromRedisValue` will fail [INFO] [stdout] --> src/agents/store/redis.rs:167:18 [INFO] [stdout] | [INFO] [stdout] 167 | conn.set_ex(&key, data, ttl.as_secs()).await?; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] = note: `#[warn(dependency_on_unit_never_type_fallback)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this function depends on never type fallback being `()` [INFO] [stdout] --> src/agents/store/redis.rs:189:5 [INFO] [stdout] | [INFO] [stdout] 189 | fn handle(&mut self, message: DeleteSession, cx: Context) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #123748 [INFO] [stdout] = help: specify the types explicitly [INFO] [stdout] note: in edition 2024, the requirement `!: FromRedisValue` will fail [INFO] [stdout] --> src/agents/store/redis.rs:193:18 [INFO] [stdout] | [INFO] [stdout] 193 | conn.del(&key).await?; [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this function depends on never type fallback being `()` [INFO] [stdout] --> src/agents/store/redis.rs:200:5 [INFO] [stdout] | [INFO] [stdout] 200 | fn handle(&mut self, message: SaveAuthCode, cx: Context) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #123748 [INFO] [stdout] = help: specify the types explicitly [INFO] [stdout] note: in edition 2024, the requirement `!: FromRedisValue` will fail [INFO] [stdout] --> src/agents/store/redis.rs:206:18 [INFO] [stdout] | [INFO] [stdout] 206 | conn.set_ex(&key, data, ttl.as_secs()).await?; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this function depends on never type fallback being `()` [INFO] [stdout] --> src/agents/store/redis.rs:234:5 [INFO] [stdout] | [INFO] [stdout] 234 | fn handle(&mut self, message: FetchUrlCached, cx: Context) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #123748 [INFO] [stdout] = help: specify the types explicitly [INFO] [stdout] note: in edition 2024, the requirement `!: FromRedisValue` will fail [INFO] [stdout] --> src/agents/store/redis.rs:248:22 [INFO] [stdout] | [INFO] [stdout] 248 | conn.set_ex(key, result.data.clone(), ttl.as_secs()).await?; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to deprecated safe function `std::env::remove_var` is unsafe and requires unsafe block [INFO] [stdout] --> src/utils/sd_notify.rs:13:9 [INFO] [stdout] | [INFO] [stdout] 13 | env::remove_var("NOTIFY_SOCKET"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [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 #27970 [INFO] [stdout] = note: `--force-warn deprecated-safe-2024` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] help: you can wrap the call in an `unsafe` block if you can guarantee that the environment access only happens in single-threaded code [INFO] [stdout] | [INFO] [stdout] 13 + // TODO: Audit that the environment access only happens in single-threaded code. [INFO] [stdout] 14 ~ unsafe { env::remove_var("NOTIFY_SOCKET") }; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `rng` is never read [INFO] [stdout] --> src/utils/keys.rs:205:9 [INFO] [stdout] | [INFO] [stdout] 204 | pub struct GenerateRsaConfig { [INFO] [stdout] | ----------------- field in this struct [INFO] [stdout] 205 | pub rng: SecureRandom, [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/main.rs:195:27 [INFO] [stdout] | [INFO] [stdout] 195 | let mut listener = if let Some(listener) = 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/main.rs:197:5 [INFO] [stdout] | [INFO] [stdout] 197 | } else { [INFO] [stdout] | ^ [INFO] [stdout] = note: `--force-warn if-let-rescope` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 195 ~ let mut listener = match listener { Some(listener) => { [INFO] [stdout] 196 | listener [INFO] [stdout] 197 ~ } _ => { [INFO] [stdout] 198 | let ip_addr = app [INFO] [stdout] ... [INFO] [stdout] 207 | Listener::Tcp(tcp) [INFO] [stdout] 208 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/agents/key_manager/rotating.rs:132:12 [INFO] [stdout] | [INFO] [stdout] 132 | if let Some(previous) = self.previous.as_ref() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^-------------^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/agents/key_manager/rotating.rs:134:9 [INFO] [stdout] | [INFO] [stdout] 134 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 132 ~ match self.previous.as_ref() { Some(previous) => { [INFO] [stdout] 133 | vec.push(previous.public_jwk()); [INFO] [stdout] 134 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/agents/store/memory.rs:139:20 [INFO] [stdout] | [INFO] [stdout] 139 | if let Ok(maybe_entry) = slot.try_lock() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^--------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/agents/store/memory.rs:145:17 [INFO] [stdout] | [INFO] [stdout] 145 | } 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] 139 ~ match slot.try_lock() { Ok(maybe_entry) => { [INFO] [stdout] 140 | Arc::strong_count(slot) > 1 [INFO] [stdout] ... [INFO] [stdout] 144 | .is_some() [INFO] [stdout] 145 ~ } _ => { [INFO] [stdout] 146 | true [INFO] [stdout] 147 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/agents/store/memory.rs:303:16 [INFO] [stdout] | [INFO] [stdout] 303 | if let Some(key_set) = key_manager.send(RotateKeys(slot.clone())).await { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^----- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/agents/store/memory.rs:306:13 [INFO] [stdout] | [INFO] [stdout] 306 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 303 ~ match key_manager.send(RotateKeys(slot.clone())).await { Some(key_set) => { [INFO] [stdout] 304 | *slot = key_set.clone(); [INFO] [stdout] 305 | key_manager.send(UpdateKeys(key_set)).await; [INFO] [stdout] 306 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/agents/store/redis.rs:242:16 [INFO] [stdout] | [INFO] [stdout] 242 | if let Some(data) = conn.get(key).await? { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^-------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/agents/store/redis.rs:244:13 [INFO] [stdout] | [INFO] [stdout] 244 | } 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] 242 ~ match conn.get(key).await? { Some(data) => { [INFO] [stdout] 243 | Ok(data) [INFO] [stdout] 244 ~ } _ => { [INFO] [stdout] 245 | let key = message.url.as_str().to_owned(); [INFO] [stdout] ... [INFO] [stdout] 249 | Ok(result.data) [INFO] [stdout] 250 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/agents/store/redis.rs:360:16 [INFO] [stdout] | [INFO] [stdout] 360 | if let Some(key_set) = key_manager.send(RotateKeys(key_set)).await { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^----- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/agents/store/redis.rs:366:13 [INFO] [stdout] | [INFO] [stdout] 366 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 360 ~ match key_manager.send(RotateKeys(key_set)).await { Some(key_set) => { [INFO] [stdout] 361 | me.send(SaveKeys(key_set.clone())) [INFO] [stdout] ... [INFO] [stdout] 365 | key_manager.send(UpdateKeys(key_set)).await; [INFO] [stdout] 366 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/agents/store/rusqlite.rs:456:16 [INFO] [stdout] | [INFO] [stdout] 456 | if let Some(key_set) = key_manager.send(RotateKeys(key_set)).await { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^----- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/agents/store/rusqlite.rs:461:13 [INFO] [stdout] | [INFO] [stdout] 461 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 456 ~ match key_manager.send(RotateKeys(key_set)).await { Some(key_set) => { [INFO] [stdout] 457 | me.send(SaveKeys(key_set.clone())) [INFO] [stdout] ... [INFO] [stdout] 460 | key_manager.send(UpdateKeys(key_set)).await; [INFO] [stdout] 461 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/config/env.rs:148:16 [INFO] [stdout] | [INFO] [stdout] 148 | if let Err(err) = builder.domain_validator.add_allowed_domain(data.as_ref()) { [INFO] [stdout] | ^^^^^^^^^^^^^^^---------------------------------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/config/env.rs:150:13 [INFO] [stdout] | [INFO] [stdout] 150 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 148 ~ match builder.domain_validator.add_allowed_domain(data.as_ref()) { Err(err) => { [INFO] [stdout] 149 | panic!("Invalid BROKER_ALLOWED_DOMAINS entry {source}: '{data}': {err}"); [INFO] [stdout] 150 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/config/env.rs:157:16 [INFO] [stdout] | [INFO] [stdout] 157 | if let Err(err) = builder.domain_validator.add_blocked_domain(data.as_ref()) { [INFO] [stdout] | ^^^^^^^^^^^^^^^---------------------------------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/config/env.rs:159:13 [INFO] [stdout] | [INFO] [stdout] 159 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 157 ~ match builder.domain_validator.add_blocked_domain(data.as_ref()) { Err(err) => { [INFO] [stdout] 158 | panic!("Invalid BROKER_BLOCKED_DOMAINS entry {source}: '{data}': {err}"); [INFO] [stdout] 159 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/config/toml.rs:284:16 [INFO] [stdout] | [INFO] [stdout] 284 | if let Err(err) = builder.domain_validator.add_allowed_domain(data.as_ref()) { [INFO] [stdout] | ^^^^^^^^^^^^^^^---------------------------------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/config/toml.rs:286:13 [INFO] [stdout] | [INFO] [stdout] 286 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 284 ~ match builder.domain_validator.add_allowed_domain(data.as_ref()) { Err(err) => { [INFO] [stdout] 285 | panic!("Invalid allowed_domains entry {source}: '{data}': {err}"); [INFO] [stdout] 286 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/config/toml.rs:293:16 [INFO] [stdout] | [INFO] [stdout] 293 | if let Err(err) = builder.domain_validator.add_blocked_domain(data.as_ref()) { [INFO] [stdout] | ^^^^^^^^^^^^^^^---------------------------------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/config/toml.rs:295:13 [INFO] [stdout] | [INFO] [stdout] 295 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 293 ~ match builder.domain_validator.add_blocked_domain(data.as_ref()) { Err(err) => { [INFO] [stdout] 294 | panic!("Invalid blocked_domains entry {source}: '{data}': {err}"); [INFO] [stdout] 295 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/handlers/auth.rs:329:8 [INFO] [stdout] | [INFO] [stdout] 329 | if let Ok(res) = discovery_future.await { [INFO] [stdout] | ^^^^^^^^^^^^^^---------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/handlers/auth.rs:336:5 [INFO] [stdout] | [INFO] [stdout] 336 | } 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] 329 ~ match discovery_future.await { Ok(res) => { [INFO] [stdout] 330 | if let Ok(v) = res.unwrap() { [INFO] [stdout] ... [INFO] [stdout] 335 | // The error itself is already logged above, inside the spawned task. [INFO] [stdout] 336 ~ } _ => { [INFO] [stdout] 337 | // Timeout causes fallback to the email bridge. [INFO] [stdout] 338 | info!("discovery timed out for {}", email_addr); [INFO] [stdout] 339 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/handlers/auth.rs:330:12 [INFO] [stdout] | [INFO] [stdout] 330 | if let Ok(v) = res.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/handlers/auth.rs:333:9 [INFO] [stdout] | [INFO] [stdout] 333 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 330 ~ match res.unwrap() { Ok(v) => { [INFO] [stdout] 331 | // Discovery succeeded, simply return the response. [INFO] [stdout] 332 | return Ok(v); [INFO] [stdout] 333 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/utils/agent.rs:118:19 [INFO] [stdout] | [INFO] [stdout] 118 | while let Some(dispatch) = rx.recv().await { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^--------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/utils/agent.rs:122:13 [INFO] [stdout] | [INFO] [stdout] 122 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/utils/delay_queue_task.rs:77:28 [INFO] [stdout] | [INFO] [stdout] 77 | if let Some(key) = expired_key { [INFO] [stdout] | ^^^^^^^^^^^^^^^^----------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/utils/delay_queue_task.rs:80:25 [INFO] [stdout] | [INFO] [stdout] 80 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 77 ~ match expired_key { Some(key) => { [INFO] [stdout] 78 | items.remove(&key); [INFO] [stdout] 79 | handler(key); [INFO] [stdout] 80 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/utils/redis/locking.rs:29:16 [INFO] [stdout] | [INFO] [stdout] 29 | if let Err(err) = res { [INFO] [stdout] | ^^^^^^^^^^^^^^^--- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/utils/redis/locking.rs:31:13 [INFO] [stdout] | [INFO] [stdout] 31 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 29 ~ match res { Err(err) => { [INFO] [stdout] 30 | log::error!("Failed to release Redis lock: {:?}", err); [INFO] [stdout] 31 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/utils/redis/pubsub.rs:101:16 [INFO] [stdout] | [INFO] [stdout] 101 | if let Poll::Ready(res) = cmd.poll_recv(cx) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^----------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] ... [INFO] [stdout] 108 | } else if let Poll::Ready(res) = read_fut.as_mut().poll(cx) { [INFO] [stdout] | -------------------------- this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/utils/redis/pubsub.rs:106:13 [INFO] [stdout] | [INFO] [stdout] 106 | } else if interval.as_mut().poll_tick(cx).is_ready() { [INFO] [stdout] | ^ [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/utils/redis/pubsub.rs:110:13 [INFO] [stdout] | [INFO] [stdout] 110 | } 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] 101 ~ match cmd.poll_recv(cx) { Poll::Ready(res) => { [INFO] [stdout] 102 | match res { [INFO] [stdout] ... [INFO] [stdout] 105 | } [INFO] [stdout] 106 ~ } _ => if interval.as_mut().poll_tick(cx).is_ready() { [INFO] [stdout] 107 | Poll::Ready(LoopEvent::Interval) [INFO] [stdout] 108 ~ } else { match read_fut.as_mut().poll(cx) { Poll::Ready(res) => { [INFO] [stdout] 109 | Poll::Ready(LoopEvent::Read(res)) [INFO] [stdout] 110 ~ } _ => { [INFO] [stdout] 111 | Poll::Pending [INFO] [stdout] 112 ~ }}}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/utils/redis/pubsub.rs:122:24 [INFO] [stdout] | [INFO] [stdout] 122 | if let Some(ref mut pending) = sub.pending { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^----------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/utils/redis/pubsub.rs:124:21 [INFO] [stdout] | [INFO] [stdout] 124 | } 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] 122 ~ match sub.pending { Some(ref mut pending) => { [INFO] [stdout] 123 | pending.push(reply); [INFO] [stdout] 124 ~ } _ => { [INFO] [stdout] 125 | let _ignored = reply.send(sub.tx.subscribe()); [INFO] [stdout] 126 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/utils/redis/pubsub.rs:188:28 [INFO] [stdout] | [INFO] [stdout] 188 | if let Some(sub) = subs.get(&chan[..]) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^----^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/utils/redis/pubsub.rs:190:25 [INFO] [stdout] | [INFO] [stdout] 190 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 188 ~ match subs.get(&chan[..]) { Some(sub) => { [INFO] [stdout] 189 | let _ignored = sub.tx.send(data.clone()); [INFO] [stdout] 190 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/utils/redis/pubsub.rs:194:28 [INFO] [stdout] | [INFO] [stdout] 194 | if let Some(ref mut sub) = subs.get_mut(&chan[..]) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^----^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/utils/redis/pubsub.rs:200:25 [INFO] [stdout] | [INFO] [stdout] 200 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 194 ~ match subs.get_mut(&chan[..]) { Some(ref mut sub) => { [INFO] [stdout] 195 | if let Some(pending) = sub.pending.take() { [INFO] [stdout] ... [INFO] [stdout] 199 | } [INFO] [stdout] 200 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/utils/redis/pubsub.rs:195:32 [INFO] [stdout] | [INFO] [stdout] 195 | ... if let Some(pending) = sub.pending.take() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^------------------ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/utils/redis/pubsub.rs:199:29 [INFO] [stdout] | [INFO] [stdout] 199 | ... } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 195 ~ match sub.pending.take() { Some(pending) => { [INFO] [stdout] 196 | for reply in pending { [INFO] [stdout] 197 | let _ignored = reply.send(sub.tx.subscribe()); [INFO] [stdout] 198 | } [INFO] [stdout] 199 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/utils/redis/pubsub.rs:231:16 [INFO] [stdout] | [INFO] [stdout] 231 | if let Ok(rx) = reply_rx.await { [INFO] [stdout] | ^^^^^^^^^^^^^-------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/utils/redis/pubsub.rs:233:13 [INFO] [stdout] | [INFO] [stdout] 233 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 231 ~ match reply_rx.await { Ok(rx) => { [INFO] [stdout] 232 | return rx; [INFO] [stdout] 233 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/utils/sd_notify.rs:23:12 [INFO] [stdout] | [INFO] [stdout] 23 | if let Err(err) = self.send(b"STOPPING=1\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/utils/sd_notify.rs:25:9 [INFO] [stdout] | [INFO] [stdout] 25 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 23 ~ match self.send(b"STOPPING=1\n") { Err(err) => { [INFO] [stdout] 24 | log::error!("Failed to signal stopping to the service manager: {err}"); [INFO] [stdout] 25 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 44 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] warning: failed to automatically apply fixes suggested by rustc to crate `portier_broker` [INFO] [stderr] [INFO] [stderr] after fixes were automatically applied the compiler reported errors within these files: [INFO] [stderr] [INFO] [stderr] * src/agents/store/redis.rs [INFO] [stderr] * src/agents/store/rusqlite.rs [INFO] [stderr] * src/macros.rs [INFO] [stderr] * src/main.rs [INFO] [stderr] * src/utils/sd_notify.rs [INFO] [stderr] [INFO] [stderr] This likely indicates a bug in either rustc or cargo itself, [INFO] [stderr] and we would appreciate a bug report! You're likely to see [INFO] [stderr] a number of compiler warnings after this message which cargo [INFO] [stderr] attempted to fix but failed. If you could open an issue at [INFO] [stderr] https://github.com/rust-lang/rust/issues [INFO] [stderr] quoting the full output of this command we'd be very appreciative! [INFO] [stderr] Note that you may be able to make some more progress in the near-term [INFO] [stderr] fixing code with the `--broken-code` flag [INFO] [stderr] [INFO] [stderr] The following errors were reported: [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/macros.rs:12:7 [INFO] [stderr] | [INFO] [stderr] 12 | ( $params:expr_2021 , $key:tt ) => { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/macros.rs:19:7 [INFO] [stderr] | [INFO] [stderr] 19 | ( $params:expr_2021 , $key:tt , $default:expr_2021 ) => { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/macros.rs:19:37 [INFO] [stderr] | [INFO] [stderr] 19 | ( $params:expr_2021 , $key:tt , $default:expr_2021 ) => { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/macros.rs:34:7 [INFO] [stderr] | [INFO] [stderr] 34 | ( $params:expr_2021 , $key:tt ) => { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/macros.rs:52:7 [INFO] [stderr] | [INFO] [stderr] 52 | ( $input:expr_2021, $key:tt, $conv:expr_2021, $descr:expr_2021 ) => { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/macros.rs:52:34 [INFO] [stderr] | [INFO] [stderr] 52 | ( $input:expr_2021, $key:tt, $conv:expr_2021, $descr:expr_2021 ) => { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/macros.rs:52:51 [INFO] [stderr] | [INFO] [stderr] 52 | ( $input:expr_2021, $key:tt, $conv:expr_2021, $descr:expr_2021 ) => { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/macros.rs:57:7 [INFO] [stderr] | [INFO] [stderr] 57 | ( $input:expr_2021, $key:tt, $descr:expr_2021 ) => { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/macros.rs:57:34 [INFO] [stderr] | [INFO] [stderr] 57 | ( $input:expr_2021, $key:tt, $descr:expr_2021 ) => { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/macros.rs:71:7 [INFO] [stderr] | [INFO] [stderr] 71 | ( $check:expr_2021, $key:expr_2021, $descr:expr_2021 ) => { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/macros.rs:71:25 [INFO] [stderr] | [INFO] [stderr] 71 | ( $check:expr_2021, $key:expr_2021, $descr:expr_2021 ) => { [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/macros.rs:71:41 [INFO] [stderr] | [INFO] [stderr] 71 | ( $check:expr_2021, $key:expr_2021, $descr:expr_2021 ) => { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/agents/store/rusqlite.rs:12:8 [INFO] [stderr] | [INFO] [stderr] 12 | ($($list:expr_2021),*) => ( [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/macros.rs:12:15 [INFO] [stdout] | [INFO] [stdout] 12 | ( $params:expr , $key:tt ) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] = note: `--force-warn edition-2024-expr-fragment-specifier` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 12 | ( $params:expr_2021 , $key:tt ) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/macros.rs:19:15 [INFO] [stdout] | [INFO] [stdout] 19 | ( $params:expr , $key:tt , $default:expr ) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 19 | ( $params:expr_2021 , $key:tt , $default:expr ) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/macros.rs:19:41 [INFO] [stdout] | [INFO] [stdout] 19 | ( $params:expr , $key:tt , $default:expr ) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 19 | ( $params:expr , $key:tt , $default:expr_2021 ) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/macros.rs:34:15 [INFO] [stdout] | [INFO] [stdout] 34 | ( $params:expr , $key:tt ) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 34 | ( $params:expr_2021 , $key:tt ) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/macros.rs:52:14 [INFO] [stdout] | [INFO] [stdout] 52 | ( $input:expr, $key:tt, $conv:expr, $descr:expr ) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 52 | ( $input:expr_2021, $key:tt, $conv:expr, $descr:expr ) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/macros.rs:52:35 [INFO] [stdout] | [INFO] [stdout] 52 | ( $input:expr, $key:tt, $conv:expr, $descr:expr ) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 52 | ( $input:expr, $key:tt, $conv:expr_2021, $descr:expr ) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] --> src/main.rs:229:10 [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/macros.rs:52:48 [INFO] [stdout] | [INFO] [stdout] 52 | ( $input:expr, $key:tt, $conv:expr, $descr:expr ) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 52 | ( $input:expr, $key:tt, $conv:expr, $descr:expr_2021 ) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] | [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/macros.rs:57:14 [INFO] [stdout] | [INFO] [stdout] 57 | ( $input:expr, $key:tt, $descr:expr ) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 57 | ( $input:expr_2021, $key:tt, $descr:expr ) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] 229 | ($socket: expr_2021, $addr:expr_2021) => {{ [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/macros.rs:57:36 [INFO] [stdout] | [INFO] [stdout] 57 | ( $input:expr, $key:tt, $descr:expr ) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 57 | ( $input:expr, $key:tt, $descr:expr_2021 ) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/macros.rs:71:14 [INFO] [stdout] | [INFO] [stdout] 71 | ( $check:expr, $key:expr, $descr:expr ) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 71 | ( $check:expr_2021, $key:expr, $descr:expr ) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] | [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/macros.rs:71:25 [INFO] [stdout] | [INFO] [stdout] 71 | ( $check:expr, $key:expr, $descr:expr ) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 71 | ( $check:expr, $key:expr_2021, $descr:expr ) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/macros.rs:71:38 [INFO] [stdout] | [INFO] [stdout] 71 | ( $check:expr, $key:expr, $descr:expr ) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 71 | ( $check:expr, $key:expr, $descr:expr_2021 ) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/agents/store/rusqlite.rs:12:14 [INFO] [stdout] | [INFO] [stdout] 12 | ($($list:expr),*) => ( [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 12 | ($($list:expr_2021),*) => ( [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/main.rs:229:19 [INFO] [stdout] | [INFO] [stdout] 229 | ($socket: expr, $addr:expr) => {{ [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 229 | ($socket: expr_2021, $addr:expr) => {{ [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/main.rs:229:31 [INFO] [stdout] | [INFO] [stdout] 229 | ($socket: expr, $addr:expr) => {{ [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 229 | ($socket: expr, $addr:expr_2021) => {{ [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stdout] warning: this function depends on never type fallback being `()` [INFO] [stdout] --> src/agents/store/redis.rs:161:5 [INFO] [stdout] | [INFO] [stdout] 161 | fn handle(&mut self, message: SaveSession, cx: Context) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #123748 [INFO] [stdout] = help: specify the types explicitly [INFO] [stdout] note: in edition 2024, the requirement `!: FromRedisValue` will fail [INFO] [stdout] --> src/agents/store/redis.rs:167:18 [INFO] [stdout] | [INFO] [stdout] 167 | conn.set_ex(&key, data, ttl.as_secs()).await?; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] = note: `#[warn(dependency_on_unit_never_type_fallback)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] --> src/main.rs:229:30 [INFO] [stdout] warning: this function depends on never type fallback being `()` [INFO] [stdout] --> src/agents/store/redis.rs:189:5 [INFO] [stdout] | [INFO] [stdout] 189 | fn handle(&mut self, message: DeleteSession, cx: Context) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #123748 [INFO] [stdout] = help: specify the types explicitly [INFO] [stdout] note: in edition 2024, the requirement `!: FromRedisValue` will fail [INFO] [stdout] --> src/agents/store/redis.rs:193:18 [INFO] [stdout] | [INFO] [stdout] 193 | conn.del(&key).await?; [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] | [INFO] [stdout] warning: this function depends on never type fallback being `()` [INFO] [stdout] --> src/agents/store/redis.rs:200:5 [INFO] [stdout] | [INFO] [stdout] 200 | fn handle(&mut self, message: SaveAuthCode, cx: Context) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #123748 [INFO] [stdout] = help: specify the types explicitly [INFO] [stdout] note: in edition 2024, the requirement `!: FromRedisValue` will fail [INFO] [stdout] --> src/agents/store/redis.rs:206:18 [INFO] [stdout] | [INFO] [stdout] 206 | conn.set_ex(&key, data, ttl.as_secs()).await?; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] 229 | ($socket: expr_2021, $addr:expr_2021) => {{ [INFO] [stdout] warning: this function depends on never type fallback being `()` [INFO] [stdout] --> src/agents/store/redis.rs:234:5 [INFO] [stdout] | [INFO] [stdout] 234 | fn handle(&mut self, message: FetchUrlCached, cx: Context) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #123748 [INFO] [stdout] = help: specify the types explicitly [INFO] [stdout] note: in edition 2024, the requirement `!: FromRedisValue` will fail [INFO] [stdout] --> src/agents/store/redis.rs:248:22 [INFO] [stdout] | [INFO] [stdout] 248 | conn.set_ex(key, result.data.clone(), ttl.as_secs()).await?; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stdout] warning: call to deprecated safe function `std::env::remove_var` is unsafe and requires unsafe block [INFO] [stdout] --> src/utils/sd_notify.rs:13:9 [INFO] [stdout] | [INFO] [stdout] 13 | env::remove_var("NOTIFY_SOCKET"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [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 #27970 [INFO] [stdout] = note: `--force-warn deprecated-safe-2024` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] help: you can wrap the call in an `unsafe` block if you can guarantee that the environment access only happens in single-threaded code [INFO] [stdout] | [INFO] [stdout] 13 + // TODO: Audit that the environment access only happens in single-threaded code. [INFO] [stdout] 14 ~ unsafe { env::remove_var("NOTIFY_SOCKET") }; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] | [INFO] [stdout] warning: field `rng` is never read [INFO] [stdout] --> src/utils/keys.rs:205:9 [INFO] [stdout] | [INFO] [stdout] 204 | pub struct GenerateRsaConfig { [INFO] [stdout] | ----------------- field in this struct [INFO] [stdout] 205 | pub rng: SecureRandom, [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error: usage of an `unsafe` block [INFO] [stderr] --> src/utils/sd_notify.rs:14:9 [INFO] [stderr] | [INFO] [stderr] 14 | unsafe { env::remove_var("NOTIFY_SOCKET") }; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: the lint level is defined here [INFO] [stderr] --> src/main.rs:1:11 [INFO] [stderr] | [INFO] [stderr] 1 | #![forbid(unsafe_code)] [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: this function depends on never type fallback being `()` [INFO] [stderr] --> src/agents/store/redis.rs:161:5 [INFO] [stderr] | [INFO] [stderr] 161 | fn handle(&mut self, message: SaveSession, cx: Context) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #123748 [INFO] [stderr] = help: specify the types explicitly [INFO] [stderr] note: in edition 2024, the requirement `!: FromRedisValue` will fail [INFO] [stderr] --> src/agents/store/redis.rs:167:18 [INFO] [stderr] | [INFO] [stderr] 167 | conn.set_ex(&key, data, ttl.as_secs()).await?; [INFO] [stderr] | ^^^^^^ [INFO] [stderr] = note: `#[warn(dependency_on_unit_never_type_fallback)]` on by default [INFO] [stderr] [INFO] [stderr] warning: this function depends on never type fallback being `()` [INFO] [stderr] --> src/agents/store/redis.rs:189:5 [INFO] [stderr] | [INFO] [stderr] 189 | fn handle(&mut self, message: DeleteSession, cx: Context) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #123748 [INFO] [stderr] = help: specify the types explicitly [INFO] [stderr] note: in edition 2024, the requirement `!: FromRedisValue` will fail [INFO] [stderr] --> src/agents/store/redis.rs:193:18 [INFO] [stderr] | [INFO] [stderr] 193 | conn.del(&key).await?; [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: this function depends on never type fallback being `()` [INFO] [stderr] --> src/agents/store/redis.rs:200:5 [INFO] [stderr] | [INFO] [stderr] 200 | fn handle(&mut self, message: SaveAuthCode, cx: Context) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #123748 [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/main.rs:195:27 [INFO] [stdout] | [INFO] [stdout] 195 | let mut listener = if let Some(listener) = 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/main.rs:197:5 [INFO] [stdout] | [INFO] [stdout] 197 | } else { [INFO] [stdout] | ^ [INFO] [stdout] = note: `--force-warn if-let-rescope` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 195 ~ let mut listener = match listener { Some(listener) => { [INFO] [stdout] 196 | listener [INFO] [stdout] 197 ~ } _ => { [INFO] [stdout] 198 | let ip_addr = app [INFO] [stdout] ... [INFO] [stdout] 207 | Listener::Tcp(tcp) [INFO] [stdout] 208 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] = help: specify the types explicitly [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/agents/key_manager/rotating.rs:132:12 [INFO] [stdout] | [INFO] [stdout] 132 | if let Some(previous) = self.previous.as_ref() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^-------------^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/agents/key_manager/rotating.rs:134:9 [INFO] [stdout] | [INFO] [stdout] 134 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 132 ~ match self.previous.as_ref() { Some(previous) => { [INFO] [stdout] 133 | vec.push(previous.public_jwk()); [INFO] [stdout] 134 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] note: in edition 2024, the requirement `!: FromRedisValue` will fail [INFO] [stderr] --> src/agents/store/redis.rs:206:18 [INFO] [stderr] | [INFO] [stderr] 206 | conn.set_ex(&key, data, ttl.as_secs()).await?; [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: this function depends on never type fallback being `()` [INFO] [stderr] --> src/agents/store/redis.rs:234:5 [INFO] [stderr] | [INFO] [stderr] 234 | fn handle(&mut self, message: FetchUrlCached, cx: Context) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/agents/store/memory.rs:139:20 [INFO] [stdout] | [INFO] [stdout] 139 | if let Ok(maybe_entry) = slot.try_lock() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^--------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/agents/store/memory.rs:145:17 [INFO] [stdout] | [INFO] [stdout] 145 | } 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] 139 ~ match slot.try_lock() { Ok(maybe_entry) => { [INFO] [stdout] 140 | Arc::strong_count(slot) > 1 [INFO] [stdout] ... [INFO] [stdout] 144 | .is_some() [INFO] [stdout] 145 ~ } _ => { [INFO] [stdout] 146 | true [INFO] [stdout] 147 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] | [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #123748 [INFO] [stderr] = help: specify the types explicitly [INFO] [stderr] note: in edition 2024, the requirement `!: FromRedisValue` will fail [INFO] [stderr] --> src/agents/store/redis.rs:248:22 [INFO] [stderr] | [INFO] [stderr] 248 | conn.set_ex(key, result.data.clone(), ttl.as_secs()).await?; [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] error: aborting due to 16 previous errors; 4 warnings emitted [INFO] [stderr] [INFO] [stderr] For more information about this error, try `rustc --explain E0658`. [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/agents/store/memory.rs:303:16 [INFO] [stdout] | [INFO] [stdout] 303 | if let Some(key_set) = key_manager.send(RotateKeys(slot.clone())).await { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^----- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/agents/store/memory.rs:306:13 [INFO] [stdout] | [INFO] [stdout] 306 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 303 ~ match key_manager.send(RotateKeys(slot.clone())).await { Some(key_set) => { [INFO] [stdout] 304 | *slot = key_set.clone(); [INFO] [stdout] 305 | key_manager.send(UpdateKeys(key_set)).await; [INFO] [stdout] 306 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Original diagnostics will follow. [INFO] [stderr] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/agents/store/redis.rs:242:16 [INFO] [stdout] | [INFO] [stdout] 242 | if let Some(data) = conn.get(key).await? { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^-------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/agents/store/redis.rs:244:13 [INFO] [stdout] | [INFO] [stdout] 244 | } 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] 242 ~ match conn.get(key).await? { Some(data) => { [INFO] [stdout] 243 | Ok(data) [INFO] [stdout] 244 ~ } _ => { [INFO] [stdout] 245 | let key = message.url.as_str().to_owned(); [INFO] [stdout] ... [INFO] [stdout] 249 | Ok(result.data) [INFO] [stdout] 250 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/agents/store/redis.rs:360:16 [INFO] [stdout] | [INFO] [stdout] 360 | if let Some(key_set) = key_manager.send(RotateKeys(key_set)).await { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^----- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/agents/store/redis.rs:366:13 [INFO] [stdout] | [INFO] [stdout] 366 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 360 ~ match key_manager.send(RotateKeys(key_set)).await { Some(key_set) => { [INFO] [stdout] 361 | me.send(SaveKeys(key_set.clone())) [INFO] [stdout] ... [INFO] [stdout] 365 | key_manager.send(UpdateKeys(key_set)).await; [INFO] [stdout] 366 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/agents/store/rusqlite.rs:456:16 [INFO] [stdout] | [INFO] [stdout] 456 | if let Some(key_set) = key_manager.send(RotateKeys(key_set)).await { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^----- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/agents/store/rusqlite.rs:461:13 [INFO] [stdout] | [INFO] [stdout] 461 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 456 ~ match key_manager.send(RotateKeys(key_set)).await { Some(key_set) => { [INFO] [stdout] 457 | me.send(SaveKeys(key_set.clone())) [INFO] [stdout] ... [INFO] [stdout] 460 | key_manager.send(UpdateKeys(key_set)).await; [INFO] [stdout] 461 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/config/env.rs:148:16 [INFO] [stdout] | [INFO] [stdout] 148 | if let Err(err) = builder.domain_validator.add_allowed_domain(data.as_ref()) { [INFO] [stdout] | ^^^^^^^^^^^^^^^---------------------------------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/config/env.rs:150:13 [INFO] [stdout] | [INFO] [stdout] 150 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 148 ~ match builder.domain_validator.add_allowed_domain(data.as_ref()) { Err(err) => { [INFO] [stdout] 149 | panic!("Invalid BROKER_ALLOWED_DOMAINS entry {source}: '{data}': {err}"); [INFO] [stdout] 150 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/config/env.rs:157:16 [INFO] [stdout] | [INFO] [stdout] 157 | if let Err(err) = builder.domain_validator.add_blocked_domain(data.as_ref()) { [INFO] [stdout] | ^^^^^^^^^^^^^^^---------------------------------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/config/env.rs:159:13 [INFO] [stdout] | [INFO] [stdout] 159 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 157 ~ match builder.domain_validator.add_blocked_domain(data.as_ref()) { Err(err) => { [INFO] [stdout] 158 | panic!("Invalid BROKER_BLOCKED_DOMAINS entry {source}: '{data}': {err}"); [INFO] [stdout] 159 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/config/toml.rs:284:16 [INFO] [stdout] | [INFO] [stdout] 284 | if let Err(err) = builder.domain_validator.add_allowed_domain(data.as_ref()) { [INFO] [stdout] | ^^^^^^^^^^^^^^^---------------------------------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/config/toml.rs:286:13 [INFO] [stdout] | [INFO] [stdout] 286 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 284 ~ match builder.domain_validator.add_allowed_domain(data.as_ref()) { Err(err) => { [INFO] [stdout] 285 | panic!("Invalid allowed_domains entry {source}: '{data}': {err}"); [INFO] [stdout] 286 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/config/toml.rs:293:16 [INFO] [stdout] | [INFO] [stdout] 293 | if let Err(err) = builder.domain_validator.add_blocked_domain(data.as_ref()) { [INFO] [stdout] | ^^^^^^^^^^^^^^^---------------------------------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/config/toml.rs:295:13 [INFO] [stdout] | [INFO] [stdout] 295 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 293 ~ match builder.domain_validator.add_blocked_domain(data.as_ref()) { Err(err) => { [INFO] [stdout] 294 | panic!("Invalid blocked_domains entry {source}: '{data}': {err}"); [INFO] [stdout] 295 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/handlers/auth.rs:329:8 [INFO] [stdout] | [INFO] [stdout] 329 | if let Ok(res) = discovery_future.await { [INFO] [stdout] | ^^^^^^^^^^^^^^---------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/handlers/auth.rs:336:5 [INFO] [stdout] | [INFO] [stdout] 336 | } 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] 329 ~ match discovery_future.await { Ok(res) => { [INFO] [stdout] 330 | if let Ok(v) = res.unwrap() { [INFO] [stdout] ... [INFO] [stdout] 335 | // The error itself is already logged above, inside the spawned task. [INFO] [stdout] 336 ~ } _ => { [INFO] [stdout] 337 | // Timeout causes fallback to the email bridge. [INFO] [stdout] 338 | info!("discovery timed out for {}", email_addr); [INFO] [stdout] 339 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/handlers/auth.rs:330:12 [INFO] [stdout] | [INFO] [stdout] 330 | if let Ok(v) = res.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/handlers/auth.rs:333:9 [INFO] [stdout] | [INFO] [stdout] 333 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 330 ~ match res.unwrap() { Ok(v) => { [INFO] [stdout] 331 | // Discovery succeeded, simply return the response. [INFO] [stdout] 332 | return Ok(v); [INFO] [stdout] 333 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/utils/agent.rs:118:19 [INFO] [stdout] | [INFO] [stdout] 118 | while let Some(dispatch) = rx.recv().await { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^--------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/utils/agent.rs:122:13 [INFO] [stdout] | [INFO] [stdout] 122 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/utils/delay_queue_task.rs:77:28 [INFO] [stdout] | [INFO] [stdout] 77 | if let Some(key) = expired_key { [INFO] [stdout] | ^^^^^^^^^^^^^^^^----------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/utils/delay_queue_task.rs:80:25 [INFO] [stdout] | [INFO] [stdout] 80 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 77 ~ match expired_key { Some(key) => { [INFO] [stdout] 78 | items.remove(&key); [INFO] [stdout] 79 | handler(key); [INFO] [stdout] 80 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/utils/redis/locking.rs:29:16 [INFO] [stdout] | [INFO] [stdout] 29 | if let Err(err) = res { [INFO] [stdout] | ^^^^^^^^^^^^^^^--- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/utils/redis/locking.rs:31:13 [INFO] [stdout] | [INFO] [stdout] 31 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 29 ~ match res { Err(err) => { [INFO] [stdout] 30 | log::error!("Failed to release Redis lock: {:?}", err); [INFO] [stdout] 31 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/utils/redis/pubsub.rs:101:16 [INFO] [stdout] | [INFO] [stdout] 101 | if let Poll::Ready(res) = cmd.poll_recv(cx) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^----------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] ... [INFO] [stdout] 108 | } else if let Poll::Ready(res) = read_fut.as_mut().poll(cx) { [INFO] [stdout] | -------------------------- this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/utils/redis/pubsub.rs:106:13 [INFO] [stdout] | [INFO] [stdout] 106 | } else if interval.as_mut().poll_tick(cx).is_ready() { [INFO] [stdout] | ^ [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/utils/redis/pubsub.rs:110:13 [INFO] [stdout] | [INFO] [stdout] 110 | } 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] 101 ~ match cmd.poll_recv(cx) { Poll::Ready(res) => { [INFO] [stdout] 102 | match res { [INFO] [stdout] ... [INFO] [stdout] 105 | } [INFO] [stdout] 106 ~ } _ => if interval.as_mut().poll_tick(cx).is_ready() { [INFO] [stdout] 107 | Poll::Ready(LoopEvent::Interval) [INFO] [stdout] 108 ~ } else { match read_fut.as_mut().poll(cx) { Poll::Ready(res) => { [INFO] [stdout] 109 | Poll::Ready(LoopEvent::Read(res)) [INFO] [stdout] 110 ~ } _ => { [INFO] [stdout] 111 | Poll::Pending [INFO] [stdout] 112 ~ }}}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/utils/redis/pubsub.rs:122:24 [INFO] [stdout] | [INFO] [stdout] 122 | if let Some(ref mut pending) = sub.pending { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^----------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/utils/redis/pubsub.rs:124:21 [INFO] [stdout] | [INFO] [stdout] 124 | } 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] 122 ~ match sub.pending { Some(ref mut pending) => { [INFO] [stdout] 123 | pending.push(reply); [INFO] [stdout] 124 ~ } _ => { [INFO] [stdout] 125 | let _ignored = reply.send(sub.tx.subscribe()); [INFO] [stdout] 126 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/utils/redis/pubsub.rs:188:28 [INFO] [stdout] | [INFO] [stdout] 188 | if let Some(sub) = subs.get(&chan[..]) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^----^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/utils/redis/pubsub.rs:190:25 [INFO] [stdout] | [INFO] [stdout] 190 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 188 ~ match subs.get(&chan[..]) { Some(sub) => { [INFO] [stdout] 189 | let _ignored = sub.tx.send(data.clone()); [INFO] [stdout] 190 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/utils/redis/pubsub.rs:194:28 [INFO] [stdout] | [INFO] [stdout] 194 | if let Some(ref mut sub) = subs.get_mut(&chan[..]) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^----^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/utils/redis/pubsub.rs:200:25 [INFO] [stdout] | [INFO] [stdout] 200 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 194 ~ match subs.get_mut(&chan[..]) { Some(ref mut sub) => { [INFO] [stdout] 195 | if let Some(pending) = sub.pending.take() { [INFO] [stdout] ... [INFO] [stdout] 199 | } [INFO] [stdout] 200 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/utils/redis/pubsub.rs:195:32 [INFO] [stdout] | [INFO] [stdout] 195 | ... if let Some(pending) = sub.pending.take() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^------------------ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/utils/redis/pubsub.rs:199:29 [INFO] [stdout] | [INFO] [stdout] 199 | ... } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 195 ~ match sub.pending.take() { Some(pending) => { [INFO] [stdout] 196 | for reply in pending { [INFO] [stdout] 197 | let _ignored = reply.send(sub.tx.subscribe()); [INFO] [stdout] 198 | } [INFO] [stdout] 199 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/utils/redis/pubsub.rs:231:16 [INFO] [stdout] | [INFO] [stdout] 231 | if let Ok(rx) = reply_rx.await { [INFO] [stdout] | ^^^^^^^^^^^^^-------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/utils/redis/pubsub.rs:233:13 [INFO] [stdout] | [INFO] [stdout] 233 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 231 ~ match reply_rx.await { Ok(rx) => { [INFO] [stdout] 232 | return rx; [INFO] [stdout] 233 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/utils/sd_notify.rs:23:12 [INFO] [stdout] | [INFO] [stdout] 23 | if let Err(err) = self.send(b"STOPPING=1\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/utils/sd_notify.rs:25:9 [INFO] [stdout] | [INFO] [stdout] 25 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 23 ~ match self.send(b"STOPPING=1\n") { Err(err) => { [INFO] [stdout] 24 | log::error!("Failed to signal stopping to the service manager: {err}"); [INFO] [stdout] 25 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 44 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 21.93s [INFO] [stderr] Running `cargo check` to verify 2024 [INFO] [stderr] Checking portier_broker v0.11.0 (/tmp/fixit) [INFO] [stdout] error[E0277]: the trait bound `!: FromRedisValue` is not satisfied [INFO] [stdout] --> src/agents/store/redis.rs:167:18 [INFO] [stdout] | [INFO] [stdout] 167 | conn.set_ex(&key, data, ttl.as_secs()).await?; [INFO] [stdout] | ^^^^^^ the trait `FromRedisValue` is not implemented for `!` [INFO] [stdout] | [INFO] [stdout] = help: the following other types implement trait `FromRedisValue`: [INFO] [stdout] () [INFO] [stdout] (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12) [INFO] [stdout] (T10, T11, T12) [INFO] [stdout] (T11, T12) [INFO] [stdout] (T12,) [INFO] [stdout] (T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12) [INFO] [stdout] (T3, T4, T5, T6, T7, T8, T9, T10, T11, T12) [INFO] [stdout] (T4, T5, T6, T7, T8, T9, T10, T11, T12) [INFO] [stdout] and 34 others [INFO] [stdout] = note: this error might have been caused by changes to Rust's type-inference algorithm (see issue #48950 for more information) [INFO] [stdout] = help: did you intend to use the type `()` here instead? [INFO] [stdout] note: required by a bound in `redis::AsyncCommands::set_ex` [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/redis-0.25.4/src/commands/mod.rs:131:1 [INFO] [stdout] | [INFO] [stdout] 131 | / implement_commands! { [INFO] [stdout] 132 | | 'a [INFO] [stdout] 133 | | // most common operations [INFO] [stdout] ... | [INFO] [stdout] 173 | | fn set_ex(key: K, value: V, seconds: u64) { [INFO] [stdout] | | ------ required by a bound in this associated function [INFO] [stdout] ... | [INFO] [stdout] 1967 | | } [INFO] [stdout] 1968 | | } [INFO] [stdout] | |_^ required by this bound in `AsyncCommands::set_ex` [INFO] [stdout] = note: this error originates in the macro `implement_commands` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `!: FromRedisValue` is not satisfied [INFO] [stdout] --> src/agents/store/redis.rs:193:18 [INFO] [stdout] | [INFO] [stdout] 193 | conn.del(&key).await?; [INFO] [stdout] | ^^^ the trait `FromRedisValue` is not implemented for `!` [INFO] [stdout] | [INFO] [stdout] = help: the following other types implement trait `FromRedisValue`: [INFO] [stdout] () [INFO] [stdout] (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12) [INFO] [stdout] (T10, T11, T12) [INFO] [stdout] (T11, T12) [INFO] [stdout] (T12,) [INFO] [stdout] (T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12) [INFO] [stdout] (T3, T4, T5, T6, T7, T8, T9, T10, T11, T12) [INFO] [stdout] (T4, T5, T6, T7, T8, T9, T10, T11, T12) [INFO] [stdout] and 34 others [INFO] [stdout] = note: this error might have been caused by changes to Rust's type-inference algorithm (see issue #48950 for more information) [INFO] [stdout] = help: did you intend to use the type `()` here instead? [INFO] [stdout] note: required by a bound in `redis::AsyncCommands::del` [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/redis-0.25.4/src/commands/mod.rs:131:1 [INFO] [stdout] | [INFO] [stdout] 131 | / implement_commands! { [INFO] [stdout] 132 | | 'a [INFO] [stdout] 133 | | // most common operations [INFO] [stdout] ... | [INFO] [stdout] 208 | | fn del(key: K) { [INFO] [stdout] | | --- required by a bound in this associated function [INFO] [stdout] ... | [INFO] [stdout] 1967 | | } [INFO] [stdout] 1968 | | } [INFO] [stdout] | |_^ required by this bound in `AsyncCommands::del` [INFO] [stdout] = note: this error originates in the macro `implement_commands` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `!: FromRedisValue` is not satisfied [INFO] [stdout] --> src/agents/store/redis.rs:206:18 [INFO] [stdout] | [INFO] [stdout] 206 | conn.set_ex(&key, data, ttl.as_secs()).await?; [INFO] [stdout] | ^^^^^^ the trait `FromRedisValue` is not implemented for `!` [INFO] [stdout] | [INFO] [stdout] = help: the following other types implement trait `FromRedisValue`: [INFO] [stdout] () [INFO] [stdout] (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12) [INFO] [stdout] (T10, T11, T12) [INFO] [stdout] (T11, T12) [INFO] [stdout] (T12,) [INFO] [stdout] (T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12) [INFO] [stdout] (T3, T4, T5, T6, T7, T8, T9, T10, T11, T12) [INFO] [stdout] (T4, T5, T6, T7, T8, T9, T10, T11, T12) [INFO] [stdout] and 34 others [INFO] [stdout] = note: this error might have been caused by changes to Rust's type-inference algorithm (see issue #48950 for more information) [INFO] [stdout] = help: did you intend to use the type `()` here instead? [INFO] [stdout] note: required by a bound in `redis::AsyncCommands::set_ex` [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/redis-0.25.4/src/commands/mod.rs:131:1 [INFO] [stdout] | [INFO] [stdout] 131 | / implement_commands! { [INFO] [stdout] 132 | | 'a [INFO] [stdout] 133 | | // most common operations [INFO] [stdout] ... | [INFO] [stdout] 173 | | fn set_ex(key: K, value: V, seconds: u64) { [INFO] [stdout] | | ------ required by a bound in this associated function [INFO] [stdout] ... | [INFO] [stdout] 1967 | | } [INFO] [stdout] 1968 | | } [INFO] [stdout] | |_^ required by this bound in `AsyncCommands::set_ex` [INFO] [stdout] = note: this error originates in the macro `implement_commands` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `!: FromRedisValue` is not satisfied [INFO] [stdout] --> src/agents/store/redis.rs:248:22 [INFO] [stdout] | [INFO] [stdout] 248 | conn.set_ex(key, result.data.clone(), ttl.as_secs()).await?; [INFO] [stdout] | ^^^^^^ the trait `FromRedisValue` is not implemented for `!` [INFO] [stdout] | [INFO] [stdout] = help: the following other types implement trait `FromRedisValue`: [INFO] [stdout] () [INFO] [stdout] (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12) [INFO] [stdout] (T10, T11, T12) [INFO] [stdout] (T11, T12) [INFO] [stdout] (T12,) [INFO] [stdout] (T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12) [INFO] [stdout] (T3, T4, T5, T6, T7, T8, T9, T10, T11, T12) [INFO] [stdout] (T4, T5, T6, T7, T8, T9, T10, T11, T12) [INFO] [stdout] and 34 others [INFO] [stdout] = note: this error might have been caused by changes to Rust's type-inference algorithm (see issue #48950 for more information) [INFO] [stdout] = help: did you intend to use the type `()` here instead? [INFO] [stdout] note: required by a bound in `redis::AsyncCommands::set_ex` [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/redis-0.25.4/src/commands/mod.rs:131:1 [INFO] [stdout] | [INFO] [stdout] 131 | / implement_commands! { [INFO] [stdout] 132 | | 'a [INFO] [stdout] 133 | | // most common operations [INFO] [stdout] ... | [INFO] [stdout] 173 | | fn set_ex(key: K, value: V, seconds: u64) { [INFO] [stdout] | | ------ required by a bound in this associated function [INFO] [stdout] ... | [INFO] [stdout] 1967 | | } [INFO] [stdout] 1968 | | } [INFO] [stdout] | |_^ required by this bound in `AsyncCommands::set_ex` [INFO] [stdout] = note: this error originates in the macro `implement_commands` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `!: FromRedisValue` is not satisfied [INFO] [stdout] --> src/agents/store/redis.rs:167:18 [INFO] [stdout] | [INFO] [stdout] 167 | conn.set_ex(&key, data, ttl.as_secs()).await?; [INFO] [stdout] | ^^^^^^ the trait `FromRedisValue` is not implemented for `!` [INFO] [stdout] | [INFO] [stdout] = help: the following other types implement trait `FromRedisValue`: [INFO] [stdout] () [INFO] [stdout] (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12) [INFO] [stdout] (T10, T11, T12) [INFO] [stdout] (T11, T12) [INFO] [stdout] (T12,) [INFO] [stdout] (T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12) [INFO] [stdout] (T3, T4, T5, T6, T7, T8, T9, T10, T11, T12) [INFO] [stdout] (T4, T5, T6, T7, T8, T9, T10, T11, T12) [INFO] [stdout] and 34 others [INFO] [stdout] = note: this error might have been caused by changes to Rust's type-inference algorithm (see issue #48950 for more information) [INFO] [stdout] = help: did you intend to use the type `()` here instead? [INFO] [stdout] note: required by a bound in `redis::AsyncCommands::set_ex` [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/redis-0.25.4/src/commands/mod.rs:131:1 [INFO] [stdout] | [INFO] [stdout] 131 | / implement_commands! { [INFO] [stdout] 132 | | 'a [INFO] [stdout] 133 | | // most common operations [INFO] [stdout] ... | [INFO] [stdout] 173 | | fn set_ex(key: K, value: V, seconds: u64) { [INFO] [stdout] | | ------ required by a bound in this associated function [INFO] [stdout] ... | [INFO] [stdout] 1967 | | } [INFO] [stdout] 1968 | | } [INFO] [stdout] | |_^ required by this bound in `AsyncCommands::set_ex` [INFO] [stdout] = note: this error originates in the macro `implement_commands` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `!: FromRedisValue` is not satisfied [INFO] [stdout] --> src/agents/store/redis.rs:193:18 [INFO] [stdout] | [INFO] [stdout] 193 | conn.del(&key).await?; [INFO] [stdout] | ^^^ the trait `FromRedisValue` is not implemented for `!` [INFO] [stdout] | [INFO] [stdout] = help: the following other types implement trait `FromRedisValue`: [INFO] [stdout] () [INFO] [stdout] (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12) [INFO] [stdout] (T10, T11, T12) [INFO] [stdout] (T11, T12) [INFO] [stdout] (T12,) [INFO] [stdout] (T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12) [INFO] [stdout] (T3, T4, T5, T6, T7, T8, T9, T10, T11, T12) [INFO] [stdout] (T4, T5, T6, T7, T8, T9, T10, T11, T12) [INFO] [stdout] and 34 others [INFO] [stdout] = note: this error might have been caused by changes to Rust's type-inference algorithm (see issue #48950 for more information) [INFO] [stdout] = help: did you intend to use the type `()` here instead? [INFO] [stdout] note: required by a bound in `redis::AsyncCommands::del` [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/redis-0.25.4/src/commands/mod.rs:131:1 [INFO] [stdout] | [INFO] [stdout] 131 | / implement_commands! { [INFO] [stdout] 132 | | 'a [INFO] [stdout] 133 | | // most common operations [INFO] [stdout] ... | [INFO] [stdout] 208 | | fn del(key: K) { [INFO] [stdout] | | --- required by a bound in this associated function [INFO] [stdout] ... | [INFO] [stdout] 1967 | | } [INFO] [stdout] 1968 | | } [INFO] [stdout] | |_^ required by this bound in `AsyncCommands::del` [INFO] [stdout] = note: this error originates in the macro `implement_commands` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `!: FromRedisValue` is not satisfied [INFO] [stdout] --> src/agents/store/redis.rs:206:18 [INFO] [stdout] | [INFO] [stdout] 206 | conn.set_ex(&key, data, ttl.as_secs()).await?; [INFO] [stdout] | ^^^^^^ the trait `FromRedisValue` is not implemented for `!` [INFO] [stdout] | [INFO] [stdout] = help: the following other types implement trait `FromRedisValue`: [INFO] [stdout] () [INFO] [stdout] (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12) [INFO] [stdout] (T10, T11, T12) [INFO] [stdout] (T11, T12) [INFO] [stdout] (T12,) [INFO] [stdout] (T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12) [INFO] [stdout] (T3, T4, T5, T6, T7, T8, T9, T10, T11, T12) [INFO] [stdout] (T4, T5, T6, T7, T8, T9, T10, T11, T12) [INFO] [stdout] and 34 others [INFO] [stdout] = note: this error might have been caused by changes to Rust's type-inference algorithm (see issue #48950 for more information) [INFO] [stdout] = help: did you intend to use the type `()` here instead? [INFO] [stdout] note: required by a bound in `redis::AsyncCommands::set_ex` [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/redis-0.25.4/src/commands/mod.rs:131:1 [INFO] [stdout] | [INFO] [stdout] 131 | / implement_commands! { [INFO] [stdout] 132 | | 'a [INFO] [stdout] 133 | | // most common operations [INFO] [stdout] ... | [INFO] [stdout] 173 | | fn set_ex(key: K, value: V, seconds: u64) { [INFO] [stdout] | | ------ required by a bound in this associated function [INFO] [stdout] ... | [INFO] [stdout] 1967 | | } [INFO] [stdout] 1968 | | } [INFO] [stdout] | |_^ required by this bound in `AsyncCommands::set_ex` [INFO] [stdout] = note: this error originates in the macro `implement_commands` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `!: FromRedisValue` is not satisfied [INFO] [stdout] --> src/agents/store/redis.rs:248:22 [INFO] [stdout] | [INFO] [stdout] 248 | conn.set_ex(key, result.data.clone(), ttl.as_secs()).await?; [INFO] [stdout] | ^^^^^^ the trait `FromRedisValue` is not implemented for `!` [INFO] [stdout] | [INFO] [stdout] = help: the following other types implement trait `FromRedisValue`: [INFO] [stdout] () [INFO] [stdout] (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12) [INFO] [stdout] (T10, T11, T12) [INFO] [stdout] (T11, T12) [INFO] [stdout] (T12,) [INFO] [stdout] (T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12) [INFO] [stdout] (T3, T4, T5, T6, T7, T8, T9, T10, T11, T12) [INFO] [stdout] (T4, T5, T6, T7, T8, T9, T10, T11, T12) [INFO] [stdout] and 34 others [INFO] [stdout] = note: this error might have been caused by changes to Rust's type-inference algorithm (see issue #48950 for more information) [INFO] [stdout] = help: did you intend to use the type `()` here instead? [INFO] [stdout] note: required by a bound in `redis::AsyncCommands::set_ex` [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/redis-0.25.4/src/commands/mod.rs:131:1 [INFO] [stdout] | [INFO] [stdout] 131 | / implement_commands! { [INFO] [stdout] 132 | | 'a [INFO] [stdout] 133 | | // most common operations [INFO] [stdout] ... | [INFO] [stdout] 173 | | fn set_ex(key: K, value: V, seconds: u64) { [INFO] [stdout] | | ------ required by a bound in this associated function [INFO] [stdout] ... | [INFO] [stdout] 1967 | | } [INFO] [stdout] 1968 | | } [INFO] [stdout] | |_^ required by this bound in `AsyncCommands::set_ex` [INFO] [stdout] = note: this error originates in the macro `implement_commands` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0133]: call to unsafe function `remove_var` is unsafe and requires unsafe block [INFO] [stdout] --> src/utils/sd_notify.rs:13:9 [INFO] [stdout] | [INFO] [stdout] 13 | env::remove_var("NOTIFY_SOCKET"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 5 previous errors [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0133, E0277. [INFO] [stdout] [INFO] [stdout] For more information about an error, try `rustc --explain E0133`. [INFO] [stdout] [INFO] [stderr] error: could not compile `portier_broker` (bin "portier-broker") due to 6 previous errors [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stdout] error[E0133]: call to unsafe function `remove_var` is unsafe and requires unsafe block [INFO] [stdout] --> src/utils/sd_notify.rs:13:9 [INFO] [stdout] | [INFO] [stdout] 13 | env::remove_var("NOTIFY_SOCKET"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 5 previous errors [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0133, E0277. [INFO] [stdout] [INFO] [stdout] For more information about an error, try `rustc --explain E0133`. [INFO] [stdout] [INFO] [stderr] error: could not compile `portier_broker` (bin "portier-broker" test) due to 6 previous errors [INFO] [stderr] error: failed to check after updating to 2024 [INFO] [stderr] [INFO] [stderr] Caused by: [INFO] [stderr] process didn't exit successfully: `cargo check --frozen --all --all-targets --message-format=json` (exit status: 101) [INFO] running `Command { std: "docker" "inspect" "149b4c726d9e1923abc8fc1136c0b52aa81a3a232a0a6e9bc2009c5d0a22162d", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "149b4c726d9e1923abc8fc1136c0b52aa81a3a232a0a6e9bc2009c5d0a22162d", kill_on_drop: false }` [INFO] [stdout] 149b4c726d9e1923abc8fc1136c0b52aa81a3a232a0a6e9bc2009c5d0a22162d