[INFO] cloning repository https://github.com/XDream8/kiss-rs [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/XDream8/kiss-rs" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FXDream8%2Fkiss-rs", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FXDream8%2Fkiss-rs'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 7ff6bf7feb15e9b9b6aa5555874531a91dd1c4dc [INFO] checking XDream8/kiss-rs/7ff6bf7feb15e9b9b6aa5555874531a91dd1c4dc against try#ccf408f4326a858c00dd845a64a86b16f360a801 for pr-129466-2 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FXDream8%2Fkiss-rs" "/workspace/builds/worker-3-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc2/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/XDream8/kiss-rs on toolchain ccf408f4326a858c00dd845a64a86b16f360a801 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+ccf408f4326a858c00dd845a64a86b16f360a801" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/XDream8/kiss-rs [INFO] finished tweaking git repo https://github.com/XDream8/kiss-rs [INFO] tweaked toml for git repo https://github.com/XDream8/kiss-rs written to /workspace/builds/worker-3-tc2/source/Cargo.toml [INFO] crate git repo https://github.com/XDream8/kiss-rs 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-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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:6252d7ea7fb8caaf7af6d800c5fb250a9cd862b9a7f9508afb3c54fa7fe1102e" "/opt/rustwide/cargo-home/bin/cargo" "+ccf408f4326a858c00dd845a64a86b16f360a801" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] ececb7c74710dae5a9ec2ee6028741a5eee8f3e1523281c5d3917621a9f67dd6 [INFO] running `Command { std: "docker" "start" "-a" "ececb7c74710dae5a9ec2ee6028741a5eee8f3e1523281c5d3917621a9f67dd6", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "ececb7c74710dae5a9ec2ee6028741a5eee8f3e1523281c5d3917621a9f67dd6", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "ececb7c74710dae5a9ec2ee6028741a5eee8f3e1523281c5d3917621a9f67dd6", kill_on_drop: false }` [INFO] [stdout] ececb7c74710dae5a9ec2ee6028741a5eee8f3e1523281c5d3917621a9f67dd6 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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:6252d7ea7fb8caaf7af6d800c5fb250a9cd862b9a7f9508afb3c54fa7fe1102e" "/opt/rustwide/cargo-home/bin/cargo" "+ccf408f4326a858c00dd845a64a86b16f360a801" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] d3568dea3c116240dcdeb1b5da31c4061c6fad3cb8ae6ee93ca0e79d3ea29f00 [INFO] running `Command { std: "docker" "start" "-a" "d3568dea3c116240dcdeb1b5da31c4061c6fad3cb8ae6ee93ca0e79d3ea29f00", 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 libc v0.2.147 [INFO] [stderr] Compiling pkg-config v0.3.27 [INFO] [stderr] Compiling vcpkg v0.2.15 [INFO] [stderr] Checking once_cell v1.18.0 [INFO] [stderr] Checking untrusted v0.7.1 [INFO] [stderr] Checking spin v0.5.2 [INFO] [stderr] Checking tinyvec_macros v0.1.1 [INFO] [stderr] Checking unicode-bidi v0.3.13 [INFO] [stderr] Checking percent-encoding v2.3.0 [INFO] [stderr] Compiling crc32fast v1.3.2 [INFO] [stderr] Compiling rustls v0.21.7 [INFO] [stderr] Checking log v0.4.20 [INFO] [stderr] Checking adler v1.0.2 [INFO] [stderr] Checking bitflags v2.4.0 [INFO] [stderr] Checking arrayref v0.3.7 [INFO] [stderr] Checking tinyvec v1.6.0 [INFO] [stderr] Checking arrayvec v0.7.4 [INFO] [stderr] Checking constant_time_eq v0.3.0 [INFO] [stderr] Checking miniz_oxide v0.7.1 [INFO] [stderr] Checking openssl-probe v0.1.5 [INFO] [stderr] Checking form_urlencoded v1.2.0 [INFO] [stderr] Checking base64 v0.21.3 [INFO] [stderr] Checking bitflags v1.3.2 [INFO] [stderr] Checking seahorse v2.1.0 [INFO] [stderr] Checking faster-hex v0.8.0 [INFO] [stderr] Checking flate2 v1.0.27 [INFO] [stderr] Compiling jobserver v0.1.26 [INFO] [stderr] Checking unicode-normalization v0.1.22 [INFO] [stderr] Compiling cc v1.0.83 [INFO] [stderr] Checking idna v0.4.0 [INFO] [stderr] Checking filetime v0.2.22 [INFO] [stderr] Checking xattr v1.0.1 [INFO] [stderr] Checking nix v0.27.1 [INFO] [stderr] Checking tar v0.4.40 [INFO] [stderr] Checking url v2.4.1 [INFO] [stderr] Compiling ring v0.16.20 [INFO] [stderr] Compiling libz-sys v1.1.12 [INFO] [stderr] Compiling openssl-sys v0.9.92 [INFO] [stderr] Compiling bzip2-sys v0.1.11+1.0.8 [INFO] [stderr] Compiling libgit2-sys v0.15.2+1.6.4 [INFO] [stderr] Compiling lzma-sys v0.1.20 [INFO] [stderr] Compiling blake3 v1.4.1 [INFO] [stderr] Checking xz2 v0.1.7 [INFO] [stderr] Checking bzip2 v0.4.4 [INFO] [stderr] Checking rustls-webpki v0.101.4 [INFO] [stderr] Checking sct v0.7.0 [INFO] [stderr] Checking rustls-webpki v0.100.2 [INFO] [stderr] Checking webpki-roots v0.23.1 [INFO] [stderr] Checking git2 v0.17.2 [INFO] [stderr] Checking ureq v2.7.1 [INFO] [stderr] Checking kiss v0.1.0 (/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 `kiss` [INFO] [stderr] [INFO] [stderr] after fixes were automatically applied the compiler reported errors within these files: [INFO] [stderr] [INFO] [stderr] * src/shared_lib/logging.rs [INFO] [stderr] * src/shared_lib/threading.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/shared_lib/logging.rs:3:6 [INFO] [stderr] | [INFO] [stderr] 3 | ($first: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/shared_lib/logging.rs:17:6 [INFO] [stderr] | [INFO] [stderr] 17 | ($first:expr_2021, $($arg: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/shared_lib/logging.rs:17:26 [INFO] [stderr] | [INFO] [stderr] 17 | ($first:expr_2021, $($arg:expr_2021),* ) => {{ [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/shared_lib/logging.rs:3:13 [INFO] [stdout] | [INFO] [stdout] 3 | ($first: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] 3 | ($first:expr_2021) => {{ [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/shared_lib/logging.rs:38:6 [INFO] [stderr] | [INFO] [stderr] 38 | ($first: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/shared_lib/logging.rs:53:6 [INFO] [stderr] | [INFO] [stderr] 53 | ($first:expr_2021, $($arg:expr_2021),* ) => {{ [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] | [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/shared_lib/logging.rs:17:13 [INFO] [stdout] | [INFO] [stdout] 17 | ($first:expr, $($arg: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] 17 | ($first:expr_2021, $($arg:expr),* ) => {{ [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/shared_lib/logging.rs:17:26 [INFO] [stdout] | [INFO] [stdout] 17 | ($first:expr, $($arg: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] 17 | ($first:expr, $($arg:expr_2021),* ) => {{ [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/shared_lib/logging.rs:38:13 [INFO] [stdout] | [INFO] [stdout] 38 | ($first: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] 38 | ($first:expr_2021) => {{ [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/shared_lib/logging.rs:53:13 [INFO] [stdout] | [INFO] [stdout] 53 | ($first:expr, $($arg: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] 53 | ($first:expr_2021, $($arg:expr),* ) => {{ [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/shared_lib/logging.rs:53:26 [INFO] [stdout] | [INFO] [stdout] 53 | ($first:expr, $($arg: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] 53 | ($first:expr, $($arg:expr_2021),* ) => {{ [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] --> src/shared_lib/logging.rs:53:26 [INFO] [stderr] | [INFO] [stderr] 53 | ($first:expr_2021, $($arg: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/shared_lib/threading.rs:18:6 [INFO] [stderr] | [INFO] [stderr] 18 | ($data: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/shared_lib/threading.rs:35:6 [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/shared_lib/threading.rs:18:12 [INFO] [stdout] | [INFO] [stdout] 18 | ($data: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 | ($data:expr_2021) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] | [INFO] [stderr] 35 | ($data: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/shared_lib/threading.rs:52:6 [INFO] [stderr] | [INFO] [stderr] 52 | ($data: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 9 previous errors [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/shared_lib/threading.rs:35:12 [INFO] [stdout] | [INFO] [stdout] 35 | ($data: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] 35 | ($data:expr_2021) => {{ [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/shared_lib/threading.rs:52:12 [INFO] [stdout] | [INFO] [stdout] 52 | ($data: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 | ($data: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: call to deprecated safe function `std::env::set_var` is unsafe and requires unsafe block [INFO] [stdout] --> src/shared_lib/mod.rs:150:9 [INFO] [stdout] | [INFO] [stdout] 150 | env::set_var(name, value); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #27970 [INFO] [stdout] = note: `--force-warn deprecated-safe-2024` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] help: you can wrap the call in an `unsafe` block if you can guarantee that the environment access only happens in single-threaded code [INFO] [stdout] | [INFO] [stdout] 150 + // TODO: Audit that the environment access only happens in single-threaded code. [INFO] [stdout] 151 ~ unsafe { env::set_var(name, value) }; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/build_lib.rs:114:28 [INFO] [stdout] | [INFO] [stdout] 114 | if let Err(err) = run_command("strip", &args) { [INFO] [stdout] | ^^^^^^^^^^^^^^^--------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/build_lib.rs:116:25 [INFO] [stdout] | [INFO] [stdout] 116 | } [INFO] [stdout] | ^ [INFO] [stdout] = note: `--force-warn if-let-rescope` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 114 ~ match run_command("strip", &args) { Err(err) => { [INFO] [stdout] 115 | die!("Failed to strip file:", file_path_string, "-", err); [INFO] [stdout] 116 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/build_lib.rs:121:28 [INFO] [stdout] | [INFO] [stdout] 121 | if let Err(err) = run_command("strip", &args) { [INFO] [stdout] | ^^^^^^^^^^^^^^^--------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/build_lib.rs:123:25 [INFO] [stdout] | [INFO] [stdout] 123 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 121 ~ match run_command("strip", &args) { Err(err) => { [INFO] [stdout] 122 | die!("Failed to strip file:", file_path_string, "-", err); [INFO] [stdout] 123 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/build_lib.rs:143:24 [INFO] [stdout] | [INFO] [stdout] 143 | if let Err(err) = run_command("strip", &args) { [INFO] [stdout] | ^^^^^^^^^^^^^^^--------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/build_lib.rs:145:21 [INFO] [stdout] | [INFO] [stdout] 145 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 143 ~ match run_command("strip", &args) { Err(err) => { [INFO] [stdout] 144 | die!("Failed to strip file:", file_path_string, "-", err); [INFO] [stdout] 145 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/build_lib.rs:343:16 [INFO] [stdout] | [INFO] [stdout] 343 | if let Err(err) = pkg_install(config, &pkg) { [INFO] [stdout] | ^^^^^^^^^^^^^^^------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/build_lib.rs:345:13 [INFO] [stdout] | [INFO] [stdout] 345 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 343 ~ match pkg_install(config, &pkg) { Err(err) => { [INFO] [stdout] 344 | die!("Failed to install package:", pkg, err); [INFO] [stdout] 345 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/build_lib.rs:399:16 [INFO] [stdout] | [INFO] [stdout] 399 | if let Err(err) = pkg_install(config, package) { [INFO] [stdout] | ^^^^^^^^^^^^^^^---------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/build_lib.rs:401:13 [INFO] [stdout] | [INFO] [stdout] 401 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 399 ~ match pkg_install(config, package) { Err(err) => { [INFO] [stdout] 400 | die!("Failed to install package:", package, err); [INFO] [stdout] 401 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/build_lib.rs:411:16 [INFO] [stdout] | [INFO] [stdout] 411 | if let Err(err) = pkg_install(config, pkg) { [INFO] [stdout] | ^^^^^^^^^^^^^^^------------------------ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/build_lib.rs:413:13 [INFO] [stdout] | [INFO] [stdout] 413 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 411 ~ match pkg_install(config, pkg) { Err(err) => { [INFO] [stdout] 412 | die!("Failed to install: {}", err); [INFO] [stdout] 413 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/build_lib.rs:500:8 [INFO] [stdout] | [INFO] [stdout] 500 | if let Err(err) = copy_folder(Path::new(&repo_dir), Path::new(pkg_db_dir.as_str())) { [INFO] [stdout] | ^^^^^^^^^^^^^^^----------------------------------------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/build_lib.rs:502:5 [INFO] [stdout] | [INFO] [stdout] 502 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 500 ~ match copy_folder(Path::new(&repo_dir), Path::new(pkg_db_dir.as_str())) { Err(err) => { [INFO] [stdout] 501 | die!("Failed to copy repository files", err); [INFO] [stdout] 502 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/install.rs:385:12 [INFO] [stdout] | [INFO] [stdout] 385 | if let Ok(target) = fs::read_link(&symlink) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^----------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/install.rs:389:9 [INFO] [stdout] | [INFO] [stdout] 389 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 385 ~ match fs::read_link(&symlink) { Ok(target) => { [INFO] [stdout] 386 | if !target.exists() { [INFO] [stdout] 387 | fs::remove_file(&symlink)?; [INFO] [stdout] 388 | } [INFO] [stdout] 389 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/shared_lib/mod.rs:111:8 [INFO] [stdout] | [INFO] [stdout] 111 | if let Err(err) = env::set_current_dir(&folder_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/shared_lib/mod.rs:113:5 [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 env::set_current_dir(&folder_name) { Err(err) => { [INFO] [stdout] 112 | die!("Failed to change directory:", err); [INFO] [stdout] 113 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/shared_lib/mod.rs:305:8 [INFO] [stdout] | [INFO] [stdout] 305 | if let Ok(metadata) = std::fs::symlink_metadata(path) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/shared_lib/mod.rs:307:5 [INFO] [stdout] | [INFO] [stdout] 307 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 305 ~ match std::fs::symlink_metadata(path) { Ok(metadata) => { [INFO] [stdout] 306 | metadata.file_type().is_symlink() [INFO] [stdout] 307 ~ } _ => { [INFO] [stdout] 308 | false [INFO] [stdout] 309 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/shared_lib/mod.rs:319:36 [INFO] [stdout] | [INFO] [stdout] 319 | let user_name: String = if let Ok(Some(user)) = User::from_uid(metadata.uid().into()) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^------------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/shared_lib/mod.rs:321:9 [INFO] [stdout] | [INFO] [stdout] 321 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 319 ~ let user_name: String = match User::from_uid(metadata.uid().into()) { Ok(Some(user)) => { [INFO] [stdout] 320 | user.name [INFO] [stdout] 321 ~ } _ => { [INFO] [stdout] 322 | String::from("unknown") [INFO] [stdout] 323 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/shared_lib/signal.rs:24:16 [INFO] [stdout] | [INFO] [stdout] 24 | if let Err(err) = fs::create_dir_all(dir) { [INFO] [stdout] | ^^^^^^^^^^^^^^^----------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/shared_lib/signal.rs:27:13 [INFO] [stdout] | [INFO] [stdout] 27 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 24 ~ match fs::create_dir_all(dir) { Err(err) => { [INFO] [stdout] 25 | eprintln!("Failed to create directory: {}", err); [INFO] [stdout] 26 | process::exit(1); [INFO] [stdout] 27 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/shared_lib/signal.rs:39:16 [INFO] [stdout] | [INFO] [stdout] 39 | if let Err(err) = fs::remove_dir_all::<&Path>(&config.proc) { [INFO] [stdout] | ^^^^^^^^^^^^^^^----------------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/shared_lib/signal.rs:42:13 [INFO] [stdout] | [INFO] [stdout] 42 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 39 ~ match fs::remove_dir_all::<&Path>(&config.proc) { Err(err) => { [INFO] [stdout] 40 | eprintln!("Failed to remove directory: {}", err); [INFO] [stdout] 41 | return 1; [INFO] [stdout] 42 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/shared_lib/signal.rs:44:16 [INFO] [stdout] | [INFO] [stdout] 44 | if let Err(err) = fs::remove_dir_all::<&Path>(&config.tar_dir) { [INFO] [stdout] | ^^^^^^^^^^^^^^^-------------------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/shared_lib/signal.rs:47:13 [INFO] [stdout] | [INFO] [stdout] 47 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 44 ~ match fs::remove_dir_all::<&Path>(&config.tar_dir) { Err(err) => { [INFO] [stdout] 45 | eprintln!("Failed to remove directory: {}", err); [INFO] [stdout] 46 | return 1; [INFO] [stdout] 47 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/source_lib.rs:319:20 [INFO] [stdout] | [INFO] [stdout] 319 | if let Err(err) = pkg_source_url(config, &repo_name, &source, destination.as_path()) [INFO] [stdout] | ^^^^^^^^^^^^^^^------------------------------------------------------------------ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/source_lib.rs:322:17 [INFO] [stdout] | [INFO] [stdout] 322 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 319 ~ match pkg_source_url(config, &repo_name, &source, destination.as_path()) [INFO] [stdout] 320 ~ { Err(err) => { [INFO] [stdout] 321 | die!("Failed to download file", err); [INFO] [stdout] 322 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/source_lib.rs:439:11 [INFO] [stdout] | [INFO] [stdout] 439 | while let Ok(bytes_read) = response_reader.read(&mut buffer) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^--------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/source_lib.rs:449:5 [INFO] [stdout] | [INFO] [stdout] 449 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/source_lib.rs:576:8 [INFO] [stdout] | [INFO] [stdout] 576 | if let Err(err) = create_tar_archive(tar_file.as_str(), &pkg_dir, config.kiss_compress.as_str()) [INFO] [stdout] | ^^^^^^^^^^^^^^^------------------------------------------------------------------------------ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/source_lib.rs:579:5 [INFO] [stdout] | [INFO] [stdout] 579 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 576 ~ match create_tar_archive(tar_file.as_str(), &pkg_dir, config.kiss_compress.as_str()) [INFO] [stdout] 577 ~ { Err(err) => { [INFO] [stdout] 578 | die!("Failed to create tarball:", err); [INFO] [stdout] 579 ~ } _ => { [INFO] [stdout] 580 | log!(pkg, "Successfully created tarball"); [INFO] [stdout] 581 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/source_lib.rs:626:12 [INFO] [stdout] | [INFO] [stdout] 626 | if let Err(err) = entry.unpack(dest_path) { [INFO] [stdout] | ^^^^^^^^^^^^^^^----------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/source_lib.rs:629:9 [INFO] [stdout] | [INFO] [stdout] 629 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 626 ~ match entry.unpack(dest_path) { Err(err) => { [INFO] [stdout] 627 | eprintln!("Failed to extract file: {}", err); [INFO] [stdout] 628 | continue; [INFO] [stdout] 629 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 28 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] warning: failed to automatically apply fixes suggested by rustc to crate `kiss` [INFO] [stderr] [INFO] [stderr] after fixes were automatically applied the compiler reported errors within these files: [INFO] [stderr] [INFO] [stderr] * src/shared_lib/logging.rs [INFO] [stderr] * src/shared_lib/threading.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/shared_lib/logging.rs:3:6 [INFO] [stderr] | [INFO] [stderr] 3 | ($first: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/shared_lib/logging.rs:17:6 [INFO] [stderr] | [INFO] [stderr] 17 | ($first:expr_2021, $($arg: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/shared_lib/logging.rs:17:26 [INFO] [stderr] | [INFO] [stderr] 17 | ($first:expr_2021, $($arg: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/shared_lib/logging.rs:38:6 [INFO] [stderr] | [INFO] [stderr] 38 | ($first: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/shared_lib/logging.rs:53:6 [INFO] [stderr] | [INFO] [stderr] 53 | ($first:expr_2021, $($arg: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/shared_lib/logging.rs:53:26 [INFO] [stderr] | [INFO] [stderr] 53 | ($first:expr_2021, $($arg: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/shared_lib/threading.rs:18:6 [INFO] [stderr] | [INFO] [stderr] 18 | ($data: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/shared_lib/threading.rs:35:6 [INFO] [stderr] | [INFO] [stderr] 35 | ($data: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/shared_lib/threading.rs:52:6 [INFO] [stderr] | [INFO] [stderr] 52 | ($data: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 9 previous errors [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/shared_lib/logging.rs:3:13 [INFO] [stdout] | [INFO] [stdout] 3 | ($first: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] 3 | ($first:expr_2021) => {{ [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [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/shared_lib/logging.rs:17:13 [INFO] [stdout] | [INFO] [stdout] 17 | ($first:expr, $($arg: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] 17 | ($first:expr_2021, $($arg: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/shared_lib/logging.rs:17:26 [INFO] [stdout] | [INFO] [stdout] 17 | ($first:expr, $($arg: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] 17 | ($first:expr, $($arg: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/shared_lib/logging.rs:38:13 [INFO] [stdout] | [INFO] [stdout] 38 | ($first: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] 38 | ($first: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/shared_lib/logging.rs:53:13 [INFO] [stdout] | [INFO] [stdout] 53 | ($first:expr, $($arg: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] 53 | ($first:expr_2021, $($arg: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/shared_lib/logging.rs:53:26 [INFO] [stdout] | [INFO] [stdout] 53 | ($first:expr, $($arg: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] 53 | ($first:expr, $($arg: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/shared_lib/threading.rs:18:12 [INFO] [stdout] | [INFO] [stdout] 18 | ($data: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 | ($data: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/shared_lib/threading.rs:35:12 [INFO] [stdout] | [INFO] [stdout] 35 | ($data: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] 35 | ($data: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/shared_lib/threading.rs:52:12 [INFO] [stdout] | [INFO] [stdout] 52 | ($data: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 | ($data:expr_2021) => {{ [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to deprecated safe function `std::env::set_var` is unsafe and requires unsafe block [INFO] [stdout] --> src/shared_lib/mod.rs:150:9 [INFO] [stdout] | [INFO] [stdout] 150 | env::set_var(name, value); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #27970 [INFO] [stdout] = note: `--force-warn deprecated-safe-2024` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] help: you can wrap the call in an `unsafe` block if you can guarantee that the environment access only happens in single-threaded code [INFO] [stdout] | [INFO] [stdout] 150 + // TODO: Audit that the environment access only happens in single-threaded code. [INFO] [stdout] 151 ~ unsafe { env::set_var(name, value) }; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/build_lib.rs:114:28 [INFO] [stdout] | [INFO] [stdout] 114 | if let Err(err) = run_command("strip", &args) { [INFO] [stdout] | ^^^^^^^^^^^^^^^--------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/build_lib.rs:116:25 [INFO] [stdout] | [INFO] [stdout] 116 | } [INFO] [stdout] | ^ [INFO] [stdout] = note: `--force-warn if-let-rescope` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 114 ~ match run_command("strip", &args) { Err(err) => { [INFO] [stdout] 115 | die!("Failed to strip file:", file_path_string, "-", err); [INFO] [stdout] 116 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/build_lib.rs:121:28 [INFO] [stdout] | [INFO] [stdout] 121 | if let Err(err) = run_command("strip", &args) { [INFO] [stdout] | ^^^^^^^^^^^^^^^--------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/build_lib.rs:123:25 [INFO] [stdout] | [INFO] [stdout] 123 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 121 ~ match run_command("strip", &args) { Err(err) => { [INFO] [stdout] 122 | die!("Failed to strip file:", file_path_string, "-", err); [INFO] [stdout] 123 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/build_lib.rs:143:24 [INFO] [stdout] | [INFO] [stdout] 143 | if let Err(err) = run_command("strip", &args) { [INFO] [stdout] | ^^^^^^^^^^^^^^^--------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/build_lib.rs:145:21 [INFO] [stdout] | [INFO] [stdout] 145 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 143 ~ match run_command("strip", &args) { Err(err) => { [INFO] [stdout] 144 | die!("Failed to strip file:", file_path_string, "-", err); [INFO] [stdout] 145 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/build_lib.rs:343:16 [INFO] [stdout] | [INFO] [stdout] 343 | if let Err(err) = pkg_install(config, &pkg) { [INFO] [stdout] | ^^^^^^^^^^^^^^^------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/build_lib.rs:345:13 [INFO] [stdout] | [INFO] [stdout] 345 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 343 ~ match pkg_install(config, &pkg) { Err(err) => { [INFO] [stdout] 344 | die!("Failed to install package:", pkg, err); [INFO] [stdout] 345 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/build_lib.rs:399:16 [INFO] [stdout] | [INFO] [stdout] 399 | if let Err(err) = pkg_install(config, package) { [INFO] [stdout] | ^^^^^^^^^^^^^^^---------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/build_lib.rs:401:13 [INFO] [stdout] | [INFO] [stdout] 401 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 399 ~ match pkg_install(config, package) { Err(err) => { [INFO] [stdout] 400 | die!("Failed to install package:", package, err); [INFO] [stdout] 401 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/build_lib.rs:411:16 [INFO] [stdout] | [INFO] [stdout] 411 | if let Err(err) = pkg_install(config, pkg) { [INFO] [stdout] | ^^^^^^^^^^^^^^^------------------------ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/build_lib.rs:413:13 [INFO] [stdout] | [INFO] [stdout] 413 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 411 ~ match pkg_install(config, pkg) { Err(err) => { [INFO] [stdout] 412 | die!("Failed to install: {}", err); [INFO] [stdout] 413 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/build_lib.rs:500:8 [INFO] [stdout] | [INFO] [stdout] 500 | if let Err(err) = copy_folder(Path::new(&repo_dir), Path::new(pkg_db_dir.as_str())) { [INFO] [stdout] | ^^^^^^^^^^^^^^^----------------------------------------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/build_lib.rs:502:5 [INFO] [stdout] | [INFO] [stdout] 502 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 500 ~ match copy_folder(Path::new(&repo_dir), Path::new(pkg_db_dir.as_str())) { Err(err) => { [INFO] [stdout] 501 | die!("Failed to copy repository files", err); [INFO] [stdout] 502 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/install.rs:385:12 [INFO] [stdout] | [INFO] [stdout] 385 | if let Ok(target) = fs::read_link(&symlink) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^----------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/install.rs:389:9 [INFO] [stdout] | [INFO] [stdout] 389 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 385 ~ match fs::read_link(&symlink) { Ok(target) => { [INFO] [stdout] 386 | if !target.exists() { [INFO] [stdout] 387 | fs::remove_file(&symlink)?; [INFO] [stdout] 388 | } [INFO] [stdout] 389 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/shared_lib/mod.rs:111:8 [INFO] [stdout] | [INFO] [stdout] 111 | if let Err(err) = env::set_current_dir(&folder_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/shared_lib/mod.rs:113:5 [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 env::set_current_dir(&folder_name) { Err(err) => { [INFO] [stdout] 112 | die!("Failed to change directory:", err); [INFO] [stdout] 113 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/shared_lib/mod.rs:305:8 [INFO] [stdout] | [INFO] [stdout] 305 | if let Ok(metadata) = std::fs::symlink_metadata(path) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/shared_lib/mod.rs:307:5 [INFO] [stdout] | [INFO] [stdout] 307 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 305 ~ match std::fs::symlink_metadata(path) { Ok(metadata) => { [INFO] [stdout] 306 | metadata.file_type().is_symlink() [INFO] [stdout] 307 ~ } _ => { [INFO] [stdout] 308 | false [INFO] [stdout] 309 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/shared_lib/mod.rs:319:36 [INFO] [stdout] | [INFO] [stdout] 319 | let user_name: String = if let Ok(Some(user)) = User::from_uid(metadata.uid().into()) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^------------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/shared_lib/mod.rs:321:9 [INFO] [stdout] | [INFO] [stdout] 321 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 319 ~ let user_name: String = match User::from_uid(metadata.uid().into()) { Ok(Some(user)) => { [INFO] [stdout] 320 | user.name [INFO] [stdout] 321 ~ } _ => { [INFO] [stdout] 322 | String::from("unknown") [INFO] [stdout] 323 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/shared_lib/signal.rs:24:16 [INFO] [stdout] | [INFO] [stdout] 24 | if let Err(err) = fs::create_dir_all(dir) { [INFO] [stdout] | ^^^^^^^^^^^^^^^----------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/shared_lib/signal.rs:27:13 [INFO] [stdout] | [INFO] [stdout] 27 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 24 ~ match fs::create_dir_all(dir) { Err(err) => { [INFO] [stdout] 25 | eprintln!("Failed to create directory: {}", err); [INFO] [stdout] 26 | process::exit(1); [INFO] [stdout] 27 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/shared_lib/signal.rs:39:16 [INFO] [stdout] | [INFO] [stdout] 39 | if let Err(err) = fs::remove_dir_all::<&Path>(&config.proc) { [INFO] [stdout] | ^^^^^^^^^^^^^^^----------------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/shared_lib/signal.rs:42:13 [INFO] [stdout] | [INFO] [stdout] 42 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 39 ~ match fs::remove_dir_all::<&Path>(&config.proc) { Err(err) => { [INFO] [stdout] 40 | eprintln!("Failed to remove directory: {}", err); [INFO] [stdout] 41 | return 1; [INFO] [stdout] 42 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/shared_lib/signal.rs:44:16 [INFO] [stdout] | [INFO] [stdout] 44 | if let Err(err) = fs::remove_dir_all::<&Path>(&config.tar_dir) { [INFO] [stdout] | ^^^^^^^^^^^^^^^-------------------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/shared_lib/signal.rs:47:13 [INFO] [stdout] | [INFO] [stdout] 47 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 44 ~ match fs::remove_dir_all::<&Path>(&config.tar_dir) { Err(err) => { [INFO] [stdout] 45 | eprintln!("Failed to remove directory: {}", err); [INFO] [stdout] 46 | return 1; [INFO] [stdout] 47 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/source_lib.rs:319:20 [INFO] [stdout] | [INFO] [stdout] 319 | if let Err(err) = pkg_source_url(config, &repo_name, &source, destination.as_path()) [INFO] [stdout] | ^^^^^^^^^^^^^^^------------------------------------------------------------------ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/source_lib.rs:322:17 [INFO] [stdout] | [INFO] [stdout] 322 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 319 ~ match pkg_source_url(config, &repo_name, &source, destination.as_path()) [INFO] [stdout] 320 ~ { Err(err) => { [INFO] [stdout] 321 | die!("Failed to download file", err); [INFO] [stdout] 322 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/source_lib.rs:439:11 [INFO] [stdout] | [INFO] [stdout] 439 | while let Ok(bytes_read) = response_reader.read(&mut buffer) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^--------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/source_lib.rs:449:5 [INFO] [stdout] | [INFO] [stdout] 449 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/source_lib.rs:576:8 [INFO] [stdout] | [INFO] [stdout] 576 | if let Err(err) = create_tar_archive(tar_file.as_str(), &pkg_dir, config.kiss_compress.as_str()) [INFO] [stdout] | ^^^^^^^^^^^^^^^------------------------------------------------------------------------------ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/source_lib.rs:579:5 [INFO] [stdout] | [INFO] [stdout] 579 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 576 ~ match create_tar_archive(tar_file.as_str(), &pkg_dir, config.kiss_compress.as_str()) [INFO] [stdout] 577 ~ { Err(err) => { [INFO] [stdout] 578 | die!("Failed to create tarball:", err); [INFO] [stdout] 579 ~ } _ => { [INFO] [stdout] 580 | log!(pkg, "Successfully created tarball"); [INFO] [stdout] 581 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/source_lib.rs:626:12 [INFO] [stdout] | [INFO] [stdout] 626 | if let Err(err) = entry.unpack(dest_path) { [INFO] [stdout] | ^^^^^^^^^^^^^^^----------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/source_lib.rs:629:9 [INFO] [stdout] | [INFO] [stdout] 629 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 626 ~ match entry.unpack(dest_path) { Err(err) => { [INFO] [stdout] 627 | eprintln!("Failed to extract file: {}", err); [INFO] [stdout] 628 | continue; [INFO] [stdout] 629 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 28 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Migrating src/main.rs from 2021 edition to 2024 [INFO] [stderr] Fixed src/main.rs (1 fix) [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 7.52s [INFO] [stderr] Running `cargo check` to verify 2024 [INFO] [stderr] Checking kiss v0.1.0 (/tmp/fixit) [INFO] [stdout] error[E0133]: call to unsafe function `set_var` is unsafe and requires unsafe block [INFO] [stdout] --> src/shared_lib/mod.rs:150:9 [INFO] [stdout] | [INFO] [stdout] 150 | env::set_var(name, value); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0133]: call to unsafe function `set_var` is unsafe and requires unsafe block [INFO] [stdout] --> src/shared_lib/mod.rs:150:9 [INFO] [stdout] | [INFO] [stdout] 150 | env::set_var(name, value); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 1 previous error [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0133`. [INFO] [stdout] [INFO] [stderr] error: could not compile `kiss` (lib) due to 2 previous errors [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stdout] error: aborting due to 1 previous error [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0133`. [INFO] [stdout] [INFO] [stderr] error: could not compile `kiss` (lib test) due to 2 previous errors [INFO] [stderr] error: failed to check after updating to 2024 [INFO] [stderr] [INFO] [stderr] Caused by: [INFO] [stderr] process didn't exit successfully: `cargo check --frozen --all --all-targets --message-format=json` (exit status: 101) [INFO] running `Command { std: "docker" "inspect" "d3568dea3c116240dcdeb1b5da31c4061c6fad3cb8ae6ee93ca0e79d3ea29f00", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "d3568dea3c116240dcdeb1b5da31c4061c6fad3cb8ae6ee93ca0e79d3ea29f00", kill_on_drop: false }` [INFO] [stdout] d3568dea3c116240dcdeb1b5da31c4061c6fad3cb8ae6ee93ca0e79d3ea29f00