[INFO] fetching crate metamath-rs 0.3.8... [INFO] checking metamath-rs-0.3.8 against try#ccf408f4326a858c00dd845a64a86b16f360a801 for pr-129466-2 [INFO] extracting crate metamath-rs 0.3.8 into /workspace/builds/worker-6-tc2/source [INFO] validating manifest of crates.io crate metamath-rs 0.3.8 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 metamath-rs 0.3.8 [INFO] finished tweaking crates.io crate metamath-rs 0.3.8 [INFO] tweaked toml for crates.io crate metamath-rs 0.3.8 written to /workspace/builds/worker-6-tc2/source/Cargo.toml [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+ccf408f4326a858c00dd845a64a86b16f360a801" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Updating crates.io index [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Locking 36 packages to latest compatible versions [INFO] [stderr] Adding annotate-snippets v0.9.2 (available: v0.11.4) [INFO] [stderr] Adding itertools v0.12.1 (available: v0.13.0) [INFO] [stderr] Adding unicode-width v0.1.14 (available: v0.2.0) [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-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:ceb6ea022f8a89cebbe621bb4987e73a935bd40dfbb726f832cfff4742a5b95a" "/opt/rustwide/cargo-home/bin/cargo" "+ccf408f4326a858c00dd845a64a86b16f360a801" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 5805001f3fba62faefb45353cbe79024db56275664a9b6bd3d037c8a57a15132 [INFO] running `Command { std: "docker" "start" "-a" "5805001f3fba62faefb45353cbe79024db56275664a9b6bd3d037c8a57a15132", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "5805001f3fba62faefb45353cbe79024db56275664a9b6bd3d037c8a57a15132", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "5805001f3fba62faefb45353cbe79024db56275664a9b6bd3d037c8a57a15132", kill_on_drop: false }` [INFO] [stdout] 5805001f3fba62faefb45353cbe79024db56275664a9b6bd3d037c8a57a15132 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:ceb6ea022f8a89cebbe621bb4987e73a935bd40dfbb726f832cfff4742a5b95a" "/opt/rustwide/cargo-home/bin/cargo" "+ccf408f4326a858c00dd845a64a86b16f360a801" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] fef8bbc3b0ad3c974a04a03a912d3c9409cc0730ab4b27d14c019dd04725068b [INFO] running `Command { std: "docker" "start" "-a" "fef8bbc3b0ad3c974a04a03a912d3c9409cc0730ab4b27d14c019dd04725068b", kill_on_drop: false }` [INFO] [stderr] Copying to /tmp/fixit [INFO] [stderr] Running `cargo fix --edition` [INFO] [stderr] Migrating Cargo.toml from 2021 edition to 2024 [INFO] [stderr] Fixed Cargo.toml (2 fixes) [INFO] [stderr] Checking aho-corasick v1.1.3 [INFO] [stderr] Checking yansi-term v0.1.2 [INFO] [stderr] Checking unicode-width v0.1.14 [INFO] [stderr] Checking typed-arena v2.0.2 [INFO] [stderr] Checking tinyvec v1.8.0 [INFO] [stderr] Checking assert_matches v1.5.0 [INFO] [stderr] Checking filetime v0.2.25 [INFO] [stderr] Checking annotate-snippets v0.9.2 [INFO] [stderr] Checking regex-automata v0.4.7 [INFO] [stderr] Checking regex v1.10.6 [INFO] [stderr] Checking metamath-rs v0.3.8 (/tmp/fixit) [INFO] [stderr] Migrating src/lib.rs from 2021 edition to 2024 [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/nameck.rs:285:17 [INFO] [stdout] | [INFO] [stdout] 285 | let gen = self.generation; [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #49716 [INFO] [stdout] = note: `--force-warn keyword-idents-2024` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] warning: failed to automatically apply fixes suggested by rustc to crate `metamath_rs` [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/nameck.rs:289:39 [INFO] [stdout] | [INFO] [stdout] 289 | slot.generation = gen; [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #49716 [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/nameck.rs:298:39 [INFO] [stdout] | [INFO] [stdout] 298 | slot.generation = gen; [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #49716 [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] after fixes were automatically applied the compiler reported errors within these files: [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/nameck.rs:306:39 [INFO] [stdout] | [INFO] [stdout] 306 | slot.generation = gen; [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #49716 [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/nameck.rs:312:31 [INFO] [stdout] | [INFO] [stdout] 312 | self.dv_gen = gen; [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #49716 [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] * src/diag.rs [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/scopeck.rs:975:9 [INFO] [stdout] | [INFO] [stdout] 975 | let gen = result.generation; [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #49716 [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] * src/tree.rs [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/scopeck.rs:1049:57 [INFO] [stdout] | [INFO] [stdout] 1049 | let old = result.frame_index.insert(label, (gen, seg_index, index)); [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #49716 [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] * src/verify.rs [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/scopeck.rs:1194:28 [INFO] [stdout] | [INFO] [stdout] 1194 | Some(&(gen, _segid, _frix)) => gen <= self.generation, [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #49716 [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/scopeck.rs:1194:52 [INFO] [stdout] | [INFO] [stdout] 1194 | Some(&(gen, _segid, _frix)) => gen <= self.generation, [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #49716 [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] This likely indicates a bug in either rustc or cargo itself, [INFO] [stdout] warning: elided lifetime has a name [INFO] [stdout] --> src/tree.rs:107:32 [INFO] [stdout] | [INFO] [stdout] 105 | pub(crate) fn dump<'a, D>(&'a self, display: D) [INFO] [stdout] | -- lifetime `'a` declared here [INFO] [stdout] 106 | where [INFO] [stdout] 107 | D: Fn(&'a TreeItem) -> &str, [INFO] [stdout] | ^ this elided lifetime gets resolved as `'a` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(elided_named_lifetimes)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] and we would appreciate a bug report! You're likely to see [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/diag.rs:57:36 [INFO] [stdout] | [INFO] [stdout] 57 | macro_rules! diag { ($type:expr, $header:expr, $decoration:expr) => { &[ [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] = note: `--force-warn edition-2024-expr-fragment-specifier` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 57 | macro_rules! diag { ($type:expr_2021, $header:expr, $decoration:expr) => { &[ [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] a number of compiler warnings after this message which cargo [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/diag.rs:57:50 [INFO] [stdout] | [INFO] [stdout] 57 | macro_rules! diag { ($type:expr, $header:expr, $decoration:expr) => { &[ [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 57 | macro_rules! diag { ($type:expr, $header:expr_2021, $decoration:expr) => { &[ [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] attempted to fix but failed. If you could open an issue at [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/diag.rs:57:68 [INFO] [stdout] | [INFO] [stdout] 57 | macro_rules! diag { ($type:expr, $header:expr, $decoration:expr) => { &[ [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 57 | macro_rules! diag { ($type:expr, $header:expr, $decoration:expr_2021) => { &[ [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] https://github.com/rust-lang/rust/issues [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/verify.rs:45:13 [INFO] [stdout] | [INFO] [stdout] 45 | ( $cond:expr , $($arg:tt)+ ) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 45 | ( $cond:expr_2021 , $($arg:tt)+ ) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [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/verify.rs:45:7 [INFO] [stderr] | [INFO] [stderr] 45 | ( $cond:expr_2021 , $($arg:tt)+ ) => { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/diag.rs:57:30 [INFO] [stderr] | [INFO] [stderr] 57 | macro_rules! diag { ($type:expr_2021, $header:expr_2021, $decoration:expr_2021) => { &[ [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/diag.rs:57:47 [INFO] [stderr] | [INFO] [stderr] 57 | macro_rules! diag { ($type:expr_2021, $header:expr_2021, $decoration:expr_2021) => { &[ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/diag.rs:57:66 [INFO] [stderr] | [INFO] [stderr] 57 | macro_rules! diag { ($type:expr_2021, $header:expr_2021, $decoration:expr_2021) => { &[ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] warning: elided lifetime has a name [INFO] [stderr] --> src/tree.rs:107:32 [INFO] [stderr] | [INFO] [stderr] 105 | pub(crate) fn dump<'a, D>(&'a self, display: D) [INFO] [stderr] | -- lifetime `'a` declared here [INFO] [stderr] 106 | where [INFO] [stderr] 107 | D: Fn(&'a TreeItem) -> &str, [INFO] [stderr] | ^ this elided lifetime gets resolved as `'a` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(elided_named_lifetimes)]` on by default [INFO] [stderr] [INFO] [stderr] error: aborting due to 4 previous errors; 1 warning emitted [INFO] [stderr] [INFO] [stderr] For more information about this error, try `rustc --explain E0658`. [INFO] [stderr] Original diagnostics will follow. [INFO] [stderr] [INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::write` is unsafe and requires unsafe block [INFO] [stdout] --> src/util.rs:25:14 [INFO] [stdout] | [INFO] [stdout] 25 | 1 => ptr::write(dst, ptr::read(src)), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/util.rs:23:1 [INFO] [stdout] | [INFO] [stdout] 23 | unsafe fn short_copy(src: *const T, dst: *mut T, count: usize) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: `--force-warn unsafe-op-in-unsafe-fn` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::read` is unsafe and requires unsafe block [INFO] [stdout] --> src/util.rs:25:30 [INFO] [stdout] | [INFO] [stdout] 25 | 1 => ptr::write(dst, ptr::read(src)), [INFO] [stdout] | ^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::write` is unsafe and requires unsafe block [INFO] [stdout] --> src/util.rs:26:14 [INFO] [stdout] | [INFO] [stdout] 26 | 2 => ptr::write(dst.cast::<[T; 2]>(), ptr::read(src.cast())), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::read` is unsafe and requires unsafe block [INFO] [stdout] --> src/util.rs:26:47 [INFO] [stdout] | [INFO] [stdout] 26 | 2 => ptr::write(dst.cast::<[T; 2]>(), ptr::read(src.cast())), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::intrinsics::copy_nonoverlapping` is unsafe and requires unsafe block [INFO] [stdout] --> src/util.rs:27:14 [INFO] [stdout] | [INFO] [stdout] 27 | _ => ptr::copy_nonoverlapping(src, dst, count), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/bit_set.rs:141:12 [INFO] [stdout] | [INFO] [stdout] 141 | if let Some(ref rtail) = rhs.tail { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^-------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/bit_set.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] 141 ~ match rhs.tail { Some(ref rtail) => { [INFO] [stdout] 142 | let stail = self.tail_mut(); [INFO] [stdout] ... [INFO] [stdout] 148 | } [INFO] [stdout] 149 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/segment_set.rs:286:24 [INFO] [stdout] | [INFO] [stdout] 286 | if let Some(chap) = find_chapter_header(&buf[sstart..]) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^---^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/segment_set.rs:289:21 [INFO] [stdout] | [INFO] [stdout] 289 | } 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] 286 ~ match find_chapter_header(&buf[sstart..]) { Some(chap) => { [INFO] [stdout] 287 | parts.push(sstart..sstart + chap); [INFO] [stdout] 288 | sstart += chap; [INFO] [stdout] 289 ~ } _ => { [INFO] [stdout] 290 | parts.push(sstart..buf.len()); [INFO] [stdout] 291 | break; [INFO] [stdout] 292 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/segment_set.rs:315:20 [INFO] [stdout] | [INFO] [stdout] 315 | if let Some(eseg) = state.old_by_content.get(&cachekey) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^--------------------^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/segment_set.rs:320:17 [INFO] [stdout] | [INFO] [stdout] 320 | } 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] 315 ~ match state.old_by_content.get(&cachekey) { Some(eseg) => { [INFO] [stdout] 316 | // hit, don't queue a job. keep the name so that it [INFO] [stdout] ... [INFO] [stdout] 319 | promises.push(Promise::new(sres)); [INFO] [stdout] 320 ~ } _ => { [INFO] [stdout] 321 | let trace = state.options.trace_recalc; [INFO] [stdout] ... [INFO] [stdout] 328 | })); [INFO] [stdout] 329 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/segment_set.rs:345:16 [INFO] [stdout] | [INFO] [stdout] 345 | if let Some(old_fsr) = state.old_by_time.get(&(path.clone(), time)) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^-----------------^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/segment_set.rs:347:13 [INFO] [stdout] | [INFO] [stdout] 347 | } 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] 345 ~ match state.old_by_time.get(&(path.clone(), time)) { Some(old_fsr) => { [INFO] [stdout] 346 | Ok(Promise::new(old_fsr.clone())) [INFO] [stdout] 347 ~ } _ => { [INFO] [stdout] 348 | // miss, but we have the file size, so try to read in one [INFO] [stdout] ... [INFO] [stdout] 355 | Ok(split_and_parse(state, path, Some(time), buf)) [INFO] [stdout] 356 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/axiom_use.rs:83:32 [INFO] [stdout] | [INFO] [stdout] 83 | ... if let Err(diags) = self.parse_command(sref, 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/axiom_use.rs:87:29 [INFO] [stdout] | [INFO] [stdout] 87 | ... } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 83 ~ match self.parse_command(sref, args) { Err(diags) => { [INFO] [stdout] 84 | for diag in diags { [INFO] [stdout] 85 | self.result.0.push((stmt.address(), diag)); [INFO] [stdout] 86 | } [INFO] [stdout] 87 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/axiom_use.rs:160:28 [INFO] [stdout] | [INFO] [stdout] 160 | if let Some(usage2) = stmt_use_map.get(tk) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^------------^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/axiom_use.rs:162:25 [INFO] [stdout] | [INFO] [stdout] 162 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 160 ~ match stmt_use_map.get(tk) { Some(usage2) => { [INFO] [stdout] 161 | usage |= usage2 [INFO] [stdout] 162 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/comment_parser.rs:564:23 [INFO] [stdout] | [INFO] [stdout] 564 | let item = if let Some(m) = groups.get(1) { [INFO] [stdout] | ^^^^^^^^^^^^^^------^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/comment_parser.rs:573:9 [INFO] [stdout] | [INFO] [stdout] 573 | } 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] 564 ~ let item = match groups.get(1) { Some(m) => { [INFO] [stdout] 565 | let author = self.to_span(groups.get(2).unwrap()); [INFO] [stdout] ... [INFO] [stdout] 572 | } [INFO] [stdout] 573 ~ } _ => { [INFO] [stdout] 574 | match all.as_bytes()[1] { [INFO] [stdout] ... [INFO] [stdout] 578 | } [INFO] [stdout] 579 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/formula.rs:285:16 [INFO] [stdout] | [INFO] [stdout] 285 | if let Some(formula) = substitutions.0.get(&other.tree[other_node_id]) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^---------------^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/formula.rs:292:13 [INFO] [stdout] | [INFO] [stdout] 292 | } 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] 285 ~ match substitutions.0.get(&other.tree[other_node_id]) { Some(formula) => { [INFO] [stdout] 286 | // there already is as substitution for that variable, check equality [INFO] [stdout] ... [INFO] [stdout] 291 | } [INFO] [stdout] 292 ~ } _ => { [INFO] [stdout] 293 | // store the new substitution and succeed [INFO] [stdout] ... [INFO] [stdout] 297 | Ok(()) [INFO] [stdout] 298 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/formula.rs:338:16 [INFO] [stdout] | [INFO] [stdout] 338 | if let Some(formula) = substitutions.0.get(&self.tree[node_id]) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^---------------^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/formula.rs:342:13 [INFO] [stdout] | [INFO] [stdout] 342 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 338 ~ match substitutions.0.get(&self.tree[node_id]) { Some(formula) => { [INFO] [stdout] 339 | // We encounter a variable, perform substitution. [INFO] [stdout] 340 | formula.copy_sub_formula(formula.root, formula_builder); [INFO] [stdout] 341 | return; [INFO] [stdout] 342 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/grammar.rs:1123:28 [INFO] [stdout] | [INFO] [stdout] 1123 | if let Err(diag) = [INFO] [stdout] | ____________________________^ [INFO] [stdout] 1124 | | self.handle_common_prefixes(prefix, &shadows[1..], buf, db, names) [INFO] [stdout] | |_____________________________-----------------------------------------------------------------^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/grammar.rs:1127:25 [INFO] [stdout] | [INFO] [stdout] 1127 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1123 ~ match self.handle_common_prefixes(prefix, &shadows[1..], buf, db, names) [INFO] [stdout] 1124 ~ { Err(diag) => { [INFO] [stdout] 1125 | return Err((address, diag)); [INFO] [stdout] 1126 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/grammar.rs:1211:28 [INFO] [stdout] | [INFO] [stdout] 1211 | if let Some(popped) = stack.pop() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^----------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/grammar.rs:1236:25 [INFO] [stdout] | [INFO] [stdout] 1236 | } else if symbol_enum.peek().is_none() { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1211 ~ match stack.pop() { Some(popped) => { [INFO] [stdout] 1212 | e = popped; [INFO] [stdout] ... [INFO] [stdout] 1235 | } [INFO] [stdout] 1236 ~ } _ => if symbol_enum.peek().is_none() { [INFO] [stdout] 1237 | // We popped the last element from the stack and we are at the end of the math string, success [INFO] [stdout] ... [INFO] [stdout] 1250 | e.node_id = next_node_id; [INFO] [stdout] 1251 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/grammar.rs:1283:24 [INFO] [stdout] | [INFO] [stdout] 1283 | if let Some(&Ok(token)) = symbol_enum.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/grammar.rs:1323:21 [INFO] [stdout] | [INFO] [stdout] 1323 | } 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] 1283 ~ match symbol_enum.peek() { Some(&Ok(token)) => { [INFO] [stdout] 1284 | last_token = token; [INFO] [stdout] ... [INFO] [stdout] 1322 | } [INFO] [stdout] 1323 ~ } _ => { [INFO] [stdout] 1324 | if let Some(token) = symbol_enum.next() { [INFO] [stdout] ... [INFO] [stdout] 1327 | return Err(Grammar::too_short(last_token, map, nset)); [INFO] [stdout] 1328 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/grammar.rs:1650:20 [INFO] [stdout] | [INFO] [stdout] 1650 | if let Err(diag) = match sref.statement_type() { [INFO] [stdout] | ____________________^ - [INFO] [stdout] | |____________________________________| [INFO] [stdout] 1651 | || StatementType::Axiom => grammar.add_axiom(&sref, nset, &mut names), [INFO] [stdout] 1652 | || StatementType::Floating => grammar.add_floating(&sref, nset, &mut names), [INFO] [stdout] 1653 | || _ => Ok(()), [INFO] [stdout] 1654 | || } { [INFO] [stdout] | ||_________________^ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | |_________________| [INFO] [stdout] | [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/grammar.rs:1656:17 [INFO] [stdout] | [INFO] [stdout] 1656 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1650 ~ match match sref.statement_type() { [INFO] [stdout] 1651 | StatementType::Axiom => grammar.add_axiom(&sref, nset, &mut names), [INFO] [stdout] 1652 | StatementType::Floating => grammar.add_floating(&sref, nset, &mut names), [INFO] [stdout] 1653 | _ => Ok(()), [INFO] [stdout] 1654 ~ } { Err(diag) => { [INFO] [stdout] 1655 | grammar.diagnostics.insert(sref.address(), diag); [INFO] [stdout] 1656 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/nameck.rs:283:12 [INFO] [stdout] | [INFO] [stdout] 283 | if let Some(seg) = self.segments.remove(&id) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/nameck.rs:315:9 [INFO] [stdout] | [INFO] [stdout] 315 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 283 ~ match self.segments.remove(&id) { Some(seg) => { [INFO] [stdout] 284 | let sref = SegmentRef { segment: &seg, id }; [INFO] [stdout] ... [INFO] [stdout] 314 | } [INFO] [stdout] 315 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/nameck.rs:368:12 [INFO] [stdout] | [INFO] [stdout] 368 | if let Some(syminfo) = self.symbols.get(symbol) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^------------^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/nameck.rs:377:9 [INFO] [stdout] | [INFO] [stdout] 377 | } 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] 368 ~ match self.symbols.get(symbol) { Some(syminfo) => { [INFO] [stdout] 369 | syminfo [INFO] [stdout] ... [INFO] [stdout] 376 | }) [INFO] [stdout] 377 ~ } _ => { [INFO] [stdout] 378 | None [INFO] [stdout] 379 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/nameck.rs:566:12 [INFO] [stdout] | [INFO] [stdout] 566 | if let Some(syminfo) = self.nameset.symbols.get(symbol) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^--------------------^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/nameck.rs:579:9 [INFO] [stdout] | [INFO] [stdout] 579 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 566 ~ match self.nameset.symbols.get(symbol) { Some(syminfo) => { [INFO] [stdout] 567 | if self.incremental { [INFO] [stdout] ... [INFO] [stdout] 578 | }) [INFO] [stdout] 579 ~ } _ => { [INFO] [stdout] 580 | if self.incremental { [INFO] [stdout] ... [INFO] [stdout] 583 | None [INFO] [stdout] 584 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/parser.rs:1087:20 [INFO] [stdout] | [INFO] [stdout] 1087 | if let Err(diag) = parse_one(&mut data, &seg.buffer, address, span, command) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^--------------------------------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/parser.rs:1089:17 [INFO] [stdout] | [INFO] [stdout] 1089 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1087 ~ match parse_one(&mut data, &seg.buffer, address, span, command) { Err(diag) => { [INFO] [stdout] 1088 | data.diagnostics.push((address, diag)) [INFO] [stdout] 1089 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/scopeck.rs:661:12 [INFO] [stdout] | [INFO] [stdout] 661 | if let Some(cdef) = state.gnames.lookup_symbol(&tref) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^------------^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/scopeck.rs:669:9 [INFO] [stdout] | [INFO] [stdout] 669 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 661 ~ match state.gnames.lookup_symbol(&tref) { Some(cdef) => { [INFO] [stdout] 662 | if cdef.address != tref.address { [INFO] [stdout] ... [INFO] [stdout] 668 | } [INFO] [stdout] 669 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/scopeck.rs:836:16 [INFO] [stdout] | [INFO] [stdout] 836 | if let Some(cdef) = state.gnames.lookup_symbol(&tref) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^------------^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/scopeck.rs:844:13 [INFO] [stdout] | [INFO] [stdout] 844 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 836 ~ match state.gnames.lookup_symbol(&tref) { Some(cdef) => { [INFO] [stdout] 837 | if cdef.address != tref.address { [INFO] [stdout] ... [INFO] [stdout] 843 | } [INFO] [stdout] 844 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/scopeck.rs:948:16 [INFO] [stdout] | [INFO] [stdout] 948 | if let Some(ref ssr) = *ssro { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^----- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/scopeck.rs:954:13 [INFO] [stdout] | [INFO] [stdout] 954 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 948 ~ match *ssro { Some(ref ssr) => { [INFO] [stdout] 949 | for (&six, diag) in &ssr.diagnostics { [INFO] [stdout] ... [INFO] [stdout] 953 | } [INFO] [stdout] 954 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/verify.rs:218:12 [INFO] [stdout] | [INFO] [stdout] 218 | if let Essential(addr, _) = *hyp { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^---- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/verify.rs:228:9 [INFO] [stdout] | [INFO] [stdout] 228 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 218 ~ match *hyp { Essential(addr, _) => { [INFO] [stdout] 219 | assert!(addr.segment_id == state.this_seg.id); [INFO] [stdout] ... [INFO] [stdout] 227 | } [INFO] [stdout] 228 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/verify.rs:260:20 [INFO] [stdout] | [INFO] [stdout] 260 | let frame = if let Some(fp) = state.scoper.get(label) { [INFO] [stdout] | ^^^^^^^^^^^^^^^------------^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/verify.rs:262:5 [INFO] [stdout] | [INFO] [stdout] 262 | } 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] 260 ~ let frame = match state.scoper.get(label) { Some(fp) => { [INFO] [stdout] 261 | fp [INFO] [stdout] 262 ~ } _ => { [INFO] [stdout] 263 | let Some(label_span) = label_span else { [INFO] [stdout] ... [INFO] [stdout] 303 | } [INFO] [stdout] 304 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/verify.rs:296:12 [INFO] [stdout] | [INFO] [stdout] 296 | if let Some(fp) = state.scoper.get(label) { [INFO] [stdout] | ^^^^^^^^^^^^^^^------------^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/verify.rs:298:9 [INFO] [stdout] | [INFO] [stdout] 298 | } 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] 296 ~ match state.scoper.get(label) { Some(fp) => { [INFO] [stdout] 297 | fp [INFO] [stdout] 298 ~ } _ => { [INFO] [stdout] 299 | if !prepare_named_hyp(state, label) { [INFO] [stdout] ... [INFO] [stdout] 302 | return Ok(out); [INFO] [stdout] 303 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/verify.rs:831:16 [INFO] [stdout] | [INFO] [stdout] 831 | if let Some(frame) = state.scoper.get(stmt.label()) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^------------^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/verify.rs:836:13 [INFO] [stdout] | [INFO] [stdout] 836 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 831 ~ match state.scoper.get(stmt.label()) { Some(frame) => { [INFO] [stdout] 832 | state.cur_frame = frame; [INFO] [stdout] ... [INFO] [stdout] 835 | } [INFO] [stdout] 836 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/verify.rs:833:20 [INFO] [stdout] | [INFO] [stdout] 833 | if let Err(diag) = verify_proof(&mut state, stmt) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^------------------------------ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/verify.rs:835:17 [INFO] [stdout] | [INFO] [stdout] 835 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 833 ~ match verify_proof(&mut state, stmt) { Err(diag) => { [INFO] [stdout] 834 | diagnostics.insert(stmt.address(), diag); [INFO] [stdout] 835 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/verify_markup.rs:555:16 [INFO] [stdout] | [INFO] [stdout] 555 | if let Some(sp2) = bib.insert(captures.get(1).unwrap().as_bytes().into(), sp) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^---^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/verify_markup.rs:557:13 [INFO] [stdout] | [INFO] [stdout] 557 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 555 ~ match bib.insert(captures.get(1).unwrap().as_bytes().into(), sp) { Some(sp2) => { [INFO] [stdout] 556 | diags.push((source, BibError::DuplicateBib(sp2, sp))) [INFO] [stdout] 557 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 45 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0133`. [INFO] [stdout] [INFO] [stderr] warning: failed to automatically apply fixes suggested by rustc to crate `metamath_rs` [INFO] [stderr] [INFO] [stderr] after fixes were automatically applied the compiler reported errors within these files: [INFO] [stderr] [INFO] [stderr] * src/diag.rs [INFO] [stderr] * src/grammar_tests.rs [INFO] [stderr] * src/parser_tests.rs [INFO] [stderr] * src/tree.rs [INFO] [stderr] * src/verify.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/verify.rs:45:7 [INFO] [stderr] | [INFO] [stderr] 45 | ( $cond:expr_2021 , $($arg:tt)+ ) => { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/grammar_tests.rs:14:6 [INFO] [stderr] | [INFO] [stderr] 14 | ($id: expr_2021, $index:expr_2021) => { [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/grammar_tests.rs:14:22 [INFO] [stderr] | [INFO] [stderr] 14 | ($id: expr_2021, $index:expr_2021) => { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/grammar_tests.rs:320:19 [INFO] [stderr] | [INFO] [stderr] 320 | ($name:ident, $text:expr_2021, $id: expr_2021, $index:expr_2021, $diag:expr_2021) => { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/grammar_tests.rs:320:36 [INFO] [stderr] | [INFO] [stderr] 320 | ($name:ident, $text:expr_2021, $id: expr_2021, $index:expr_2021, $diag:expr_2021) => { [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/grammar_tests.rs:320:52 [INFO] [stderr] | [INFO] [stderr] 320 | ($name:ident, $text:expr_2021, $id: expr_2021, $index:expr_2021, $diag:expr_2021) => { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/grammar_tests.rs:320:70 [INFO] [stderr] | [INFO] [stderr] 320 | ($name:ident, $text:expr_2021, $id: expr_2021, $index:expr_2021, $diag:expr_2021) => { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/parser_tests.rs:132:19 [INFO] [stderr] | [INFO] [stderr] 132 | ($name:ident, $text:expr_2021, $diags:expr_2021) => { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/parser_tests.rs:132:36 [INFO] [stderr] | [INFO] [stderr] 132 | ($name:ident, $text:expr_2021, $diags:expr_2021) => { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/diag.rs:57:30 [INFO] [stderr] | [INFO] [stderr] 57 | macro_rules! diag { ($type:expr_2021, $header:expr_2021, $decoration:expr_2021) => { &[ [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/diag.rs:57:47 [INFO] [stderr] | [INFO] [stderr] 57 | macro_rules! diag { ($type:expr_2021, $header:expr_2021, $decoration:expr_2021) => { &[ [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/nameck.rs:285:17 [INFO] [stdout] | [INFO] [stdout] 285 | let gen = self.generation; [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #49716 [INFO] [stdout] = note: `--force-warn keyword-idents-2024` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [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] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/nameck.rs:289:39 [INFO] [stdout] | [INFO] [stdout] 289 | slot.generation = gen; [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #49716 [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/nameck.rs:298:39 [INFO] [stdout] | [INFO] [stdout] 298 | slot.generation = gen; [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #49716 [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/diag.rs:57:66 [INFO] [stderr] | [INFO] [stderr] 57 | macro_rules! diag { ($type:expr_2021, $header:expr_2021, $decoration:expr_2021) => { &[ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/parser_tests.rs:93:22 [INFO] [stderr] | [INFO] [stderr] 93 | parse [$($e:expr_2021),* $(,)?]; [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/nameck.rs:306:39 [INFO] [stdout] | [INFO] [stdout] 306 | slot.generation = gen; [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #49716 [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/nameck.rs:312:31 [INFO] [stdout] | [INFO] [stdout] 312 | self.dv_gen = gen; [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #49716 [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/scopeck.rs:975:9 [INFO] [stdout] | [INFO] [stdout] 975 | let gen = result.generation; [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #49716 [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] --> src/parser_tests.rs:94:23 [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/scopeck.rs:1049:57 [INFO] [stdout] | [INFO] [stdout] 1049 | let old = result.frame_index.insert(label, (gen, seg_index, index)); [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #49716 [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] | [INFO] [stderr] 94 | errors [$($parse:expr_2021),* $(,)?]; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] warning: elided lifetime has a name [INFO] [stderr] --> src/tree.rs:107:32 [INFO] [stderr] | [INFO] [stderr] 105 | pub(crate) fn dump<'a, D>(&'a self, display: D) [INFO] [stderr] | -- lifetime `'a` declared here [INFO] [stderr] 106 | where [INFO] [stderr] 107 | D: Fn(&'a TreeItem) -> &str, [INFO] [stderr] | ^ this elided lifetime gets resolved as `'a` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(elided_named_lifetimes)]` on by default [INFO] [stderr] [INFO] [stderr] error: aborting due to 14 previous errors; 1 warning emitted [INFO] [stderr] [INFO] [stderr] For more information about this error, try `rustc --explain E0658`. [INFO] [stderr] Original diagnostics will follow. [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/scopeck.rs:1194:28 [INFO] [stdout] | [INFO] [stdout] 1194 | Some(&(gen, _segid, _frix)) => gen <= self.generation, [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #49716 [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/scopeck.rs:1194:52 [INFO] [stdout] | [INFO] [stdout] 1194 | Some(&(gen, _segid, _frix)) => gen <= self.generation, [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #49716 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: elided lifetime has a name [INFO] [stdout] --> src/tree.rs:107:32 [INFO] [stdout] | [INFO] [stdout] 105 | pub(crate) fn dump<'a, D>(&'a self, display: D) [INFO] [stdout] | -- lifetime `'a` declared here [INFO] [stdout] 106 | where [INFO] [stdout] 107 | D: Fn(&'a TreeItem) -> &str, [INFO] [stdout] | ^ this elided lifetime gets resolved as `'a` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(elided_named_lifetimes)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/diag.rs:57:36 [INFO] [stdout] | [INFO] [stdout] 57 | macro_rules! diag { ($type:expr, $header:expr, $decoration:expr) => { &[ [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] = note: `--force-warn edition-2024-expr-fragment-specifier` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 57 | macro_rules! diag { ($type:expr_2021, $header:expr, $decoration:expr) => { &[ [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/diag.rs:57:50 [INFO] [stdout] | [INFO] [stdout] 57 | macro_rules! diag { ($type:expr, $header:expr, $decoration:expr) => { &[ [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 57 | macro_rules! diag { ($type:expr, $header:expr_2021, $decoration:expr) => { &[ [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/diag.rs:57:68 [INFO] [stdout] | [INFO] [stdout] 57 | macro_rules! diag { ($type:expr, $header:expr, $decoration:expr) => { &[ [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 57 | macro_rules! diag { ($type:expr, $header:expr, $decoration:expr_2021) => { &[ [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/verify.rs:45:13 [INFO] [stdout] | [INFO] [stdout] 45 | ( $cond:expr , $($arg:tt)+ ) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 45 | ( $cond:expr_2021 , $($arg:tt)+ ) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/grammar_tests.rs:14:11 [INFO] [stdout] | [INFO] [stdout] 14 | ($id: expr, $index:expr) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 14 | ($id: expr_2021, $index:expr) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/grammar_tests.rs:14:24 [INFO] [stdout] | [INFO] [stdout] 14 | ($id: expr, $index:expr) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 14 | ($id: expr, $index:expr_2021) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/grammar_tests.rs:320:25 [INFO] [stdout] | [INFO] [stdout] 320 | ($name:ident, $text:expr, $id: expr, $index:expr, $diag:expr) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 320 | ($name:ident, $text:expr_2021, $id: expr, $index:expr, $diag:expr) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/grammar_tests.rs:320:36 [INFO] [stdout] | [INFO] [stdout] 320 | ($name:ident, $text:expr, $id: expr, $index:expr, $diag:expr) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 320 | ($name:ident, $text:expr, $id: expr_2021, $index:expr, $diag:expr) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/grammar_tests.rs:320:49 [INFO] [stdout] | [INFO] [stdout] 320 | ($name:ident, $text:expr, $id: expr, $index:expr, $diag:expr) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 320 | ($name:ident, $text:expr, $id: expr, $index:expr_2021, $diag:expr) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/grammar_tests.rs:320:61 [INFO] [stdout] | [INFO] [stdout] 320 | ($name:ident, $text:expr, $id: expr, $index:expr, $diag:expr) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 320 | ($name:ident, $text:expr, $id: expr, $index:expr, $diag:expr_2021) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/parser_tests.rs:93:25 [INFO] [stdout] | [INFO] [stdout] 93 | parse [$($e:expr),* $(,)?]; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 93 | parse [$($e:expr_2021),* $(,)?]; [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/parser_tests.rs:94:30 [INFO] [stdout] | [INFO] [stdout] 94 | errors [$($parse:expr),* $(,)?]; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 94 | errors [$($parse:expr_2021),* $(,)?]; [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/parser_tests.rs:132:25 [INFO] [stdout] | [INFO] [stdout] 132 | ($name:ident, $text:expr, $diags:expr) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 132 | ($name:ident, $text:expr_2021, $diags:expr) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/parser_tests.rs:132:38 [INFO] [stdout] | [INFO] [stdout] 132 | ($name:ident, $text:expr, $diags:expr) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 132 | ($name:ident, $text:expr, $diags:expr_2021) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::write` is unsafe and requires unsafe block [INFO] [stdout] --> src/util.rs:25:14 [INFO] [stdout] | [INFO] [stdout] 25 | 1 => ptr::write(dst, ptr::read(src)), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/util.rs:23:1 [INFO] [stdout] | [INFO] [stdout] 23 | unsafe fn short_copy(src: *const T, dst: *mut T, count: usize) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: `--force-warn unsafe-op-in-unsafe-fn` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::read` is unsafe and requires unsafe block [INFO] [stdout] --> src/util.rs:25:30 [INFO] [stdout] | [INFO] [stdout] 25 | 1 => ptr::write(dst, ptr::read(src)), [INFO] [stdout] | ^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::write` is unsafe and requires unsafe block [INFO] [stdout] --> src/util.rs:26:14 [INFO] [stdout] | [INFO] [stdout] 26 | 2 => ptr::write(dst.cast::<[T; 2]>(), ptr::read(src.cast())), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::read` is unsafe and requires unsafe block [INFO] [stdout] --> src/util.rs:26:47 [INFO] [stdout] | [INFO] [stdout] 26 | 2 => ptr::write(dst.cast::<[T; 2]>(), ptr::read(src.cast())), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::intrinsics::copy_nonoverlapping` is unsafe and requires unsafe block [INFO] [stdout] --> src/util.rs:27:14 [INFO] [stdout] | [INFO] [stdout] 27 | _ => ptr::copy_nonoverlapping(src, dst, count), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/bit_set.rs:141:12 [INFO] [stdout] | [INFO] [stdout] 141 | if let Some(ref rtail) = rhs.tail { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^-------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/bit_set.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] 141 ~ match rhs.tail { Some(ref rtail) => { [INFO] [stdout] 142 | let stail = self.tail_mut(); [INFO] [stdout] ... [INFO] [stdout] 148 | } [INFO] [stdout] 149 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/segment_set.rs:286:24 [INFO] [stdout] | [INFO] [stdout] 286 | if let Some(chap) = find_chapter_header(&buf[sstart..]) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^---^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/segment_set.rs:289:21 [INFO] [stdout] | [INFO] [stdout] 289 | } 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] 286 ~ match find_chapter_header(&buf[sstart..]) { Some(chap) => { [INFO] [stdout] 287 | parts.push(sstart..sstart + chap); [INFO] [stdout] 288 | sstart += chap; [INFO] [stdout] 289 ~ } _ => { [INFO] [stdout] 290 | parts.push(sstart..buf.len()); [INFO] [stdout] 291 | break; [INFO] [stdout] 292 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/segment_set.rs:315:20 [INFO] [stdout] | [INFO] [stdout] 315 | if let Some(eseg) = state.old_by_content.get(&cachekey) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^--------------------^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/segment_set.rs:320:17 [INFO] [stdout] | [INFO] [stdout] 320 | } 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] 315 ~ match state.old_by_content.get(&cachekey) { Some(eseg) => { [INFO] [stdout] 316 | // hit, don't queue a job. keep the name so that it [INFO] [stdout] ... [INFO] [stdout] 319 | promises.push(Promise::new(sres)); [INFO] [stdout] 320 ~ } _ => { [INFO] [stdout] 321 | let trace = state.options.trace_recalc; [INFO] [stdout] ... [INFO] [stdout] 328 | })); [INFO] [stdout] 329 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/segment_set.rs:345:16 [INFO] [stdout] | [INFO] [stdout] 345 | if let Some(old_fsr) = state.old_by_time.get(&(path.clone(), time)) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^-----------------^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/segment_set.rs:347:13 [INFO] [stdout] | [INFO] [stdout] 347 | } 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] 345 ~ match state.old_by_time.get(&(path.clone(), time)) { Some(old_fsr) => { [INFO] [stdout] 346 | Ok(Promise::new(old_fsr.clone())) [INFO] [stdout] 347 ~ } _ => { [INFO] [stdout] 348 | // miss, but we have the file size, so try to read in one [INFO] [stdout] ... [INFO] [stdout] 355 | Ok(split_and_parse(state, path, Some(time), buf)) [INFO] [stdout] 356 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/axiom_use.rs:83:32 [INFO] [stdout] | [INFO] [stdout] 83 | ... if let Err(diags) = self.parse_command(sref, 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/axiom_use.rs:87:29 [INFO] [stdout] | [INFO] [stdout] 87 | ... } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 83 ~ match self.parse_command(sref, args) { Err(diags) => { [INFO] [stdout] 84 | for diag in diags { [INFO] [stdout] 85 | self.result.0.push((stmt.address(), diag)); [INFO] [stdout] 86 | } [INFO] [stdout] 87 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/axiom_use.rs:160:28 [INFO] [stdout] | [INFO] [stdout] 160 | if let Some(usage2) = stmt_use_map.get(tk) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^------------^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/axiom_use.rs:162:25 [INFO] [stdout] | [INFO] [stdout] 162 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 160 ~ match stmt_use_map.get(tk) { Some(usage2) => { [INFO] [stdout] 161 | usage |= usage2 [INFO] [stdout] 162 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/comment_parser.rs:564:23 [INFO] [stdout] | [INFO] [stdout] 564 | let item = if let Some(m) = groups.get(1) { [INFO] [stdout] | ^^^^^^^^^^^^^^------^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/comment_parser.rs:573:9 [INFO] [stdout] | [INFO] [stdout] 573 | } 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] 564 ~ let item = match groups.get(1) { Some(m) => { [INFO] [stdout] 565 | let author = self.to_span(groups.get(2).unwrap()); [INFO] [stdout] ... [INFO] [stdout] 572 | } [INFO] [stdout] 573 ~ } _ => { [INFO] [stdout] 574 | match all.as_bytes()[1] { [INFO] [stdout] ... [INFO] [stdout] 578 | } [INFO] [stdout] 579 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/formula.rs:285:16 [INFO] [stdout] | [INFO] [stdout] 285 | if let Some(formula) = substitutions.0.get(&other.tree[other_node_id]) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^---------------^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/formula.rs:292:13 [INFO] [stdout] | [INFO] [stdout] 292 | } 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] 285 ~ match substitutions.0.get(&other.tree[other_node_id]) { Some(formula) => { [INFO] [stdout] 286 | // there already is as substitution for that variable, check equality [INFO] [stdout] ... [INFO] [stdout] 291 | } [INFO] [stdout] 292 ~ } _ => { [INFO] [stdout] 293 | // store the new substitution and succeed [INFO] [stdout] ... [INFO] [stdout] 297 | Ok(()) [INFO] [stdout] 298 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/formula.rs:338:16 [INFO] [stdout] | [INFO] [stdout] 338 | if let Some(formula) = substitutions.0.get(&self.tree[node_id]) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^---------------^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/formula.rs:342:13 [INFO] [stdout] | [INFO] [stdout] 342 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 338 ~ match substitutions.0.get(&self.tree[node_id]) { Some(formula) => { [INFO] [stdout] 339 | // We encounter a variable, perform substitution. [INFO] [stdout] 340 | formula.copy_sub_formula(formula.root, formula_builder); [INFO] [stdout] 341 | return; [INFO] [stdout] 342 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/grammar.rs:1123:28 [INFO] [stdout] | [INFO] [stdout] 1123 | if let Err(diag) = [INFO] [stdout] | ____________________________^ [INFO] [stdout] 1124 | | self.handle_common_prefixes(prefix, &shadows[1..], buf, db, names) [INFO] [stdout] | |_____________________________-----------------------------------------------------------------^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/grammar.rs:1127:25 [INFO] [stdout] | [INFO] [stdout] 1127 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1123 ~ match self.handle_common_prefixes(prefix, &shadows[1..], buf, db, names) [INFO] [stdout] 1124 ~ { Err(diag) => { [INFO] [stdout] 1125 | return Err((address, diag)); [INFO] [stdout] 1126 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/grammar.rs:1211:28 [INFO] [stdout] | [INFO] [stdout] 1211 | if let Some(popped) = stack.pop() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^----------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/grammar.rs:1236:25 [INFO] [stdout] | [INFO] [stdout] 1236 | } else if symbol_enum.peek().is_none() { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1211 ~ match stack.pop() { Some(popped) => { [INFO] [stdout] 1212 | e = popped; [INFO] [stdout] ... [INFO] [stdout] 1235 | } [INFO] [stdout] 1236 ~ } _ => if symbol_enum.peek().is_none() { [INFO] [stdout] 1237 | // We popped the last element from the stack and we are at the end of the math string, success [INFO] [stdout] ... [INFO] [stdout] 1250 | e.node_id = next_node_id; [INFO] [stdout] 1251 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/grammar.rs:1283:24 [INFO] [stdout] | [INFO] [stdout] 1283 | if let Some(&Ok(token)) = symbol_enum.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/grammar.rs:1323:21 [INFO] [stdout] | [INFO] [stdout] 1323 | } 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] 1283 ~ match symbol_enum.peek() { Some(&Ok(token)) => { [INFO] [stdout] 1284 | last_token = token; [INFO] [stdout] ... [INFO] [stdout] 1322 | } [INFO] [stdout] 1323 ~ } _ => { [INFO] [stdout] 1324 | if let Some(token) = symbol_enum.next() { [INFO] [stdout] ... [INFO] [stdout] 1327 | return Err(Grammar::too_short(last_token, map, nset)); [INFO] [stdout] 1328 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/grammar.rs:1650:20 [INFO] [stdout] | [INFO] [stdout] 1650 | if let Err(diag) = match sref.statement_type() { [INFO] [stdout] | ____________________^ - [INFO] [stdout] | |____________________________________| [INFO] [stdout] 1651 | || StatementType::Axiom => grammar.add_axiom(&sref, nset, &mut names), [INFO] [stdout] 1652 | || StatementType::Floating => grammar.add_floating(&sref, nset, &mut names), [INFO] [stdout] 1653 | || _ => Ok(()), [INFO] [stdout] 1654 | || } { [INFO] [stdout] | ||_________________^ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | |_________________| [INFO] [stdout] | [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/grammar.rs:1656:17 [INFO] [stdout] | [INFO] [stdout] 1656 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1650 ~ match match sref.statement_type() { [INFO] [stdout] 1651 | StatementType::Axiom => grammar.add_axiom(&sref, nset, &mut names), [INFO] [stdout] 1652 | StatementType::Floating => grammar.add_floating(&sref, nset, &mut names), [INFO] [stdout] 1653 | _ => Ok(()), [INFO] [stdout] 1654 ~ } { Err(diag) => { [INFO] [stdout] 1655 | grammar.diagnostics.insert(sref.address(), diag); [INFO] [stdout] 1656 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/nameck.rs:283:12 [INFO] [stdout] | [INFO] [stdout] 283 | if let Some(seg) = self.segments.remove(&id) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/nameck.rs:315:9 [INFO] [stdout] | [INFO] [stdout] 315 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 283 ~ match self.segments.remove(&id) { Some(seg) => { [INFO] [stdout] 284 | let sref = SegmentRef { segment: &seg, id }; [INFO] [stdout] ... [INFO] [stdout] 314 | } [INFO] [stdout] 315 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/nameck.rs:368:12 [INFO] [stdout] | [INFO] [stdout] 368 | if let Some(syminfo) = self.symbols.get(symbol) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^------------^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/nameck.rs:377:9 [INFO] [stdout] | [INFO] [stdout] 377 | } 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] 368 ~ match self.symbols.get(symbol) { Some(syminfo) => { [INFO] [stdout] 369 | syminfo [INFO] [stdout] ... [INFO] [stdout] 376 | }) [INFO] [stdout] 377 ~ } _ => { [INFO] [stdout] 378 | None [INFO] [stdout] 379 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/nameck.rs:566:12 [INFO] [stdout] | [INFO] [stdout] 566 | if let Some(syminfo) = self.nameset.symbols.get(symbol) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^--------------------^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/nameck.rs:579:9 [INFO] [stdout] | [INFO] [stdout] 579 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 566 ~ match self.nameset.symbols.get(symbol) { Some(syminfo) => { [INFO] [stdout] 567 | if self.incremental { [INFO] [stdout] ... [INFO] [stdout] 578 | }) [INFO] [stdout] 579 ~ } _ => { [INFO] [stdout] 580 | if self.incremental { [INFO] [stdout] ... [INFO] [stdout] 583 | None [INFO] [stdout] 584 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/parser.rs:1087:20 [INFO] [stdout] | [INFO] [stdout] 1087 | if let Err(diag) = parse_one(&mut data, &seg.buffer, address, span, command) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^--------------------------------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/parser.rs:1089:17 [INFO] [stdout] | [INFO] [stdout] 1089 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1087 ~ match parse_one(&mut data, &seg.buffer, address, span, command) { Err(diag) => { [INFO] [stdout] 1088 | data.diagnostics.push((address, diag)) [INFO] [stdout] 1089 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/scopeck.rs:661:12 [INFO] [stdout] | [INFO] [stdout] 661 | if let Some(cdef) = state.gnames.lookup_symbol(&tref) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^------------^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/scopeck.rs:669:9 [INFO] [stdout] | [INFO] [stdout] 669 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 661 ~ match state.gnames.lookup_symbol(&tref) { Some(cdef) => { [INFO] [stdout] 662 | if cdef.address != tref.address { [INFO] [stdout] ... [INFO] [stdout] 668 | } [INFO] [stdout] 669 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/scopeck.rs:836:16 [INFO] [stdout] | [INFO] [stdout] 836 | if let Some(cdef) = state.gnames.lookup_symbol(&tref) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^------------^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/scopeck.rs:844:13 [INFO] [stdout] | [INFO] [stdout] 844 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 836 ~ match state.gnames.lookup_symbol(&tref) { Some(cdef) => { [INFO] [stdout] 837 | if cdef.address != tref.address { [INFO] [stdout] ... [INFO] [stdout] 843 | } [INFO] [stdout] 844 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/scopeck.rs:948:16 [INFO] [stdout] | [INFO] [stdout] 948 | if let Some(ref ssr) = *ssro { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^----- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/scopeck.rs:954:13 [INFO] [stdout] | [INFO] [stdout] 954 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 948 ~ match *ssro { Some(ref ssr) => { [INFO] [stdout] 949 | for (&six, diag) in &ssr.diagnostics { [INFO] [stdout] ... [INFO] [stdout] 953 | } [INFO] [stdout] 954 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/verify.rs:218:12 [INFO] [stdout] | [INFO] [stdout] 218 | if let Essential(addr, _) = *hyp { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^---- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/verify.rs:228:9 [INFO] [stdout] | [INFO] [stdout] 228 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 218 ~ match *hyp { Essential(addr, _) => { [INFO] [stdout] 219 | assert!(addr.segment_id == state.this_seg.id); [INFO] [stdout] ... [INFO] [stdout] 227 | } [INFO] [stdout] 228 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/verify.rs:260:20 [INFO] [stdout] | [INFO] [stdout] 260 | let frame = if let Some(fp) = state.scoper.get(label) { [INFO] [stdout] | ^^^^^^^^^^^^^^^------------^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/verify.rs:262:5 [INFO] [stdout] | [INFO] [stdout] 262 | } 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] 260 ~ let frame = match state.scoper.get(label) { Some(fp) => { [INFO] [stdout] 261 | fp [INFO] [stdout] 262 ~ } _ => { [INFO] [stdout] 263 | let Some(label_span) = label_span else { [INFO] [stdout] ... [INFO] [stdout] 303 | } [INFO] [stdout] 304 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/verify.rs:296:12 [INFO] [stdout] | [INFO] [stdout] 296 | if let Some(fp) = state.scoper.get(label) { [INFO] [stdout] | ^^^^^^^^^^^^^^^------------^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/verify.rs:298:9 [INFO] [stdout] | [INFO] [stdout] 298 | } 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] 296 ~ match state.scoper.get(label) { Some(fp) => { [INFO] [stdout] 297 | fp [INFO] [stdout] 298 ~ } _ => { [INFO] [stdout] 299 | if !prepare_named_hyp(state, label) { [INFO] [stdout] ... [INFO] [stdout] 302 | return Ok(out); [INFO] [stdout] 303 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/verify.rs:831:16 [INFO] [stdout] | [INFO] [stdout] 831 | if let Some(frame) = state.scoper.get(stmt.label()) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^------------^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/verify.rs:836:13 [INFO] [stdout] | [INFO] [stdout] 836 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 831 ~ match state.scoper.get(stmt.label()) { Some(frame) => { [INFO] [stdout] 832 | state.cur_frame = frame; [INFO] [stdout] ... [INFO] [stdout] 835 | } [INFO] [stdout] 836 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/verify.rs:833:20 [INFO] [stdout] | [INFO] [stdout] 833 | if let Err(diag) = verify_proof(&mut state, stmt) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^------------------------------ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/verify.rs:835:17 [INFO] [stdout] | [INFO] [stdout] 835 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 833 ~ match verify_proof(&mut state, stmt) { Err(diag) => { [INFO] [stdout] 834 | diagnostics.insert(stmt.address(), diag); [INFO] [stdout] 835 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/verify_markup.rs:555:16 [INFO] [stdout] | [INFO] [stdout] 555 | if let Some(sp2) = bib.insert(captures.get(1).unwrap().as_bytes().into(), sp) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^---^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/verify_markup.rs:557:13 [INFO] [stdout] | [INFO] [stdout] 557 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 555 ~ match bib.insert(captures.get(1).unwrap().as_bytes().into(), sp) { Some(sp2) => { [INFO] [stdout] 556 | diags.push((source, BibError::DuplicateBib(sp2, sp))) [INFO] [stdout] 557 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 55 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0133`. [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 8.61s [INFO] [stderr] Running `cargo check` to verify 2024 [INFO] [stderr] Checking metamath-rs v0.3.8 (/tmp/fixit) [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/nameck.rs:285:17 [INFO] [stdout] | [INFO] [stdout] 285 | let gen = self.generation; [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 285 | let r#gen = self.generation; [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/nameck.rs:285:17 [INFO] [stdout] | [INFO] [stdout] 285 | let gen = self.generation; [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 285 | let r#gen = self.generation; [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected expression, found reserved keyword `gen` [INFO] [stdout] --> src/nameck.rs:289:39 [INFO] [stdout] | [INFO] [stdout] 289 | slot.generation = gen; [INFO] [stdout] | ^^^ expected expression [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected expression, found reserved keyword `gen` [INFO] [stdout] --> src/nameck.rs:289:39 [INFO] [stdout] | [INFO] [stdout] 289 | slot.generation = gen; [INFO] [stdout] | ^^^ expected expression [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected expression, found reserved keyword `gen` [INFO] [stdout] --> src/nameck.rs:298:39 [INFO] [stdout] | [INFO] [stdout] 298 | slot.generation = gen; [INFO] [stdout] | ^^^ expected expression [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected expression, found reserved keyword `gen` [INFO] [stdout] --> src/nameck.rs:298:39 [INFO] [stdout] | [INFO] [stdout] 298 | slot.generation = gen; [INFO] [stdout] | ^^^ expected expression [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected expression, found reserved keyword `gen` [INFO] [stdout] --> src/nameck.rs:306:39 [INFO] [stdout] | [INFO] [stdout] 306 | slot.generation = gen; [INFO] [stdout] | ^^^ expected expression [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected expression, found reserved keyword `gen` [INFO] [stdout] --> src/nameck.rs:306:39 [INFO] [stdout] | [INFO] [stdout] 306 | slot.generation = gen; [INFO] [stdout] | ^^^ expected expression [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected expression, found reserved keyword `gen` [INFO] [stdout] --> src/nameck.rs:312:31 [INFO] [stdout] | [INFO] [stdout] 312 | self.dv_gen = gen; [INFO] [stdout] | ^^^ expected expression [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected expression, found reserved keyword `gen` [INFO] [stdout] --> src/nameck.rs:312:31 [INFO] [stdout] | [INFO] [stdout] 312 | self.dv_gen = gen; [INFO] [stdout] | ^^^ expected expression [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/scopeck.rs:975:9 [INFO] [stdout] | [INFO] [stdout] 975 | let gen = result.generation; [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 975 | let r#gen = result.generation; [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected expression, found reserved keyword `gen` [INFO] [stdout] --> src/scopeck.rs:1049:57 [INFO] [stdout] | [INFO] [stdout] 1049 | let old = result.frame_index.insert(label, (gen, seg_index, index)); [INFO] [stdout] | ^^^ expected expression [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/scopeck.rs:1194:28 [INFO] [stdout] | [INFO] [stdout] 1194 | Some(&(gen, _segid, _frix)) => gen <= self.generation, [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 1194 | Some(&(r#gen, _segid, _frix)) => gen <= self.generation, [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected expression, found reserved keyword `gen` [INFO] [stdout] --> src/scopeck.rs:1194:52 [INFO] [stdout] | [INFO] [stdout] 1194 | Some(&(gen, _segid, _frix)) => gen <= self.generation, [INFO] [stdout] | -- ^^^ expected expression [INFO] [stdout] | | [INFO] [stdout] | while parsing the `match` arm starting here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/scopeck.rs:975:9 [INFO] [stdout] | [INFO] [stdout] 975 | let gen = result.generation; [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 975 | let r#gen = result.generation; [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected expression, found reserved keyword `gen` [INFO] [stdout] --> src/scopeck.rs:1049:57 [INFO] [stdout] | [INFO] [stdout] 1049 | let old = result.frame_index.insert(label, (gen, seg_index, index)); [INFO] [stdout] | ^^^ expected expression [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/scopeck.rs:1194:28 [INFO] [stdout] | [INFO] [stdout] 1194 | Some(&(gen, _segid, _frix)) => gen <= self.generation, [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 1194 | Some(&(r#gen, _segid, _frix)) => gen <= self.generation, [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected expression, found reserved keyword `gen` [INFO] [stdout] --> src/scopeck.rs:1194:52 [INFO] [stdout] | [INFO] [stdout] 1194 | Some(&(gen, _segid, _frix)) => gen <= self.generation, [INFO] [stdout] | -- ^^^ expected expression [INFO] [stdout] | | [INFO] [stdout] | while parsing the `match` arm starting here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: elided lifetime has a name [INFO] [stdout] --> src/tree.rs:107:32 [INFO] [stdout] | [INFO] [stdout] 105 | pub(crate) fn dump<'a, D>(&'a self, display: D) [INFO] [stdout] | -- lifetime `'a` declared here [INFO] [stdout] 106 | where [INFO] [stdout] 107 | D: Fn(&'a TreeItem) -> &str, [INFO] [stdout] | ^ this elided lifetime gets resolved as `'a` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(elided_named_lifetimes)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: elided lifetime has a name [INFO] [stdout] --> src/tree.rs:107:32 [INFO] [stdout] | [INFO] [stdout] 105 | pub(crate) fn dump<'a, D>(&'a self, display: D) [INFO] [stdout] | -- lifetime `'a` declared here [INFO] [stdout] 106 | where [INFO] [stdout] 107 | D: Fn(&'a TreeItem) -> &str, [INFO] [stdout] | ^ this elided lifetime gets resolved as `'a` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(elided_named_lifetimes)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::write` is unsafe and requires unsafe block [INFO] [stdout] --> src/util.rs:25:14 [INFO] [stdout] | [INFO] [stdout] 25 | 1 => ptr::write(dst, ptr::read(src)), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/util.rs:23:1 [INFO] [stdout] | [INFO] [stdout] 23 | unsafe fn short_copy(src: *const T, dst: *mut T, count: usize) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: `#[warn(unsafe_op_in_unsafe_fn)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::read` is unsafe and requires unsafe block [INFO] [stdout] --> src/util.rs:25:30 [INFO] [stdout] | [INFO] [stdout] 25 | 1 => ptr::write(dst, ptr::read(src)), [INFO] [stdout] | ^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::write` is unsafe and requires unsafe block [INFO] [stdout] --> src/util.rs:26:14 [INFO] [stdout] | [INFO] [stdout] 26 | 2 => ptr::write(dst.cast::<[T; 2]>(), ptr::read(src.cast())), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::read` is unsafe and requires unsafe block [INFO] [stdout] --> src/util.rs:26:47 [INFO] [stdout] | [INFO] [stdout] 26 | 2 => ptr::write(dst.cast::<[T; 2]>(), ptr::read(src.cast())), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::intrinsics::copy_nonoverlapping` is unsafe and requires unsafe block [INFO] [stdout] --> src/util.rs:27:14 [INFO] [stdout] | [INFO] [stdout] 27 | _ => ptr::copy_nonoverlapping(src, dst, count), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::write` is unsafe and requires unsafe block [INFO] [stdout] --> src/util.rs:25:14 [INFO] [stdout] | [INFO] [stdout] 25 | 1 => ptr::write(dst, ptr::read(src)), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/util.rs:23:1 [INFO] [stdout] | [INFO] [stdout] 23 | unsafe fn short_copy(src: *const T, dst: *mut T, count: usize) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: `#[warn(unsafe_op_in_unsafe_fn)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::read` is unsafe and requires unsafe block [INFO] [stdout] --> src/util.rs:25:30 [INFO] [stdout] | [INFO] [stdout] 25 | 1 => ptr::write(dst, ptr::read(src)), [INFO] [stdout] | ^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::write` is unsafe and requires unsafe block [INFO] [stdout] --> src/util.rs:26:14 [INFO] [stdout] | [INFO] [stdout] 26 | 2 => ptr::write(dst.cast::<[T; 2]>(), ptr::read(src.cast())), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::read` is unsafe and requires unsafe block [INFO] [stdout] --> src/util.rs:26:47 [INFO] [stdout] | [INFO] [stdout] 26 | 2 => ptr::write(dst.cast::<[T; 2]>(), ptr::read(src.cast())), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::intrinsics::copy_nonoverlapping` is unsafe and requires unsafe block [INFO] [stdout] --> src/util.rs:27:14 [INFO] [stdout] | [INFO] [stdout] 27 | _ => ptr::copy_nonoverlapping(src, dst, count), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [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 9 previous errors; 6 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0133`. [INFO] [stdout] [INFO] [stderr] error: could not compile `metamath-rs` (lib) due to 10 previous errors; 6 warnings emitted [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stdout] error: aborting due to 9 previous errors; 6 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0133`. [INFO] [stdout] [INFO] [stderr] error: could not compile `metamath-rs` (lib test) due to 10 previous errors; 6 warnings emitted [INFO] [stderr] error: failed to check after updating to 2024 [INFO] [stderr] [INFO] [stderr] Caused by: [INFO] [stderr] process didn't exit successfully: `cargo check --frozen --all --all-targets --message-format=json` (exit status: 101) [INFO] running `Command { std: "docker" "inspect" "fef8bbc3b0ad3c974a04a03a912d3c9409cc0730ab4b27d14c019dd04725068b", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "fef8bbc3b0ad3c974a04a03a912d3c9409cc0730ab4b27d14c019dd04725068b", kill_on_drop: false }` [INFO] [stdout] fef8bbc3b0ad3c974a04a03a912d3c9409cc0730ab4b27d14c019dd04725068b