[INFO] fetching crate i3stat 0.13.1... [INFO] checking i3stat-0.13.1 against try#ccf408f4326a858c00dd845a64a86b16f360a801 for pr-129466-2 [INFO] extracting crate i3stat 0.13.1 into /workspace/builds/worker-4-tc2/source [INFO] validating manifest of crates.io crate i3stat 0.13.1 on toolchain ccf408f4326a858c00dd845a64a86b16f360a801 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+ccf408f4326a858c00dd845a64a86b16f360a801" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] removed /workspace/builds/worker-4-tc2/source/rust-toolchain.toml [INFO] started tweaking crates.io crate i3stat 0.13.1 [INFO] removed 0 missing tests [INFO] finished tweaking crates.io crate i3stat 0.13.1 [INFO] tweaked toml for crates.io crate i3stat 0.13.1 written to /workspace/builds/worker-4-tc2/source/Cargo.toml [INFO] crate crates.io crate i3stat 0.13.1 already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+ccf408f4326a858c00dd845a64a86b16f360a801" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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] 1b3dd1fe87a76bb47216a10121b6b4c8832d76ea7cb45ea77227de532a3b97cc [INFO] running `Command { std: "docker" "start" "-a" "1b3dd1fe87a76bb47216a10121b6b4c8832d76ea7cb45ea77227de532a3b97cc", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "1b3dd1fe87a76bb47216a10121b6b4c8832d76ea7cb45ea77227de532a3b97cc", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "1b3dd1fe87a76bb47216a10121b6b4c8832d76ea7cb45ea77227de532a3b97cc", kill_on_drop: false }` [INFO] [stdout] 1b3dd1fe87a76bb47216a10121b6b4c8832d76ea7cb45ea77227de532a3b97cc [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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] 9e5c9ef1b9067384c20037d00ca9d2d4f545e2119f60dfb74954f6577c5aba7d [INFO] running `Command { std: "docker" "start" "-a" "9e5c9ef1b9067384c20037d00ca9d2d4f545e2119f60dfb74954f6577c5aba7d", kill_on_drop: false }` [INFO] [stderr] Copying to /tmp/fixit [INFO] [stderr] Running `cargo fix --edition` [INFO] [stderr] Migrating Cargo.toml from 2021 edition to 2024 [INFO] [stderr] Compiling proc-macro2 v1.0.80 [INFO] [stderr] Compiling unicode-ident v1.0.12 [INFO] [stderr] Compiling libc v0.2.153 [INFO] [stderr] Compiling autocfg v1.2.0 [INFO] [stderr] Compiling syn v1.0.109 [INFO] [stderr] Compiling serde v1.0.197 [INFO] [stderr] Checking pin-project-lite v0.2.14 [INFO] [stderr] Checking futures-core v0.3.30 [INFO] [stderr] Compiling memchr v2.7.2 [INFO] [stderr] Compiling parking_lot_core v0.9.9 [INFO] [stderr] Checking smallvec v1.13.2 [INFO] [stderr] Compiling hashbrown v0.14.3 [INFO] [stderr] Compiling equivalent v1.0.1 [INFO] [stderr] Compiling pkg-config v0.3.30 [INFO] [stderr] Checking scopeguard v1.2.0 [INFO] [stderr] Compiling generic-array v0.14.7 [INFO] [stderr] Compiling toml_datetime v0.6.5 [INFO] [stderr] Compiling strsim v0.10.0 [INFO] [stderr] Compiling fnv v1.0.7 [INFO] [stderr] Compiling ident_case v1.0.1 [INFO] [stderr] Compiling crossbeam-utils v0.8.19 [INFO] [stderr] Compiling winnow v0.5.40 [INFO] [stderr] Checking bytes v1.6.0 [INFO] [stderr] Checking futures-sink v0.3.30 [INFO] [stderr] Compiling proc-macro-error-attr v1.0.4 [INFO] [stderr] Checking utf8parse v0.2.1 [INFO] [stderr] Checking futures-channel v0.3.30 [INFO] [stderr] Checking anstyle-parse v0.2.3 [INFO] [stderr] Compiling lock_api v0.4.11 [INFO] [stderr] Compiling slab v0.4.9 [INFO] [stderr] Compiling num-traits v0.2.18 [INFO] [stderr] Compiling memoffset v0.9.1 [INFO] [stderr] Compiling proc-macro-error v1.0.4 [INFO] [stderr] Checking aho-corasick v1.1.3 [INFO] [stderr] Compiling regex-syntax v0.8.3 [INFO] [stderr] Checking parking v2.2.0 [INFO] [stderr] Compiling libpulse-sys v1.21.0 [INFO] [stderr] Checking concurrent-queue v2.4.0 [INFO] [stderr] Compiling indexmap v2.2.6 [INFO] [stderr] Checking futures-task v0.3.30 [INFO] [stderr] Compiling cfg_aliases v0.1.1 [INFO] [stderr] Compiling quote v1.0.36 [INFO] [stderr] Checking once_cell v1.19.0 [INFO] [stderr] Checking pin-utils v0.1.0 [INFO] [stderr] Compiling rustversion v1.0.15 [INFO] [stderr] Checking anstyle-query v1.0.2 [INFO] [stderr] Checking futures-io v0.3.30 [INFO] [stderr] Checking anstyle v1.0.6 [INFO] [stderr] Compiling syn v2.0.59 [INFO] [stderr] Checking colorchoice v1.0.0 [INFO] [stderr] Checking block-buffer v0.10.4 [INFO] [stderr] Checking crypto-common v0.1.6 [INFO] [stderr] Checking event-listener v5.3.0 [INFO] [stderr] Compiling nix v0.28.0 [INFO] [stderr] Checking anstream v0.6.13 [INFO] [stderr] Compiling uncased v0.9.10 [INFO] [stderr] Compiling heck v0.5.0 [INFO] [stderr] Checking strsim v0.11.1 [INFO] [stderr] Checking ryu v1.0.17 [INFO] [stderr] Checking ppv-lite86 v0.2.17 [INFO] [stderr] Checking humantime v2.1.0 [INFO] [stderr] Checking log v0.4.21 [INFO] [stderr] Checking itoa v1.0.11 [INFO] [stderr] Checking bitflags v2.5.0 [INFO] [stderr] Checking winnow v0.6.6 [INFO] [stderr] Compiling serde_json v1.0.116 [INFO] [stderr] Compiling signal-hook v0.3.17 [INFO] [stderr] Checking endi v1.1.0 [INFO] [stderr] Checking clap_lex v0.7.0 [INFO] [stderr] Checking event-listener-strategy v0.5.1 [INFO] [stderr] Checking digest v0.10.7 [INFO] [stderr] Checking tracing-core v0.1.32 [INFO] [stderr] Compiling figment v0.10.17 [INFO] [stderr] Checking clap_builder v4.5.2 [INFO] [stderr] Checking option-ext v0.2.0 [INFO] [stderr] Checking termcolor v1.4.1 [INFO] [stderr] Checking cpufeatures v0.2.12 [INFO] [stderr] Compiling paste v1.0.14 [INFO] [stderr] Checking signal-hook-registry v1.4.1 [INFO] [stderr] Checking num_cpus v1.16.0 [INFO] [stderr] Checking socket2 v0.5.6 [INFO] [stderr] Checking mio v0.8.11 [INFO] [stderr] Checking getrandom v0.2.14 [INFO] [stderr] Checking is-terminal v0.4.12 [INFO] [stderr] Checking unsafe-libyaml v0.2.11 [INFO] [stderr] Compiling either v1.11.0 [INFO] [stderr] Checking parking_lot v0.12.1 [INFO] [stderr] Compiling heck v0.4.1 [INFO] [stderr] Checking regex-automata v0.4.6 [INFO] [stderr] Checking rand_core v0.6.4 [INFO] [stderr] Checking sha1 v0.10.6 [INFO] [stderr] Checking xdg-home v1.1.0 [INFO] [stderr] Checking dirs-sys v0.4.1 [INFO] [stderr] Checking rand_chacha v0.3.1 [INFO] [stderr] Checking async-broadcast v0.7.0 [INFO] [stderr] Checking ordered-stream v0.2.0 [INFO] [stderr] Compiling toml_edit v0.21.1 [INFO] [stderr] Checking iana-time-zone v0.1.60 [INFO] [stderr] Checking byteorder v1.5.0 [INFO] [stderr] Checking arrayvec v0.7.4 [INFO] [stderr] Checking dirs v5.0.1 [INFO] [stderr] Checking rand v0.8.5 [INFO] [stderr] Checking chrono v0.4.38 [INFO] [stderr] Checking sysinfo v0.30.10 [INFO] [stderr] Checking wordexp v0.1.0 [INFO] [stderr] Checking hound v3.5.1 [INFO] [stderr] Compiling quick-xml v0.30.0 [INFO] [stderr] Compiling x11 v2.21.0 [INFO] [stderr] Checking nix v0.26.4 [INFO] [stderr] Checking redhook v2.0.0 [INFO] [stderr] Checking roff v0.2.1 [INFO] [stderr] Checking fakeroot v0.4.1 [INFO] [stderr] Checking timeout-readwrite v0.3.3 [INFO] [stderr] Compiling xcb v1.3.0 [INFO] [stderr] Compiling proc-macro-crate v3.1.0 [INFO] [stderr] Checking regex v1.10.4 [INFO] [stderr] Checking env_logger v0.10.2 [INFO] [stderr] Checking pretty_env_logger v0.5.0 [INFO] [stderr] Compiling darling_core v0.14.4 [INFO] [stderr] Compiling zvariant_utils v1.1.0 [INFO] [stderr] Compiling serde_derive v1.0.197 [INFO] [stderr] Compiling tokio-macros v2.2.0 [INFO] [stderr] Compiling futures-macro v0.3.30 [INFO] [stderr] Compiling enumflags2_derive v0.7.9 [INFO] [stderr] Compiling clap_derive v4.5.4 [INFO] [stderr] Compiling tracing-attributes v0.1.27 [INFO] [stderr] Compiling async-trait v0.1.80 [INFO] [stderr] Compiling strum_macros v0.26.2 [INFO] [stderr] Compiling serde_repr v0.1.19 [INFO] [stderr] Compiling automod v1.0.14 [INFO] [stderr] Checking tokio v1.37.0 [INFO] [stderr] Checking futures-util v0.3.30 [INFO] [stderr] Checking tracing v0.1.40 [INFO] [stderr] Checking strum v0.26.2 [INFO] [stderr] Compiling num-derive v0.3.3 [INFO] [stderr] Compiling zvariant_derive v4.0.2 [INFO] [stderr] Compiling getset v0.1.2 [INFO] [stderr] Compiling zbus_macros v4.1.2 [INFO] [stderr] Compiling derivative v2.2.0 [INFO] [stderr] Checking clap v4.5.4 [INFO] [stderr] Checking clap_mangen v0.2.20 [INFO] [stderr] Compiling darling_macro v0.14.4 [INFO] [stderr] Compiling darling v0.14.4 [INFO] [stderr] Compiling derive_builder_core v0.11.2 [INFO] [stderr] Checking libpulse-binding v2.28.1 [INFO] [stderr] Compiling derive_builder_macro v0.11.2 [INFO] [stderr] Checking derive_builder v0.11.2 [INFO] [stderr] Checking futures-executor v0.3.30 [INFO] [stderr] Checking futures v0.3.30 [INFO] [stderr] Checking signal-hook-tokio v0.3.1 [INFO] [stderr] Checking libpulse-tokio v0.1.1 [INFO] [stderr] Checking tokio-util v0.7.10 [INFO] [stderr] Checking enumflags2 v0.7.9 [INFO] [stderr] Checking serde_spanned v0.6.5 [INFO] [stderr] Checking hex_color v3.0.0 [INFO] [stderr] Checking humantime-serde v1.1.1 [INFO] [stderr] Checking bytesize v1.3.0 [INFO] [stderr] Checking zvariant v4.0.2 [INFO] [stderr] Compiling neli-proc-macros v0.2.0-rc2 [INFO] [stderr] Checking toml_edit v0.22.9 [INFO] [stderr] Checking serde_yaml v0.9.34+deprecated [INFO] [stderr] Checking neli v0.7.0-rc2 [INFO] [stderr] Checking zbus_names v3.0.0 [INFO] [stderr] Checking toml v0.8.12 [INFO] [stderr] Checking zbus v4.1.2 [INFO] [stderr] Checking i3stat v0.13.1 (/tmp/fixit) [INFO] [stderr] Migrating src/lib.rs from 2021 edition to 2024 [INFO] [stderr] warning: failed to automatically apply fixes suggested by rustc to crate `i3stat` [INFO] [stderr] [INFO] [stderr] after fixes were automatically applied the compiler reported errors within these files: [INFO] [stderr] [INFO] [stderr] * src/bar_items/pulse/structs.rs [INFO] [stderr] * src/config/mod.rs [INFO] [stderr] * src/dbus/notifications.rs [INFO] [stderr] * src/util/netlink/nl80211/mod.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/config/mod.rs:144:10 [INFO] [stderr] | [INFO] [stderr] 144 | ($name:expr_2021) => { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/config/mod.rs:153:10 [INFO] [stderr] | [INFO] [stderr] 153 | ($name:expr_2021, $index: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/config/mod.rs:153:27 [INFO] [stderr] | [INFO] [stderr] 153 | ($name:expr_2021, $index: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/config/mod.rs:181:10 [INFO] [stderr] | [INFO] [stderr] 181 | ($items: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/dbus/notifications.rs:52:8 [INFO] [stderr] | [INFO] [stderr] 52 | ($($key:expr_2021 => $value: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/dbus/notifications.rs:52:26 [INFO] [stderr] | [INFO] [stderr] 52 | ($($key:expr_2021 => $value: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/bar_items/pulse/structs.rs:319:10 [INFO] [stderr] | [INFO] [stderr] 319 | ($name:expr_2021, $available:expr_2021, $type: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/bar_items/pulse/structs.rs:319:27 [INFO] [stderr] | [INFO] [stderr] 319 | ($name:expr_2021, $available:expr_2021, $type: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/bar_items/pulse/structs.rs:319:49 [INFO] [stderr] | [INFO] [stderr] 319 | ($name:expr_2021, $available:expr_2021, $type: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/bar_items/pulse/structs.rs:330:26 [INFO] [stderr] | [INFO] [stderr] 330 | ($index:literal, $name:expr_2021, $ports:expr_2021, active = $active: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/bar_items/pulse/structs.rs:330:43 [INFO] [stderr] | [INFO] [stderr] 330 | ($index:literal, $name:expr_2021, $ports:expr_2021, active = $active: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/bar_items/pulse/structs.rs:330:70 [INFO] [stderr] | [INFO] [stderr] 330 | ($index:literal, $name:expr_2021, $ports:expr_2021, active = $active: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/util/netlink/nl80211/mod.rs:71:23 [INFO] [stderr] | [INFO] [stderr] 71 | ($($attr:ident => $payload:expr_2021$(,)?)+) => {{ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error: aborting due to 13 previous errors [INFO] [stderr] [INFO] [stderr] For more information about this error, try `rustc --explain E0658`. [INFO] [stderr] Original diagnostics will follow. [INFO] [stderr] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/bar_items/pulse/structs.rs:319:16 [INFO] [stdout] | [INFO] [stdout] 319 | ($name:expr, $available:expr, $type:expr) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] = note: `--force-warn edition-2024-expr-fragment-specifier` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 319 | ($name:expr_2021, $available:expr, $type:expr) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/bar_items/pulse/structs.rs:319:33 [INFO] [stdout] | [INFO] [stdout] 319 | ($name:expr, $available:expr, $type: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] 319 | ($name:expr, $available:expr_2021, $type:expr) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/bar_items/pulse/structs.rs:319:45 [INFO] [stdout] | [INFO] [stdout] 319 | ($name:expr, $available:expr, $type: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] 319 | ($name:expr, $available:expr, $type:expr_2021) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/bar_items/pulse/structs.rs:330:32 [INFO] [stdout] | [INFO] [stdout] 330 | ($index:literal, $name:expr, $ports:expr, active = $active: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] 330 | ($index:literal, $name:expr_2021, $ports:expr, active = $active:expr) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/bar_items/pulse/structs.rs:330:45 [INFO] [stdout] | [INFO] [stdout] 330 | ($index:literal, $name:expr, $ports:expr, active = $active: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] 330 | ($index:literal, $name:expr, $ports:expr_2021, active = $active:expr) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/bar_items/pulse/structs.rs:330:68 [INFO] [stdout] | [INFO] [stdout] 330 | ($index:literal, $name:expr, $ports:expr, active = $active: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] 330 | ($index:literal, $name:expr, $ports:expr, active = $active:expr_2021) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/config/mod.rs:144:16 [INFO] [stdout] | [INFO] [stdout] 144 | ($name:expr) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 144 | ($name:expr_2021) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/config/mod.rs:153:16 [INFO] [stdout] | [INFO] [stdout] 153 | ($name:expr, $index: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] 153 | ($name:expr_2021, $index:expr) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/config/mod.rs:153:29 [INFO] [stdout] | [INFO] [stdout] 153 | ($name:expr, $index: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] 153 | ($name:expr, $index:expr_2021) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/config/mod.rs:181:17 [INFO] [stdout] | [INFO] [stdout] 181 | ($items: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] 181 | ($items:expr_2021) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/dbus/notifications.rs:52:13 [INFO] [stdout] | [INFO] [stdout] 52 | ($($key:expr => $value: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 | ($($key:expr_2021 => $value:expr $(,)?)+) => {{ [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/dbus/notifications.rs:52:28 [INFO] [stdout] | [INFO] [stdout] 52 | ($($key:expr => $value: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 | ($($key:expr => $value:expr_2021 $(,)?)+) => {{ [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/util/netlink/nl80211/mod.rs:71:32 [INFO] [stdout] | [INFO] [stdout] 71 | ($($attr:ident => $payload: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 | ($($attr:ident => $payload:expr_2021$(,)?)+) => {{ [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: irrefutable `if let` pattern [INFO] [stdout] --> src/util/netlink/route.rs:67:16 [INFO] [stdout] | [INFO] [stdout] 67 | if let Err(e) = handle_manual_trigger(socket, manual_trigger, tx).await { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this pattern will always match, so the `if let` is useless [INFO] [stdout] = help: consider replacing the `if let` with a `let` [INFO] [stdout] = note: `#[warn(irrefutable_let_patterns)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: irrefutable `if let` pattern [INFO] [stdout] --> src/util/netlink/route.rs:75:12 [INFO] [stdout] | [INFO] [stdout] 75 | if let Err(e) = handle_netlink_route_messages(socket, multicast, tx).await { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this pattern will always match, so the `if let` is useless [INFO] [stdout] = help: consider replacing the `if let` with a `let` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `impl for<'a> Fn(&'a hex_color::HexColor) -> hex_color::HexColor` will capture more lifetimes than possibly intended in edition 2024 [INFO] [stdout] --> src/bar.rs:207:57 [INFO] [stdout] | [INFO] [stdout] 207 | fn make_color_adjuster(bg: &HexColor, fg: &HexColor) -> impl Fn(&HexColor) -> HexColor { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see [INFO] [stdout] note: specifically, these lifetimes are in scope but not mentioned in the type's bounds [INFO] [stdout] --> src/bar.rs:207:28 [INFO] [stdout] | [INFO] [stdout] 207 | fn make_color_adjuster(bg: &HexColor, fg: &HexColor) -> impl Fn(&HexColor) -> HexColor { [INFO] [stdout] | ^ ^ [INFO] [stdout] = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024 [INFO] [stdout] = note: `--force-warn impl-trait-overcaptures` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit [INFO] [stdout] | [INFO] [stdout] 207 | fn make_color_adjuster(bg: &HexColor, fg: &HexColor) -> impl Fn(&HexColor) -> HexColor + use<> { [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/bar_items/battery.rs:153:15 [INFO] [stdout] | [INFO] [stdout] 153 | while let Some(entry) = entries.next_entry().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/bar_items/battery.rs:167:9 [INFO] [stdout] | [INFO] [stdout] 167 | } [INFO] [stdout] | ^ [INFO] [stdout] = note: `--force-warn if-let-rescope` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/bar_items/battery.rs:324:16 [INFO] [stdout] | [INFO] [stdout] 324 | if let Some(ev) = acpi_event.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/bar_items/battery.rs:342:13 [INFO] [stdout] | [INFO] [stdout] 342 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 324 ~ match acpi_event.recv().await { Some(ev) => { [INFO] [stdout] 325 | let result = match ev.device_class.as_str() { [INFO] [stdout] ... [INFO] [stdout] 341 | } [INFO] [stdout] 342 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/bar_items/kbd.rs:50:15 [INFO] [stdout] | [INFO] [stdout] 50 | while let Some(entry) = entries.next_entry().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/bar_items/kbd.rs:60:9 [INFO] [stdout] | [INFO] [stdout] 60 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/bar_items/kbd.rs:112:20 [INFO] [stdout] | [INFO] [stdout] 112 | if let Some(BarEvent::Signal) = ctx.wait_for_event(self.interval).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/bar_items/kbd.rs:114:17 [INFO] [stdout] | [INFO] [stdout] 114 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 112 ~ match ctx.wait_for_event(self.interval).await { Some(BarEvent::Signal) => { [INFO] [stdout] 113 | continue 'outer; [INFO] [stdout] 114 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/bar_items/light.rs:84:15 [INFO] [stdout] | [INFO] [stdout] 84 | while let Some(entry) = entries.next_entry().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/bar_items/light.rs:90:9 [INFO] [stdout] | [INFO] [stdout] 90 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/bar_items/mem.rs:73:24 [INFO] [stdout] | [INFO] [stdout] 73 | if let I3Button::Left = c.button { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^-^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/bar_items/mem.rs:75:21 [INFO] [stdout] | [INFO] [stdout] 75 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 73 ~ match c.button { I3Button::Left => { [INFO] [stdout] 74 | display.next(); [INFO] [stdout] 75 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/bar_items/net_usage.rs:160:16 [INFO] [stdout] | [INFO] [stdout] 160 | if let Some(BarEvent::Click(click)) = ctx.wait_for_event(Some(self.interval)).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/bar_items/net_usage.rs:164:13 [INFO] [stdout] | [INFO] [stdout] 164 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 160 ~ match ctx.wait_for_event(Some(self.interval)).await { Some(BarEvent::Click(click)) => { [INFO] [stdout] 161 | if click.button == I3Button::Left { [INFO] [stdout] 162 | display.next(); [INFO] [stdout] 163 | } [INFO] [stdout] 164 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/bar_items/nic.rs:163:24 [INFO] [stdout] | [INFO] [stdout] 163 | if let BarEvent::Click(click) = event { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^----- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/bar_items/nic.rs:167:21 [INFO] [stdout] | [INFO] [stdout] 167 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 163 ~ match event { BarEvent::Click(click) => { [INFO] [stdout] 164 | if click.modifiers.contains(&I3Modifier::Control) { [INFO] [stdout] 165 | net.trigger_update().await?; [INFO] [stdout] 166 | } [INFO] [stdout] 167 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/bar_items/pulse/mod.rs:556:20 [INFO] [stdout] | [INFO] [stdout] 556 | if let Ok(()) = stream_ref.finish_upload() { [INFO] [stdout] | ^^^^^^^^^^^^^----------^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/bar_items/pulse/mod.rs:559:17 [INFO] [stdout] | [INFO] [stdout] 559 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 556 ~ match stream_ref.finish_upload() { Ok(()) => { [INFO] [stdout] 557 | // the upload to the audio server has completed - we're ready to use the sample now [INFO] [stdout] 558 | inner.increment_sound = true; [INFO] [stdout] 559 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/bar_items/pulse/mod.rs:622:16 [INFO] [stdout] | [INFO] [stdout] 622 | if let Err(e) = inner.setup_volume_sample(expand_path(path)?).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/bar_items/pulse/mod.rs:624:13 [INFO] [stdout] | [INFO] [stdout] 624 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 622 ~ match inner.setup_volume_sample(expand_path(path)?).await { Err(e) => { [INFO] [stdout] 623 | log::error!("failed to setup volume sample: {}", e); [INFO] [stdout] 624 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/bar_items/pulse/custom.rs:130:16 [INFO] [stdout] | [INFO] [stdout] 130 | if let (Some(tx), Some(f)) = (tx.take(), f.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/bar_items/pulse/custom.rs:135:13 [INFO] [stdout] | [INFO] [stdout] 135 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 130 ~ match (tx.take(), f.take()) { (Some(tx), Some(f)) => { [INFO] [stdout] 131 | let _ = tx.send(CustomResponse::Json(json!(match success { [INFO] [stdout] ... [INFO] [stdout] 134 | }))); [INFO] [stdout] 135 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/bar_items/script.rs:111:24 [INFO] [stdout] | [INFO] [stdout] 111 | if let Some(event) = ctx.wait_for_event(None).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/bar_items/script.rs:113:21 [INFO] [stdout] | [INFO] [stdout] 113 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 111 ~ match ctx.wait_for_event(None).await { Some(event) => { [INFO] [stdout] 112 | handle_event(event, &mut script_env); [INFO] [stdout] 113 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/config/mod.rs:76:16 [INFO] [stdout] | [INFO] [stdout] 76 | if let Some(target_idx) = item.common.index { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^-----------^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [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/mod.rs:79:13 [INFO] [stdout] | [INFO] [stdout] 79 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 76 ~ match item.common.index { Some(target_idx) => { [INFO] [stdout] 77 | let idx = item_order.remove(current_idx); [INFO] [stdout] 78 | item_order.insert(target_idx.clamp(0, max), idx); [INFO] [stdout] 79 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/config/mod.rs:93:20 [INFO] [stdout] | [INFO] [stdout] 93 | if let (Some(a), Some(b)) = (&a.common.name, &b.common.name) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^--------^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [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/mod.rs:100:17 [INFO] [stdout] | [INFO] [stdout] 100 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 93 ~ match (&a.common.name, &b.common.name) { (Some(a), Some(b)) => { [INFO] [stdout] 94 | if a == b { [INFO] [stdout] ... [INFO] [stdout] 99 | } [INFO] [stdout] 100 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/context.rs:100:23 [INFO] [stdout] | [INFO] [stdout] 100 | while let Ok(event) = self.rx_event.try_recv() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^------------------------ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/context.rs:102:17 [INFO] [stdout] | [INFO] [stdout] 102 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/dbus/notifications.rs:110:12 [INFO] [stdout] | [INFO] [stdout] 110 | if let Some(id) = self.notify(cached_id, hints, summary, body, timeout).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/dbus/notifications.rs:117:9 [INFO] [stdout] | [INFO] [stdout] 117 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 110 ~ match self.notify(cached_id, hints, summary, body, timeout).await { Some(id) => { [INFO] [stdout] 111 | match cached_id { [INFO] [stdout] ... [INFO] [stdout] 116 | } [INFO] [stdout] 117 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/dispatcher.rs:47:16 [INFO] [stdout] | [INFO] [stdout] 47 | if let Err(e) = r { [INFO] [stdout] | ^^^^^^^^^^^^^- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/dispatcher.rs:49:13 [INFO] [stdout] | [INFO] [stdout] 49 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 47 ~ match r { Err(e) => { [INFO] [stdout] 48 | log::warn!("{}", e); [INFO] [stdout] 49 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/i3/ipc.rs:90:12 [INFO] [stdout] | [INFO] [stdout] 90 | if let Err(e) = dispatcher.send_bar_event(idx, BarEvent::Click(click)).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/i3/ipc.rs:93:9 [INFO] [stdout] | [INFO] [stdout] 93 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 90 ~ match dispatcher.send_bar_event(idx, BarEvent::Click(click)).await { Err(e) => { [INFO] [stdout] 91 | log::warn!("{}", e); [INFO] [stdout] 92 | continue; [INFO] [stdout] 93 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/signals.rs:23:12 [INFO] [stdout] | [INFO] [stdout] 23 | if let Some(sig) = item.common.signal { [INFO] [stdout] | ^^^^^^^^^^^^^^^^-----------^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/signals.rs:46:9 [INFO] [stdout] | [INFO] [stdout] 46 | } [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 item.common.signal { Some(sig) => { [INFO] [stdout] 24 | // signals are passed in from 0..(SIGRTMAX - SIGRTMIN) [INFO] [stdout] ... [INFO] [stdout] 45 | .or_insert_with(|| vec![idx]); [INFO] [stdout] 46 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/signals.rs:70:36 [INFO] [stdout] | [INFO] [stdout] 70 | ... if let Err(e) = [INFO] [stdout] | __________________________^ [INFO] [stdout] 71 | | ... dispatcher.send_bar_event(*idx, BarEvent::Signal).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/signals.rs:75:33 [INFO] [stdout] | [INFO] [stdout] 75 | ... } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 70 ~ match dispatcher.send_bar_event(*idx, BarEvent::Signal).await [INFO] [stdout] 71 ~ { Err(e) => { [INFO] [stdout] 72 | log::warn!("failed to send signal: {}", e); [INFO] [stdout] 73 | continue; [INFO] [stdout] 74 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/util/net/mod.rs:142:12 [INFO] [stdout] | [INFO] [stdout] 142 | if let Some(mut interfaces) = 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/util/net/mod.rs:161:9 [INFO] [stdout] | [INFO] [stdout] 161 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 142 ~ match rx.recv().await { Some(mut interfaces) => { [INFO] [stdout] 143 | interfaces.retain(|_, int| { [INFO] [stdout] ... [INFO] [stdout] 160 | tx.send(interfaces)?; [INFO] [stdout] 161 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/util/netlink/nl80211/mod.rs:172:15 [INFO] [stdout] | [INFO] [stdout] 172 | while let Some(result) = recv.next().await as NextNl80211 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-----^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/util/netlink/nl80211/mod.rs:264:9 [INFO] [stdout] | [INFO] [stdout] 264 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/util/netlink/nl80211/mod.rs:347:11 [INFO] [stdout] | [INFO] [stdout] 347 | while let Some(result) = recv.next().await as NextNl80211 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-----^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/util/netlink/nl80211/mod.rs:411:5 [INFO] [stdout] | [INFO] [stdout] 411 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/util/netlink/nl80211/mod.rs:432:11 [INFO] [stdout] | [INFO] [stdout] 432 | while let Some(msg) = recv.next().await as NextNl80211 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^-----^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/util/netlink/nl80211/mod.rs:473:5 [INFO] [stdout] | [INFO] [stdout] 473 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/util/netlink/route.rs:67:16 [INFO] [stdout] | [INFO] [stdout] 67 | if let Err(e) = handle_manual_trigger(socket, manual_trigger, tx).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/util/netlink/route.rs:69:13 [INFO] [stdout] | [INFO] [stdout] 69 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 67 ~ match handle_manual_trigger(socket, manual_trigger, tx).await { Err(e) => { [INFO] [stdout] 68 | log::error!("fatal error while handling manual network updates: {}", e); [INFO] [stdout] 69 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/util/netlink/route.rs:75:12 [INFO] [stdout] | [INFO] [stdout] 75 | if let Err(e) = handle_netlink_route_messages(socket, multicast, tx).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/util/netlink/route.rs:77:9 [INFO] [stdout] | [INFO] [stdout] 77 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 75 ~ match handle_netlink_route_messages(socket, multicast, tx).await { Err(e) => { [INFO] [stdout] 76 | log::error!("fatal error handling netlink route messages: {}", e); [INFO] [stdout] 77 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/util/netlink/route.rs:88:11 [INFO] [stdout] | [INFO] [stdout] 88 | while let Some(()) = manual_trigger.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/util/netlink/route.rs:91:5 [INFO] [stdout] | [INFO] [stdout] 91 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/util/netlink/route.rs:157:15 [INFO] [stdout] | [INFO] [stdout] 157 | while let Some(response) = recv.next().await as RtNext { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-----^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/util/netlink/route.rs:199:9 [INFO] [stdout] | [INFO] [stdout] 199 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/util/netlink/route.rs:220:19 [INFO] [stdout] | [INFO] [stdout] 220 | while let Some(response) = recv.next().await as RtNext { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-----^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/util/netlink/route.rs:269:13 [INFO] [stdout] | [INFO] [stdout] 269 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 45 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] warning: failed to automatically apply fixes suggested by rustc to crate `i3stat` [INFO] [stderr] [INFO] [stderr] after fixes were automatically applied the compiler reported errors within these files: [INFO] [stderr] [INFO] [stderr] * src/dbus/notifications.rs [INFO] [stderr] * src/util/netlink/nl80211/mod.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/dbus/notifications.rs:52:8 [INFO] [stderr] | [INFO] [stderr] 52 | ($($key:expr_2021 => $value:expr_2021 $(,)?)+) => {{ [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/dbus/notifications.rs:52:13 [INFO] [stdout] | [INFO] [stdout] 52 | ($($key:expr => $value:expr $(,)?)+) => {{ [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] = note: `--force-warn edition-2024-expr-fragment-specifier` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 52 | ($($key:expr_2021 => $value:expr $(,)?)+) => {{ [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/dbus/notifications.rs:52:26 [INFO] [stderr] | [INFO] [stderr] 52 | ($($key:expr_2021 => $value: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/util/netlink/nl80211/mod.rs:71:23 [INFO] [stderr] | [INFO] [stderr] 71 | ($($attr:ident => $payload:expr_2021$(,)?)+) => {{ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/dbus/notifications.rs:52:28 [INFO] [stdout] | [INFO] [stdout] 52 | ($($key:expr => $value: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 | ($($key:expr => $value:expr_2021 $(,)?)+) => {{ [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/util/netlink/nl80211/mod.rs:71:32 [INFO] [stdout] | [INFO] [stdout] 71 | ($($attr:ident => $payload: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 | ($($attr:ident => $payload: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: irrefutable `if let` pattern [INFO] [stdout] --> src/util/netlink/route.rs:67:16 [INFO] [stdout] | [INFO] [stdout] 67 | if let Err(e) = handle_manual_trigger(socket, manual_trigger, tx).await { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this pattern will always match, so the `if let` is useless [INFO] [stdout] = help: consider replacing the `if let` with a `let` [INFO] [stdout] = note: `#[warn(irrefutable_let_patterns)]` on by default [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: irrefutable `if let` pattern [INFO] [stdout] --> src/util/netlink/route.rs:75:12 [INFO] [stdout] | [INFO] [stdout] 75 | if let Err(e) = handle_netlink_route_messages(socket, multicast, tx).await { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this pattern will always match, so the `if let` is useless [INFO] [stdout] = help: consider replacing the `if let` with a `let` [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] [INFO] [stderr] error: aborting due to 3 previous errors [INFO] [stderr] [INFO] [stderr] For more information about this error, try `rustc --explain E0658`. [INFO] [stderr] Original diagnostics will follow. [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/bar_items/battery.rs:153:15 [INFO] [stdout] | [INFO] [stdout] 153 | while let Some(entry) = entries.next_entry().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/bar_items/battery.rs:167:9 [INFO] [stdout] | [INFO] [stdout] 167 | } [INFO] [stdout] | ^ [INFO] [stdout] = note: `--force-warn if-let-rescope` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/bar_items/battery.rs:324:16 [INFO] [stdout] | [INFO] [stdout] 324 | if let Some(ev) = acpi_event.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/bar_items/battery.rs:342:13 [INFO] [stdout] | [INFO] [stdout] 342 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 324 ~ match acpi_event.recv().await { Some(ev) => { [INFO] [stdout] 325 | let result = match ev.device_class.as_str() { [INFO] [stdout] ... [INFO] [stdout] 341 | } [INFO] [stdout] 342 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/bar_items/kbd.rs:50:15 [INFO] [stdout] | [INFO] [stdout] 50 | while let Some(entry) = entries.next_entry().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/bar_items/kbd.rs:60:9 [INFO] [stdout] | [INFO] [stdout] 60 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/bar_items/kbd.rs:112:20 [INFO] [stdout] | [INFO] [stdout] 112 | if let Some(BarEvent::Signal) = ctx.wait_for_event(self.interval).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/bar_items/kbd.rs:114:17 [INFO] [stdout] | [INFO] [stdout] 114 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 112 ~ match ctx.wait_for_event(self.interval).await { Some(BarEvent::Signal) => { [INFO] [stdout] 113 | continue 'outer; [INFO] [stdout] 114 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/bar_items/light.rs:84:15 [INFO] [stdout] | [INFO] [stdout] 84 | while let Some(entry) = entries.next_entry().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/bar_items/light.rs:90:9 [INFO] [stdout] | [INFO] [stdout] 90 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/bar_items/mem.rs:73:24 [INFO] [stdout] | [INFO] [stdout] 73 | if let I3Button::Left = c.button { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^-^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/bar_items/mem.rs:75:21 [INFO] [stdout] | [INFO] [stdout] 75 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 73 ~ match c.button { I3Button::Left => { [INFO] [stdout] 74 | display.next(); [INFO] [stdout] 75 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/bar_items/net_usage.rs:160:16 [INFO] [stdout] | [INFO] [stdout] 160 | if let Some(BarEvent::Click(click)) = ctx.wait_for_event(Some(self.interval)).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/bar_items/net_usage.rs:164:13 [INFO] [stdout] | [INFO] [stdout] 164 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 160 ~ match ctx.wait_for_event(Some(self.interval)).await { Some(BarEvent::Click(click)) => { [INFO] [stdout] 161 | if click.button == I3Button::Left { [INFO] [stdout] 162 | display.next(); [INFO] [stdout] 163 | } [INFO] [stdout] 164 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/bar_items/nic.rs:163:24 [INFO] [stdout] | [INFO] [stdout] 163 | if let BarEvent::Click(click) = event { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^----- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/bar_items/nic.rs:167:21 [INFO] [stdout] | [INFO] [stdout] 167 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 163 ~ match event { BarEvent::Click(click) => { [INFO] [stdout] 164 | if click.modifiers.contains(&I3Modifier::Control) { [INFO] [stdout] 165 | net.trigger_update().await?; [INFO] [stdout] 166 | } [INFO] [stdout] 167 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/bar_items/pulse/mod.rs:556:20 [INFO] [stdout] | [INFO] [stdout] 556 | if let Ok(()) = stream_ref.finish_upload() { [INFO] [stdout] | ^^^^^^^^^^^^^----------^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/bar_items/pulse/mod.rs:559:17 [INFO] [stdout] | [INFO] [stdout] 559 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 556 ~ match stream_ref.finish_upload() { Ok(()) => { [INFO] [stdout] 557 | // the upload to the audio server has completed - we're ready to use the sample now [INFO] [stdout] 558 | inner.increment_sound = true; [INFO] [stdout] 559 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/bar_items/pulse/mod.rs:622:16 [INFO] [stdout] | [INFO] [stdout] 622 | if let Err(e) = inner.setup_volume_sample(expand_path(path)?).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/bar_items/pulse/mod.rs:624:13 [INFO] [stdout] | [INFO] [stdout] 624 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 622 ~ match inner.setup_volume_sample(expand_path(path)?).await { Err(e) => { [INFO] [stdout] 623 | log::error!("failed to setup volume sample: {}", e); [INFO] [stdout] 624 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/bar_items/pulse/custom.rs:130:16 [INFO] [stdout] | [INFO] [stdout] 130 | if let (Some(tx), Some(f)) = (tx.take(), f.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/bar_items/pulse/custom.rs:135:13 [INFO] [stdout] | [INFO] [stdout] 135 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 130 ~ match (tx.take(), f.take()) { (Some(tx), Some(f)) => { [INFO] [stdout] 131 | let _ = tx.send(CustomResponse::Json(json!(match success { [INFO] [stdout] ... [INFO] [stdout] 134 | }))); [INFO] [stdout] 135 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/bar_items/script.rs:111:24 [INFO] [stdout] | [INFO] [stdout] 111 | if let Some(event) = ctx.wait_for_event(None).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/bar_items/script.rs:113:21 [INFO] [stdout] | [INFO] [stdout] 113 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 111 ~ match ctx.wait_for_event(None).await { Some(event) => { [INFO] [stdout] 112 | handle_event(event, &mut script_env); [INFO] [stdout] 113 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/context.rs:100:23 [INFO] [stdout] | [INFO] [stdout] 100 | while let Ok(event) = self.rx_event.try_recv() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^------------------------ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/context.rs:102:17 [INFO] [stdout] | [INFO] [stdout] 102 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/dbus/notifications.rs:110:12 [INFO] [stdout] | [INFO] [stdout] 110 | if let Some(id) = self.notify(cached_id, hints, summary, body, timeout).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/dbus/notifications.rs:117:9 [INFO] [stdout] | [INFO] [stdout] 117 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 110 ~ match self.notify(cached_id, hints, summary, body, timeout).await { Some(id) => { [INFO] [stdout] 111 | match cached_id { [INFO] [stdout] ... [INFO] [stdout] 116 | } [INFO] [stdout] 117 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/dispatcher.rs:47:16 [INFO] [stdout] | [INFO] [stdout] 47 | if let Err(e) = r { [INFO] [stdout] | ^^^^^^^^^^^^^- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/dispatcher.rs:49:13 [INFO] [stdout] | [INFO] [stdout] 49 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 47 ~ match r { Err(e) => { [INFO] [stdout] 48 | log::warn!("{}", e); [INFO] [stdout] 49 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/signals.rs:23:12 [INFO] [stdout] | [INFO] [stdout] 23 | if let Some(sig) = item.common.signal { [INFO] [stdout] | ^^^^^^^^^^^^^^^^-----------^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/signals.rs:46:9 [INFO] [stdout] | [INFO] [stdout] 46 | } [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 item.common.signal { Some(sig) => { [INFO] [stdout] 24 | // signals are passed in from 0..(SIGRTMAX - SIGRTMIN) [INFO] [stdout] ... [INFO] [stdout] 45 | .or_insert_with(|| vec![idx]); [INFO] [stdout] 46 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/signals.rs:70:36 [INFO] [stdout] | [INFO] [stdout] 70 | ... if let Err(e) = [INFO] [stdout] | __________________________^ [INFO] [stdout] 71 | | ... dispatcher.send_bar_event(*idx, BarEvent::Signal).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/signals.rs:75:33 [INFO] [stdout] | [INFO] [stdout] 75 | ... } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 70 ~ match dispatcher.send_bar_event(*idx, BarEvent::Signal).await [INFO] [stdout] 71 ~ { Err(e) => { [INFO] [stdout] 72 | log::warn!("failed to send signal: {}", e); [INFO] [stdout] 73 | continue; [INFO] [stdout] 74 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/util/net/mod.rs:142:12 [INFO] [stdout] | [INFO] [stdout] 142 | if let Some(mut interfaces) = 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/util/net/mod.rs:161:9 [INFO] [stdout] | [INFO] [stdout] 161 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 142 ~ match rx.recv().await { Some(mut interfaces) => { [INFO] [stdout] 143 | interfaces.retain(|_, int| { [INFO] [stdout] ... [INFO] [stdout] 160 | tx.send(interfaces)?; [INFO] [stdout] 161 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/util/netlink/nl80211/mod.rs:172:15 [INFO] [stdout] | [INFO] [stdout] 172 | while let Some(result) = recv.next().await as NextNl80211 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-----^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/util/netlink/nl80211/mod.rs:264:9 [INFO] [stdout] | [INFO] [stdout] 264 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/util/netlink/nl80211/mod.rs:347:11 [INFO] [stdout] | [INFO] [stdout] 347 | while let Some(result) = recv.next().await as NextNl80211 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-----^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/util/netlink/nl80211/mod.rs:411:5 [INFO] [stdout] | [INFO] [stdout] 411 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/util/netlink/nl80211/mod.rs:432:11 [INFO] [stdout] | [INFO] [stdout] 432 | while let Some(msg) = recv.next().await as NextNl80211 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^-----^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/util/netlink/nl80211/mod.rs:473:5 [INFO] [stdout] | [INFO] [stdout] 473 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/util/netlink/route.rs:67:16 [INFO] [stdout] | [INFO] [stdout] 67 | if let Err(e) = handle_manual_trigger(socket, manual_trigger, tx).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/util/netlink/route.rs:69:13 [INFO] [stdout] | [INFO] [stdout] 69 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 67 ~ match handle_manual_trigger(socket, manual_trigger, tx).await { Err(e) => { [INFO] [stdout] 68 | log::error!("fatal error while handling manual network updates: {}", e); [INFO] [stdout] 69 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/util/netlink/route.rs:75:12 [INFO] [stdout] | [INFO] [stdout] 75 | if let Err(e) = handle_netlink_route_messages(socket, multicast, tx).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/util/netlink/route.rs:77:9 [INFO] [stdout] | [INFO] [stdout] 77 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 75 ~ match handle_netlink_route_messages(socket, multicast, tx).await { Err(e) => { [INFO] [stdout] 76 | log::error!("fatal error handling netlink route messages: {}", e); [INFO] [stdout] 77 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/util/netlink/route.rs:88:11 [INFO] [stdout] | [INFO] [stdout] 88 | while let Some(()) = manual_trigger.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/util/netlink/route.rs:91:5 [INFO] [stdout] | [INFO] [stdout] 91 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/util/netlink/route.rs:157:15 [INFO] [stdout] | [INFO] [stdout] 157 | while let Some(response) = recv.next().await as RtNext { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-----^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/util/netlink/route.rs:199:9 [INFO] [stdout] | [INFO] [stdout] 199 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/util/netlink/route.rs:220:19 [INFO] [stdout] | [INFO] [stdout] 220 | while let Some(response) = recv.next().await as RtNext { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-----^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/util/netlink/route.rs:269:13 [INFO] [stdout] | [INFO] [stdout] 269 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 31 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Migrating src/main.rs from 2021 edition to 2024 [INFO] [stderr] Migrating bin/acpi.rs from 2021 edition to 2024 [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> bin/acpi.rs:19:15 [INFO] [stdout] | [INFO] [stdout] 19 | while let Some(event) = acpi.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] --> bin/acpi.rs:27:9 [INFO] [stdout] | [INFO] [stdout] 27 | } [INFO] [stdout] | ^ [INFO] [stdout] = note: `--force-warn if-let-rescope` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Migrating bin/ipc.rs from 2021 edition to 2024 [INFO] [stdout] warning: 1 warning emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> bin/acpi.rs:19:15 [INFO] [stdout] | [INFO] [stdout] 19 | while let Some(event) = acpi.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] --> bin/acpi.rs:27:9 [INFO] [stdout] | [INFO] [stdout] 27 | } [INFO] [stdout] | ^ [INFO] [stdout] = note: `--force-warn if-let-rescope` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 1 warning emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Migrating bin/net.rs from 2021 edition to 2024 [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> bin/net.rs:46:15 [INFO] [stdout] | [INFO] [stdout] 46 | while let Some(interfaces) = 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] --> bin/net.rs:48:9 [INFO] [stdout] | [INFO] [stdout] 48 | } [INFO] [stdout] | ^ [INFO] [stdout] = note: `--force-warn if-let-rescope` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 1 warning emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> bin/net.rs:46:15 [INFO] [stdout] | [INFO] [stdout] 46 | while let Some(interfaces) = 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] --> bin/net.rs:48:9 [INFO] [stdout] | [INFO] [stdout] 48 | } [INFO] [stdout] | ^ [INFO] [stdout] = note: `--force-warn if-let-rescope` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Migrating bin/sensors.rs from 2021 edition to 2024 [INFO] [stdout] warning: 1 warning emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Migrating bin/signals.rs from 2021 edition to 2024 [INFO] [stderr] Migrating tests/util.rs from 2021 edition to 2024 [INFO] [stderr] warning: failed to automatically apply fixes suggested by rustc to crate `util` [INFO] [stderr] [INFO] [stderr] after fixes were automatically applied the compiler reported errors within these files: [INFO] [stderr] [INFO] [stderr] * tests/util.rs [INFO] [stderr] [INFO] [stderr] This likely indicates a bug in either rustc or cargo itself, [INFO] [stderr] and we would appreciate a bug report! You're likely to see [INFO] [stderr] a number of compiler warnings after this message which cargo [INFO] [stderr] attempted to fix but failed. If you could open an issue at [INFO] [stderr] https://github.com/rust-lang/rust/issues [INFO] [stderr] quoting the full output of this command we'd be very appreciative! [INFO] [stderr] Note that you may be able to make some more progress in the near-term [INFO] [stderr] fixing code with the `--broken-code` flag [INFO] [stderr] [INFO] [stderr] The following errors were reported: [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> tests/util.rs:132:18 [INFO] [stderr] | [INFO] [stderr] 132 | ($std: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] --> tests/util.rs:288:10 [INFO] [stderr] | [INFO] [stderr] 288 | ($value:expr_2021) => { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error: aborting due to 2 previous errors [INFO] [stderr] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> tests/util.rs:132:23 [INFO] [stdout] | [INFO] [stdout] 132 | ($std:expr) => {{ [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] = note: `--force-warn edition-2024-expr-fragment-specifier` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 132 | ($std:expr_2021) => {{ [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] For more information about this error, try `rustc --explain E0658`. [INFO] [stderr] Original diagnostics will follow. [INFO] [stderr] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> tests/util.rs:288:17 [INFO] [stdout] | [INFO] [stdout] 288 | ($value: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] 288 | ($value:expr_2021) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 2 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Migrating tests/mod.rs from 2021 edition to 2024 [INFO] [stderr] warning: failed to automatically apply fixes suggested by rustc to crate `integration` [INFO] [stderr] [INFO] [stderr] after fixes were automatically applied the compiler reported errors within these files: [INFO] [stderr] [INFO] [stderr] * tests/i3/mod.rs [INFO] [stderr] * tests/i3/screenshots.rs [INFO] [stderr] * tests/mod.rs [INFO] [stderr] * tests/spawn/mod.rs [INFO] [stderr] * tests/util.rs [INFO] [stderr] [INFO] [stderr] This likely indicates a bug in either rustc or cargo itself, [INFO] [stderr] and we would appreciate a bug report! You're likely to see [INFO] [stderr] a number of compiler warnings after this message which cargo [INFO] [stderr] attempted to fix but failed. If you could open an issue at [INFO] [stderr] https://github.com/rust-lang/rust/issues [INFO] [stderr] quoting the full output of this command we'd be very appreciative! [INFO] [stderr] Note that you may be able to make some more progress in the near-term [INFO] [stderr] fixing code with the `--broken-code` flag [INFO] [stderr] [INFO] [stderr] The following errors were reported: [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> tests/mod.rs:2:6 [INFO] [stderr] | [INFO] [stderr] 2 | ($haystack:expr_2021, $needle: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] --> tests/mod.rs:2:27 [INFO] [stderr] | [INFO] [stderr] 2 | ($haystack:expr_2021, $needle: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] --> tests/i3/mod.rs:282:19 [INFO] [stderr] | [INFO] [stderr] 282 | ($name:ident, $config:expr_2021, $test_fn: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] --> tests/i3/mod.rs:282:38 [INFO] [stderr] | [INFO] [stderr] 282 | ($name:ident, $config:expr_2021, $test_fn: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] --> tests/i3/mod.rs:286:19 [INFO] [stderr] | [INFO] [stderr] 286 | ($name:ident, $config:expr_2021, $setup_fn:expr_2021, $test_fn: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] --> tests/i3/mod.rs:286:38 [INFO] [stderr] | [INFO] [stderr] 286 | ($name:ident, $config:expr_2021, $setup_fn:expr_2021, $test_fn: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] --> tests/i3/mod.rs:286:59 [INFO] [stderr] | [INFO] [stderr] 286 | ($name:ident, $config:expr_2021, $setup_fn:expr_2021, $test_fn: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] --> tests/spawn/mod.rs:166:19 [INFO] [stderr] | [INFO] [stderr] 166 | ($name:ident, $config:expr_2021, $test_fn: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] --> tests/spawn/mod.rs:166:38 [INFO] [stderr] | [INFO] [stderr] 166 | ($name:ident, $config:expr_2021, $test_fn: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] --> tests/spawn/mod.rs:170:19 [INFO] [stderr] | [INFO] [stderr] 170 | ($name:ident, $config:expr_2021, $setup_fn:expr_2021, $test_fn: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] --> tests/spawn/mod.rs:170:38 [INFO] [stderr] | [INFO] [stderr] 170 | ($name:ident, $config:expr_2021, $setup_fn:expr_2021, $test_fn: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] --> tests/spawn/mod.rs:170:59 [INFO] [stderr] | [INFO] [stderr] 170 | ($name:ident, $config:expr_2021, $setup_fn:expr_2021, $test_fn: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] --> tests/util.rs:132:18 [INFO] [stderr] | [INFO] [stderr] 132 | ($std: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] --> tests/util.rs:288:10 [INFO] [stderr] | [INFO] [stderr] 288 | ($value: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] --> tests/i3/screenshots.rs:10:9 [INFO] [stderr] | [INFO] [stderr] 10 | $item_json: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] --> tests/i3/screenshots.rs:18:9 [INFO] [stderr] | [INFO] [stderr] 18 | $item_json: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] --> tests/i3/screenshots.rs:23:54 [INFO] [stderr] | [INFO] [stderr] 23 | $(bins => {$($bname:literal: $bdata: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] --> tests/i3/screenshots.rs:24:55 [INFO] [stderr] | [INFO] [stderr] 24 | $(files => {$($fname:literal: $fdata: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] --> tests/i3/screenshots.rs:25:39 [INFO] [stderr] | [INFO] [stderr] 25 | $(setup_fn => $setup_fn: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] --> tests/i3/screenshots.rs:26:38 [INFO] [stderr] | [INFO] [stderr] 26 | $(test_fn => $test_fn: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] --> tests/i3/screenshots.rs:55:9 [INFO] [stderr] | [INFO] [stderr] 55 | $item_json: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] --> tests/i3/screenshots.rs:57:15 [INFO] [stderr] | [INFO] [stderr] 57 | $($bname:expr_2021 => $bdata: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] --> tests/i3/screenshots.rs:57:35 [INFO] [stderr] | [INFO] [stderr] 57 | $($bname:expr_2021 => $bdata: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] --> tests/i3/screenshots.rs:60:15 [INFO] [stderr] | [INFO] [stderr] 60 | $($fname:expr_2021 => $fdata: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] --> tests/i3/screenshots.rs:60:35 [INFO] [stderr] | [INFO] [stderr] 60 | $($fname:expr_2021 => $fdata: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] --> tests/i3/screenshots.rs:62:25 [INFO] [stderr] | [INFO] [stderr] 62 | $(, setup_fn => $setup_fn: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] --> tests/i3/screenshots.rs:63:24 [INFO] [stderr] | [INFO] [stderr] 63 | $(, test_fn => $test_fn:expr_2021)? [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error: aborting due to 27 previous errors [INFO] [stderr] [INFO] [stderr] For more information about this error, try `rustc --explain E0658`. [INFO] [stderr] Original diagnostics will follow. [INFO] [stderr] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> tests/mod.rs:2:16 [INFO] [stdout] | [INFO] [stdout] 2 | ($haystack:expr, $needle:expr$(,)?) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] = note: `--force-warn edition-2024-expr-fragment-specifier` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 2 | ($haystack:expr_2021, $needle:expr$(,)?) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> tests/mod.rs:2:30 [INFO] [stdout] | [INFO] [stdout] 2 | ($haystack:expr, $needle: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] 2 | ($haystack:expr, $needle:expr_2021$(,)?) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> tests/i3/mod.rs:282:27 [INFO] [stdout] | [INFO] [stdout] 282 | ($name:ident, $config:expr, $test_fn: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] 282 | ($name:ident, $config:expr_2021, $test_fn:expr) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> tests/i3/mod.rs:282:42 [INFO] [stdout] | [INFO] [stdout] 282 | ($name:ident, $config:expr, $test_fn: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] 282 | ($name:ident, $config:expr, $test_fn:expr_2021) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> tests/i3/mod.rs:286:27 [INFO] [stdout] | [INFO] [stdout] 286 | ($name:ident, $config:expr, $setup_fn:expr, $test_fn: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] 286 | ($name:ident, $config:expr_2021, $setup_fn:expr, $test_fn:expr) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> tests/i3/mod.rs:286:43 [INFO] [stdout] | [INFO] [stdout] 286 | ($name:ident, $config:expr, $setup_fn:expr, $test_fn: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] 286 | ($name:ident, $config:expr, $setup_fn:expr_2021, $test_fn:expr) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> tests/i3/mod.rs:286:58 [INFO] [stdout] | [INFO] [stdout] 286 | ($name:ident, $config:expr, $setup_fn:expr, $test_fn: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] 286 | ($name:ident, $config:expr, $setup_fn:expr, $test_fn:expr_2021) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> tests/i3/screenshots.rs:10:20 [INFO] [stdout] | [INFO] [stdout] 10 | $item_json: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] 10 | $item_json:expr_2021 [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> tests/i3/screenshots.rs:18:20 [INFO] [stdout] | [INFO] [stdout] 18 | $item_json: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] 18 | $item_json:expr_2021 [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> tests/i3/screenshots.rs:23:61 [INFO] [stdout] | [INFO] [stdout] 23 | $(bins => {$($bname:literal: $bdata: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] 23 | $(bins => {$($bname:literal: $bdata:expr_2021$(,)?)*};)? [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> tests/i3/screenshots.rs:24:62 [INFO] [stdout] | [INFO] [stdout] 24 | $(files => {$($fname:literal: $fdata: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] 24 | $(files => {$($fname:literal: $fdata:expr_2021$(,)?)*};)? [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> tests/i3/screenshots.rs:25:49 [INFO] [stdout] | [INFO] [stdout] 25 | $(setup_fn => $setup_fn: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] 25 | $(setup_fn => $setup_fn:expr_2021;)? [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> tests/i3/screenshots.rs:26:47 [INFO] [stdout] | [INFO] [stdout] 26 | $(test_fn => $test_fn: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] 26 | $(test_fn => $test_fn:expr_2021;)? [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> tests/i3/screenshots.rs:55:20 [INFO] [stdout] | [INFO] [stdout] 55 | $item_json: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] 55 | $item_json:expr_2021, [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> tests/i3/screenshots.rs:57:22 [INFO] [stdout] | [INFO] [stdout] 57 | $($bname:expr => $bdata: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 | $($bname:expr_2021 => $bdata:expr$(,)?)* [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> tests/i3/screenshots.rs:57:37 [INFO] [stdout] | [INFO] [stdout] 57 | $($bname:expr => $bdata: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 | $($bname:expr => $bdata:expr_2021$(,)?)* [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> tests/i3/screenshots.rs:60:22 [INFO] [stdout] | [INFO] [stdout] 60 | $($fname:expr => $fdata: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] 60 | $($fname:expr_2021 => $fdata:expr$(,)?)* [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> tests/i3/screenshots.rs:60:37 [INFO] [stdout] | [INFO] [stdout] 60 | $($fname:expr => $fdata: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] 60 | $($fname:expr => $fdata:expr_2021$(,)?)* [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> tests/i3/screenshots.rs:62:35 [INFO] [stdout] | [INFO] [stdout] 62 | $(, setup_fn => $setup_fn: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] 62 | $(, setup_fn => $setup_fn:expr_2021)? [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> tests/i3/screenshots.rs:63:33 [INFO] [stdout] | [INFO] [stdout] 63 | $(, test_fn => $test_fn: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] 63 | $(, test_fn => $test_fn:expr_2021)? [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> tests/spawn/mod.rs:166:27 [INFO] [stdout] | [INFO] [stdout] 166 | ($name:ident, $config:expr, $test_fn: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] 166 | ($name:ident, $config:expr_2021, $test_fn:expr) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> tests/spawn/mod.rs:166:42 [INFO] [stdout] | [INFO] [stdout] 166 | ($name:ident, $config:expr, $test_fn: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] 166 | ($name:ident, $config:expr, $test_fn:expr_2021) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> tests/spawn/mod.rs:170:27 [INFO] [stdout] | [INFO] [stdout] 170 | ($name:ident, $config:expr, $setup_fn:expr, $test_fn: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] 170 | ($name:ident, $config:expr_2021, $setup_fn:expr, $test_fn:expr) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> tests/spawn/mod.rs:170:43 [INFO] [stdout] | [INFO] [stdout] 170 | ($name:ident, $config:expr, $setup_fn:expr, $test_fn: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] 170 | ($name:ident, $config:expr, $setup_fn:expr_2021, $test_fn:expr) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> tests/spawn/mod.rs:170:58 [INFO] [stdout] | [INFO] [stdout] 170 | ($name:ident, $config:expr, $setup_fn:expr, $test_fn: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] 170 | ($name:ident, $config:expr, $setup_fn:expr, $test_fn:expr_2021) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 27.06s [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> tests/util.rs:132:23 [INFO] [stdout] | [INFO] [stdout] 132 | ($std: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] 132 | ($std:expr_2021) => {{ [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> tests/util.rs:288:17 [INFO] [stdout] | [INFO] [stdout] 288 | ($value: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] 288 | ($value:expr_2021) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 27 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Running `cargo check` to verify 2024 [INFO] [stderr] Checking i3stat v0.13.1 (/tmp/fixit) [INFO] [stdout] warning: irrefutable `if let` pattern [INFO] [stdout] --> src/util/netlink/route.rs:67:16 [INFO] [stdout] | [INFO] [stdout] 67 | if let Err(e) = handle_manual_trigger(socket, manual_trigger, tx).await { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this pattern will always match, so the `if let` is useless [INFO] [stdout] = help: consider replacing the `if let` with a `let` [INFO] [stdout] = note: `#[warn(irrefutable_let_patterns)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: irrefutable `if let` pattern [INFO] [stdout] --> src/util/netlink/route.rs:75:12 [INFO] [stdout] | [INFO] [stdout] 75 | if let Err(e) = handle_netlink_route_messages(socket, multicast, tx).await { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this pattern will always match, so the `if let` is useless [INFO] [stdout] = help: consider replacing the `if let` with a `let` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: irrefutable `if let` pattern [INFO] [stdout] --> src/util/netlink/route.rs:67:16 [INFO] [stdout] | [INFO] [stdout] 67 | if let Err(e) = handle_manual_trigger(socket, manual_trigger, tx).await { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this pattern will always match, so the `if let` is useless [INFO] [stdout] = help: consider replacing the `if let` with a `let` [INFO] [stdout] = note: `#[warn(irrefutable_let_patterns)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: irrefutable `if let` pattern [INFO] [stdout] --> src/util/netlink/route.rs:75:12 [INFO] [stdout] | [INFO] [stdout] 75 | if let Err(e) = handle_netlink_route_messages(socket, multicast, tx).await { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this pattern will always match, so the `if let` is useless [INFO] [stdout] = help: consider replacing the `if let` with a `let` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: lifetime may not live long enough [INFO] [stdout] --> src/bar.rs:170:36 [INFO] [stdout] | [INFO] [stdout] 102 | fn create_powerline_bar(&mut self, theme: &Theme) -> Vec { [INFO] [stdout] | - let's call the lifetime of this reference `'1` [INFO] [stdout] ... [INFO] [stdout] 170 | .or_insert_with(|| Box::new(make_color_adjuster(&theme.bg, &theme.dim)))( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ returning this value requires that `'1` must outlive `'static` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: lifetime may not live long enough [INFO] [stdout] --> src/bar.rs:170:36 [INFO] [stdout] | [INFO] [stdout] 102 | fn create_powerline_bar(&mut self, theme: &Theme) -> Vec { [INFO] [stdout] | - let's call the lifetime of this reference `'1` [INFO] [stdout] ... [INFO] [stdout] 170 | .or_insert_with(|| Box::new(make_color_adjuster(&theme.bg, &theme.dim)))( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ returning this value requires that `'1` must outlive `'static` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 1 previous error; 2 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `i3stat` (lib) due to 2 previous errors; 2 warnings emitted [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stdout] error: aborting due to 1 previous error; 2 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `i3stat` (lib test) due to 2 previous errors; 2 warnings emitted [INFO] [stderr] error: failed to check after updating to 2024 [INFO] [stderr] [INFO] [stderr] Caused by: [INFO] [stderr] process didn't exit successfully: `cargo check --frozen --all --all-targets --message-format=json` (exit status: 101) [INFO] running `Command { std: "docker" "inspect" "9e5c9ef1b9067384c20037d00ca9d2d4f545e2119f60dfb74954f6577c5aba7d", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "9e5c9ef1b9067384c20037d00ca9d2d4f545e2119f60dfb74954f6577c5aba7d", kill_on_drop: false }` [INFO] [stdout] 9e5c9ef1b9067384c20037d00ca9d2d4f545e2119f60dfb74954f6577c5aba7d