[INFO] fetching crate evcxr 0.17.0... [INFO] checking evcxr-0.17.0 against try#ccf408f4326a858c00dd845a64a86b16f360a801 for pr-129466-2 [INFO] extracting crate evcxr 0.17.0 into /workspace/builds/worker-0-tc2/source [INFO] validating manifest of crates.io crate evcxr 0.17.0 on toolchain ccf408f4326a858c00dd845a64a86b16f360a801 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+ccf408f4326a858c00dd845a64a86b16f360a801" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking crates.io crate evcxr 0.17.0 [INFO] finished tweaking crates.io crate evcxr 0.17.0 [INFO] tweaked toml for crates.io crate evcxr 0.17.0 written to /workspace/builds/worker-0-tc2/source/Cargo.toml [INFO] crate crates.io crate evcxr 0.17.0 already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+ccf408f4326a858c00dd845a64a86b16f360a801" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:ceb6ea022f8a89cebbe621bb4987e73a935bd40dfbb726f832cfff4742a5b95a" "/opt/rustwide/cargo-home/bin/cargo" "+ccf408f4326a858c00dd845a64a86b16f360a801" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 94a778d92546c8de649d3061fe2d8fd44118f747bb9cb8b221535018a173445b [INFO] running `Command { std: "docker" "start" "-a" "94a778d92546c8de649d3061fe2d8fd44118f747bb9cb8b221535018a173445b", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "94a778d92546c8de649d3061fe2d8fd44118f747bb9cb8b221535018a173445b", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "94a778d92546c8de649d3061fe2d8fd44118f747bb9cb8b221535018a173445b", kill_on_drop: false }` [INFO] [stdout] 94a778d92546c8de649d3061fe2d8fd44118f747bb9cb8b221535018a173445b [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:ceb6ea022f8a89cebbe621bb4987e73a935bd40dfbb726f832cfff4742a5b95a" "/opt/rustwide/cargo-home/bin/cargo" "+ccf408f4326a858c00dd845a64a86b16f360a801" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 5624cd97d409937ce620510057ea1c4f33cb9078b67a8068a0f47292441d8b28 [INFO] running `Command { std: "docker" "start" "-a" "5624cd97d409937ce620510057ea1c4f33cb9078b67a8068a0f47292441d8b28", 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.69 [INFO] [stderr] Compiling libc v0.2.151 [INFO] [stderr] Checking hashbrown v0.14.3 [INFO] [stderr] Compiling crossbeam-utils v0.8.16 [INFO] [stderr] Checking once_cell v1.18.0 [INFO] [stderr] Checking smallvec v1.11.1 [INFO] [stderr] Compiling serde v1.0.193 [INFO] [stderr] Checking log v0.4.20 [INFO] [stderr] Checking either v1.9.0 [INFO] [stderr] Compiling unicode-xid v0.2.4 [INFO] [stderr] Compiling parking_lot_core v0.9.9 [INFO] [stderr] Compiling lock_api v0.4.11 [INFO] [stderr] Compiling memoffset v0.9.0 [INFO] [stderr] Checking pin-project-lite v0.2.13 [INFO] [stderr] Checking text-size v1.1.1 [INFO] [stderr] Checking jod-thread v0.1.2 [INFO] [stderr] Checking arrayvec v0.7.4 [INFO] [stderr] Checking unicode-properties v0.1.0 [INFO] [stderr] Checking tracing-core v0.1.32 [INFO] [stderr] Checking always-assert v0.1.3 [INFO] [stderr] Checking smol_str v0.2.0 [INFO] [stderr] Checking itertools v0.12.0 [INFO] [stderr] Checking la-arena v0.3.1 [INFO] [stderr] Compiling fst v0.4.7 [INFO] [stderr] Checking ra_ap_limit v0.0.189 [INFO] [stderr] Checking ra-ap-rustc_lexer v0.21.0 [INFO] [stderr] Checking bitflags v2.4.1 [INFO] [stderr] Checking drop_bomb v0.1.5 [INFO] [stderr] Checking ra_ap_paths v0.0.189 [INFO] [stderr] Checking cov-mark v2.0.0-pre.1 [INFO] [stderr] Checking oorandom v11.1.3 [INFO] [stderr] Checking dissimilar v1.0.7 [INFO] [stderr] Compiling crossbeam-epoch v0.9.15 [INFO] [stderr] Checking ena v0.14.2 [INFO] [stderr] Checking memchr v2.6.4 [INFO] [stderr] Compiling rayon-core v1.12.0 [INFO] [stderr] Checking line-index v0.1.0 [INFO] [stderr] Compiling serde_json v1.0.108 [INFO] [stderr] Compiling unicase v2.7.0 [INFO] [stderr] Checking itoa v1.0.9 [INFO] [stderr] Checking ryu v1.0.15 [INFO] [stderr] Compiling rustix v0.38.21 [INFO] [stderr] Checking tinyvec v1.6.0 [INFO] [stderr] Checking crossbeam-channel v0.5.8 [INFO] [stderr] Compiling camino v1.1.6 [INFO] [stderr] Checking home v0.5.5 [INFO] [stderr] Checking indexmap v2.1.0 [INFO] [stderr] Compiling thiserror v1.0.50 [INFO] [stderr] Compiling semver v1.0.20 [INFO] [stderr] Compiling linux-raw-sys v0.4.10 [INFO] [stderr] Compiling quote v1.0.33 [INFO] [stderr] Checking crossbeam-deque v0.8.3 [INFO] [stderr] Compiling pulldown-cmark v0.9.3 [INFO] [stderr] Checking unicode-bidi v0.3.13 [INFO] [stderr] Checking percent-encoding v2.3.0 [INFO] [stderr] Compiling anyhow v1.0.75 [INFO] [stderr] Compiling syn v2.0.38 [INFO] [stderr] Checking form_urlencoded v1.2.0 [INFO] [stderr] Checking perf-event-open-sys v1.0.1 [INFO] [stderr] Checking inotify-sys v0.1.5 [INFO] [stderr] Checking mio v0.8.9 [INFO] [stderr] Checking filetime v0.2.22 [INFO] [stderr] Checking inotify v0.9.6 [INFO] [stderr] Checking walkdir v2.4.0 [INFO] [stderr] Checking petgraph v0.6.4 [INFO] [stderr] Checking dashmap v5.5.3 [INFO] [stderr] Checking parking_lot v0.12.1 [INFO] [stderr] Checking ra_ap_toolchain v0.0.189 [INFO] [stderr] Checking perf-event v0.4.7 [INFO] [stderr] Checking gimli v0.28.0 [INFO] [stderr] Checking option-ext v0.2.0 [INFO] [stderr] Checking regex-syntax v0.8.2 [INFO] [stderr] Checking unicode-normalization v0.1.22 [INFO] [stderr] Compiling cc v1.0.83 [INFO] [stderr] Checking winnow v0.5.19 [INFO] [stderr] Checking rayon v1.8.0 [INFO] [stderr] Checking miniz_oxide v0.7.1 [INFO] [stderr] Checking notify v6.1.1 [INFO] [stderr] Checking dirs-sys v0.4.1 [INFO] [stderr] Checking ra_ap_stdx v0.0.189 [INFO] [stderr] Checking countme v3.0.1 [INFO] [stderr] Checking ra_ap_text_edit v0.0.189 [INFO] [stderr] Checking object v0.32.1 [INFO] [stderr] Checking dot v0.1.4 [INFO] [stderr] Checking rustc-demangle v0.1.23 [INFO] [stderr] Checking ra_ap_profile v0.0.189 [INFO] [stderr] Checking ra_ap_tt v0.0.189 [INFO] [stderr] Checking rowan v0.15.15 [INFO] [stderr] Checking ra_ap_vfs v0.0.189 [INFO] [stderr] Checking idna v0.4.0 [INFO] [stderr] Checking ra_ap_test_utils v0.0.189 [INFO] [stderr] Checking ra_ap_cfg v0.0.189 [INFO] [stderr] Checking pulldown-cmark-to-cmark v10.0.4 [INFO] [stderr] Checking unicode-width v0.1.11 [INFO] [stderr] Checking yansi v0.5.1 [INFO] [stderr] Checking fastrand v2.0.1 [INFO] [stderr] Checking dirs v5.0.1 [INFO] [stderr] Checking sig v1.0.0 [INFO] [stderr] Checking libloading v0.8.1 [INFO] [stderr] Checking unicode-segmentation v1.10.1 [INFO] [stderr] Checking ariadne v0.3.0 [INFO] [stderr] Checking json v0.12.4 [INFO] [stderr] Checking evcxr_input v1.0.0 [INFO] [stderr] Checking url v2.4.1 [INFO] [stderr] Checking regex-automata v0.4.3 [INFO] [stderr] Compiling backtrace v0.3.69 [INFO] [stderr] Checking tempfile v3.8.1 [INFO] [stderr] Checking which v5.0.0 [INFO] [stderr] Compiling evcxr v0.17.0 (/tmp/fixit) [INFO] [stderr] Migrating build.rs from 2021 edition to 2024 [INFO] [stderr] Checking addr2line v0.21.0 [INFO] [stderr] Checking regex v1.10.2 [INFO] [stderr] Compiling synstructure v0.13.0 [INFO] [stderr] Compiling serde_derive v1.0.193 [INFO] [stderr] Compiling tracing-attributes v0.1.27 [INFO] [stderr] Compiling ra-ap-rustc_index_macros v0.21.0 [INFO] [stderr] Compiling rust-analyzer-salsa-macros v0.17.0-pre.4 [INFO] [stderr] Compiling chalk-derive v0.95.0 [INFO] [stderr] Compiling thiserror-impl v1.0.50 [INFO] [stderr] Checking chalk-ir v0.95.0 [INFO] [stderr] Checking ra-ap-rustc_index v0.21.0 [INFO] [stderr] Checking ra-ap-rustc_parse_format v0.21.0 [INFO] [stderr] Checking rust-analyzer-salsa v0.17.0-pre.4 [INFO] [stderr] Checking tracing v0.1.40 [INFO] [stderr] Checking ra-ap-rustc_abi v0.21.0 [INFO] [stderr] Checking ra_ap_vfs-notify v0.0.189 [INFO] [stderr] Checking ra_ap_rustc-dependencies v0.0.189 [INFO] [stderr] Checking ra_ap_parser v0.0.189 [INFO] [stderr] Checking chalk-solve v0.95.0 [INFO] [stderr] Checking chalk-recursive v0.95.0 [INFO] [stderr] Checking triomphe v0.1.11 [INFO] [stderr] Checking toml_datetime v0.6.5 [INFO] [stderr] Checking serde_spanned v0.6.4 [INFO] [stderr] Checking cargo-platform v0.1.4 [INFO] [stderr] Checking toml_edit v0.20.7 [INFO] [stderr] Checking ra_ap_syntax v0.0.189 [INFO] [stderr] Checking ra_ap_intern v0.0.189 [INFO] [stderr] Checking cargo_metadata v0.18.1 [INFO] [stderr] Checking toml v0.8.6 [INFO] [stderr] Checking ra_ap_base_db v0.0.189 [INFO] [stderr] Checking ra_ap_mbe v0.0.189 [INFO] [stderr] Checking ra_ap_project_model v0.0.189 [INFO] [stderr] Checking ra_ap_hir_expand v0.0.189 [INFO] [stderr] Checking ra_ap_hir_def v0.0.189 [INFO] [stderr] Checking ra_ap_hir_ty v0.0.189 [INFO] [stderr] Checking ra_ap_hir v0.0.189 [INFO] [stderr] Checking ra_ap_ide_db v0.0.189 [INFO] [stderr] Checking ra_ap_ide_assists v0.0.189 [INFO] [stderr] Checking ra_ap_ide_diagnostics v0.0.189 [INFO] [stderr] Checking ra_ap_ide_ssr v0.0.189 [INFO] [stderr] Checking ra_ap_ide_completion v0.0.189 [INFO] [stderr] Checking ra_ap_ide v0.0.189 [INFO] [stderr] Migrating src/lib.rs from 2021 edition to 2024 [INFO] [stderr] warning: failed to automatically apply fixes suggested by rustc to crate `evcxr` [INFO] [stderr] [INFO] [stderr] after fixes were automatically applied the compiler reported errors within these files: [INFO] [stderr] [INFO] [stderr] * src/cargo_metadata.rs [INFO] [stderr] * src/errors.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/errors.rs:638:6 [INFO] [stderr] | [INFO] [stderr] 638 | ($e:expr_2021) => {$crate::Error::from($e)}; [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/errors.rs:639:6 [INFO] [stderr] | [INFO] [stderr] 639 | ($fmt:expr_2021, $($arg:tt)+) => {$crate::errors::Error::from(format!($fmt, $($arg)+))} [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/cargo_metadata.rs:139:21 [INFO] [stderr] | [INFO] [stderr] 139 | ($pattern:path, $rhs:expr_2021, $msg:literal) => { [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 3 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/errors.rs:639:9 [INFO] [stdout] | [INFO] [stdout] 639 | ($e:expr) => {$crate::Error::from($e)}; [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] 639 | ($e:expr_2021) => {$crate::Error::from($e)}; [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/errors.rs:640:11 [INFO] [stdout] | [INFO] [stdout] 640 | ($fmt:expr, $($arg:tt)+) => {$crate::errors::Error::from(format!($fmt, $($arg)+))} [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] 640 | ($fmt:expr_2021, $($arg:tt)+) => {$crate::errors::Error::from(format!($fmt, $($arg)+))} [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/cargo_metadata.rs:140:26 [INFO] [stdout] | [INFO] [stdout] 140 | ($pattern:path, $rhs:expr, $msg:literal) => { [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] 140 | ($pattern:path, $rhs:expr_2021, $msg:literal) => { [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/command_context.rs:615:29 [INFO] [stdout] | [INFO] [stdout] 615 | ... std::env::set_var(key, 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] 615 + // TODO: Audit that the environment access only happens in single-threaded code. [INFO] [stdout] 616 ~ unsafe { std::env::set_var(key, value) }; [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/eval_context.rs:1153:25 [INFO] [stdout] | [INFO] [stdout] 1153 | std::env::set_var("PATH", path); [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] 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] 1153 + // TODO: Audit that the environment access only happens in single-threaded code. [INFO] [stdout] 1154 ~ unsafe { std::env::set_var("PATH", path) }; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/errors.rs:143:12 [INFO] [stdout] | [INFO] [stdout] 143 | if let (Some(line_start), Some(line_end)) = [INFO] [stdout] | ____________^ [INFO] [stdout] 144 | | (span["line_start"].as_usize(), span["line_end"].as_usize()) [INFO] [stdout] | |______________------------------________________________________________^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/errors.rs:149:9 [INFO] [stdout] | [INFO] [stdout] 149 | } [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] 143 ~ match (span["line_start"].as_usize(), span["line_end"].as_usize()) [INFO] [stdout] 144 ~ { (Some(line_start), Some(line_end)) => { [INFO] [stdout] 145 | for line in line_start..=line_end { [INFO] [stdout] 146 | code_origins.push(code_block.origin_for_line(line)); [INFO] [stdout] 147 | } [INFO] [stdout] 148 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/errors.rs:208:20 [INFO] [stdout] | [INFO] [stdout] 208 | if let JsonValue::Array(children) = &json["children"] { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^---------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/errors.rs:213:17 [INFO] [stdout] | [INFO] [stdout] 213 | } 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] 208 ~ match &json["children"] { JsonValue::Array(children) => { [INFO] [stdout] 209 | children [INFO] [stdout] ... [INFO] [stdout] 212 | .collect() [INFO] [stdout] 213 ~ } _ => { [INFO] [stdout] 214 | vec![] [INFO] [stdout] 215 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/errors.rs:317:12 [INFO] [stdout] | [INFO] [stdout] 317 | if let JsonValue::Array(children) = &self.json["children"] { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^--------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/errors.rs:336:9 [INFO] [stdout] | [INFO] [stdout] 336 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 317 ~ match &self.json["children"] { JsonValue::Array(children) => { [INFO] [stdout] 318 | children [INFO] [stdout] ... [INFO] [stdout] 335 | .collect() [INFO] [stdout] 336 ~ } _ => { [INFO] [stdout] 337 | vec![] [INFO] [stdout] 338 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/errors.rs:473:23 [INFO] [stdout] | [INFO] [stdout] 473 | let span = if let (Some(file_name), Some(start_column), Some(end_column)) = ( [INFO] [stdout] | _______________________^ [INFO] [stdout] 474 | | span_json["file_name"].as_str(), [INFO] [stdout] | | ---------------------- this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] 475 | | span_json["column_start"].as_usize(), [INFO] [stdout] 476 | | span_json["column_end"].as_usize(), [INFO] [stdout] 477 | | ) { [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/errors.rs:509:9 [INFO] [stdout] | [INFO] [stdout] 509 | } 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] 473 ~ let span = match ( [INFO] [stdout] 474 | span_json["file_name"].as_str(), [INFO] [stdout] 475 | span_json["column_start"].as_usize(), [INFO] [stdout] 476 | span_json["column_end"].as_usize(), [INFO] [stdout] 477 ~ ) { (Some(file_name), Some(start_column), Some(end_column)) => { [INFO] [stdout] 478 | if file_name.ends_with("lib.rs") { [INFO] [stdout] ... [INFO] [stdout] 508 | } [INFO] [stdout] 509 ~ } _ => { [INFO] [stdout] 510 | None [INFO] [stdout] 511 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/cargo_metadata.rs:75:16 [INFO] [stdout] | [INFO] [stdout] 75 | if let Some(captures) = PRIMARY_ERROR_PATTERN.captures(line) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^------------------------------------ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/cargo_metadata.rs:77:13 [INFO] [stdout] | [INFO] [stdout] 77 | } else if !IGNORED_LINES_PATTERN.is_match(line) { [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 PRIMARY_ERROR_PATTERN.captures(line) { Some(captures) => { [INFO] [stdout] 76 | message.push(captures[1].to_string()); [INFO] [stdout] 77 ~ } _ => if !IGNORED_LINES_PATTERN.is_match(line) { [INFO] [stdout] 78 | message.push(line.to_owned()); [INFO] [stdout] 79 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/cargo_metadata.rs:102:16 [INFO] [stdout] | [INFO] [stdout] 102 | if let (Some(package_name), Some(id)) = [INFO] [stdout] | ________________^ [INFO] [stdout] 103 | | (package["name"].as_str(), package["id"].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/cargo_metadata.rs:126:13 [INFO] [stdout] | [INFO] [stdout] 126 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 102 ~ match (package["name"].as_str(), package["id"].as_str()) [INFO] [stdout] 103 ~ { (Some(package_name), Some(id)) => { [INFO] [stdout] 104 | if id == main_crate_id { [INFO] [stdout] ... [INFO] [stdout] 124 | } [INFO] [stdout] 125 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/cargo_metadata.rs:106:24 [INFO] [stdout] | [INFO] [stdout] 106 | if let JsonValue::Array(dependencies) = &package["dependencies"] { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^----------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/cargo_metadata.rs:112:21 [INFO] [stdout] | [INFO] [stdout] 112 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 106 ~ match &package["dependencies"] { JsonValue::Array(dependencies) => { [INFO] [stdout] 107 | for dependency in dependencies { [INFO] [stdout] ... [INFO] [stdout] 111 | } [INFO] [stdout] 112 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/cargo_metadata.rs:108:32 [INFO] [stdout] | [INFO] [stdout] 108 | ... if let Some(dependency_name) = dependency["name"].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/cargo_metadata.rs:110:29 [INFO] [stdout] | [INFO] [stdout] 110 | ... } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 108 ~ match dependency["name"].as_str() { Some(dependency_name) => { [INFO] [stdout] 109 | direct_dependencies.push(dependency_name); [INFO] [stdout] 110 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/cargo_metadata.rs:114:20 [INFO] [stdout] | [INFO] [stdout] 114 | if let JsonValue::Array(targets) = &package["targets"] { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^------------------ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/cargo_metadata.rs:125:17 [INFO] [stdout] | [INFO] [stdout] 125 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 114 ~ match &package["targets"] { JsonValue::Array(targets) => { [INFO] [stdout] 115 | for target in targets { [INFO] [stdout] ... [INFO] [stdout] 124 | } [INFO] [stdout] 125 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/cargo_metadata.rs:116:28 [INFO] [stdout] | [INFO] [stdout] 116 | if let JsonValue::Array(kinds) = &target["kind"] { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/cargo_metadata.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] 116 ~ match &target["kind"] { JsonValue::Array(kinds) => { [INFO] [stdout] 117 | if kinds.iter().any(|kind| kind == "lib") { [INFO] [stdout] ... [INFO] [stdout] 122 | } [INFO] [stdout] 123 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/cargo_metadata.rs:118:36 [INFO] [stdout] | [INFO] [stdout] 118 | ... if let Some(target_name) = target["name"].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/cargo_metadata.rs:121:33 [INFO] [stdout] | [INFO] [stdout] 121 | ... } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 118 ~ match target["name"].as_str() { Some(target_name) => { [INFO] [stdout] 119 | crate_to_library_names [INFO] [stdout] 120 | .insert(package_name, target_name.to_owned()); [INFO] [stdout] 121 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/child_process.rs:91:23 [INFO] [stdout] | [INFO] [stdout] 91 | while let Some(Ok(line)) = child_stderr.next() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/child_process.rs:94:17 [INFO] [stdout] | [INFO] [stdout] 94 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/child_process.rs:157:15 [INFO] [stdout] | [INFO] [stdout] 157 | while let Some(Ok(line)) = self.stdout.next() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^------------------ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/child_process.rs:160:9 [INFO] [stdout] | [INFO] [stdout] 160 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/code_block.rs:195:16 [INFO] [stdout] | [INFO] [stdout] 195 | if let Some(captures) = COMMAND_RE.captures(line) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/code_block.rs:205:13 [INFO] [stdout] | [INFO] [stdout] 205 | } else if line.starts_with(r"//") || line.trim().is_empty() { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 195 ~ match COMMAND_RE.captures(line) { Some(captures) => { [INFO] [stdout] 196 | code_block = code_block.with( [INFO] [stdout] ... [INFO] [stdout] 204 | ); [INFO] [stdout] 205 ~ } _ => if line.starts_with(r"//") || line.trim().is_empty() { [INFO] [stdout] 206 | // Ignore blank lines, otherwise we can't have blank lines before :dep commands. [INFO] [stdout] ... [INFO] [stdout] 239 | break; [INFO] [stdout] 240 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/command_context.rs:194:20 [INFO] [stdout] | [INFO] [stdout] 194 | if let Err(error) = [INFO] [stdout] | ____________________^ [INFO] [stdout] 195 | | self.process_command(command, &segment, &mut state, &command.args, true) [INFO] [stdout] | |_____________________-----------------------------------------------------------------------^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/command_context.rs:198:17 [INFO] [stdout] | [INFO] [stdout] 198 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 194 ~ match self.process_command(command, &segment, &mut state, &command.args, true) [INFO] [stdout] 195 ~ { Err(error) => { [INFO] [stdout] 196 | errors.push(error); [INFO] [stdout] 197 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/command_context.rs:543:31 [INFO] [stdout] | [INFO] [stdout] 543 | } else if let Ok(stats) = crate::module::cache::CacheStats::get() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^--------------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/command_context.rs:545:21 [INFO] [stdout] | [INFO] [stdout] 545 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 543 ~ } else { match crate::module::cache::CacheStats::get() { Ok(stats) => { [INFO] [stdout] 544 | return text_output(format!("{stats}Size limit: {} MiB", state.cache_bytes() / 1024 / 1024)); [INFO] [stdout] 545 ~ } _ => {}}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/command_context.rs:744:8 [INFO] [stdout] | [INFO] [stdout] 744 | if let Some(captures) = DEP_RE.captures(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/command_context.rs:754:5 [INFO] [stdout] | [INFO] [stdout] 754 | } 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] 744 ~ match DEP_RE.captures(args) { Some(captures) => { [INFO] [stdout] 745 | if captures[1].starts_with('.') || captures[1].starts_with('/') { [INFO] [stdout] ... [INFO] [stdout] 753 | Ok(EvalOutputs::new()) [INFO] [stdout] 754 ~ } _ => { [INFO] [stdout] 755 | bail!("Invalid :dep command. Expected: name = ... or just name"); [INFO] [stdout] 756 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/eval_context.rs:550:16 [INFO] [stdout] | [INFO] [stdout] 550 | if let Err(error) = context.eval("42") { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^------------------ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/eval_context.rs:558:13 [INFO] [stdout] | [INFO] [stdout] 558 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 550 ~ match context.eval("42") { Err(error) => { [INFO] [stdout] 551 | drop(context); [INFO] [stdout] ... [INFO] [stdout] 557 | return Err(format!("{stderr}{error}").into()); [INFO] [stdout] 558 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/eval_context.rs:553:23 [INFO] [stdout] | [INFO] [stdout] 553 | while let Ok(line) = outputs.stderr.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/eval_context.rs:556:17 [INFO] [stdout] | [INFO] [stdout] 556 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/eval_context.rs:1010:23 [INFO] [stdout] | [INFO] [stdout] 1010 | } else if let Some(captures) = MIME_OUTPUT.captures(&line) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^--------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/eval_context.rs:1028:13 [INFO] [stdout] | [INFO] [stdout] 1028 | } 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] 1010 ~ } else { match MIME_OUTPUT.captures(&line) { Some(captures) => { [INFO] [stdout] 1011 | let mime_type = captures[1].to_owned(); [INFO] [stdout] ... [INFO] [stdout] 1027 | output.content_by_mime_type.insert(mime_type, content); [INFO] [stdout] 1028 ~ } _ => { [INFO] [stdout] 1029 | // Note, errors sending are ignored, since it just means the [INFO] [stdout] 1030 | // user of the library has dropped the Receiver. [INFO] [stdout] 1031 | let _ = self.stdout_sender.send(line); [INFO] [stdout] 1032 ~ }}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/eval_context.rs:1143:12 [INFO] [stdout] | [INFO] [stdout] 1143 | if let Ok(current_exe) = std::env::current_exe() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^----------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/eval_context.rs:1157:9 [INFO] [stdout] | [INFO] [stdout] 1157 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1143 ~ match std::env::current_exe() { Ok(current_exe) => { [INFO] [stdout] 1144 | if let Some(bin_dir) = current_exe.parent() { [INFO] [stdout] ... [INFO] [stdout] 1156 | } [INFO] [stdout] 1157 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/eval_context.rs:1885:16 [INFO] [stdout] | [INFO] [stdout] 1885 | if let Some(let_stmt) = ast::LetStmt::cast(node.clone()) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^-------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] ... [INFO] [stdout] 1940 | } else if let Some(item) = ast::Item::cast(node.clone()) { [INFO] [stdout] | ----------------------------- this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/eval_context.rs:1890:13 [INFO] [stdout] | [INFO] [stdout] 1890 | } else if ast::Attr::can_cast(node.kind()) { [INFO] [stdout] | ^ [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/eval_context.rs:2030:13 [INFO] [stdout] | [INFO] [stdout] 2030 | } 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] 1885 ~ match ast::LetStmt::cast(node.clone()) { Some(let_stmt) => { [INFO] [stdout] 1886 | if let Some(pat) = let_stmt.pat() { [INFO] [stdout] ... [INFO] [stdout] 1889 | } [INFO] [stdout] 1890 ~ } _ => if ast::Attr::can_cast(node.kind()) { [INFO] [stdout] 1891 | self.attributes.insert( [INFO] [stdout] ... [INFO] [stdout] 1939 | } [INFO] [stdout] 1940 ~ } else { match ast::Item::cast(node.clone()) { Some(item) => { [INFO] [stdout] 1941 | match item { [INFO] [stdout] ... [INFO] [stdout] 2029 | } [INFO] [stdout] 2030 ~ } _ => { [INFO] [stdout] 2031 | code_out = code_out.with_segment(segment); [INFO] [stdout] 2032 ~ }}}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/eval_context.rs:1886:20 [INFO] [stdout] | [INFO] [stdout] 1886 | if let Some(pat) = let_stmt.pat() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^-------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/eval_context.rs:1889:17 [INFO] [stdout] | [INFO] [stdout] 1889 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1886 ~ match let_stmt.pat() { Some(pat) => { [INFO] [stdout] 1887 | self.record_new_locals(pat, let_stmt.ty(), &segment, node.text_range()); [INFO] [stdout] 1888 | code_out = code_out.with_segment(segment); [INFO] [stdout] 1889 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/eval_context.rs:1943:28 [INFO] [stdout] | [INFO] [stdout] 1943 | if let Some(crate_name) = extern_crate.name_ref() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^----------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/eval_context.rs:1955:25 [INFO] [stdout] | [INFO] [stdout] 1955 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1943 ~ match extern_crate.name_ref() { Some(crate_name) => { [INFO] [stdout] 1944 | let crate_name = crate_name.text().to_string(); [INFO] [stdout] ... [INFO] [stdout] 1954 | .insert(crate_name, segment.code.clone()); [INFO] [stdout] 1955 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/eval_context.rs:1958:28 [INFO] [stdout] | [INFO] [stdout] 1958 | if let Some(name) = ast::HasName::name(¯o_rules) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^-------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/eval_context.rs:1962:25 [INFO] [stdout] | [INFO] [stdout] 1962 | } 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] 1958 ~ match ast::HasName::name(¯o_rules) { Some(name) => { [INFO] [stdout] 1959 | let item_block = CodeBlock::new().with_segment(segment); [INFO] [stdout] 1960 | self.items_by_name [INFO] [stdout] 1961 | .insert(name.text().to_string(), item_block); [INFO] [stdout] 1962 ~ } _ => { [INFO] [stdout] 1963 | code_out = code_out.with_segment(segment); [INFO] [stdout] 1964 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/eval_context.rs:1967:28 [INFO] [stdout] | [INFO] [stdout] 1967 | if let Some(use_tree) = use_stmt.use_tree() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/eval_context.rs:2004:25 [INFO] [stdout] | [INFO] [stdout] 2004 | } 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] 1967 ~ match use_stmt.use_tree() { Some(use_tree) => { [INFO] [stdout] 1968 | if self.config.expand_use_statements { [INFO] [stdout] ... [INFO] [stdout] 2003 | } [INFO] [stdout] 2004 ~ } _ => { [INFO] [stdout] 2005 | // No use-tree probably means something is malformed, just put it into [INFO] [stdout] 2006 | // the output as-is so that we can get proper error reporting. [INFO] [stdout] 2007 | code_out = code_out.with_segment(segment); [INFO] [stdout] 2008 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/eval_context.rs:2012:28 [INFO] [stdout] | [INFO] [stdout] 2012 | if let Some(item_name) = item::item_name(&item) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^----^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/eval_context.rs:2016:25 [INFO] [stdout] | [INFO] [stdout] 2016 | } else if let Some(item_name) = &previous_item_name { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 2012 ~ match item::item_name(&item) { Some(item_name) => { [INFO] [stdout] 2013 | *self.items_by_name.entry(item_name.to_owned()).or_default() = [INFO] [stdout] 2014 | item_block; [INFO] [stdout] 2015 | previous_item_name = Some(item_name); [INFO] [stdout] 2016 ~ } _ => if let Some(item_name) = &previous_item_name { [INFO] [stdout] 2017 | // unwrap below should never fail because we put [INFO] [stdout] ... [INFO] [stdout] 2026 | self.unnamed_items.push(item_block); [INFO] [stdout] 2027 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/eval_context.rs:2051:20 [INFO] [stdout] | [INFO] [stdout] 2051 | if let Some(record_fields) = pat_struct.record_pat_field_list() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^---------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/eval_context.rs:2057:17 [INFO] [stdout] | [INFO] [stdout] 2057 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 2051 ~ match pat_struct.record_pat_field_list() { Some(record_fields) => { [INFO] [stdout] 2052 | for field in record_fields.fields() { [INFO] [stdout] ... [INFO] [stdout] 2056 | } [INFO] [stdout] 2057 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/eval_context.rs:2053:28 [INFO] [stdout] | [INFO] [stdout] 2053 | if let Some(pat) = field.pat() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^----------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/eval_context.rs:2055:25 [INFO] [stdout] | [INFO] [stdout] 2055 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 2053 ~ match field.pat() { Some(pat) => { [INFO] [stdout] 2054 | self.record_new_locals(pat, None, segment, let_stmt_range); [INFO] [stdout] 2055 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/eval_context.rs:2091:12 [INFO] [stdout] | [INFO] [stdout] 2091 | if let Some(name) = ast::HasName::name(&pat_ident) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^------------------------------ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/eval_context.rs:2109:9 [INFO] [stdout] | [INFO] [stdout] 2109 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 2091 ~ match ast::HasName::name(&pat_ident) { Some(name) => { [INFO] [stdout] 2092 | self.variable_states.insert( [INFO] [stdout] ... [INFO] [stdout] 2108 | ); [INFO] [stdout] 2109 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/evcxr_internal_runtime.rs:44:20 [INFO] [stdout] | [INFO] [stdout] 44 | if let Ok(value) = v.downcast() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^------------ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/evcxr_internal_runtime.rs:46:17 [INFO] [stdout] | [INFO] [stdout] 46 | } 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] 44 ~ match v.downcast() { Ok(value) => { [INFO] [stdout] 45 | *value [INFO] [stdout] 46 ~ } _ => { [INFO] [stdout] 47 | // Shouldn't happen so long as check_variable was called. [INFO] [stdout] 48 | panic!("Variable changed type"); [INFO] [stdout] 49 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/evcxr_internal_runtime.rs:60:12 [INFO] [stdout] | [INFO] [stdout] 60 | if let Some(value) = self [INFO] [stdout] | _____________^ - [INFO] [stdout] | | ______________________________| [INFO] [stdout] 61 | || .variables [INFO] [stdout] | ||______________________- this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] 62 | | .entry(name.to_owned()) [INFO] [stdout] 63 | | .or_insert_with(|| Box::new(std::sync::Arc::new(create()))) [INFO] [stdout] 64 | | .downcast_mut() [INFO] [stdout] | |____________________________^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/evcxr_internal_runtime.rs:67:9 [INFO] [stdout] | [INFO] [stdout] 67 | } 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] 60 ~ match self [INFO] [stdout] 61 | .variables [INFO] [stdout] ... [INFO] [stdout] 64 | .downcast_mut() [INFO] [stdout] 65 ~ { Some(value) => { [INFO] [stdout] 66 | std::sync::Arc::clone(value) [INFO] [stdout] 67 ~ } _ => { [INFO] [stdout] 68 | panic!("lazy_arc {name} changed type"); [INFO] [stdout] 69 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/module.rs:504:8 [INFO] [stdout] | [INFO] [stdout] 504 | if let Some(captures) = CRATE_COMPILING.captures(line) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^------------------------------ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/module.rs:513:5 [INFO] [stdout] | [INFO] [stdout] 513 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 504 ~ match CRATE_COMPILING.captures(line) { Some(captures) => { [INFO] [stdout] 505 | let crate_name = captures.get(1).unwrap().as_bytes(); [INFO] [stdout] ... [INFO] [stdout] 512 | } [INFO] [stdout] 513 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/module/cache.rs:256:16 [INFO] [stdout] | [INFO] [stdout] 256 | if let Some(hits) = std::fs::read_to_string(entry.subdirectory.join("hits")) [INFO] [stdout] | ^ -------------------------------------------------------- this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | ________________| [INFO] [stdout] | | [INFO] [stdout] 257 | | .ok() [INFO] [stdout] 258 | | .and_then(|s| s.parse::().ok()) [INFO] [stdout] | |____________________________________________________^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/module/cache.rs:261:13 [INFO] [stdout] | [INFO] [stdout] 261 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 256 ~ match std::fs::read_to_string(entry.subdirectory.join("hits")) [INFO] [stdout] 257 | .ok() [INFO] [stdout] 258 | .and_then(|s| s.parse::().ok()) [INFO] [stdout] 259 ~ { Some(hits) => { [INFO] [stdout] 260 | result.num_hits += hits; [INFO] [stdout] 261 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/runtime.rs:58:16 [INFO] [stdout] | [INFO] [stdout] 58 | if let Err(error) = self.handle_line(&line) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^----------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/runtime.rs:61:13 [INFO] [stdout] | [INFO] [stdout] 61 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 58 ~ match self.handle_line(&line) { Err(error) => { [INFO] [stdout] 59 | eprintln!("While processing instruction `{line:?}`, got error: {error:?}",); [INFO] [stdout] 60 | std::process::exit(99); [INFO] [stdout] 61 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/runtime.rs:70:12 [INFO] [stdout] | [INFO] [stdout] 70 | if let Some(captures) = LOAD_AND_RUN.captures(line) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^--------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/runtime.rs:72:9 [INFO] [stdout] | [INFO] [stdout] 72 | } 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] 70 ~ match LOAD_AND_RUN.captures(line) { Some(captures) => { [INFO] [stdout] 71 | self.load_and_run(&captures[1], &captures[2]) [INFO] [stdout] 72 ~ } _ => { [INFO] [stdout] 73 | bail!("Unrecognised line: {}", line); [INFO] [stdout] 74 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/rust_analyzer.rs:138:16 [INFO] [stdout] | [INFO] [stdout] 138 | if let ast::Item::Fn(function) = item { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^---- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/rust_analyzer.rs:183:13 [INFO] [stdout] | [INFO] [stdout] 183 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 138 ~ match item { ast::Item::Fn(function) => { [INFO] [stdout] 139 | if function [INFO] [stdout] ... [INFO] [stdout] 182 | } [INFO] [stdout] 183 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/rust_analyzer.rs:152:28 [INFO] [stdout] | [INFO] [stdout] 152 | if let ast::Stmt::LetStmt(let_stmt) = statement { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^--------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/rust_analyzer.rs:180:25 [INFO] [stdout] | [INFO] [stdout] 180 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 152 ~ match statement { ast::Stmt::LetStmt(let_stmt) => { [INFO] [stdout] 153 | if let Some(pat) = let_stmt.pat() { [INFO] [stdout] ... [INFO] [stdout] 179 | } [INFO] [stdout] 180 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/rust_analyzer.rs:153:32 [INFO] [stdout] | [INFO] [stdout] 153 | ... if let Some(pat) = let_stmt.pat() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^-------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/rust_analyzer.rs:179:29 [INFO] [stdout] | [INFO] [stdout] 179 | ... } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 153 ~ match let_stmt.pat() { Some(pat) => { [INFO] [stdout] 154 | if !add_variable_for_pattern( [INFO] [stdout] ... [INFO] [stdout] 178 | } [INFO] [stdout] 179 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/rust_analyzer.rs:168:44 [INFO] [stdout] | [INFO] [stdout] 168 | ... if let Some(sub_pat) = ast::Pat::cast(d) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^----------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/rust_analyzer.rs:176:41 [INFO] [stdout] | [INFO] [stdout] 176 | ... } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 168 ~ match ast::Pat::cast(d) { Some(sub_pat) => { [INFO] [stdout] 169 | add_variable_for_pattern( [INFO] [stdout] ... [INFO] [stdout] 175 | ); [INFO] [stdout] 176 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/rust_analyzer.rs:380:12 [INFO] [stdout] | [INFO] [stdout] 380 | if let Some(name) = ident_pat.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/rust_analyzer.rs:395:9 [INFO] [stdout] | [INFO] [stdout] 395 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 380 ~ match ident_pat.name() { Some(name) => { [INFO] [stdout] 381 | let type_name = get_type_name( [INFO] [stdout] ... [INFO] [stdout] 394 | return true; [INFO] [stdout] 395 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/rust_analyzer.rs:417:12 [INFO] [stdout] | [INFO] [stdout] 417 | if let Ok(type_name) = ty.display_source_code(sema.db, module.into(), true) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^--^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/rust_analyzer.rs:421:9 [INFO] [stdout] | [INFO] [stdout] 421 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 417 ~ match ty.display_source_code(sema.db, module.into(), true) { Ok(type_name) => { [INFO] [stdout] 418 | if is_type_valid(&type_name) { [INFO] [stdout] 419 | return TypeName::Named(type_name); [INFO] [stdout] 420 | } [INFO] [stdout] 421 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/statement_splitter.rs:38:15 [INFO] [stdout] | [INFO] [stdout] 38 | while let (Some(child), next) = (children.next(), children.peek()) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^---------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/statement_splitter.rs:51:9 [INFO] [stdout] | [INFO] [stdout] 51 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/use_trees.rs:41:12 [INFO] [stdout] | [INFO] [stdout] 41 | if let Some(path) = use_tree.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/use_trees.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] 41 ~ match use_tree.path() { Some(path) => { [INFO] [stdout] 42 | // If we get ::self, ignore it and use what we've got so far. [INFO] [stdout] ... [INFO] [stdout] 92 | } [INFO] [stdout] 93 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/use_trees.rs:57:24 [INFO] [stdout] | [INFO] [stdout] 57 | if let Some(name_ref) = segment.name_ref() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^------------------ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] 58 | path_parts.push(name_ref.text().to_owned()); [INFO] [stdout] 59 | } else if let Some(token) = segment.crate_token() { [INFO] [stdout] | --------------------- this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/use_trees.rs:59:21 [INFO] [stdout] | [INFO] [stdout] 59 | } else if let Some(token) = segment.crate_token() { [INFO] [stdout] | ^ [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/use_trees.rs:61:21 [INFO] [stdout] | [INFO] [stdout] 61 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 57 ~ match segment.name_ref() { Some(name_ref) => { [INFO] [stdout] 58 | path_parts.push(name_ref.text().to_owned()); [INFO] [stdout] 59 ~ } _ => { match segment.crate_token() { Some(token) => { [INFO] [stdout] 60 | path_parts.push(token.text().to_owned()); [INFO] [stdout] 61 ~ } _ => {}}}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/use_trees.rs:62:24 [INFO] [stdout] | [INFO] [stdout] 62 | if let Some(qualifier) = path.qualifier() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^---------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/use_trees.rs:65:21 [INFO] [stdout] | [INFO] [stdout] 65 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 62 ~ match path.qualifier() { Some(qualifier) => { [INFO] [stdout] 63 | path = qualifier; [INFO] [stdout] 64 | continue; [INFO] [stdout] 65 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/use_trees.rs:77:16 [INFO] [stdout] | [INFO] [stdout] 77 | if let Some(tree_list) = use_tree.use_tree_list() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^------------------------ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] ... [INFO] [stdout] 81 | } else if let Some(rename) = use_tree.rename() { [INFO] [stdout] | ----------------- this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] ... [INFO] [stdout] 87 | } else if let Some(star_token) = use_tree.star_token() { [INFO] [stdout] | --------------------- this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/use_trees.rs:81:13 [INFO] [stdout] | [INFO] [stdout] 81 | } else if let Some(rename) = use_tree.rename() { [INFO] [stdout] | ^ [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/use_trees.rs:87:13 [INFO] [stdout] | [INFO] [stdout] 87 | } else if let Some(star_token) = use_tree.star_token() { [INFO] [stdout] | ^ [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/use_trees.rs:90:13 [INFO] [stdout] | [INFO] [stdout] 90 | } else if let Some(ident) = new_prefix.last() { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 77 ~ match use_tree.use_tree_list() { Some(tree_list) => { [INFO] [stdout] 78 | for subtree in tree_list.use_trees() { [INFO] [stdout] 79 | process_use_tree(&subtree, &new_prefix, out); [INFO] [stdout] 80 | } [INFO] [stdout] 81 ~ } _ => { match use_tree.rename() { Some(rename) => { [INFO] [stdout] 82 | if let Some(name) = ast::HasName::name(&rename) { [INFO] [stdout] ... [INFO] [stdout] 86 | } [INFO] [stdout] 87 ~ } _ => { match use_tree.star_token() { Some(star_token) => { [INFO] [stdout] 88 | new_prefix.push(star_token.text().to_owned()); [INFO] [stdout] 89 | out(Import::format(star_token.text(), &new_prefix)); [INFO] [stdout] 90 ~ } _ => if let Some(ident) = new_prefix.last() { [INFO] [stdout] 91 | out(Import::format(ident, &new_prefix)); [INFO] [stdout] 92 ~ }}}}}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/use_trees.rs:82:20 [INFO] [stdout] | [INFO] [stdout] 82 | if let Some(name) = ast::HasName::name(&rename) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^--------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] 83 | out(Import::format(&name.text(), &new_prefix)); [INFO] [stdout] 84 | } else if let Some(underscore) = rename.underscore_token() { [INFO] [stdout] | ------------------------- this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/use_trees.rs:84:17 [INFO] [stdout] | [INFO] [stdout] 84 | } else if let Some(underscore) = rename.underscore_token() { [INFO] [stdout] | ^ [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/use_trees.rs:86:17 [INFO] [stdout] | [INFO] [stdout] 86 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 82 ~ match ast::HasName::name(&rename) { Some(name) => { [INFO] [stdout] 83 | out(Import::format(&name.text(), &new_prefix)); [INFO] [stdout] 84 ~ } _ => { match rename.underscore_token() { Some(underscore) => { [INFO] [stdout] 85 | out(Import::format(underscore.text(), &new_prefix)); [INFO] [stdout] 86 ~ } _ => {}}}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/use_trees.rs:110:16 [INFO] [stdout] | [INFO] [stdout] 110 | if let ast::Item::Use(use_stmt) = item { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^---- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/use_trees.rs:116:13 [INFO] [stdout] | [INFO] [stdout] 116 | } [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 item { ast::Item::Use(use_stmt) => { [INFO] [stdout] 111 | if let Some(use_tree) = use_stmt.use_tree() { [INFO] [stdout] ... [INFO] [stdout] 115 | } [INFO] [stdout] 116 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/use_trees.rs:111:20 [INFO] [stdout] | [INFO] [stdout] 111 | if let Some(use_tree) = use_stmt.use_tree() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/use_trees.rs:115:17 [INFO] [stdout] | [INFO] [stdout] 115 | } [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 use_stmt.use_tree() { Some(use_tree) => { [INFO] [stdout] 112 | use_tree_names_do(&use_tree, &mut |import| { [INFO] [stdout] 113 | out.push(import); [INFO] [stdout] 114 | }); [INFO] [stdout] 115 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 55 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] warning: failed to automatically apply fixes suggested by rustc to crate `evcxr` [INFO] [stderr] [INFO] [stderr] after fixes were automatically applied the compiler reported errors within these files: [INFO] [stderr] [INFO] [stderr] * src/cargo_metadata.rs [INFO] [stderr] * src/errors.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] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/errors.rs:639:9 [INFO] [stdout] | [INFO] [stdout] 639 | ($e:expr) => {$crate::Error::from($e)}; [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] 639 | ($e:expr_2021) => {$crate::Error::from($e)}; [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [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/errors.rs:638:6 [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/errors.rs:640:11 [INFO] [stdout] | [INFO] [stdout] 640 | ($fmt:expr, $($arg:tt)+) => {$crate::errors::Error::from(format!($fmt, $($arg)+))} [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] 640 | ($fmt:expr_2021, $($arg:tt)+) => {$crate::errors::Error::from(format!($fmt, $($arg)+))} [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/cargo_metadata.rs:140:26 [INFO] [stdout] | [INFO] [stdout] 140 | ($pattern:path, $rhs:expr, $msg:literal) => { [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] 140 | ($pattern:path, $rhs:expr_2021, $msg:literal) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] 638 | ($e:expr_2021) => {$crate::Error::from($e)}; [INFO] [stdout] warning: call to deprecated safe function `std::env::set_var` is unsafe and requires unsafe block [INFO] [stdout] --> src/command_context.rs:615:29 [INFO] [stdout] | [INFO] [stdout] 615 | ... std::env::set_var(key, 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] 615 + // TODO: Audit that the environment access only happens in single-threaded code. [INFO] [stdout] 616 ~ unsafe { std::env::set_var(key, value) }; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stdout] warning: call to deprecated safe function `std::env::set_var` is unsafe and requires unsafe block [INFO] [stdout] --> src/eval_context.rs:1153:25 [INFO] [stdout] | [INFO] [stdout] 1153 | std::env::set_var("PATH", path); [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] 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] 1153 + // TODO: Audit that the environment access only happens in single-threaded code. [INFO] [stdout] 1154 ~ unsafe { std::env::set_var("PATH", path) }; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] | [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/errors.rs:143:12 [INFO] [stdout] | [INFO] [stdout] 143 | if let (Some(line_start), Some(line_end)) = [INFO] [stdout] | ____________^ [INFO] [stdout] 144 | | (span["line_start"].as_usize(), span["line_end"].as_usize()) [INFO] [stdout] | |______________------------------________________________________________^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/errors.rs:149:9 [INFO] [stdout] | [INFO] [stdout] 149 | } [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] 143 ~ match (span["line_start"].as_usize(), span["line_end"].as_usize()) [INFO] [stdout] 144 ~ { (Some(line_start), Some(line_end)) => { [INFO] [stdout] 145 | for line in line_start..=line_end { [INFO] [stdout] 146 | code_origins.push(code_block.origin_for_line(line)); [INFO] [stdout] 147 | } [INFO] [stdout] 148 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/errors.rs:208:20 [INFO] [stdout] | [INFO] [stdout] 208 | if let JsonValue::Array(children) = &json["children"] { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^---------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/errors.rs:213:17 [INFO] [stdout] | [INFO] [stdout] 213 | } 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] 208 ~ match &json["children"] { JsonValue::Array(children) => { [INFO] [stdout] 209 | children [INFO] [stdout] ... [INFO] [stdout] 212 | .collect() [INFO] [stdout] 213 ~ } _ => { [INFO] [stdout] 214 | vec![] [INFO] [stdout] 215 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [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/errors.rs:639:6 [INFO] [stderr] | [INFO] [stderr] 639 | ($fmt:expr_2021, $($arg:tt)+) => {$crate::errors::Error::from(format!($fmt, $($arg)+))} [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/errors.rs:317:12 [INFO] [stdout] | [INFO] [stdout] 317 | if let JsonValue::Array(children) = &self.json["children"] { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^--------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/errors.rs:336:9 [INFO] [stdout] | [INFO] [stdout] 336 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 317 ~ match &self.json["children"] { JsonValue::Array(children) => { [INFO] [stdout] 318 | children [INFO] [stdout] ... [INFO] [stdout] 335 | .collect() [INFO] [stdout] 336 ~ } _ => { [INFO] [stdout] 337 | vec![] [INFO] [stdout] 338 ~ }} [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/cargo_metadata.rs:139:21 [INFO] [stderr] | [INFO] [stderr] 139 | ($pattern:path, $rhs:expr_2021, $msg:literal) => { [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 3 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: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/errors.rs:473:23 [INFO] [stdout] | [INFO] [stdout] 473 | let span = if let (Some(file_name), Some(start_column), Some(end_column)) = ( [INFO] [stdout] | _______________________^ [INFO] [stdout] 474 | | span_json["file_name"].as_str(), [INFO] [stdout] | | ---------------------- this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] 475 | | span_json["column_start"].as_usize(), [INFO] [stdout] 476 | | span_json["column_end"].as_usize(), [INFO] [stdout] 477 | | ) { [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/errors.rs:509:9 [INFO] [stdout] | [INFO] [stdout] 509 | } 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] 473 ~ let span = match ( [INFO] [stdout] 474 | span_json["file_name"].as_str(), [INFO] [stdout] 475 | span_json["column_start"].as_usize(), [INFO] [stdout] 476 | span_json["column_end"].as_usize(), [INFO] [stdout] 477 ~ ) { (Some(file_name), Some(start_column), Some(end_column)) => { [INFO] [stdout] 478 | if file_name.ends_with("lib.rs") { [INFO] [stdout] ... [INFO] [stdout] 508 | } [INFO] [stdout] 509 ~ } _ => { [INFO] [stdout] 510 | None [INFO] [stdout] 511 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/cargo_metadata.rs:75:16 [INFO] [stdout] | [INFO] [stdout] 75 | if let Some(captures) = PRIMARY_ERROR_PATTERN.captures(line) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^------------------------------------ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/cargo_metadata.rs:77:13 [INFO] [stdout] | [INFO] [stdout] 77 | } else if !IGNORED_LINES_PATTERN.is_match(line) { [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 PRIMARY_ERROR_PATTERN.captures(line) { Some(captures) => { [INFO] [stdout] 76 | message.push(captures[1].to_string()); [INFO] [stdout] 77 ~ } _ => if !IGNORED_LINES_PATTERN.is_match(line) { [INFO] [stdout] 78 | message.push(line.to_owned()); [INFO] [stdout] 79 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/cargo_metadata.rs:102:16 [INFO] [stdout] | [INFO] [stdout] 102 | if let (Some(package_name), Some(id)) = [INFO] [stdout] | ________________^ [INFO] [stdout] 103 | | (package["name"].as_str(), package["id"].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/cargo_metadata.rs:126:13 [INFO] [stdout] | [INFO] [stdout] 126 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 102 ~ match (package["name"].as_str(), package["id"].as_str()) [INFO] [stdout] 103 ~ { (Some(package_name), Some(id)) => { [INFO] [stdout] 104 | if id == main_crate_id { [INFO] [stdout] ... [INFO] [stdout] 124 | } [INFO] [stdout] 125 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/cargo_metadata.rs:106:24 [INFO] [stdout] | [INFO] [stdout] 106 | if let JsonValue::Array(dependencies) = &package["dependencies"] { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^----------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/cargo_metadata.rs:112:21 [INFO] [stdout] | [INFO] [stdout] 112 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 106 ~ match &package["dependencies"] { JsonValue::Array(dependencies) => { [INFO] [stdout] 107 | for dependency in dependencies { [INFO] [stdout] ... [INFO] [stdout] 111 | } [INFO] [stdout] 112 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/cargo_metadata.rs:108:32 [INFO] [stdout] | [INFO] [stdout] 108 | ... if let Some(dependency_name) = dependency["name"].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/cargo_metadata.rs:110:29 [INFO] [stdout] | [INFO] [stdout] 110 | ... } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 108 ~ match dependency["name"].as_str() { Some(dependency_name) => { [INFO] [stdout] 109 | direct_dependencies.push(dependency_name); [INFO] [stdout] 110 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/cargo_metadata.rs:114:20 [INFO] [stdout] | [INFO] [stdout] 114 | if let JsonValue::Array(targets) = &package["targets"] { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^------------------ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/cargo_metadata.rs:125:17 [INFO] [stdout] | [INFO] [stdout] 125 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 114 ~ match &package["targets"] { JsonValue::Array(targets) => { [INFO] [stdout] 115 | for target in targets { [INFO] [stdout] ... [INFO] [stdout] 124 | } [INFO] [stdout] 125 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/cargo_metadata.rs:116:28 [INFO] [stdout] | [INFO] [stdout] 116 | if let JsonValue::Array(kinds) = &target["kind"] { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/cargo_metadata.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] 116 ~ match &target["kind"] { JsonValue::Array(kinds) => { [INFO] [stdout] 117 | if kinds.iter().any(|kind| kind == "lib") { [INFO] [stdout] ... [INFO] [stdout] 122 | } [INFO] [stdout] 123 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/cargo_metadata.rs:118:36 [INFO] [stdout] | [INFO] [stdout] 118 | ... if let Some(target_name) = target["name"].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/cargo_metadata.rs:121:33 [INFO] [stdout] | [INFO] [stdout] 121 | ... } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 118 ~ match target["name"].as_str() { Some(target_name) => { [INFO] [stdout] 119 | crate_to_library_names [INFO] [stdout] 120 | .insert(package_name, target_name.to_owned()); [INFO] [stdout] 121 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/child_process.rs:91:23 [INFO] [stdout] | [INFO] [stdout] 91 | while let Some(Ok(line)) = child_stderr.next() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/child_process.rs:94:17 [INFO] [stdout] | [INFO] [stdout] 94 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/child_process.rs:157:15 [INFO] [stdout] | [INFO] [stdout] 157 | while let Some(Ok(line)) = self.stdout.next() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^------------------ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/child_process.rs:160:9 [INFO] [stdout] | [INFO] [stdout] 160 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/code_block.rs:195:16 [INFO] [stdout] | [INFO] [stdout] 195 | if let Some(captures) = COMMAND_RE.captures(line) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/code_block.rs:205:13 [INFO] [stdout] | [INFO] [stdout] 205 | } else if line.starts_with(r"//") || line.trim().is_empty() { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 195 ~ match COMMAND_RE.captures(line) { Some(captures) => { [INFO] [stdout] 196 | code_block = code_block.with( [INFO] [stdout] ... [INFO] [stdout] 204 | ); [INFO] [stdout] 205 ~ } _ => if line.starts_with(r"//") || line.trim().is_empty() { [INFO] [stdout] 206 | // Ignore blank lines, otherwise we can't have blank lines before :dep commands. [INFO] [stdout] ... [INFO] [stdout] 239 | break; [INFO] [stdout] 240 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/command_context.rs:194:20 [INFO] [stdout] | [INFO] [stdout] 194 | if let Err(error) = [INFO] [stdout] | ____________________^ [INFO] [stdout] 195 | | self.process_command(command, &segment, &mut state, &command.args, true) [INFO] [stdout] | |_____________________-----------------------------------------------------------------------^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/command_context.rs:198:17 [INFO] [stdout] | [INFO] [stdout] 198 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 194 ~ match self.process_command(command, &segment, &mut state, &command.args, true) [INFO] [stdout] 195 ~ { Err(error) => { [INFO] [stdout] 196 | errors.push(error); [INFO] [stdout] 197 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/command_context.rs:543:31 [INFO] [stdout] | [INFO] [stdout] 543 | } else if let Ok(stats) = crate::module::cache::CacheStats::get() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^--------------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/command_context.rs:545:21 [INFO] [stdout] | [INFO] [stdout] 545 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 543 ~ } else { match crate::module::cache::CacheStats::get() { Ok(stats) => { [INFO] [stdout] 544 | return text_output(format!("{stats}Size limit: {} MiB", state.cache_bytes() / 1024 / 1024)); [INFO] [stdout] 545 ~ } _ => {}}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/command_context.rs:744:8 [INFO] [stdout] | [INFO] [stdout] 744 | if let Some(captures) = DEP_RE.captures(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/command_context.rs:754:5 [INFO] [stdout] | [INFO] [stdout] 754 | } 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] 744 ~ match DEP_RE.captures(args) { Some(captures) => { [INFO] [stdout] 745 | if captures[1].starts_with('.') || captures[1].starts_with('/') { [INFO] [stdout] ... [INFO] [stdout] 753 | Ok(EvalOutputs::new()) [INFO] [stdout] 754 ~ } _ => { [INFO] [stdout] 755 | bail!("Invalid :dep command. Expected: name = ... or just name"); [INFO] [stdout] 756 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/eval_context.rs:550:16 [INFO] [stdout] | [INFO] [stdout] 550 | if let Err(error) = context.eval("42") { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^------------------ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/eval_context.rs:558:13 [INFO] [stdout] | [INFO] [stdout] 558 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 550 ~ match context.eval("42") { Err(error) => { [INFO] [stdout] 551 | drop(context); [INFO] [stdout] ... [INFO] [stdout] 557 | return Err(format!("{stderr}{error}").into()); [INFO] [stdout] 558 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/eval_context.rs:553:23 [INFO] [stdout] | [INFO] [stdout] 553 | while let Ok(line) = outputs.stderr.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/eval_context.rs:556:17 [INFO] [stdout] | [INFO] [stdout] 556 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/eval_context.rs:1010:23 [INFO] [stdout] | [INFO] [stdout] 1010 | } else if let Some(captures) = MIME_OUTPUT.captures(&line) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^--------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/eval_context.rs:1028:13 [INFO] [stdout] | [INFO] [stdout] 1028 | } 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] 1010 ~ } else { match MIME_OUTPUT.captures(&line) { Some(captures) => { [INFO] [stdout] 1011 | let mime_type = captures[1].to_owned(); [INFO] [stdout] ... [INFO] [stdout] 1027 | output.content_by_mime_type.insert(mime_type, content); [INFO] [stdout] 1028 ~ } _ => { [INFO] [stdout] 1029 | // Note, errors sending are ignored, since it just means the [INFO] [stdout] 1030 | // user of the library has dropped the Receiver. [INFO] [stdout] 1031 | let _ = self.stdout_sender.send(line); [INFO] [stdout] 1032 ~ }}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/eval_context.rs:1143:12 [INFO] [stdout] | [INFO] [stdout] 1143 | if let Ok(current_exe) = std::env::current_exe() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^----------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/eval_context.rs:1157:9 [INFO] [stdout] | [INFO] [stdout] 1157 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1143 ~ match std::env::current_exe() { Ok(current_exe) => { [INFO] [stdout] 1144 | if let Some(bin_dir) = current_exe.parent() { [INFO] [stdout] ... [INFO] [stdout] 1156 | } [INFO] [stdout] 1157 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/eval_context.rs:1885:16 [INFO] [stdout] | [INFO] [stdout] 1885 | if let Some(let_stmt) = ast::LetStmt::cast(node.clone()) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^-------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] ... [INFO] [stdout] 1940 | } else if let Some(item) = ast::Item::cast(node.clone()) { [INFO] [stdout] | ----------------------------- this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/eval_context.rs:1890:13 [INFO] [stdout] | [INFO] [stdout] 1890 | } else if ast::Attr::can_cast(node.kind()) { [INFO] [stdout] | ^ [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/eval_context.rs:2030:13 [INFO] [stdout] | [INFO] [stdout] 2030 | } 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] 1885 ~ match ast::LetStmt::cast(node.clone()) { Some(let_stmt) => { [INFO] [stdout] 1886 | if let Some(pat) = let_stmt.pat() { [INFO] [stdout] ... [INFO] [stdout] 1889 | } [INFO] [stdout] 1890 ~ } _ => if ast::Attr::can_cast(node.kind()) { [INFO] [stdout] 1891 | self.attributes.insert( [INFO] [stdout] ... [INFO] [stdout] 1939 | } [INFO] [stdout] 1940 ~ } else { match ast::Item::cast(node.clone()) { Some(item) => { [INFO] [stdout] 1941 | match item { [INFO] [stdout] ... [INFO] [stdout] 2029 | } [INFO] [stdout] 2030 ~ } _ => { [INFO] [stdout] 2031 | code_out = code_out.with_segment(segment); [INFO] [stdout] 2032 ~ }}}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/eval_context.rs:1886:20 [INFO] [stdout] | [INFO] [stdout] 1886 | if let Some(pat) = let_stmt.pat() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^-------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/eval_context.rs:1889:17 [INFO] [stdout] | [INFO] [stdout] 1889 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1886 ~ match let_stmt.pat() { Some(pat) => { [INFO] [stdout] 1887 | self.record_new_locals(pat, let_stmt.ty(), &segment, node.text_range()); [INFO] [stdout] 1888 | code_out = code_out.with_segment(segment); [INFO] [stdout] 1889 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/eval_context.rs:1943:28 [INFO] [stdout] | [INFO] [stdout] 1943 | if let Some(crate_name) = extern_crate.name_ref() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^----------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/eval_context.rs:1955:25 [INFO] [stdout] | [INFO] [stdout] 1955 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1943 ~ match extern_crate.name_ref() { Some(crate_name) => { [INFO] [stdout] 1944 | let crate_name = crate_name.text().to_string(); [INFO] [stdout] ... [INFO] [stdout] 1954 | .insert(crate_name, segment.code.clone()); [INFO] [stdout] 1955 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/eval_context.rs:1958:28 [INFO] [stdout] | [INFO] [stdout] 1958 | if let Some(name) = ast::HasName::name(¯o_rules) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^-------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/eval_context.rs:1962:25 [INFO] [stdout] | [INFO] [stdout] 1962 | } 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] 1958 ~ match ast::HasName::name(¯o_rules) { Some(name) => { [INFO] [stdout] 1959 | let item_block = CodeBlock::new().with_segment(segment); [INFO] [stdout] 1960 | self.items_by_name [INFO] [stdout] 1961 | .insert(name.text().to_string(), item_block); [INFO] [stdout] 1962 ~ } _ => { [INFO] [stdout] 1963 | code_out = code_out.with_segment(segment); [INFO] [stdout] 1964 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/eval_context.rs:1967:28 [INFO] [stdout] | [INFO] [stdout] 1967 | if let Some(use_tree) = use_stmt.use_tree() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/eval_context.rs:2004:25 [INFO] [stdout] | [INFO] [stdout] 2004 | } 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] 1967 ~ match use_stmt.use_tree() { Some(use_tree) => { [INFO] [stdout] 1968 | if self.config.expand_use_statements { [INFO] [stdout] ... [INFO] [stdout] 2003 | } [INFO] [stdout] 2004 ~ } _ => { [INFO] [stdout] 2005 | // No use-tree probably means something is malformed, just put it into [INFO] [stdout] 2006 | // the output as-is so that we can get proper error reporting. [INFO] [stdout] 2007 | code_out = code_out.with_segment(segment); [INFO] [stdout] 2008 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/eval_context.rs:2012:28 [INFO] [stdout] | [INFO] [stdout] 2012 | if let Some(item_name) = item::item_name(&item) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^----^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/eval_context.rs:2016:25 [INFO] [stdout] | [INFO] [stdout] 2016 | } else if let Some(item_name) = &previous_item_name { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 2012 ~ match item::item_name(&item) { Some(item_name) => { [INFO] [stdout] 2013 | *self.items_by_name.entry(item_name.to_owned()).or_default() = [INFO] [stdout] 2014 | item_block; [INFO] [stdout] 2015 | previous_item_name = Some(item_name); [INFO] [stdout] 2016 ~ } _ => if let Some(item_name) = &previous_item_name { [INFO] [stdout] 2017 | // unwrap below should never fail because we put [INFO] [stdout] ... [INFO] [stdout] 2026 | self.unnamed_items.push(item_block); [INFO] [stdout] 2027 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/eval_context.rs:2051:20 [INFO] [stdout] | [INFO] [stdout] 2051 | if let Some(record_fields) = pat_struct.record_pat_field_list() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^---------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/eval_context.rs:2057:17 [INFO] [stdout] | [INFO] [stdout] 2057 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 2051 ~ match pat_struct.record_pat_field_list() { Some(record_fields) => { [INFO] [stdout] 2052 | for field in record_fields.fields() { [INFO] [stdout] ... [INFO] [stdout] 2056 | } [INFO] [stdout] 2057 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/eval_context.rs:2053:28 [INFO] [stdout] | [INFO] [stdout] 2053 | if let Some(pat) = field.pat() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^----------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/eval_context.rs:2055:25 [INFO] [stdout] | [INFO] [stdout] 2055 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 2053 ~ match field.pat() { Some(pat) => { [INFO] [stdout] 2054 | self.record_new_locals(pat, None, segment, let_stmt_range); [INFO] [stdout] 2055 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/eval_context.rs:2091:12 [INFO] [stdout] | [INFO] [stdout] 2091 | if let Some(name) = ast::HasName::name(&pat_ident) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^------------------------------ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/eval_context.rs:2109:9 [INFO] [stdout] | [INFO] [stdout] 2109 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 2091 ~ match ast::HasName::name(&pat_ident) { Some(name) => { [INFO] [stdout] 2092 | self.variable_states.insert( [INFO] [stdout] ... [INFO] [stdout] 2108 | ); [INFO] [stdout] 2109 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/evcxr_internal_runtime.rs:44:20 [INFO] [stdout] | [INFO] [stdout] 44 | if let Ok(value) = v.downcast() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^------------ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/evcxr_internal_runtime.rs:46:17 [INFO] [stdout] | [INFO] [stdout] 46 | } 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] 44 ~ match v.downcast() { Ok(value) => { [INFO] [stdout] 45 | *value [INFO] [stdout] 46 ~ } _ => { [INFO] [stdout] 47 | // Shouldn't happen so long as check_variable was called. [INFO] [stdout] 48 | panic!("Variable changed type"); [INFO] [stdout] 49 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/evcxr_internal_runtime.rs:60:12 [INFO] [stdout] | [INFO] [stdout] 60 | if let Some(value) = self [INFO] [stdout] | _____________^ - [INFO] [stdout] | | ______________________________| [INFO] [stdout] 61 | || .variables [INFO] [stdout] | ||______________________- this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] 62 | | .entry(name.to_owned()) [INFO] [stdout] 63 | | .or_insert_with(|| Box::new(std::sync::Arc::new(create()))) [INFO] [stdout] 64 | | .downcast_mut() [INFO] [stdout] | |____________________________^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/evcxr_internal_runtime.rs:67:9 [INFO] [stdout] | [INFO] [stdout] 67 | } 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] 60 ~ match self [INFO] [stdout] 61 | .variables [INFO] [stdout] ... [INFO] [stdout] 64 | .downcast_mut() [INFO] [stdout] 65 ~ { Some(value) => { [INFO] [stdout] 66 | std::sync::Arc::clone(value) [INFO] [stdout] 67 ~ } _ => { [INFO] [stdout] 68 | panic!("lazy_arc {name} changed type"); [INFO] [stdout] 69 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/module.rs:504:8 [INFO] [stdout] | [INFO] [stdout] 504 | if let Some(captures) = CRATE_COMPILING.captures(line) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^------------------------------ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/module.rs:513:5 [INFO] [stdout] | [INFO] [stdout] 513 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 504 ~ match CRATE_COMPILING.captures(line) { Some(captures) => { [INFO] [stdout] 505 | let crate_name = captures.get(1).unwrap().as_bytes(); [INFO] [stdout] ... [INFO] [stdout] 512 | } [INFO] [stdout] 513 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/module/cache.rs:256:16 [INFO] [stdout] | [INFO] [stdout] 256 | if let Some(hits) = std::fs::read_to_string(entry.subdirectory.join("hits")) [INFO] [stdout] | ^ -------------------------------------------------------- this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | ________________| [INFO] [stdout] | | [INFO] [stdout] 257 | | .ok() [INFO] [stdout] 258 | | .and_then(|s| s.parse::().ok()) [INFO] [stdout] | |____________________________________________________^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/module/cache.rs:261:13 [INFO] [stdout] | [INFO] [stdout] 261 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 256 ~ match std::fs::read_to_string(entry.subdirectory.join("hits")) [INFO] [stdout] 257 | .ok() [INFO] [stdout] 258 | .and_then(|s| s.parse::().ok()) [INFO] [stdout] 259 ~ { Some(hits) => { [INFO] [stdout] 260 | result.num_hits += hits; [INFO] [stdout] 261 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/runtime.rs:58:16 [INFO] [stdout] | [INFO] [stdout] 58 | if let Err(error) = self.handle_line(&line) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^----------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/runtime.rs:61:13 [INFO] [stdout] | [INFO] [stdout] 61 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 58 ~ match self.handle_line(&line) { Err(error) => { [INFO] [stdout] 59 | eprintln!("While processing instruction `{line:?}`, got error: {error:?}",); [INFO] [stdout] 60 | std::process::exit(99); [INFO] [stdout] 61 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/runtime.rs:70:12 [INFO] [stdout] | [INFO] [stdout] 70 | if let Some(captures) = LOAD_AND_RUN.captures(line) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^--------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/runtime.rs:72:9 [INFO] [stdout] | [INFO] [stdout] 72 | } 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] 70 ~ match LOAD_AND_RUN.captures(line) { Some(captures) => { [INFO] [stdout] 71 | self.load_and_run(&captures[1], &captures[2]) [INFO] [stdout] 72 ~ } _ => { [INFO] [stdout] 73 | bail!("Unrecognised line: {}", line); [INFO] [stdout] 74 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/rust_analyzer.rs:138:16 [INFO] [stdout] | [INFO] [stdout] 138 | if let ast::Item::Fn(function) = item { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^---- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/rust_analyzer.rs:183:13 [INFO] [stdout] | [INFO] [stdout] 183 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 138 ~ match item { ast::Item::Fn(function) => { [INFO] [stdout] 139 | if function [INFO] [stdout] ... [INFO] [stdout] 182 | } [INFO] [stdout] 183 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/rust_analyzer.rs:152:28 [INFO] [stdout] | [INFO] [stdout] 152 | if let ast::Stmt::LetStmt(let_stmt) = statement { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^--------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/rust_analyzer.rs:180:25 [INFO] [stdout] | [INFO] [stdout] 180 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 152 ~ match statement { ast::Stmt::LetStmt(let_stmt) => { [INFO] [stdout] 153 | if let Some(pat) = let_stmt.pat() { [INFO] [stdout] ... [INFO] [stdout] 179 | } [INFO] [stdout] 180 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/rust_analyzer.rs:153:32 [INFO] [stdout] | [INFO] [stdout] 153 | ... if let Some(pat) = let_stmt.pat() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^-------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/rust_analyzer.rs:179:29 [INFO] [stdout] | [INFO] [stdout] 179 | ... } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 153 ~ match let_stmt.pat() { Some(pat) => { [INFO] [stdout] 154 | if !add_variable_for_pattern( [INFO] [stdout] ... [INFO] [stdout] 178 | } [INFO] [stdout] 179 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/rust_analyzer.rs:168:44 [INFO] [stdout] | [INFO] [stdout] 168 | ... if let Some(sub_pat) = ast::Pat::cast(d) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^----------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/rust_analyzer.rs:176:41 [INFO] [stdout] | [INFO] [stdout] 176 | ... } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 168 ~ match ast::Pat::cast(d) { Some(sub_pat) => { [INFO] [stdout] 169 | add_variable_for_pattern( [INFO] [stdout] ... [INFO] [stdout] 175 | ); [INFO] [stdout] 176 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/rust_analyzer.rs:380:12 [INFO] [stdout] | [INFO] [stdout] 380 | if let Some(name) = ident_pat.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/rust_analyzer.rs:395:9 [INFO] [stdout] | [INFO] [stdout] 395 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 380 ~ match ident_pat.name() { Some(name) => { [INFO] [stdout] 381 | let type_name = get_type_name( [INFO] [stdout] ... [INFO] [stdout] 394 | return true; [INFO] [stdout] 395 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/rust_analyzer.rs:417:12 [INFO] [stdout] | [INFO] [stdout] 417 | if let Ok(type_name) = ty.display_source_code(sema.db, module.into(), true) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^--^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/rust_analyzer.rs:421:9 [INFO] [stdout] | [INFO] [stdout] 421 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 417 ~ match ty.display_source_code(sema.db, module.into(), true) { Ok(type_name) => { [INFO] [stdout] 418 | if is_type_valid(&type_name) { [INFO] [stdout] 419 | return TypeName::Named(type_name); [INFO] [stdout] 420 | } [INFO] [stdout] 421 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/statement_splitter.rs:38:15 [INFO] [stdout] | [INFO] [stdout] 38 | while let (Some(child), next) = (children.next(), children.peek()) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^---------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/statement_splitter.rs:51:9 [INFO] [stdout] | [INFO] [stdout] 51 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/use_trees.rs:41:12 [INFO] [stdout] | [INFO] [stdout] 41 | if let Some(path) = use_tree.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/use_trees.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] 41 ~ match use_tree.path() { Some(path) => { [INFO] [stdout] 42 | // If we get ::self, ignore it and use what we've got so far. [INFO] [stdout] ... [INFO] [stdout] 92 | } [INFO] [stdout] 93 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/use_trees.rs:57:24 [INFO] [stdout] | [INFO] [stdout] 57 | if let Some(name_ref) = segment.name_ref() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^------------------ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] 58 | path_parts.push(name_ref.text().to_owned()); [INFO] [stdout] 59 | } else if let Some(token) = segment.crate_token() { [INFO] [stdout] | --------------------- this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/use_trees.rs:59:21 [INFO] [stdout] | [INFO] [stdout] 59 | } else if let Some(token) = segment.crate_token() { [INFO] [stdout] | ^ [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/use_trees.rs:61:21 [INFO] [stdout] | [INFO] [stdout] 61 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 57 ~ match segment.name_ref() { Some(name_ref) => { [INFO] [stdout] 58 | path_parts.push(name_ref.text().to_owned()); [INFO] [stdout] 59 ~ } _ => { match segment.crate_token() { Some(token) => { [INFO] [stdout] 60 | path_parts.push(token.text().to_owned()); [INFO] [stdout] 61 ~ } _ => {}}}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/use_trees.rs:62:24 [INFO] [stdout] | [INFO] [stdout] 62 | if let Some(qualifier) = path.qualifier() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^---------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/use_trees.rs:65:21 [INFO] [stdout] | [INFO] [stdout] 65 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 62 ~ match path.qualifier() { Some(qualifier) => { [INFO] [stdout] 63 | path = qualifier; [INFO] [stdout] 64 | continue; [INFO] [stdout] 65 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/use_trees.rs:77:16 [INFO] [stdout] | [INFO] [stdout] 77 | if let Some(tree_list) = use_tree.use_tree_list() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^------------------------ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] ... [INFO] [stdout] 81 | } else if let Some(rename) = use_tree.rename() { [INFO] [stdout] | ----------------- this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] ... [INFO] [stdout] 87 | } else if let Some(star_token) = use_tree.star_token() { [INFO] [stdout] | --------------------- this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/use_trees.rs:81:13 [INFO] [stdout] | [INFO] [stdout] 81 | } else if let Some(rename) = use_tree.rename() { [INFO] [stdout] | ^ [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/use_trees.rs:87:13 [INFO] [stdout] | [INFO] [stdout] 87 | } else if let Some(star_token) = use_tree.star_token() { [INFO] [stdout] | ^ [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/use_trees.rs:90:13 [INFO] [stdout] | [INFO] [stdout] 90 | } else if let Some(ident) = new_prefix.last() { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 77 ~ match use_tree.use_tree_list() { Some(tree_list) => { [INFO] [stdout] 78 | for subtree in tree_list.use_trees() { [INFO] [stdout] 79 | process_use_tree(&subtree, &new_prefix, out); [INFO] [stdout] 80 | } [INFO] [stdout] 81 ~ } _ => { match use_tree.rename() { Some(rename) => { [INFO] [stdout] 82 | if let Some(name) = ast::HasName::name(&rename) { [INFO] [stdout] ... [INFO] [stdout] 86 | } [INFO] [stdout] 87 ~ } _ => { match use_tree.star_token() { Some(star_token) => { [INFO] [stdout] 88 | new_prefix.push(star_token.text().to_owned()); [INFO] [stdout] 89 | out(Import::format(star_token.text(), &new_prefix)); [INFO] [stdout] 90 ~ } _ => if let Some(ident) = new_prefix.last() { [INFO] [stdout] 91 | out(Import::format(ident, &new_prefix)); [INFO] [stdout] 92 ~ }}}}}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/use_trees.rs:82:20 [INFO] [stdout] | [INFO] [stdout] 82 | if let Some(name) = ast::HasName::name(&rename) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^--------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] 83 | out(Import::format(&name.text(), &new_prefix)); [INFO] [stdout] 84 | } else if let Some(underscore) = rename.underscore_token() { [INFO] [stdout] | ------------------------- this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/use_trees.rs:84:17 [INFO] [stdout] | [INFO] [stdout] 84 | } else if let Some(underscore) = rename.underscore_token() { [INFO] [stdout] | ^ [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/use_trees.rs:86:17 [INFO] [stdout] | [INFO] [stdout] 86 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 82 ~ match ast::HasName::name(&rename) { Some(name) => { [INFO] [stdout] 83 | out(Import::format(&name.text(), &new_prefix)); [INFO] [stdout] 84 ~ } _ => { match rename.underscore_token() { Some(underscore) => { [INFO] [stdout] 85 | out(Import::format(underscore.text(), &new_prefix)); [INFO] [stdout] 86 ~ } _ => {}}}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 53 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Migrating tests/integration_tests.rs from 2021 edition to 2024 [INFO] [stderr] Migrating src/bin/testing_runtime.rs from 2021 edition to 2024 [INFO] [stderr] warning: failed to automatically apply fixes suggested by rustc to crate `integration_tests` [INFO] [stderr] [INFO] [stderr] after fixes were automatically applied the compiler reported errors within these files: [INFO] [stderr] [INFO] [stderr] * tests/integration_tests.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/integration_tests.rs:44:6 [INFO] [stderr] | [INFO] [stderr] 44 | ($ctxt:expr_2021, $($t:tt)*) => {eval_and_unwrap(&mut $ctxt, stringify!($($t)*))} [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error: aborting due to 1 previous error [INFO] [stderr] [INFO] [stderr] For more information about this error, try `rustc --explain E0658`. [INFO] [stderr] Original diagnostics will follow. [INFO] [stderr] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> tests/integration_tests.rs:44:12 [INFO] [stdout] | [INFO] [stdout] 44 | ($ctxt:expr, $($t:tt)*) => {eval_and_unwrap(&mut $ctxt, stringify!($($t)*))} [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] 44 | ($ctxt:expr_2021, $($t:tt)*) => {eval_and_unwrap(&mut $ctxt, stringify!($($t)*))} [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> tests/integration_tests.rs:58:15 [INFO] [stdout] | [INFO] [stdout] 58 | while let Ok(line) = channel.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] --> tests/integration_tests.rs:62:9 [INFO] [stdout] | [INFO] [stdout] 62 | } [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] --> tests/integration_tests.rs:308:8 [INFO] [stdout] | [INFO] [stdout] 308 | if let Err(Error::SubprocessTerminated(message)) = result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^------ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> tests/integration_tests.rs:310:5 [INFO] [stdout] | [INFO] [stdout] 310 | } 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] 308 ~ match result { Err(Error::SubprocessTerminated(message)) => { [INFO] [stdout] 309 | assert!(message.contains("Subprocess terminated")); [INFO] [stdout] 310 ~ } _ => { [INFO] [stdout] 311 | panic!("Unexpected result: {:?}", result); [INFO] [stdout] 312 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> tests/integration_tests.rs:635:8 [INFO] [stdout] | [INFO] [stdout] 635 | if let Err(Error::SubprocessTerminated(message)) = result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^------ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> tests/integration_tests.rs:649:5 [INFO] [stdout] | [INFO] [stdout] 649 | } 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] 635 ~ match result { Err(Error::SubprocessTerminated(message)) => { [INFO] [stdout] 636 | #[cfg(not(windows))] [INFO] [stdout] ... [INFO] [stdout] 648 | } [INFO] [stdout] 649 ~ } _ => { [INFO] [stdout] 650 | panic!("Unexpected result: {:?}", result); [INFO] [stdout] 651 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> tests/integration_tests.rs:701:8 [INFO] [stdout] | [INFO] [stdout] 701 | if let Err(Error::Message(message)) = result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^------ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> tests/integration_tests.rs:705:5 [INFO] [stdout] | [INFO] [stdout] 705 | } 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] 701 ~ match result { Err(Error::Message(message)) => { [INFO] [stdout] 702 | if !(message.starts_with("The variable") && message.contains("cannot be persisted")) { [INFO] [stdout] 703 | panic!("Unexpected error: {:?}", message); [INFO] [stdout] 704 | } [INFO] [stdout] 705 ~ } _ => { [INFO] [stdout] 706 | panic!("Unexpected result: {:?}", result); [INFO] [stdout] 707 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> tests/integration_tests.rs:719:8 [INFO] [stdout] | [INFO] [stdout] 719 | if let Err(Error::Message(message)) = result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^------ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> tests/integration_tests.rs:725:5 [INFO] [stdout] | [INFO] [stdout] 725 | } 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] 719 ~ match result { Err(Error::Message(message)) => { [INFO] [stdout] 720 | if !(message.starts_with("The variable `v` has type") [INFO] [stdout] ... [INFO] [stdout] 724 | } [INFO] [stdout] 725 ~ } _ => { [INFO] [stdout] 726 | panic!("Unexpected result: {:?}", result); [INFO] [stdout] 727 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> tests/integration_tests.rs:1019:12 [INFO] [stdout] | [INFO] [stdout] 1019 | if let Some(spanned_message) = err.primary_spanned_message() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^---^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> tests/integration_tests.rs:1030:9 [INFO] [stdout] | [INFO] [stdout] 1030 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1019 ~ match err.primary_spanned_message() { Some(spanned_message) => { [INFO] [stdout] 1020 | if let Some(span) = spanned_message.span { [INFO] [stdout] ... [INFO] [stdout] 1029 | } [INFO] [stdout] 1030 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 7 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Migrating examples/example_eval.rs from 2021 edition to 2024 [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 28.70s [INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: ra_ap_stdx v0.0.189 [INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 2` [INFO] [stderr] Running `cargo check` to verify 2024 [INFO] [stderr] Compiling evcxr v0.17.0 (/tmp/fixit) [INFO] [stdout] error[E0133]: call to unsafe function `set_var` is unsafe and requires unsafe block [INFO] [stdout] --> src/command_context.rs:615:29 [INFO] [stdout] | [INFO] [stdout] 615 | ... std::env::set_var(key, 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/eval_context.rs:1153:25 [INFO] [stdout] | [INFO] [stdout] 1153 | std::env::set_var("PATH", path); [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/command_context.rs:615:29 [INFO] [stdout] | [INFO] [stdout] 615 | ... std::env::set_var(key, 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/eval_context.rs:1153:25 [INFO] [stdout] | [INFO] [stdout] 1153 | std::env::set_var("PATH", path); [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 2 previous errors [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0133`. [INFO] [stdout] [INFO] [stderr] error: could not compile `evcxr` (lib) due to 3 previous errors [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stdout] error: aborting due to 2 previous errors [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0133`. [INFO] [stdout] [INFO] [stderr] error: could not compile `evcxr` (lib test) due to 3 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" "5624cd97d409937ce620510057ea1c4f33cb9078b67a8068a0f47292441d8b28", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "5624cd97d409937ce620510057ea1c4f33cb9078b67a8068a0f47292441d8b28", kill_on_drop: false }` [INFO] [stdout] 5624cd97d409937ce620510057ea1c4f33cb9078b67a8068a0f47292441d8b28