[INFO] fetching crate itsy 0.4.0... [INFO] checking itsy-0.4.0 against try#ccf408f4326a858c00dd845a64a86b16f360a801 for pr-129466-2 [INFO] extracting crate itsy 0.4.0 into /workspace/builds/worker-1-tc2/source [INFO] validating manifest of crates.io crate itsy 0.4.0 on toolchain ccf408f4326a858c00dd845a64a86b16f360a801 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+ccf408f4326a858c00dd845a64a86b16f360a801" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking crates.io crate itsy 0.4.0 [INFO] finished tweaking crates.io crate itsy 0.4.0 [INFO] tweaked toml for crates.io crate itsy 0.4.0 written to /workspace/builds/worker-1-tc2/source/Cargo.toml [INFO] crate crates.io crate itsy 0.4.0 already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+ccf408f4326a858c00dd845a64a86b16f360a801" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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] cf340089d756d874f1344329ce60f9d06beb40a4da479f717e2c5f8fb613961e [INFO] running `Command { std: "docker" "start" "-a" "cf340089d756d874f1344329ce60f9d06beb40a4da479f717e2c5f8fb613961e", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "cf340089d756d874f1344329ce60f9d06beb40a4da479f717e2c5f8fb613961e", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "cf340089d756d874f1344329ce60f9d06beb40a4da479f717e2c5f8fb613961e", kill_on_drop: false }` [INFO] [stdout] cf340089d756d874f1344329ce60f9d06beb40a4da479f717e2c5f8fb613961e [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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] a563a7f1a2a3c41f9d4db37bf7f900a81b1601b49478c9b54a6a8e2c568073cb [INFO] running `Command { std: "docker" "start" "-a" "a563a7f1a2a3c41f9d4db37bf7f900a81b1601b49478c9b54a6a8e2c568073cb", 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 (1 fix) [INFO] [stderr] Compiling memchr v2.5.0 [INFO] [stderr] Checking minimal-lexical v0.2.1 [INFO] [stderr] Checking nom v7.1.1 [INFO] [stderr] Checking itsy v0.4.0 (/tmp/fixit) [INFO] [stderr] Migrating src/lib.rs from 2021 edition to 2024 [INFO] [stderr] warning: failed to automatically apply fixes suggested by rustc to crate `itsy` [INFO] [stderr] [INFO] [stderr] after fixes were automatically applied the compiler reported errors within these files: [INFO] [stderr] [INFO] [stderr] * src/bytecode/compiler/macros.rs [INFO] [stderr] * src/bytecode/compiler/util.rs [INFO] [stderr] * src/bytecode/impl_opcodes.rs [INFO] [stderr] * src/bytecode/runtime/heap.rs [INFO] [stderr] * src/bytecode/runtime/stack.rs [INFO] [stderr] * src/frontend/parser/nomutil.rs [INFO] [stderr] * src/frontend/parser/parser.rs [INFO] [stderr] * src/frontend/parser/types.rs [INFO] [stderr] * src/shared/typed_ids.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/frontend/parser/nomutil.rs:163:6 [INFO] [stderr] | [INFO] [stderr] 163 | ($x: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/bytecode/impl_opcodes.rs:4:35 [INFO] [stderr] | [INFO] [stderr] 4 | (do_read $ty:tt, $from:ident, $counter: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/bytecode/impl_opcodes.rs:11:28 [INFO] [stderr] | [INFO] [stderr] 11 | (read u8, $from:ident, $counter:expr_2021) => ( impl_opcodes!(do_read u8, $from, $counter) ); [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/bytecode/impl_opcodes.rs:12:29 [INFO] [stderr] | [INFO] [stderr] 12 | (read u16, $from:ident, $counter:expr_2021) => ( impl_opcodes!(do_read u16, $from, $counter) ); [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/bytecode/impl_opcodes.rs:13:29 [INFO] [stderr] | [INFO] [stderr] 13 | (read u32, $from:ident, $counter:expr_2021) => ( impl_opcodes!(do_read u32, $from, $counter) ); [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/bytecode/impl_opcodes.rs:14:29 [INFO] [stderr] | [INFO] [stderr] 14 | (read u64, $from:ident, $counter:expr_2021) => ( impl_opcodes!(do_read u64, $from, $counter) ); [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/bytecode/impl_opcodes.rs:15:29 [INFO] [stderr] | [INFO] [stderr] 15 | (read i8, $from:ident, $counter:expr_2021) => ( impl_opcodes!(do_read i8, $from, $counter) ); [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/bytecode/impl_opcodes.rs:16:29 [INFO] [stderr] | [INFO] [stderr] 16 | (read i16, $from:ident, $counter:expr_2021) => ( impl_opcodes!(do_read i16, $from, $counter) ); [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/bytecode/impl_opcodes.rs:17:29 [INFO] [stderr] | [INFO] [stderr] 17 | (read i32, $from:ident, $counter:expr_2021) => ( impl_opcodes!(do_read i32, $from, $counter) ); [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/bytecode/impl_opcodes.rs:18:29 [INFO] [stderr] | [INFO] [stderr] 18 | (read i64, $from:ident, $counter:expr_2021) => ( impl_opcodes!(do_read i64, $from, $counter) ); [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/bytecode/impl_opcodes.rs:19:29 [INFO] [stderr] | [INFO] [stderr] 19 | (read f32, $from:ident, $counter:expr_2021) => ( impl_opcodes!(do_read f32, $from, $counter) ); [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/bytecode/impl_opcodes.rs:20:29 [INFO] [stderr] | [INFO] [stderr] 20 | (read f64, $from:ident, $counter:expr_2021) => ( impl_opcodes!(do_read f64, $from, $counter) ); [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/bytecode/impl_opcodes.rs:21:32 [INFO] [stderr] | [INFO] [stderr] 21 | (read String, $from:ident, $counter: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/bytecode/impl_opcodes.rs:27:38 [INFO] [stderr] | [INFO] [stderr] 27 | (read StackAddress, $from:ident, $counter:expr_2021) => ( impl_opcodes!(do_read StackAddress, $from, $counter) ); [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/bytecode/impl_opcodes.rs:28:37 [INFO] [stderr] | [INFO] [stderr] 28 | (read StackOffset, $from:ident, $counter:expr_2021) => ( impl_opcodes!(do_read StackOffset, $from, $counter) ); [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/bytecode/impl_opcodes.rs:29:35 [INFO] [stderr] | [INFO] [stderr] 29 | (read ItemIndex, $from:ident, $counter:expr_2021) => ( impl_opcodes!(do_read ItemIndex, $from, $counter) ); [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/bytecode/impl_opcodes.rs:30:32 [INFO] [stderr] | [INFO] [stderr] 30 | (read RustFn, $from:ident, $counter:expr_2021) => ( T::from_index(impl_opcodes!(do_read RustFnIndex, $from, $counter)) ); [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/bytecode/impl_opcodes.rs:31:33 [INFO] [stderr] | [INFO] [stderr] 31 | (read Builtin, $from:ident, $counter:expr_2021) => ( Builtin::from_index(impl_opcodes!(do_read BuiltinIndex, $from, $counter)) ); [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/bytecode/impl_opcodes.rs:32:35 [INFO] [stderr] | [INFO] [stderr] 32 | (read HeapRefOp, $from:ident, $counter:expr_2021) => ( HeapRefOp::from_u8(impl_opcodes!(do_read u8, $from, $counter)) ); [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/bytecode/impl_opcodes.rs:37:20 [INFO] [stderr] | [INFO] [stderr] 37 | (write RustFn, $value:expr_2021, $to:ident) => ( $to.write(&$value.into_index().to_le_bytes()[..]) ); [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/bytecode/impl_opcodes.rs:38:21 [INFO] [stderr] | [INFO] [stderr] 38 | (write Builtin, $value:expr_2021, $to:ident) => ( $to.write(&$value.into_index().to_le_bytes()[..]) ); [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/bytecode/impl_opcodes.rs:39:23 [INFO] [stderr] | [INFO] [stderr] 39 | (write HeapRefOp, $value:expr_2021, $to:ident) => ( $to.write(&[ $value as u8 ]) ); [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/bytecode/impl_opcodes.rs:40:20 [INFO] [stderr] | [INFO] [stderr] 40 | (write String, $value:expr_2021, $to:ident) => ( [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/bytecode/impl_opcodes.rs:44:20 [INFO] [stderr] | [INFO] [stderr] 44 | (write $ty:tt, $value:expr_2021, $to:ident) => ( $to.write(&$value.to_le_bytes()[..]) ); [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/bytecode/compiler/macros.rs:4:39 [INFO] [stderr] | [INFO] [stderr] 4 | ($self:ident, $format:literal $(, $value:expr_2021)*) => { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/bytecode/compiler/macros.rs:12:75 [INFO] [stderr] | [INFO] [stderr] 12 | ($self:ident, $variant_8:ident, $variant_16:ident, $variant_sa:ident, $value:expr_2021 $(, $more: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/bytecode/compiler/macros.rs:12:96 [INFO] [stderr] | [INFO] [stderr] 12 | ($self:ident, $variant_8:ident, $variant_16:ident, $variant_sa:ident, $value:expr_2021 $(, $more: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/bytecode/compiler/macros.rs:26:75 [INFO] [stderr] | [INFO] [stderr] 26 | ($self:ident, $variant_8:ident, $variant_16:ident, $variant_sa:ident, $value:expr_2021 $(, $more: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/bytecode/compiler/macros.rs:26:96 [INFO] [stderr] | [INFO] [stderr] 26 | ($self:ident, $variant_8:ident, $variant_16:ident, $variant_sa:ident, $value:expr_2021 $(, $more: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/bytecode/runtime/stack.rs:191:46 [INFO] [stderr] | [INFO] [stderr] 191 | (@store single, $type:tt, $stack: ident, $pos:expr_2021, $var: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/bytecode/runtime/stack.rs:195:45 [INFO] [stderr] | [INFO] [stderr] 195 | (@store multi, $type:tt, $stack: ident, $pos:expr_2021, $var: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/bytecode/runtime/stack.rs:202:45 [INFO] [stderr] | [INFO] [stderr] 202 | (@load single, $type:tt, $stack: ident, $pos: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/bytecode/runtime/stack.rs:205:44 [INFO] [stderr] | [INFO] [stderr] 205 | (@load multi, $type:tt, $stack: ident, $pos: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/bytecode/runtime/heap.rs:8:19 [INFO] [stderr] | [INFO] [stderr] 8 | ($self:ident, $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/shared/typed_ids.rs:6:19 [INFO] [stderr] | [INFO] [stderr] 6 | ($name:ident, $string: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/frontend/parser/types.rs:17:62 [INFO] [stderr] | [INFO] [stderr] 17 | pub fn modules<'a>(self: &'a Self) -> impl Iterator { [INFO] [stderr] | -- lifetime `'a` declared here ^ this elided lifetime gets resolved as `'a` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(elided_named_lifetimes)]` on by default [INFO] [stderr] [INFO] [stderr] warning: elided lifetime has a name [INFO] [stderr] --> src/frontend/parser/types.rs:26:61 [INFO] [stderr] | [INFO] [stderr] 26 | pub fn using<'a>(self: &'a Self) -> impl Iterator { [INFO] [stderr] | -- lifetime `'a` declared here ^ this elided lifetime gets resolved as `'a` [INFO] [stderr] [INFO] [stderr] warning: elided lifetime has a name [INFO] [stderr] --> src/frontend/parser/types.rs:26:70 [INFO] [stderr] | [INFO] [stderr] 26 | pub fn using<'a>(self: &'a Self) -> impl Iterator { [INFO] [stderr] | -- lifetime `'a` declared here ^ this elided lifetime gets resolved as `'a` [INFO] [stderr] [INFO] [stderr] warning: elided lifetime has a name [INFO] [stderr] --> src/frontend/parser/types.rs:36:59 [INFO] [stderr] | [INFO] [stderr] 36 | pub fn iter<'a>(self: &'a Self) -> impl Iterator { [INFO] [stderr] | -- lifetime `'a` declared here ^ this elided lifetime gets resolved as `'a` [INFO] [stderr] [INFO] [stderr] warning: elided lifetime has a name [INFO] [stderr] --> src/frontend/parser/parser.rs:39:155 [INFO] [stderr] | [INFO] [stderr] 39 | ...te<'a, P: 'a, O: 'a>(s: &'a impl Fn(&mut ParserState), mut parser: P) -> impl FnMut(Input<'a>) -> Output where P: FnMut(Input<'a>) -> Output src/frontend/parser/parser.rs:39:116 [INFO] [stderr] | [INFO] [stderr] 39 | fn with_state<'a, P: 'a, O: 'a>(s: &'a impl Fn(&mut ParserState), mut parser: P) -> impl FnMut(Input<'a>) -> Output where P: FnMut(Inp... [INFO] [stderr] | -- lifetime `'a` declared here ^ this elided lifetime gets resolved as `'a` [INFO] [stderr] [INFO] [stderr] warning: elided lifetime has a name [INFO] [stderr] --> src/bytecode/compiler/util.rs:27:36 [INFO] [stderr] | [INFO] [stderr] 26 | impl<'p> CoverageRangeType<'p> { [INFO] [stderr] | -- lifetime `'p` declared here [INFO] [stderr] 27 | fn kind(self: &'p Self) -> &'p CoverageRangeKind { [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/frontend/parser/nomutil.rs:163:9 [INFO] [stdout] | [INFO] [stdout] 163 | ($x: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] 163 | ($x:expr_2021) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ this elided lifetime gets resolved as `'p` [INFO] [stdout] warning: elided lifetime has a name [INFO] [stdout] --> src/frontend/parser/types.rs:17:62 [INFO] [stdout] | [INFO] [stdout] 17 | pub fn modules<'a>(self: &'a Self) -> impl Iterator { [INFO] [stdout] | -- lifetime `'a` declared here ^ 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] [INFO] [stdout] warning: elided lifetime has a name [INFO] [stdout] --> src/frontend/parser/types.rs:26:61 [INFO] [stdout] | [INFO] [stdout] 26 | pub fn using<'a>(self: &'a Self) -> impl Iterator { [INFO] [stdout] | -- lifetime `'a` declared here ^ this elided lifetime gets resolved as `'a` [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: aborting due to 35 previous errors; 7 warnings emitted [INFO] [stdout] warning: elided lifetime has a name [INFO] [stdout] --> src/frontend/parser/types.rs:26:70 [INFO] [stdout] | [INFO] [stdout] 26 | pub fn using<'a>(self: &'a Self) -> impl Iterator { [INFO] [stdout] | -- lifetime `'a` declared here ^ this elided lifetime gets resolved as `'a` [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] [INFO] [stdout] warning: elided lifetime has a name [INFO] [stdout] --> src/frontend/parser/types.rs:36:59 [INFO] [stdout] | [INFO] [stdout] 36 | pub fn iter<'a>(self: &'a Self) -> impl Iterator { [INFO] [stdout] | -- lifetime `'a` declared here ^ this elided lifetime gets resolved as `'a` [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] For more information about this error, try `rustc --explain E0658`. [INFO] [stdout] warning: elided lifetime has a name [INFO] [stdout] --> src/frontend/parser/parser.rs:39:155 [INFO] [stdout] | [INFO] [stdout] 39 | ...te<'a, P: 'a, O: 'a>(s: &'a impl Fn(&mut ParserState), mut parser: P) -> impl FnMut(Input<'a>) -> Output where P: FnMut(Input<'a>) -> Output src/frontend/parser/parser.rs:39:116 [INFO] [stdout] | [INFO] [stdout] 39 | fn with_state<'a, P: 'a, O: 'a>(s: &'a impl Fn(&mut ParserState), mut parser: P) -> impl FnMut(Input<'a>) -> Output where P: FnMut(Inp... [INFO] [stdout] | -- lifetime `'a` declared here ^ this elided lifetime gets resolved as `'a` [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/bytecode/impl_opcodes.rs:4:44 [INFO] [stdout] | [INFO] [stdout] 4 | (do_read $ty:tt, $from:ident, $counter: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] 4 | (do_read $ty:tt, $from:ident, $counter: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/bytecode/impl_opcodes.rs:11:37 [INFO] [stdout] | [INFO] [stdout] 11 | (read u8, $from:ident, $counter:expr) => ( impl_opcodes!(do_read u8, $from, $counter) ); [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] 11 | (read u8, $from:ident, $counter:expr_2021) => ( impl_opcodes!(do_read u8, $from, $counter) ); [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/bytecode/impl_opcodes.rs:12:38 [INFO] [stdout] | [INFO] [stdout] 12 | (read u16, $from:ident, $counter:expr) => ( impl_opcodes!(do_read u16, $from, $counter) ); [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 12 | (read u16, $from:ident, $counter:expr_2021) => ( impl_opcodes!(do_read u16, $from, $counter) ); [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/bytecode/impl_opcodes.rs:13:38 [INFO] [stdout] | [INFO] [stdout] 13 | (read u32, $from:ident, $counter:expr) => ( impl_opcodes!(do_read u32, $from, $counter) ); [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] 13 | (read u32, $from:ident, $counter:expr_2021) => ( impl_opcodes!(do_read u32, $from, $counter) ); [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/bytecode/impl_opcodes.rs:14:38 [INFO] [stdout] | [INFO] [stdout] 14 | (read u64, $from:ident, $counter:expr) => ( impl_opcodes!(do_read u64, $from, $counter) ); [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 | (read u64, $from:ident, $counter:expr_2021) => ( impl_opcodes!(do_read u64, $from, $counter) ); [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/bytecode/impl_opcodes.rs:15:38 [INFO] [stdout] | [INFO] [stdout] 15 | (read i8, $from:ident, $counter:expr) => ( impl_opcodes!(do_read i8, $from, $counter) ); [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] 15 | (read i8, $from:ident, $counter:expr_2021) => ( impl_opcodes!(do_read i8, $from, $counter) ); [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/bytecode/impl_opcodes.rs:16:38 [INFO] [stdout] | [INFO] [stdout] 16 | (read i16, $from:ident, $counter:expr) => ( impl_opcodes!(do_read i16, $from, $counter) ); [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] 16 | (read i16, $from:ident, $counter:expr_2021) => ( impl_opcodes!(do_read i16, $from, $counter) ); [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/bytecode/impl_opcodes.rs:17:38 [INFO] [stdout] | [INFO] [stdout] 17 | (read i32, $from:ident, $counter:expr) => ( impl_opcodes!(do_read i32, $from, $counter) ); [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 17 | (read i32, $from:ident, $counter:expr_2021) => ( impl_opcodes!(do_read i32, $from, $counter) ); [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/bytecode/impl_opcodes.rs:18:38 [INFO] [stdout] | [INFO] [stdout] 18 | (read i64, $from:ident, $counter:expr) => ( impl_opcodes!(do_read i64, $from, $counter) ); [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 18 | (read i64, $from:ident, $counter:expr_2021) => ( impl_opcodes!(do_read i64, $from, $counter) ); [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/bytecode/impl_opcodes.rs:19:38 [INFO] [stdout] | [INFO] [stdout] 19 | (read f32, $from:ident, $counter:expr) => ( impl_opcodes!(do_read f32, $from, $counter) ); [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 19 | (read f32, $from:ident, $counter:expr_2021) => ( impl_opcodes!(do_read f32, $from, $counter) ); [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/bytecode/impl_opcodes.rs:20:38 [INFO] [stdout] | [INFO] [stdout] 20 | (read f64, $from:ident, $counter:expr) => ( impl_opcodes!(do_read f64, $from, $counter) ); [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] 20 | (read f64, $from:ident, $counter:expr_2021) => ( impl_opcodes!(do_read f64, $from, $counter) ); [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/bytecode/impl_opcodes.rs:21:41 [INFO] [stdout] | [INFO] [stdout] 21 | (read String, $from:ident, $counter: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] 21 | (read String, $from:ident, $counter: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/bytecode/impl_opcodes.rs:27:47 [INFO] [stdout] | [INFO] [stdout] 27 | (read StackAddress, $from:ident, $counter:expr) => ( impl_opcodes!(do_read StackAddress, $from, $counter) ); [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] 27 | (read StackAddress, $from:ident, $counter:expr_2021) => ( impl_opcodes!(do_read StackAddress, $from, $counter) ); [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/bytecode/impl_opcodes.rs:28:46 [INFO] [stdout] | [INFO] [stdout] 28 | (read StackOffset, $from:ident, $counter:expr) => ( impl_opcodes!(do_read StackOffset, $from, $counter) ); [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] 28 | (read StackOffset, $from:ident, $counter:expr_2021) => ( impl_opcodes!(do_read StackOffset, $from, $counter) ); [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/bytecode/impl_opcodes.rs:29:44 [INFO] [stdout] | [INFO] [stdout] 29 | (read ItemIndex, $from:ident, $counter:expr) => ( impl_opcodes!(do_read ItemIndex, $from, $counter) ); [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] 29 | (read ItemIndex, $from:ident, $counter:expr_2021) => ( impl_opcodes!(do_read ItemIndex, $from, $counter) ); [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/bytecode/impl_opcodes.rs:30:41 [INFO] [stdout] | [INFO] [stdout] 30 | (read RustFn, $from:ident, $counter:expr) => ( T::from_index(impl_opcodes!(do_read RustFnIndex, $from, $counter)) ); [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] 30 | (read RustFn, $from:ident, $counter:expr_2021) => ( T::from_index(impl_opcodes!(do_read RustFnIndex, $from, $counter)) ); [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/bytecode/impl_opcodes.rs:31:42 [INFO] [stdout] | [INFO] [stdout] 31 | (read Builtin, $from:ident, $counter:expr) => ( Builtin::from_index(impl_opcodes!(do_read BuiltinIndex, $from, $counter)) ); [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] 31 | (read Builtin, $from:ident, $counter:expr_2021) => ( Builtin::from_index(impl_opcodes!(do_read BuiltinIndex, $from, $counter)) ); [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/bytecode/impl_opcodes.rs:32:44 [INFO] [stdout] | [INFO] [stdout] 32 | (read HeapRefOp, $from:ident, $counter:expr) => ( HeapRefOp::from_u8(impl_opcodes!(do_read u8, $from, $counter)) ); [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] 32 | (read HeapRefOp, $from:ident, $counter:expr_2021) => ( HeapRefOp::from_u8(impl_opcodes!(do_read u8, $from, $counter)) ); [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/bytecode/impl_opcodes.rs:37:27 [INFO] [stdout] | [INFO] [stdout] 37 | (write RustFn, $value:expr, $to:ident) => ( $to.write(&$value.into_index().to_le_bytes()[..]) ); [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] 37 | (write RustFn, $value:expr_2021, $to:ident) => ( $to.write(&$value.into_index().to_le_bytes()[..]) ); [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/bytecode/impl_opcodes.rs:38:28 [INFO] [stdout] | [INFO] [stdout] 38 | (write Builtin, $value:expr, $to:ident) => ( $to.write(&$value.into_index().to_le_bytes()[..]) ); [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 38 | (write Builtin, $value:expr_2021, $to:ident) => ( $to.write(&$value.into_index().to_le_bytes()[..]) ); [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/bytecode/impl_opcodes.rs:39:30 [INFO] [stdout] | [INFO] [stdout] 39 | (write HeapRefOp, $value:expr, $to:ident) => ( $to.write(&[ $value as u8 ]) ); [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] 39 | (write HeapRefOp, $value:expr_2021, $to:ident) => ( $to.write(&[ $value as u8 ]) ); [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/bytecode/impl_opcodes.rs:40:27 [INFO] [stdout] | [INFO] [stdout] 40 | (write String, $value:expr, $to:ident) => ( [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] 40 | (write String, $value:expr_2021, $to:ident) => ( [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/bytecode/impl_opcodes.rs:44:27 [INFO] [stdout] | [INFO] [stdout] 44 | (write $ty:tt, $value:expr, $to:ident) => ( $to.write(&$value.to_le_bytes()[..]) ); [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] 44 | (write $ty:tt, $value:expr_2021, $to:ident) => ( $to.write(&$value.to_le_bytes()[..]) ); [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/bytecode/compiler/macros.rs:4:46 [INFO] [stdout] | [INFO] [stdout] 4 | ($self:ident, $format:literal $(, $value:expr)*) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 4 | ($self:ident, $format:literal $(, $value:expr_2021)*) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/bytecode/compiler/macros.rs:12:82 [INFO] [stdout] | [INFO] [stdout] 12 | ($self:ident, $variant_8:ident, $variant_16:ident, $variant_sa:ident, $value:expr $(, $more:expr)*) => {{ [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 12 | ($self:ident, $variant_8:ident, $variant_16:ident, $variant_sa:ident, $value:expr_2021 $(, $more: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/bytecode/compiler/macros.rs:12:97 [INFO] [stdout] | [INFO] [stdout] 12 | ($self:ident, $variant_8:ident, $variant_16:ident, $variant_sa:ident, $value:expr $(, $more:expr)*) => {{ [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 12 | ($self:ident, $variant_8:ident, $variant_16:ident, $variant_sa:ident, $value:expr $(, $more: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/bytecode/compiler/macros.rs:26:82 [INFO] [stdout] | [INFO] [stdout] 26 | ($self:ident, $variant_8:ident, $variant_16:ident, $variant_sa:ident, $value:expr $(, $more:expr)*) => {{ [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 26 | ($self:ident, $variant_8:ident, $variant_16:ident, $variant_sa:ident, $value:expr_2021 $(, $more: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/bytecode/compiler/macros.rs:26:97 [INFO] [stdout] | [INFO] [stdout] 26 | ($self:ident, $variant_8:ident, $variant_16:ident, $variant_sa:ident, $value:expr $(, $more:expr)*) => {{ [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 26 | ($self:ident, $variant_8:ident, $variant_16:ident, $variant_sa:ident, $value:expr $(, $more:expr_2021)*) => {{ [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: elided lifetime has a name [INFO] [stdout] --> src/bytecode/compiler/util.rs:27:36 [INFO] [stdout] | [INFO] [stdout] 26 | impl<'p> CoverageRangeType<'p> { [INFO] [stdout] | -- lifetime `'p` declared here [INFO] [stdout] 27 | fn kind(self: &'p Self) -> &'p CoverageRangeKind { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ this elided lifetime gets resolved as `'p` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/bytecode/runtime/stack.rs:191:51 [INFO] [stdout] | [INFO] [stdout] 191 | (@store single, $type:tt, $stack: ident, $pos:expr, $var: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] 191 | (@store single, $type:tt, $stack: ident, $pos:expr_2021, $var: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/bytecode/runtime/stack.rs:195:50 [INFO] [stdout] | [INFO] [stdout] 195 | (@store multi, $type:tt, $stack: ident, $pos:expr, $var: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] 195 | (@store multi, $type:tt, $stack: ident, $pos:expr_2021, $var: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/bytecode/runtime/stack.rs:202:50 [INFO] [stdout] | [INFO] [stdout] 202 | (@load single, $type:tt, $stack: ident, $pos: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] 202 | (@load single, $type:tt, $stack: ident, $pos: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/bytecode/runtime/stack.rs:205:49 [INFO] [stdout] | [INFO] [stdout] 205 | (@load multi, $type:tt, $stack: ident, $pos: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] 205 | (@load multi, $type:tt, $stack: ident, $pos: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/bytecode/runtime/heap.rs:8:26 [INFO] [stdout] | [INFO] [stdout] 8 | ($self:ident, $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] 8 | ($self:ident, $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/shared/typed_ids.rs:6:27 [INFO] [stdout] | [INFO] [stdout] 6 | ($name:ident, $string: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] 6 | ($name:ident, $string:expr_2021) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::collections::HashSet as UnorderedSet` [INFO] [stdout] --> src/prelude.rs:4:9 [INFO] [stdout] | [INFO] [stdout] 4 | pub use std::collections::HashSet as UnorderedSet; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `origin` is never read [INFO] [stdout] --> src/bytecode/compiler/stack_frame.rs:17:9 [INFO] [stdout] | [INFO] [stdout] 13 | pub struct Local { [INFO] [stdout] | ----- field in this struct [INFO] [stdout] ... [INFO] [stdout] 17 | pub origin: LocalOrigin, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Local` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/frontend/ast.rs:703:19 [INFO] [stdout] | [INFO] [stdout] 703 | } else if let Some(else_block) = &self.else_block { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^--------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/frontend/ast.rs:705:9 [INFO] [stdout] | [INFO] [stdout] 705 | } else { [INFO] [stdout] | ^ [INFO] [stdout] = note: `--force-warn if-let-rescope` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 703 ~ } else { match &self.else_block { Some(else_block) => { [INFO] [stdout] 704 | self.if_block.returns() && else_block.returns() [INFO] [stdout] 705 ~ } _ => { [INFO] [stdout] 706 | false [INFO] [stdout] 707 ~ }}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/frontend/ast.rs:716:12 [INFO] [stdout] | [INFO] [stdout] 716 | if let Some(result) = &mut self.if_block.result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^-------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/frontend/ast.rs:718:9 [INFO] [stdout] | [INFO] [stdout] 718 | } 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] 716 ~ match &mut self.if_block.result { Some(result) => { [INFO] [stdout] 717 | result.type_id_mut(bindings) [INFO] [stdout] 718 ~ } _ => { [INFO] [stdout] 719 | panic!("attempted to set return type of if statement (not an expression)") [INFO] [stdout] 720 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/frontend/ast.rs:750:12 [INFO] [stdout] | [INFO] [stdout] 750 | if let Some(result) = &mut self.result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^----------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/frontend/ast.rs:752:9 [INFO] [stdout] | [INFO] [stdout] 752 | } 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] 750 ~ match &mut self.result { Some(result) => { [INFO] [stdout] 751 | result.type_id_mut(bindings) [INFO] [stdout] 752 ~ } _ => { [INFO] [stdout] 753 | panic!("attempted to set return type of block statement (not an expression)") [INFO] [stdout] 754 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/frontend/parser/parser.rs:31:12 [INFO] [stdout] | [INFO] [stdout] 31 | if let Some(kind) = checker(before.state()) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^-------^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/frontend/parser/parser.rs:33:9 [INFO] [stdout] | [INFO] [stdout] 33 | } 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] 31 ~ match checker(before.state()) { Some(kind) => { [INFO] [stdout] 32 | Err(nom::Err::Failure(Error { input: before, kind: kind })) [INFO] [stdout] 33 ~ } _ => { [INFO] [stdout] 34 | Ok(inner_result) [INFO] [stdout] 35 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/frontend/parser/parser.rs:931:30 [INFO] [stdout] | [INFO] [stdout] 931 | ret : if let Some(sig_ty) = sig.1.2 { Some(sig_ty) } else { None }, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/frontend/parser/parser.rs:931:72 [INFO] [stdout] | [INFO] [stdout] 931 | ret : if let Some(sig_ty) = sig.1.2 { Some(sig_ty) } else { 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] 931 | ret : match sig.1.2 { Some(sig_ty) => { Some(sig_ty) } _ => { None }}, [INFO] [stdout] | ~~~~~ +++++++++++++++++ ~~~~ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `impl FnMut(I) -> Result<(I, O), nom::Err>` will capture more lifetimes than possibly intended in edition 2024 [INFO] [stdout] --> src/frontend/parser/nomutil.rs:143:73 [INFO] [stdout] | [INFO] [stdout] 143 | pub(super) fn trace<'a, I, F, O, E>(context: &'static str, mut f: F) -> impl FnMut(I) -> IResult [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see [INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds [INFO] [stdout] --> src/frontend/parser/nomutil.rs:143:21 [INFO] [stdout] | [INFO] [stdout] 143 | pub(super) fn trace<'a, I, F, O, E>(context: &'static str, mut f: F) -> impl FnMut(I) -> IResult [INFO] [stdout] | ^^ [INFO] [stdout] = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024 [INFO] [stdout] = note: `--force-warn impl-trait-overcaptures` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit [INFO] [stdout] | [INFO] [stdout] 143 | pub(super) fn trace<'a, I, F, O, E>(context: &'static str, mut f: F) -> impl FnMut(I) -> IResult + use [INFO] [stdout] | +++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/frontend/resolver/resolver.rs:511:28 [INFO] [stdout] | [INFO] [stdout] 511 | if let Some(numeric) = value_literal.value.as_numeric() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^-------------------^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/frontend/resolver/resolver.rs:522:25 [INFO] [stdout] | [INFO] [stdout] 522 | } 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] 511 ~ match value_literal.value.as_numeric() { Some(numeric) => { [INFO] [stdout] 512 | if numeric.is_integer() { [INFO] [stdout] ... [INFO] [stdout] 521 | } [INFO] [stdout] 522 ~ } _ => { [INFO] [stdout] 523 | return Err(ResolveError::new(variant, ResolveErrorKind::InvalidVariantLiteral, self.module_path)) [INFO] [stdout] 524 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/frontend/resolver/resolver.rs:701:16 [INFO] [stdout] | [INFO] [stdout] 701 | if let Some(block) = &mut item.block { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^---------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/frontend/resolver/resolver.rs:703:13 [INFO] [stdout] | [INFO] [stdout] 703 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 701 ~ match &mut item.block { Some(block) => { [INFO] [stdout] 702 | self.resolve_block(block, ret_type)?; [INFO] [stdout] 703 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/frontend/resolver/resolver.rs:717:12 [INFO] [stdout] | [INFO] [stdout] 717 | if let Some(expr) = &mut item.expr { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^--------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/frontend/resolver/resolver.rs:722:9 [INFO] [stdout] | [INFO] [stdout] 722 | } 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] 717 ~ match &mut item.expr { Some(expr) => { [INFO] [stdout] 718 | self.resolved_or_err(expr, None)?; [INFO] [stdout] ... [INFO] [stdout] 721 | self.resolved_or_err(expr, ret_type_id) [INFO] [stdout] 722 ~ } _ => { [INFO] [stdout] 723 | // no return expression, function result type must be void [INFO] [stdout] 724 | self.check_type_accepted_for(item, ret_type_id.unwrap(), TypeId::void()) // TODO check this unwrap [INFO] [stdout] 725 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/frontend/resolver/resolver.rs:853:12 [INFO] [stdout] | [INFO] [stdout] 853 | if let Some(else_block) = &mut item.else_block { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^--------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] ... [INFO] [stdout] 858 | } else if let Some(if_type_id) = item.if_block.type_id(self) { [INFO] [stdout] | ------------- this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/frontend/resolver/resolver.rs:858:9 [INFO] [stdout] | [INFO] [stdout] 858 | } else if let Some(if_type_id) = item.if_block.type_id(self) { [INFO] [stdout] | ^ [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/frontend/resolver/resolver.rs:861:9 [INFO] [stdout] | [INFO] [stdout] 861 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 853 ~ match &mut item.else_block { Some(else_block) => { [INFO] [stdout] 854 | self.resolve_block(else_block, expected_result)?; [INFO] [stdout] ... [INFO] [stdout] 857 | } [INFO] [stdout] 858 ~ } _ => { match item.if_block.type_id(self) { Some(if_type_id) => { [INFO] [stdout] 859 | // if block with a non-void result but no else block [INFO] [stdout] 860 | self.check_type_accepted_for(item, if_type_id, TypeId::void())?; // Todo: meh, using this to generate an error when we already know there is an error. [INFO] [stdout] 861 ~ } _ => {}}}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/frontend/resolver/resolver.rs:855:16 [INFO] [stdout] | [INFO] [stdout] 855 | if let (Some(if_type_id), Some(else_type_id)) = (item.if_block.type_id(self), else_block.type_id(self)) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-------------^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/frontend/resolver/resolver.rs:857:13 [INFO] [stdout] | [INFO] [stdout] 857 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 855 ~ match (item.if_block.type_id(self), else_block.type_id(self)) { (Some(if_type_id), Some(else_type_id)) => { [INFO] [stdout] 856 | self.check_type_accepted_for(item, else_type_id, if_type_id)?; [INFO] [stdout] 857 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/frontend/resolver/resolver.rs:887:20 [INFO] [stdout] | [INFO] [stdout] 887 | if let Some(type_id) = item.expr.type_id(self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^---------^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/frontend/resolver/resolver.rs:889:17 [INFO] [stdout] | [INFO] [stdout] 889 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 887 ~ match item.expr.type_id(self) { Some(type_id) => { [INFO] [stdout] 888 | self.set_type_id(&mut item.iter, type_id)?; [INFO] [stdout] 889 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/frontend/resolver/resolver.rs:893:20 [INFO] [stdout] | [INFO] [stdout] 893 | if let Some(&Type::Array(Array { type_id: Some(elements_type_id) })) = self.item_type(&item.expr) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^---------^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] ... [INFO] [stdout] 896 | } else if let (Some(iter_type_id), Some(array_type_id)) = (item.iter.type_id(self), item.expr.type_id(self)) { [INFO] [stdout] | --------- this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/frontend/resolver/resolver.rs:896:17 [INFO] [stdout] | [INFO] [stdout] 896 | } else if let (Some(iter_type_id), Some(array_type_id)) = (item.iter.type_id(self), item.expr.type_id(self)) { [INFO] [stdout] | ^ [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/frontend/resolver/resolver.rs:901:17 [INFO] [stdout] | [INFO] [stdout] 901 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 893 ~ match self.item_type(&item.expr) { Some(&Type::Array(Array { type_id: Some(elements_type_id) })) => { [INFO] [stdout] 894 | // infer iter type from array element type [INFO] [stdout] 895 | self.set_type_id(&mut item.iter, elements_type_id)?; [INFO] [stdout] 896 ~ } _ => { match (item.iter.type_id(self), item.expr.type_id(self)) { (Some(iter_type_id), Some(array_type_id)) => { [INFO] [stdout] 897 | // infer array element type from iter [INFO] [stdout] ... [INFO] [stdout] 900 | } [INFO] [stdout] 901 ~ } _ => {}}}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/frontend/resolver/resolver.rs:961:23 [INFO] [stdout] | [INFO] [stdout] 961 | } else if let Some(result_expression) = &item.result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^----------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/frontend/resolver/resolver.rs:965:13 [INFO] [stdout] | [INFO] [stdout] 965 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 961 ~ } else { match &item.result { Some(result_expression) => { [INFO] [stdout] 962 | if let Some(result_type_id) = result_expression.type_id(self) { [INFO] [stdout] 963 | self.check_type_accepted_for(item, result_type_id, expected_result)?; [INFO] [stdout] 964 | } [INFO] [stdout] 965 ~ } _ => {}}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/frontend/resolver/resolver.rs:1047:24 [INFO] [stdout] | [INFO] [stdout] 1047 | if let Some(Type::Array(array)) = self.item_type(&item.left) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^---------^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/frontend/resolver/resolver.rs:1057:21 [INFO] [stdout] | [INFO] [stdout] 1057 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1047 ~ match self.item_type(&item.left) { Some(Type::Array(array)) => { [INFO] [stdout] 1048 | if let Some(array_type_id) = array.type_id { [INFO] [stdout] ... [INFO] [stdout] 1056 | } [INFO] [stdout] 1057 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/frontend/resolver/resolver.rs:1060:20 [INFO] [stdout] | [INFO] [stdout] 1060 | if let Some(&Type::Array(Array { type_id: Some(element_type_id), .. })) = self.item_type(&item.left) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^---------^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/frontend/resolver/resolver.rs:1062:17 [INFO] [stdout] | [INFO] [stdout] 1062 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1060 ~ match self.item_type(&item.left) { Some(&Type::Array(Array { type_id: Some(element_type_id), .. })) => { [INFO] [stdout] 1061 | self.set_type_id(item, element_type_id)?; [INFO] [stdout] 1062 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/frontend/resolver/resolver.rs:1068:20 [INFO] [stdout] | [INFO] [stdout] 1068 | if let Some(ty) = self.item_type(&item.left) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^---------^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/frontend/resolver/resolver.rs:1076:17 [INFO] [stdout] | [INFO] [stdout] 1076 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1068 ~ match self.item_type(&item.left) { Some(ty) => { [INFO] [stdout] 1069 | let struct_ = ty.as_struct().unwrap_or_err(Some(item), ResolveErrorKind::InvalidOperation("Member access on a non-struct".to_string()), self.module_path)?; [INFO] [stdout] ... [INFO] [stdout] 1075 | } [INFO] [stdout] 1076 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/frontend/resolver/resolver.rs:1112:16 [INFO] [stdout] | [INFO] [stdout] 1112 | if let (None, None, Some(expr_type_id)) = (&item.ty, lhs, expr.type_id(self)) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-------^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/frontend/resolver/resolver.rs:1114:13 [INFO] [stdout] | [INFO] [stdout] 1114 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1112 ~ match (&item.ty, lhs, expr.type_id(self)) { (None, None, Some(expr_type_id)) => { [INFO] [stdout] 1113 | self.set_type_id(item, expr_type_id)?; [INFO] [stdout] 1114 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/frontend/resolver/resolver.rs:1132:20 [INFO] [stdout] | [INFO] [stdout] 1132 | if let Some(type_id) = item.expr.type_id(self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^---------^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/frontend/resolver/resolver.rs:1134:17 [INFO] [stdout] | [INFO] [stdout] 1134 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1132 ~ match item.expr.type_id(self) { Some(type_id) => { [INFO] [stdout] 1133 | self.set_type_id(item, type_id)?; [INFO] [stdout] 1134 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/frontend/resolver/resolver.rs:1145:12 [INFO] [stdout] | [INFO] [stdout] 1145 | if let LV::Bool(_) = item.value { // todo: all of these need to check expected type if any [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^---------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] ... [INFO] [stdout] 1150 | } else if let LV::String(_) = item.value { [INFO] [stdout] | ---------- this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] ... [INFO] [stdout] 1155 | } else if let LV::Array(_) = item.value { [INFO] [stdout] | ---------- this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] 1156 | self.resolve_array_literal(item, expected_type)?; [INFO] [stdout] 1157 | } else if let LV::Struct(_) = item.value { [INFO] [stdout] | ---------- this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] 1158 | self.resolve_struct_literal(item)?; [INFO] [stdout] 1159 | } else if let LV::Variant(_) = item.value { [INFO] [stdout] | ---------- this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] ... [INFO] [stdout] 1169 | } else if let (&LV::Numeric(numeric), Some(expected_type)) = (&item.value, expected_type) { [INFO] [stdout] | ---------- this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/frontend/resolver/resolver.rs:1150:9 [INFO] [stdout] | [INFO] [stdout] 1150 | } else if let LV::String(_) = item.value { [INFO] [stdout] | ^ [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/frontend/resolver/resolver.rs:1155:9 [INFO] [stdout] | [INFO] [stdout] 1155 | } else if let LV::Array(_) = item.value { [INFO] [stdout] | ^ [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/frontend/resolver/resolver.rs:1157:9 [INFO] [stdout] | [INFO] [stdout] 1157 | } else if let LV::Struct(_) = item.value { [INFO] [stdout] | ^ [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/frontend/resolver/resolver.rs:1159:9 [INFO] [stdout] | [INFO] [stdout] 1159 | } else if let LV::Variant(_) = item.value { [INFO] [stdout] | ^ [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/frontend/resolver/resolver.rs:1161:9 [INFO] [stdout] | [INFO] [stdout] 1161 | } else if let Some(type_name) = &mut item.type_name { [INFO] [stdout] | ^ [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/frontend/resolver/resolver.rs:1175:9 [INFO] [stdout] | [INFO] [stdout] 1175 | } else if self.stage.infer_literals() { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1145 ~ match item.value { LV::Bool(_) => { // todo: all of these need to check expected type if any [INFO] [stdout] 1146 | if let Some(expected_type_id) = expected_type { [INFO] [stdout] ... [INFO] [stdout] 1149 | self.set_type_id(item, self.primitive_type_id(Type::bool)?)?; [INFO] [stdout] 1150 ~ } _ => { match item.value { LV::String(_) => { [INFO] [stdout] 1151 | if let Some(expected_type_id) = expected_type { [INFO] [stdout] ... [INFO] [stdout] 1154 | self.set_type_id(item, self.primitive_type_id(Type::String)?)?; [INFO] [stdout] 1155 ~ } _ => { match item.value { LV::Array(_) => { [INFO] [stdout] 1156 | self.resolve_array_literal(item, expected_type)?; [INFO] [stdout] 1157 ~ } _ => { match item.value { LV::Struct(_) => { [INFO] [stdout] 1158 | self.resolve_struct_literal(item)?; [INFO] [stdout] 1159 ~ } _ => { match item.value { LV::Variant(_) => { [INFO] [stdout] 1160 | self.resolve_variant_literal(item, expected_type)?; // handles simple variants only. data variants are parsed as calls. [INFO] [stdout] 1161 ~ } _ => if let Some(type_name) = &mut item.type_name { [INFO] [stdout] 1162 | // literal has explicit type, use it [INFO] [stdout] ... [INFO] [stdout] 1168 | } [INFO] [stdout] 1169 ~ } else { match (&item.value, expected_type) { (&LV::Numeric(numeric), Some(expected_type)) => { [INFO] [stdout] 1170 | let ty = self.type_by_id(expected_type); [INFO] [stdout] ... [INFO] [stdout] 1174 | self.set_type_id(item, expected_type)?; [INFO] [stdout] 1175 ~ } _ => if self.stage.infer_literals() { [INFO] [stdout] 1176 | // numerics, once normal resolution has failed [INFO] [stdout] ... [INFO] [stdout] 1181 | } [INFO] [stdout] 1182 ~ }}}}}}}}}}}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/frontend/resolver/resolver.rs:1177:16 [INFO] [stdout] | [INFO] [stdout] 1177 | if let LV::Numeric(value) = item.value { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^---------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/frontend/resolver/resolver.rs:1181:13 [INFO] [stdout] | [INFO] [stdout] 1181 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1177 ~ match item.value { LV::Numeric(value) => { [INFO] [stdout] 1178 | if let Some(type_id) = self.classify_numeric(value)? { [INFO] [stdout] 1179 | self.set_type_id(item,type_id)?; [INFO] [stdout] 1180 | } [INFO] [stdout] 1181 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/frontend/resolver/error.rs:102:12 [INFO] [stdout] | [INFO] [stdout] 102 | if let Some(result) = self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^---- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/frontend/resolver/error.rs:104:9 [INFO] [stdout] | [INFO] [stdout] 104 | } 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] 102 ~ match self { Some(result) => { [INFO] [stdout] 103 | Ok(result) [INFO] [stdout] 104 ~ } _ => { [INFO] [stdout] 105 | Err(ResolveError { [INFO] [stdout] ... [INFO] [stdout] 109 | }) [INFO] [stdout] 110 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/bytecode/compiler/compiler.rs:711:12 [INFO] [stdout] | [INFO] [stdout] 711 | if let Some(returns) = &item.returns { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^------------ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] ... [INFO] [stdout] 720 | } else if let Some(result) = &item.result { [INFO] [stdout] | ----------- this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/bytecode/compiler/compiler.rs:720:9 [INFO] [stdout] | [INFO] [stdout] 720 | } else if let Some(result) = &item.result { [INFO] [stdout] | ^ [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/bytecode/compiler/compiler.rs:727:9 [INFO] [stdout] | [INFO] [stdout] 727 | } 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] 711 ~ match &item.returns { Some(returns) => { [INFO] [stdout] 712 | comment!(self, "block returning"); [INFO] [stdout] ... [INFO] [stdout] 719 | self.locals.add_exit_placeholder(exit_jump); [INFO] [stdout] 720 ~ } _ => { match &item.result { Some(result) => { [INFO] [stdout] 721 | comment!(self, "block resulting"); [INFO] [stdout] ... [INFO] [stdout] 726 | self.item_cnt(result, true, HeapRefOp::DecNoFree); [INFO] [stdout] 727 ~ } _ => { [INFO] [stdout] 728 | comment!(self, "block ending"); [INFO] [stdout] 729 | self.decref_block_locals(); [INFO] [stdout] 730 ~ }}}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/bytecode/compiler/compiler.rs:786:20 [INFO] [stdout] | [INFO] [stdout] 786 | if let ast::Expression::Variable(var) = &item.expr { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^--------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] ... [INFO] [stdout] 800 | } else if let ast::Expression::BinaryOp(binary_op) = &item.expr { [INFO] [stdout] | --------- this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/bytecode/compiler/compiler.rs:800:17 [INFO] [stdout] | [INFO] [stdout] 800 | } else if let ast::Expression::BinaryOp(binary_op) = &item.expr { [INFO] [stdout] | ^ [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/bytecode/compiler/compiler.rs:812:17 [INFO] [stdout] | [INFO] [stdout] 812 | } 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] 786 ~ match &item.expr { ast::Expression::Variable(var) => { [INFO] [stdout] 787 | comment!(self, "{}", item); [INFO] [stdout] ... [INFO] [stdout] 799 | }; [INFO] [stdout] 800 ~ } _ => { match &item.expr { ast::Expression::BinaryOp(binary_op) => { [INFO] [stdout] 801 | assert!(binary_op.op == BinaryOperator::IndexWrite || binary_op.op == BinaryOperator::AccessWrite, "Expected IndexWrite or AccessWrite operation"); [INFO] [stdout] ... [INFO] [stdout] 811 | }; [INFO] [stdout] 812 ~ } _ => { [INFO] [stdout] 813 | panic!("Operator {:?} can not be used here", item.op); [INFO] [stdout] 814 ~ }}}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/bytecode/compiler/compiler.rs:1008:16 [INFO] [stdout] | [INFO] [stdout] 1008 | if let ast::Expression::Block(block) = &assignment.right { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^---------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/bytecode/compiler/compiler.rs:1010:13 [INFO] [stdout] | [INFO] [stdout] 1010 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1008 ~ match &assignment.right { ast::Expression::Block(block) => { [INFO] [stdout] 1009 | self.create_stack_frame_block(block, frame); [INFO] [stdout] 1010 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/bytecode/compiler/compiler.rs:1015:16 [INFO] [stdout] | [INFO] [stdout] 1015 | if let ast::Expression::Block(block) = &binary_op.right { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^--------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/bytecode/compiler/compiler.rs:1017:13 [INFO] [stdout] | [INFO] [stdout] 1017 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1015 ~ match &binary_op.right { ast::Expression::Block(block) => { [INFO] [stdout] 1016 | self.create_stack_frame_block(block, frame); [INFO] [stdout] 1017 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/bytecode/compiler/compiler.rs:1019:16 [INFO] [stdout] | [INFO] [stdout] 1019 | if let ast::Expression::Block(block) = &unary_op.expr { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/bytecode/compiler/compiler.rs:1021:13 [INFO] [stdout] | [INFO] [stdout] 1021 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1019 ~ match &unary_op.expr { ast::Expression::Block(block) => { [INFO] [stdout] 1020 | self.create_stack_frame_block(block, frame); [INFO] [stdout] 1021 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/bytecode/compiler/compiler.rs:1024:16 [INFO] [stdout] | [INFO] [stdout] 1024 | if let Some(block) = &if_block.else_block { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/bytecode/compiler/compiler.rs:1026:13 [INFO] [stdout] | [INFO] [stdout] 1026 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1024 ~ match &if_block.else_block { Some(block) => { [INFO] [stdout] 1025 | self.create_stack_frame_block(block, frame); [INFO] [stdout] 1026 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/bytecode/compiler/compiler.rs:1037:20 [INFO] [stdout] | [INFO] [stdout] 1037 | if let Some(expression) = &binding.expr { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^------------ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/bytecode/compiler/compiler.rs:1039:17 [INFO] [stdout] | [INFO] [stdout] 1039 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1037 ~ match &binding.expr { Some(expression) => { [INFO] [stdout] 1038 | self.create_stack_frame_exp(expression, frame); [INFO] [stdout] 1039 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/bytecode/compiler/compiler.rs:1050:20 [INFO] [stdout] | [INFO] [stdout] 1050 | if let Some(block) = &if_block.else_block { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/bytecode/compiler/compiler.rs:1052:17 [INFO] [stdout] | [INFO] [stdout] 1052 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1050 ~ match &if_block.else_block { Some(block) => { [INFO] [stdout] 1051 | self.create_stack_frame_block(block, frame); [INFO] [stdout] 1052 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/bytecode/compiler/compiler.rs:1057:12 [INFO] [stdout] | [INFO] [stdout] 1057 | if let Some(result) = &item.result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^----------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/bytecode/compiler/compiler.rs:1059:9 [INFO] [stdout] | [INFO] [stdout] 1059 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1057 ~ match &item.result { Some(result) => { [INFO] [stdout] 1058 | self.create_stack_frame_exp(result, frame); [INFO] [stdout] 1059 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 75 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Migrating src/run.rs from 2021 edition to 2024 [INFO] [stderr] warning: failed to automatically apply fixes suggested by rustc to crate `itsy` [INFO] [stderr] [INFO] [stderr] after fixes were automatically applied the compiler reported errors within these files: [INFO] [stderr] [INFO] [stderr] * src/bytecode/compiler/macros.rs [INFO] [stderr] * src/bytecode/compiler/util.rs [INFO] [stderr] * src/bytecode/impl_opcodes.rs [INFO] [stderr] * src/bytecode/runtime/heap.rs [INFO] [stderr] * src/bytecode/runtime/stack.rs [INFO] [stderr] * src/frontend/parser/nomutil.rs [INFO] [stderr] * src/frontend/parser/parser.rs [INFO] [stderr] * src/frontend/parser/types.rs [INFO] [stderr] * src/shared/typed_ids.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/frontend/parser/nomutil.rs:163:6 [INFO] [stderr] | [INFO] [stderr] 163 | ($x: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/bytecode/impl_opcodes.rs:4:35 [INFO] [stderr] | [INFO] [stderr] 4 | (do_read $ty:tt, $from:ident, $counter: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/bytecode/impl_opcodes.rs:11:28 [INFO] [stderr] | [INFO] [stderr] 11 | (read u8, $from:ident, $counter:expr_2021) => ( impl_opcodes!(do_read u8, $from, $counter) ); [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/bytecode/impl_opcodes.rs:12:29 [INFO] [stderr] | [INFO] [stderr] 12 | (read u16, $from:ident, $counter:expr_2021) => ( impl_opcodes!(do_read u16, $from, $counter) ); [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/bytecode/impl_opcodes.rs:13:29 [INFO] [stderr] | [INFO] [stderr] 13 | (read u32, $from:ident, $counter:expr_2021) => ( impl_opcodes!(do_read u32, $from, $counter) ); [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/bytecode/impl_opcodes.rs:14:29 [INFO] [stderr] | [INFO] [stderr] 14 | (read u64, $from:ident, $counter:expr_2021) => ( impl_opcodes!(do_read u64, $from, $counter) ); [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/bytecode/impl_opcodes.rs:15:29 [INFO] [stderr] | [INFO] [stderr] 15 | (read i8, $from:ident, $counter:expr_2021) => ( impl_opcodes!(do_read i8, $from, $counter) ); [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/bytecode/impl_opcodes.rs:16:29 [INFO] [stderr] | [INFO] [stderr] 16 | (read i16, $from:ident, $counter:expr_2021) => ( impl_opcodes!(do_read i16, $from, $counter) ); [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/bytecode/impl_opcodes.rs:17:29 [INFO] [stderr] | [INFO] [stderr] 17 | (read i32, $from:ident, $counter:expr_2021) => ( impl_opcodes!(do_read i32, $from, $counter) ); [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/bytecode/impl_opcodes.rs:18:29 [INFO] [stderr] | [INFO] [stderr] 18 | (read i64, $from:ident, $counter:expr_2021) => ( impl_opcodes!(do_read i64, $from, $counter) ); [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/bytecode/impl_opcodes.rs:19:29 [INFO] [stderr] | [INFO] [stderr] 19 | (read f32, $from:ident, $counter:expr_2021) => ( impl_opcodes!(do_read f32, $from, $counter) ); [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/bytecode/impl_opcodes.rs:20:29 [INFO] [stderr] | [INFO] [stderr] 20 | (read f64, $from:ident, $counter:expr_2021) => ( impl_opcodes!(do_read f64, $from, $counter) ); [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/bytecode/impl_opcodes.rs:21:32 [INFO] [stderr] | [INFO] [stderr] 21 | (read String, $from:ident, $counter: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/bytecode/impl_opcodes.rs:27:38 [INFO] [stderr] | [INFO] [stderr] 27 | (read StackAddress, $from:ident, $counter:expr_2021) => ( impl_opcodes!(do_read StackAddress, $from, $counter) ); [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/bytecode/impl_opcodes.rs:28:37 [INFO] [stderr] | [INFO] [stderr] 28 | (read StackOffset, $from:ident, $counter:expr_2021) => ( impl_opcodes!(do_read StackOffset, $from, $counter) ); [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/bytecode/impl_opcodes.rs:29:35 [INFO] [stderr] | [INFO] [stderr] 29 | (read ItemIndex, $from:ident, $counter:expr_2021) => ( impl_opcodes!(do_read ItemIndex, $from, $counter) ); [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/bytecode/impl_opcodes.rs:30:32 [INFO] [stderr] | [INFO] [stderr] 30 | (read RustFn, $from:ident, $counter:expr_2021) => ( T::from_index(impl_opcodes!(do_read RustFnIndex, $from, $counter)) ); [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/bytecode/impl_opcodes.rs:31:33 [INFO] [stderr] | [INFO] [stderr] 31 | (read Builtin, $from:ident, $counter:expr_2021) => ( Builtin::from_index(impl_opcodes!(do_read BuiltinIndex, $from, $counter)) ); [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/bytecode/impl_opcodes.rs:32:35 [INFO] [stderr] | [INFO] [stderr] 32 | (read HeapRefOp, $from:ident, $counter:expr_2021) => ( HeapRefOp::from_u8(impl_opcodes!(do_read u8, $from, $counter)) ); [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/bytecode/impl_opcodes.rs:37:20 [INFO] [stderr] | [INFO] [stderr] 37 | (write RustFn, $value:expr_2021, $to:ident) => ( $to.write(&$value.into_index().to_le_bytes()[..]) ); [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/bytecode/impl_opcodes.rs:38:21 [INFO] [stderr] | [INFO] [stderr] 38 | (write Builtin, $value:expr_2021, $to:ident) => ( $to.write(&$value.into_index().to_le_bytes()[..]) ); [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/bytecode/impl_opcodes.rs:39:23 [INFO] [stderr] | [INFO] [stderr] 39 | (write HeapRefOp, $value:expr_2021, $to:ident) => ( $to.write(&[ $value as u8 ]) ); [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/bytecode/impl_opcodes.rs:40:20 [INFO] [stderr] | [INFO] [stderr] 40 | (write String, $value:expr_2021, $to:ident) => ( [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/bytecode/impl_opcodes.rs:44:20 [INFO] [stderr] | [INFO] [stderr] 44 | (write $ty:tt, $value:expr_2021, $to:ident) => ( $to.write(&$value.to_le_bytes()[..]) ); [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/bytecode/compiler/macros.rs:4:39 [INFO] [stderr] | [INFO] [stderr] 4 | ($self:ident, $format:literal $(, $value:expr_2021)*) => { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/bytecode/compiler/macros.rs:12:75 [INFO] [stderr] | [INFO] [stderr] 12 | ($self:ident, $variant_8:ident, $variant_16:ident, $variant_sa:ident, $value:expr_2021 $(, $more: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/bytecode/compiler/macros.rs:12:96 [INFO] [stderr] | [INFO] [stderr] 12 | ($self:ident, $variant_8:ident, $variant_16:ident, $variant_sa:ident, $value:expr_2021 $(, $more: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/bytecode/compiler/macros.rs:26:75 [INFO] [stderr] | [INFO] [stderr] 26 | ($self:ident, $variant_8:ident, $variant_16:ident, $variant_sa:ident, $value:expr_2021 $(, $more: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/bytecode/compiler/macros.rs:26:96 [INFO] [stderr] | [INFO] [stderr] 26 | ($self:ident, $variant_8:ident, $variant_16:ident, $variant_sa:ident, $value:expr_2021 $(, $more: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/bytecode/runtime/stack.rs:191:46 [INFO] [stderr] | [INFO] [stderr] 191 | (@store single, $type:tt, $stack: ident, $pos:expr_2021, $var: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/bytecode/runtime/stack.rs:195:45 [INFO] [stderr] | [INFO] [stderr] 195 | (@store multi, $type:tt, $stack: ident, $pos:expr_2021, $var: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/bytecode/runtime/stack.rs:202:45 [INFO] [stderr] | [INFO] [stderr] 202 | (@load single, $type:tt, $stack: ident, $pos: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/bytecode/runtime/stack.rs:205:44 [INFO] [stderr] | [INFO] [stderr] 205 | (@load multi, $type:tt, $stack: ident, $pos:expr_2021) => { { [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/frontend/parser/nomutil.rs:163:9 [INFO] [stdout] | [INFO] [stdout] 163 | ($x: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] 163 | ($x:expr_2021) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stdout] warning: elided lifetime has a name [INFO] [stdout] --> src/frontend/parser/types.rs:17:62 [INFO] [stdout] | [INFO] [stdout] 17 | pub fn modules<'a>(self: &'a Self) -> impl Iterator { [INFO] [stdout] | -- lifetime `'a` declared here ^ 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] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stdout] warning: elided lifetime has a name [INFO] [stdout] --> src/frontend/parser/types.rs:26:61 [INFO] [stdout] | [INFO] [stdout] 26 | pub fn using<'a>(self: &'a Self) -> impl Iterator { [INFO] [stdout] | -- lifetime `'a` declared here ^ this elided lifetime gets resolved as `'a` [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stdout] warning: elided lifetime has a name [INFO] [stdout] --> src/frontend/parser/types.rs:26:70 [INFO] [stdout] | [INFO] [stdout] 26 | pub fn using<'a>(self: &'a Self) -> impl Iterator { [INFO] [stdout] | -- lifetime `'a` declared here ^ this elided lifetime gets resolved as `'a` [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] [INFO] [stdout] warning: elided lifetime has a name [INFO] [stdout] --> src/frontend/parser/types.rs:36:59 [INFO] [stdout] | [INFO] [stdout] 36 | pub fn iter<'a>(self: &'a Self) -> impl Iterator { [INFO] [stdout] | -- lifetime `'a` declared here ^ this elided lifetime gets resolved as `'a` [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stdout] warning: elided lifetime has a name [INFO] [stdout] --> src/frontend/parser/parser.rs:39:155 [INFO] [stdout] | [INFO] [stdout] 39 | ...te<'a, P: 'a, O: 'a>(s: &'a impl Fn(&mut ParserState), mut parser: P) -> impl FnMut(Input<'a>) -> Output where P: FnMut(Input<'a>) -> Output src/bytecode/runtime/heap.rs:8:19 [INFO] [stdout] warning: elided lifetime has a name [INFO] [stdout] --> src/frontend/parser/parser.rs:39:116 [INFO] [stdout] | [INFO] [stdout] 39 | fn with_state<'a, P: 'a, O: 'a>(s: &'a impl Fn(&mut ParserState), mut parser: P) -> impl FnMut(Input<'a>) -> Output where P: FnMut(Inp... [INFO] [stdout] | -- lifetime `'a` declared here ^ this elided lifetime gets resolved as `'a` [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] | [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/bytecode/impl_opcodes.rs:4:44 [INFO] [stdout] | [INFO] [stdout] 4 | (do_read $ty:tt, $from:ident, $counter: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] 4 | (do_read $ty:tt, $from:ident, $counter:expr_2021) => ( { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] 8 | ($self:ident, $index:expr_2021) => { [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/bytecode/impl_opcodes.rs:11:37 [INFO] [stdout] | [INFO] [stdout] 11 | (read u8, $from:ident, $counter:expr) => ( impl_opcodes!(do_read u8, $from, $counter) ); [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] 11 | (read u8, $from:ident, $counter:expr_2021) => ( impl_opcodes!(do_read u8, $from, $counter) ); [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/bytecode/impl_opcodes.rs:12:38 [INFO] [stdout] | [INFO] [stdout] 12 | (read u16, $from:ident, $counter:expr) => ( impl_opcodes!(do_read u16, $from, $counter) ); [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 12 | (read u16, $from:ident, $counter:expr_2021) => ( impl_opcodes!(do_read u16, $from, $counter) ); [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] | [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/bytecode/impl_opcodes.rs:13:38 [INFO] [stdout] | [INFO] [stdout] 13 | (read u32, $from:ident, $counter:expr) => ( impl_opcodes!(do_read u32, $from, $counter) ); [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] 13 | (read u32, $from:ident, $counter:expr_2021) => ( impl_opcodes!(do_read u32, $from, $counter) ); [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/bytecode/impl_opcodes.rs:14:38 [INFO] [stdout] | [INFO] [stdout] 14 | (read u64, $from:ident, $counter:expr) => ( impl_opcodes!(do_read u64, $from, $counter) ); [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 | (read u64, $from:ident, $counter:expr_2021) => ( impl_opcodes!(do_read u64, $from, $counter) ); [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/bytecode/impl_opcodes.rs:15:38 [INFO] [stdout] | [INFO] [stdout] 15 | (read i8, $from:ident, $counter:expr) => ( impl_opcodes!(do_read i8, $from, $counter) ); [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] 15 | (read i8, $from:ident, $counter:expr_2021) => ( impl_opcodes!(do_read i8, $from, $counter) ); [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/bytecode/impl_opcodes.rs:16:38 [INFO] [stdout] | [INFO] [stdout] 16 | (read i16, $from:ident, $counter:expr) => ( impl_opcodes!(do_read i16, $from, $counter) ); [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] 16 | (read i16, $from:ident, $counter:expr_2021) => ( impl_opcodes!(do_read i16, $from, $counter) ); [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/bytecode/impl_opcodes.rs:17:38 [INFO] [stdout] | [INFO] [stdout] 17 | (read i32, $from:ident, $counter:expr) => ( impl_opcodes!(do_read i32, $from, $counter) ); [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 17 | (read i32, $from:ident, $counter:expr_2021) => ( impl_opcodes!(do_read i32, $from, $counter) ); [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/bytecode/impl_opcodes.rs:18:38 [INFO] [stdout] | [INFO] [stdout] 18 | (read i64, $from:ident, $counter:expr) => ( impl_opcodes!(do_read i64, $from, $counter) ); [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 18 | (read i64, $from:ident, $counter:expr_2021) => ( impl_opcodes!(do_read i64, $from, $counter) ); [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] --> src/shared/typed_ids.rs:6:19 [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/bytecode/impl_opcodes.rs:19:38 [INFO] [stdout] | [INFO] [stdout] 19 | (read f32, $from:ident, $counter:expr) => ( impl_opcodes!(do_read f32, $from, $counter) ); [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 19 | (read f32, $from:ident, $counter:expr_2021) => ( impl_opcodes!(do_read f32, $from, $counter) ); [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] | [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/bytecode/impl_opcodes.rs:20:38 [INFO] [stdout] | [INFO] [stdout] 20 | (read f64, $from:ident, $counter:expr) => ( impl_opcodes!(do_read f64, $from, $counter) ); [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] 20 | (read f64, $from:ident, $counter:expr_2021) => ( impl_opcodes!(do_read f64, $from, $counter) ); [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] 6 | ($name:ident, $string:expr_2021) => { [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/bytecode/impl_opcodes.rs:21:41 [INFO] [stdout] | [INFO] [stdout] 21 | (read String, $from:ident, $counter: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] 21 | (read String, $from:ident, $counter:expr_2021) => ( { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/bytecode/impl_opcodes.rs:27:47 [INFO] [stdout] | [INFO] [stdout] 27 | (read StackAddress, $from:ident, $counter:expr) => ( impl_opcodes!(do_read StackAddress, $from, $counter) ); [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] 27 | (read StackAddress, $from:ident, $counter:expr_2021) => ( impl_opcodes!(do_read StackAddress, $from, $counter) ); [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] | [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/bytecode/impl_opcodes.rs:28:46 [INFO] [stdout] | [INFO] [stdout] 28 | (read StackOffset, $from:ident, $counter:expr) => ( impl_opcodes!(do_read StackOffset, $from, $counter) ); [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] 28 | (read StackOffset, $from:ident, $counter:expr_2021) => ( impl_opcodes!(do_read StackOffset, $from, $counter) ); [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/bytecode/impl_opcodes.rs:29:44 [INFO] [stdout] | [INFO] [stdout] 29 | (read ItemIndex, $from:ident, $counter:expr) => ( impl_opcodes!(do_read ItemIndex, $from, $counter) ); [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] 29 | (read ItemIndex, $from:ident, $counter:expr_2021) => ( impl_opcodes!(do_read ItemIndex, $from, $counter) ); [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/bytecode/impl_opcodes.rs:30:41 [INFO] [stdout] | [INFO] [stdout] 30 | (read RustFn, $from:ident, $counter:expr) => ( T::from_index(impl_opcodes!(do_read RustFnIndex, $from, $counter)) ); [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] 30 | (read RustFn, $from:ident, $counter:expr_2021) => ( T::from_index(impl_opcodes!(do_read RustFnIndex, $from, $counter)) ); [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/bytecode/impl_opcodes.rs:31:42 [INFO] [stdout] | [INFO] [stdout] 31 | (read Builtin, $from:ident, $counter:expr) => ( Builtin::from_index(impl_opcodes!(do_read BuiltinIndex, $from, $counter)) ); [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] 31 | (read Builtin, $from:ident, $counter:expr_2021) => ( Builtin::from_index(impl_opcodes!(do_read BuiltinIndex, $from, $counter)) ); [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/bytecode/impl_opcodes.rs:32:44 [INFO] [stdout] | [INFO] [stdout] 32 | (read HeapRefOp, $from:ident, $counter:expr) => ( HeapRefOp::from_u8(impl_opcodes!(do_read u8, $from, $counter)) ); [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] 32 | (read HeapRefOp, $from:ident, $counter:expr_2021) => ( HeapRefOp::from_u8(impl_opcodes!(do_read u8, $from, $counter)) ); [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] warning: elided lifetime has a name [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/bytecode/impl_opcodes.rs:37:27 [INFO] [stdout] | [INFO] [stdout] 37 | (write RustFn, $value:expr, $to:ident) => ( $to.write(&$value.into_index().to_le_bytes()[..]) ); [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] 37 | (write RustFn, $value:expr_2021, $to:ident) => ( $to.write(&$value.into_index().to_le_bytes()[..]) ); [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] --> src/frontend/parser/types.rs:17:62 [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/bytecode/impl_opcodes.rs:38:28 [INFO] [stdout] | [INFO] [stdout] 38 | (write Builtin, $value:expr, $to:ident) => ( $to.write(&$value.into_index().to_le_bytes()[..]) ); [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 38 | (write Builtin, $value:expr_2021, $to:ident) => ( $to.write(&$value.into_index().to_le_bytes()[..]) ); [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] | [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/bytecode/impl_opcodes.rs:39:30 [INFO] [stdout] | [INFO] [stdout] 39 | (write HeapRefOp, $value:expr, $to:ident) => ( $to.write(&[ $value as u8 ]) ); [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] 39 | (write HeapRefOp, $value:expr_2021, $to:ident) => ( $to.write(&[ $value as u8 ]) ); [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] 17 | pub fn modules<'a>(self: &'a Self) -> impl Iterator { [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/bytecode/impl_opcodes.rs:40:27 [INFO] [stdout] | [INFO] [stdout] 40 | (write String, $value:expr, $to:ident) => ( [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] 40 | (write String, $value:expr_2021, $to:ident) => ( [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] | -- lifetime `'a` declared here ^ this elided lifetime gets resolved as `'a` [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/bytecode/impl_opcodes.rs:44:27 [INFO] [stdout] | [INFO] [stdout] 44 | (write $ty:tt, $value:expr, $to:ident) => ( $to.write(&$value.to_le_bytes()[..]) ); [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] 44 | (write $ty:tt, $value:expr_2021, $to:ident) => ( $to.write(&$value.to_le_bytes()[..]) ); [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] | [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/bytecode/compiler/macros.rs:4:46 [INFO] [stdout] | [INFO] [stdout] 4 | ($self:ident, $format:literal $(, $value:expr)*) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 4 | ($self:ident, $format:literal $(, $value:expr_2021)*) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] = note: `#[warn(elided_named_lifetimes)]` on by default [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/bytecode/compiler/macros.rs:12:82 [INFO] [stdout] | [INFO] [stdout] 12 | ($self:ident, $variant_8:ident, $variant_16:ident, $variant_sa:ident, $value:expr $(, $more:expr)*) => {{ [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 12 | ($self:ident, $variant_8:ident, $variant_16:ident, $variant_sa:ident, $value:expr_2021 $(, $more:expr)*) => {{ [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/bytecode/compiler/macros.rs:12:97 [INFO] [stdout] | [INFO] [stdout] 12 | ($self:ident, $variant_8:ident, $variant_16:ident, $variant_sa:ident, $value:expr $(, $more:expr)*) => {{ [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 12 | ($self:ident, $variant_8:ident, $variant_16:ident, $variant_sa:ident, $value:expr $(, $more:expr_2021)*) => {{ [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] warning: elided lifetime has a name [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/bytecode/compiler/macros.rs:26:82 [INFO] [stdout] | [INFO] [stdout] 26 | ($self:ident, $variant_8:ident, $variant_16:ident, $variant_sa:ident, $value:expr $(, $more:expr)*) => {{ [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 26 | ($self:ident, $variant_8:ident, $variant_16:ident, $variant_sa:ident, $value:expr_2021 $(, $more:expr)*) => {{ [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] --> src/frontend/parser/types.rs:26:61 [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/bytecode/compiler/macros.rs:26:97 [INFO] [stdout] | [INFO] [stdout] 26 | ($self:ident, $variant_8:ident, $variant_16:ident, $variant_sa:ident, $value:expr $(, $more:expr)*) => {{ [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 26 | ($self:ident, $variant_8:ident, $variant_16:ident, $variant_sa:ident, $value:expr $(, $more:expr_2021)*) => {{ [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] | [INFO] [stdout] warning: elided lifetime has a name [INFO] [stdout] --> src/bytecode/compiler/util.rs:27:36 [INFO] [stdout] | [INFO] [stdout] 26 | impl<'p> CoverageRangeType<'p> { [INFO] [stdout] | -- lifetime `'p` declared here [INFO] [stdout] 27 | fn kind(self: &'p Self) -> &'p CoverageRangeKind { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ this elided lifetime gets resolved as `'p` [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] 26 | pub fn using<'a>(self: &'a Self) -> impl Iterator { [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/bytecode/runtime/stack.rs:191:51 [INFO] [stdout] | [INFO] [stdout] 191 | (@store single, $type:tt, $stack: ident, $pos:expr, $var: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] 191 | (@store single, $type:tt, $stack: ident, $pos:expr_2021, $var:tt) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] | -- lifetime `'a` declared here ^ this elided lifetime gets resolved as `'a` [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/bytecode/runtime/stack.rs:195:50 [INFO] [stdout] | [INFO] [stdout] 195 | (@store multi, $type:tt, $stack: ident, $pos:expr, $var: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] 195 | (@store multi, $type:tt, $stack: ident, $pos:expr_2021, $var:tt) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/bytecode/runtime/stack.rs:202:50 [INFO] [stdout] | [INFO] [stdout] 202 | (@load single, $type:tt, $stack: ident, $pos: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] 202 | (@load single, $type:tt, $stack: ident, $pos:expr_2021) => { { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] warning: elided lifetime has a name [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/bytecode/runtime/stack.rs:205:49 [INFO] [stdout] | [INFO] [stdout] 205 | (@load multi, $type:tt, $stack: ident, $pos: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] 205 | (@load multi, $type:tt, $stack: ident, $pos:expr_2021) => { { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] --> src/frontend/parser/types.rs:26:70 [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/bytecode/runtime/heap.rs:8:26 [INFO] [stdout] | [INFO] [stdout] 8 | ($self:ident, $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] 8 | ($self:ident, $index:expr_2021) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] | [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/shared/typed_ids.rs:6:27 [INFO] [stdout] | [INFO] [stdout] 6 | ($name:ident, $string: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] 6 | ($name:ident, $string:expr_2021) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] 26 | pub fn using<'a>(self: &'a Self) -> impl Iterator { [INFO] [stdout] warning: unused import: `std::collections::HashSet as UnorderedSet` [INFO] [stdout] --> src/prelude.rs:4:9 [INFO] [stdout] | [INFO] [stdout] 4 | pub use std::collections::HashSet as UnorderedSet; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] | -- lifetime `'a` declared here ^ this elided lifetime gets resolved as `'a` [INFO] [stdout] warning: field `origin` is never read [INFO] [stdout] --> src/bytecode/compiler/stack_frame.rs:17:9 [INFO] [stdout] | [INFO] [stdout] 13 | pub struct Local { [INFO] [stdout] | ----- field in this struct [INFO] [stdout] ... [INFO] [stdout] 17 | pub origin: LocalOrigin, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Local` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/frontend/ast.rs:703:19 [INFO] [stdout] | [INFO] [stdout] 703 | } else if let Some(else_block) = &self.else_block { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^--------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/frontend/ast.rs:705:9 [INFO] [stdout] | [INFO] [stdout] 705 | } else { [INFO] [stdout] | ^ [INFO] [stdout] = note: `--force-warn if-let-rescope` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 703 ~ } else { match &self.else_block { Some(else_block) => { [INFO] [stdout] 704 | self.if_block.returns() && else_block.returns() [INFO] [stdout] 705 ~ } _ => { [INFO] [stdout] 706 | false [INFO] [stdout] 707 ~ }}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] warning: elided lifetime has a name [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/frontend/ast.rs:716:12 [INFO] [stdout] | [INFO] [stdout] 716 | if let Some(result) = &mut self.if_block.result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^-------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/frontend/ast.rs:718:9 [INFO] [stdout] | [INFO] [stdout] 718 | } 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] 716 ~ match &mut self.if_block.result { Some(result) => { [INFO] [stdout] 717 | result.type_id_mut(bindings) [INFO] [stdout] 718 ~ } _ => { [INFO] [stdout] 719 | panic!("attempted to set return type of if statement (not an expression)") [INFO] [stdout] 720 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] --> src/frontend/parser/types.rs:36:59 [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/frontend/ast.rs:750:12 [INFO] [stdout] | [INFO] [stdout] 750 | if let Some(result) = &mut self.result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^----------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/frontend/ast.rs:752:9 [INFO] [stdout] | [INFO] [stdout] 752 | } 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] 750 ~ match &mut self.result { Some(result) => { [INFO] [stdout] 751 | result.type_id_mut(bindings) [INFO] [stdout] 752 ~ } _ => { [INFO] [stdout] 753 | panic!("attempted to set return type of block statement (not an expression)") [INFO] [stdout] 754 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] | [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/frontend/parser/parser.rs:31:12 [INFO] [stdout] | [INFO] [stdout] 31 | if let Some(kind) = checker(before.state()) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^-------^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/frontend/parser/parser.rs:33:9 [INFO] [stdout] | [INFO] [stdout] 33 | } 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] 31 ~ match checker(before.state()) { Some(kind) => { [INFO] [stdout] 32 | Err(nom::Err::Failure(Error { input: before, kind: kind })) [INFO] [stdout] 33 ~ } _ => { [INFO] [stdout] 34 | Ok(inner_result) [INFO] [stdout] 35 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] 36 | pub fn iter<'a>(self: &'a Self) -> impl Iterator { [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/frontend/parser/parser.rs:931:30 [INFO] [stdout] | [INFO] [stdout] 931 | ret : if let Some(sig_ty) = sig.1.2 { Some(sig_ty) } else { None }, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/frontend/parser/parser.rs:931:72 [INFO] [stdout] | [INFO] [stdout] 931 | ret : if let Some(sig_ty) = sig.1.2 { Some(sig_ty) } else { 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] 931 | ret : match sig.1.2 { Some(sig_ty) => { Some(sig_ty) } _ => { None }}, [INFO] [stdout] | ~~~~~ +++++++++++++++++ ~~~~ + [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] | -- lifetime `'a` declared here ^ this elided lifetime gets resolved as `'a` [INFO] [stderr] [INFO] [stderr] warning: elided lifetime has a name [INFO] [stderr] --> src/frontend/parser/parser.rs:39:155 [INFO] [stderr] | [INFO] [stdout] warning: `impl FnMut(I) -> Result<(I, O), nom::Err>` will capture more lifetimes than possibly intended in edition 2024 [INFO] [stdout] --> src/frontend/parser/nomutil.rs:143:73 [INFO] [stdout] | [INFO] [stdout] 143 | pub(super) fn trace<'a, I, F, O, E>(context: &'static str, mut f: F) -> impl FnMut(I) -> IResult [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see [INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds [INFO] [stdout] --> src/frontend/parser/nomutil.rs:143:21 [INFO] [stdout] | [INFO] [stdout] 143 | pub(super) fn trace<'a, I, F, O, E>(context: &'static str, mut f: F) -> impl FnMut(I) -> IResult [INFO] [stdout] | ^^ [INFO] [stdout] = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024 [INFO] [stdout] = note: `--force-warn impl-trait-overcaptures` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit [INFO] [stdout] | [INFO] [stdout] 143 | pub(super) fn trace<'a, I, F, O, E>(context: &'static str, mut f: F) -> impl FnMut(I) -> IResult + use [INFO] [stdout] | +++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] 39 | ...te<'a, P: 'a, O: 'a>(s: &'a impl Fn(&mut ParserState), mut parser: P) -> impl FnMut(Input<'a>) -> Output where P: FnMut(Input<'a>) -> Output src/frontend/parser/parser.rs:39:116 [INFO] [stderr] | [INFO] [stderr] 39 | fn with_state<'a, P: 'a, O: 'a>(s: &'a impl Fn(&mut ParserState), mut parser: P) -> impl FnMut(Input<'a>) -> Output where P: FnMut(Inp... [INFO] [stderr] | -- lifetime `'a` declared here ^ this elided lifetime gets resolved as `'a` [INFO] [stderr] [INFO] [stderr] warning: elided lifetime has a name [INFO] [stderr] --> src/bytecode/compiler/util.rs:27:36 [INFO] [stderr] | [INFO] [stderr] 26 | impl<'p> CoverageRangeType<'p> { [INFO] [stderr] | -- lifetime `'p` declared here [INFO] [stderr] 27 | fn kind(self: &'p Self) -> &'p CoverageRangeKind { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ this elided lifetime gets resolved as `'p` [INFO] [stderr] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/frontend/resolver/resolver.rs:511:28 [INFO] [stdout] | [INFO] [stdout] 511 | if let Some(numeric) = value_literal.value.as_numeric() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^-------------------^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/frontend/resolver/resolver.rs:522:25 [INFO] [stdout] | [INFO] [stdout] 522 | } 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] 511 ~ match value_literal.value.as_numeric() { Some(numeric) => { [INFO] [stdout] 512 | if numeric.is_integer() { [INFO] [stdout] ... [INFO] [stdout] 521 | } [INFO] [stdout] 522 ~ } _ => { [INFO] [stdout] 523 | return Err(ResolveError::new(variant, ResolveErrorKind::InvalidVariantLiteral, self.module_path)) [INFO] [stdout] 524 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: aborting due to 35 previous errors; 7 warnings emitted [INFO] [stderr] [INFO] [stderr] For more information about this error, try `rustc --explain E0658`. [INFO] [stderr] Original diagnostics will follow. [INFO] [stderr] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/frontend/resolver/resolver.rs:701:16 [INFO] [stdout] | [INFO] [stdout] 701 | if let Some(block) = &mut item.block { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^---------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/frontend/resolver/resolver.rs:703:13 [INFO] [stdout] | [INFO] [stdout] 703 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 701 ~ match &mut item.block { Some(block) => { [INFO] [stdout] 702 | self.resolve_block(block, ret_type)?; [INFO] [stdout] 703 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/frontend/resolver/resolver.rs:717:12 [INFO] [stdout] | [INFO] [stdout] 717 | if let Some(expr) = &mut item.expr { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^--------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/frontend/resolver/resolver.rs:722:9 [INFO] [stdout] | [INFO] [stdout] 722 | } 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] 717 ~ match &mut item.expr { Some(expr) => { [INFO] [stdout] 718 | self.resolved_or_err(expr, None)?; [INFO] [stdout] ... [INFO] [stdout] 721 | self.resolved_or_err(expr, ret_type_id) [INFO] [stdout] 722 ~ } _ => { [INFO] [stdout] 723 | // no return expression, function result type must be void [INFO] [stdout] 724 | self.check_type_accepted_for(item, ret_type_id.unwrap(), TypeId::void()) // TODO check this unwrap [INFO] [stdout] 725 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/frontend/resolver/resolver.rs:853:12 [INFO] [stdout] | [INFO] [stdout] 853 | if let Some(else_block) = &mut item.else_block { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^--------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] ... [INFO] [stdout] 858 | } else if let Some(if_type_id) = item.if_block.type_id(self) { [INFO] [stdout] | ------------- this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/frontend/resolver/resolver.rs:858:9 [INFO] [stdout] | [INFO] [stdout] 858 | } else if let Some(if_type_id) = item.if_block.type_id(self) { [INFO] [stdout] | ^ [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/frontend/resolver/resolver.rs:861:9 [INFO] [stdout] | [INFO] [stdout] 861 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 853 ~ match &mut item.else_block { Some(else_block) => { [INFO] [stdout] 854 | self.resolve_block(else_block, expected_result)?; [INFO] [stdout] ... [INFO] [stdout] 857 | } [INFO] [stdout] 858 ~ } _ => { match item.if_block.type_id(self) { Some(if_type_id) => { [INFO] [stdout] 859 | // if block with a non-void result but no else block [INFO] [stdout] 860 | self.check_type_accepted_for(item, if_type_id, TypeId::void())?; // Todo: meh, using this to generate an error when we already know there is an error. [INFO] [stdout] 861 ~ } _ => {}}}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/frontend/resolver/resolver.rs:855:16 [INFO] [stdout] | [INFO] [stdout] 855 | if let (Some(if_type_id), Some(else_type_id)) = (item.if_block.type_id(self), else_block.type_id(self)) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-------------^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/frontend/resolver/resolver.rs:857:13 [INFO] [stdout] | [INFO] [stdout] 857 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 855 ~ match (item.if_block.type_id(self), else_block.type_id(self)) { (Some(if_type_id), Some(else_type_id)) => { [INFO] [stdout] 856 | self.check_type_accepted_for(item, else_type_id, if_type_id)?; [INFO] [stdout] 857 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/frontend/resolver/resolver.rs:887:20 [INFO] [stdout] | [INFO] [stdout] 887 | if let Some(type_id) = item.expr.type_id(self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^---------^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/frontend/resolver/resolver.rs:889:17 [INFO] [stdout] | [INFO] [stdout] 889 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 887 ~ match item.expr.type_id(self) { Some(type_id) => { [INFO] [stdout] 888 | self.set_type_id(&mut item.iter, type_id)?; [INFO] [stdout] 889 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/frontend/resolver/resolver.rs:893:20 [INFO] [stdout] | [INFO] [stdout] 893 | if let Some(&Type::Array(Array { type_id: Some(elements_type_id) })) = self.item_type(&item.expr) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^---------^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] ... [INFO] [stdout] 896 | } else if let (Some(iter_type_id), Some(array_type_id)) = (item.iter.type_id(self), item.expr.type_id(self)) { [INFO] [stdout] | --------- this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/frontend/resolver/resolver.rs:896:17 [INFO] [stdout] | [INFO] [stdout] 896 | } else if let (Some(iter_type_id), Some(array_type_id)) = (item.iter.type_id(self), item.expr.type_id(self)) { [INFO] [stdout] | ^ [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/frontend/resolver/resolver.rs:901:17 [INFO] [stdout] | [INFO] [stdout] 901 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 893 ~ match self.item_type(&item.expr) { Some(&Type::Array(Array { type_id: Some(elements_type_id) })) => { [INFO] [stdout] 894 | // infer iter type from array element type [INFO] [stdout] 895 | self.set_type_id(&mut item.iter, elements_type_id)?; [INFO] [stdout] 896 ~ } _ => { match (item.iter.type_id(self), item.expr.type_id(self)) { (Some(iter_type_id), Some(array_type_id)) => { [INFO] [stdout] 897 | // infer array element type from iter [INFO] [stdout] ... [INFO] [stdout] 900 | } [INFO] [stdout] 901 ~ } _ => {}}}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/frontend/resolver/resolver.rs:961:23 [INFO] [stdout] | [INFO] [stdout] 961 | } else if let Some(result_expression) = &item.result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^----------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/frontend/resolver/resolver.rs:965:13 [INFO] [stdout] | [INFO] [stdout] 965 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 961 ~ } else { match &item.result { Some(result_expression) => { [INFO] [stdout] 962 | if let Some(result_type_id) = result_expression.type_id(self) { [INFO] [stdout] 963 | self.check_type_accepted_for(item, result_type_id, expected_result)?; [INFO] [stdout] 964 | } [INFO] [stdout] 965 ~ } _ => {}}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/frontend/resolver/resolver.rs:1047:24 [INFO] [stdout] | [INFO] [stdout] 1047 | if let Some(Type::Array(array)) = self.item_type(&item.left) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^---------^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/frontend/resolver/resolver.rs:1057:21 [INFO] [stdout] | [INFO] [stdout] 1057 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1047 ~ match self.item_type(&item.left) { Some(Type::Array(array)) => { [INFO] [stdout] 1048 | if let Some(array_type_id) = array.type_id { [INFO] [stdout] ... [INFO] [stdout] 1056 | } [INFO] [stdout] 1057 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/frontend/resolver/resolver.rs:1060:20 [INFO] [stdout] | [INFO] [stdout] 1060 | if let Some(&Type::Array(Array { type_id: Some(element_type_id), .. })) = self.item_type(&item.left) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^---------^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/frontend/resolver/resolver.rs:1062:17 [INFO] [stdout] | [INFO] [stdout] 1062 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1060 ~ match self.item_type(&item.left) { Some(&Type::Array(Array { type_id: Some(element_type_id), .. })) => { [INFO] [stdout] 1061 | self.set_type_id(item, element_type_id)?; [INFO] [stdout] 1062 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/frontend/resolver/resolver.rs:1068:20 [INFO] [stdout] | [INFO] [stdout] 1068 | if let Some(ty) = self.item_type(&item.left) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^---------^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/frontend/resolver/resolver.rs:1076:17 [INFO] [stdout] | [INFO] [stdout] 1076 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1068 ~ match self.item_type(&item.left) { Some(ty) => { [INFO] [stdout] 1069 | let struct_ = ty.as_struct().unwrap_or_err(Some(item), ResolveErrorKind::InvalidOperation("Member access on a non-struct".to_string()), self.module_path)?; [INFO] [stdout] ... [INFO] [stdout] 1075 | } [INFO] [stdout] 1076 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/frontend/resolver/resolver.rs:1112:16 [INFO] [stdout] | [INFO] [stdout] 1112 | if let (None, None, Some(expr_type_id)) = (&item.ty, lhs, expr.type_id(self)) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-------^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/frontend/resolver/resolver.rs:1114:13 [INFO] [stdout] | [INFO] [stdout] 1114 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1112 ~ match (&item.ty, lhs, expr.type_id(self)) { (None, None, Some(expr_type_id)) => { [INFO] [stdout] 1113 | self.set_type_id(item, expr_type_id)?; [INFO] [stdout] 1114 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/frontend/resolver/resolver.rs:1132:20 [INFO] [stdout] | [INFO] [stdout] 1132 | if let Some(type_id) = item.expr.type_id(self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^---------^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/frontend/resolver/resolver.rs:1134:17 [INFO] [stdout] | [INFO] [stdout] 1134 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1132 ~ match item.expr.type_id(self) { Some(type_id) => { [INFO] [stdout] 1133 | self.set_type_id(item, type_id)?; [INFO] [stdout] 1134 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/frontend/resolver/resolver.rs:1145:12 [INFO] [stdout] | [INFO] [stdout] 1145 | if let LV::Bool(_) = item.value { // todo: all of these need to check expected type if any [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^---------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] ... [INFO] [stdout] 1150 | } else if let LV::String(_) = item.value { [INFO] [stdout] | ---------- this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] ... [INFO] [stdout] 1155 | } else if let LV::Array(_) = item.value { [INFO] [stdout] | ---------- this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] 1156 | self.resolve_array_literal(item, expected_type)?; [INFO] [stdout] 1157 | } else if let LV::Struct(_) = item.value { [INFO] [stdout] | ---------- this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] 1158 | self.resolve_struct_literal(item)?; [INFO] [stdout] 1159 | } else if let LV::Variant(_) = item.value { [INFO] [stdout] | ---------- this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] ... [INFO] [stdout] 1169 | } else if let (&LV::Numeric(numeric), Some(expected_type)) = (&item.value, expected_type) { [INFO] [stdout] | ---------- this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/frontend/resolver/resolver.rs:1150:9 [INFO] [stdout] | [INFO] [stdout] 1150 | } else if let LV::String(_) = item.value { [INFO] [stdout] | ^ [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/frontend/resolver/resolver.rs:1155:9 [INFO] [stdout] | [INFO] [stdout] 1155 | } else if let LV::Array(_) = item.value { [INFO] [stdout] | ^ [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/frontend/resolver/resolver.rs:1157:9 [INFO] [stdout] | [INFO] [stdout] 1157 | } else if let LV::Struct(_) = item.value { [INFO] [stdout] | ^ [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/frontend/resolver/resolver.rs:1159:9 [INFO] [stdout] | [INFO] [stdout] 1159 | } else if let LV::Variant(_) = item.value { [INFO] [stdout] | ^ [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/frontend/resolver/resolver.rs:1161:9 [INFO] [stdout] | [INFO] [stdout] 1161 | } else if let Some(type_name) = &mut item.type_name { [INFO] [stdout] | ^ [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/frontend/resolver/resolver.rs:1175:9 [INFO] [stdout] | [INFO] [stdout] 1175 | } else if self.stage.infer_literals() { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1145 ~ match item.value { LV::Bool(_) => { // todo: all of these need to check expected type if any [INFO] [stdout] 1146 | if let Some(expected_type_id) = expected_type { [INFO] [stdout] ... [INFO] [stdout] 1149 | self.set_type_id(item, self.primitive_type_id(Type::bool)?)?; [INFO] [stdout] 1150 ~ } _ => { match item.value { LV::String(_) => { [INFO] [stdout] 1151 | if let Some(expected_type_id) = expected_type { [INFO] [stdout] ... [INFO] [stdout] 1154 | self.set_type_id(item, self.primitive_type_id(Type::String)?)?; [INFO] [stdout] 1155 ~ } _ => { match item.value { LV::Array(_) => { [INFO] [stdout] 1156 | self.resolve_array_literal(item, expected_type)?; [INFO] [stdout] 1157 ~ } _ => { match item.value { LV::Struct(_) => { [INFO] [stdout] 1158 | self.resolve_struct_literal(item)?; [INFO] [stdout] 1159 ~ } _ => { match item.value { LV::Variant(_) => { [INFO] [stdout] 1160 | self.resolve_variant_literal(item, expected_type)?; // handles simple variants only. data variants are parsed as calls. [INFO] [stdout] 1161 ~ } _ => if let Some(type_name) = &mut item.type_name { [INFO] [stdout] 1162 | // literal has explicit type, use it [INFO] [stdout] ... [INFO] [stdout] 1168 | } [INFO] [stdout] 1169 ~ } else { match (&item.value, expected_type) { (&LV::Numeric(numeric), Some(expected_type)) => { [INFO] [stdout] 1170 | let ty = self.type_by_id(expected_type); [INFO] [stdout] ... [INFO] [stdout] 1174 | self.set_type_id(item, expected_type)?; [INFO] [stdout] 1175 ~ } _ => if self.stage.infer_literals() { [INFO] [stdout] 1176 | // numerics, once normal resolution has failed [INFO] [stdout] ... [INFO] [stdout] 1181 | } [INFO] [stdout] 1182 ~ }}}}}}}}}}}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/frontend/resolver/resolver.rs:1177:16 [INFO] [stdout] | [INFO] [stdout] 1177 | if let LV::Numeric(value) = item.value { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^---------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/frontend/resolver/resolver.rs:1181:13 [INFO] [stdout] | [INFO] [stdout] 1181 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1177 ~ match item.value { LV::Numeric(value) => { [INFO] [stdout] 1178 | if let Some(type_id) = self.classify_numeric(value)? { [INFO] [stdout] 1179 | self.set_type_id(item,type_id)?; [INFO] [stdout] 1180 | } [INFO] [stdout] 1181 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/frontend/resolver/error.rs:102:12 [INFO] [stdout] | [INFO] [stdout] 102 | if let Some(result) = self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^---- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/frontend/resolver/error.rs:104:9 [INFO] [stdout] | [INFO] [stdout] 104 | } 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] 102 ~ match self { Some(result) => { [INFO] [stdout] 103 | Ok(result) [INFO] [stdout] 104 ~ } _ => { [INFO] [stdout] 105 | Err(ResolveError { [INFO] [stdout] ... [INFO] [stdout] 109 | }) [INFO] [stdout] 110 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/bytecode/compiler/compiler.rs:711:12 [INFO] [stdout] | [INFO] [stdout] 711 | if let Some(returns) = &item.returns { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^------------ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] ... [INFO] [stdout] 720 | } else if let Some(result) = &item.result { [INFO] [stdout] | ----------- this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/bytecode/compiler/compiler.rs:720:9 [INFO] [stdout] | [INFO] [stdout] 720 | } else if let Some(result) = &item.result { [INFO] [stdout] | ^ [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/bytecode/compiler/compiler.rs:727:9 [INFO] [stdout] | [INFO] [stdout] 727 | } 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] 711 ~ match &item.returns { Some(returns) => { [INFO] [stdout] 712 | comment!(self, "block returning"); [INFO] [stdout] ... [INFO] [stdout] 719 | self.locals.add_exit_placeholder(exit_jump); [INFO] [stdout] 720 ~ } _ => { match &item.result { Some(result) => { [INFO] [stdout] 721 | comment!(self, "block resulting"); [INFO] [stdout] ... [INFO] [stdout] 726 | self.item_cnt(result, true, HeapRefOp::DecNoFree); [INFO] [stdout] 727 ~ } _ => { [INFO] [stdout] 728 | comment!(self, "block ending"); [INFO] [stdout] 729 | self.decref_block_locals(); [INFO] [stdout] 730 ~ }}}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/bytecode/compiler/compiler.rs:786:20 [INFO] [stdout] | [INFO] [stdout] 786 | if let ast::Expression::Variable(var) = &item.expr { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^--------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] ... [INFO] [stdout] 800 | } else if let ast::Expression::BinaryOp(binary_op) = &item.expr { [INFO] [stdout] | --------- this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/bytecode/compiler/compiler.rs:800:17 [INFO] [stdout] | [INFO] [stdout] 800 | } else if let ast::Expression::BinaryOp(binary_op) = &item.expr { [INFO] [stdout] | ^ [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/bytecode/compiler/compiler.rs:812:17 [INFO] [stdout] | [INFO] [stdout] 812 | } 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] 786 ~ match &item.expr { ast::Expression::Variable(var) => { [INFO] [stdout] 787 | comment!(self, "{}", item); [INFO] [stdout] ... [INFO] [stdout] 799 | }; [INFO] [stdout] 800 ~ } _ => { match &item.expr { ast::Expression::BinaryOp(binary_op) => { [INFO] [stdout] 801 | assert!(binary_op.op == BinaryOperator::IndexWrite || binary_op.op == BinaryOperator::AccessWrite, "Expected IndexWrite or AccessWrite operation"); [INFO] [stdout] ... [INFO] [stdout] 811 | }; [INFO] [stdout] 812 ~ } _ => { [INFO] [stdout] 813 | panic!("Operator {:?} can not be used here", item.op); [INFO] [stdout] 814 ~ }}}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/bytecode/compiler/compiler.rs:1008:16 [INFO] [stdout] | [INFO] [stdout] 1008 | if let ast::Expression::Block(block) = &assignment.right { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^---------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/bytecode/compiler/compiler.rs:1010:13 [INFO] [stdout] | [INFO] [stdout] 1010 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1008 ~ match &assignment.right { ast::Expression::Block(block) => { [INFO] [stdout] 1009 | self.create_stack_frame_block(block, frame); [INFO] [stdout] 1010 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/bytecode/compiler/compiler.rs:1015:16 [INFO] [stdout] | [INFO] [stdout] 1015 | if let ast::Expression::Block(block) = &binary_op.right { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^--------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/bytecode/compiler/compiler.rs:1017:13 [INFO] [stdout] | [INFO] [stdout] 1017 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1015 ~ match &binary_op.right { ast::Expression::Block(block) => { [INFO] [stdout] 1016 | self.create_stack_frame_block(block, frame); [INFO] [stdout] 1017 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/bytecode/compiler/compiler.rs:1019:16 [INFO] [stdout] | [INFO] [stdout] 1019 | if let ast::Expression::Block(block) = &unary_op.expr { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/bytecode/compiler/compiler.rs:1021:13 [INFO] [stdout] | [INFO] [stdout] 1021 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1019 ~ match &unary_op.expr { ast::Expression::Block(block) => { [INFO] [stdout] 1020 | self.create_stack_frame_block(block, frame); [INFO] [stdout] 1021 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/bytecode/compiler/compiler.rs:1024:16 [INFO] [stdout] | [INFO] [stdout] 1024 | if let Some(block) = &if_block.else_block { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/bytecode/compiler/compiler.rs:1026:13 [INFO] [stdout] | [INFO] [stdout] 1026 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1024 ~ match &if_block.else_block { Some(block) => { [INFO] [stdout] 1025 | self.create_stack_frame_block(block, frame); [INFO] [stdout] 1026 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/bytecode/compiler/compiler.rs:1037:20 [INFO] [stdout] | [INFO] [stdout] 1037 | if let Some(expression) = &binding.expr { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^------------ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/bytecode/compiler/compiler.rs:1039:17 [INFO] [stdout] | [INFO] [stdout] 1039 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1037 ~ match &binding.expr { Some(expression) => { [INFO] [stdout] 1038 | self.create_stack_frame_exp(expression, frame); [INFO] [stdout] 1039 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/bytecode/compiler/compiler.rs:1050:20 [INFO] [stdout] | [INFO] [stdout] 1050 | if let Some(block) = &if_block.else_block { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/bytecode/compiler/compiler.rs:1052:17 [INFO] [stdout] | [INFO] [stdout] 1052 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1050 ~ match &if_block.else_block { Some(block) => { [INFO] [stdout] 1051 | self.create_stack_frame_block(block, frame); [INFO] [stdout] 1052 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/bytecode/compiler/compiler.rs:1057:12 [INFO] [stdout] | [INFO] [stdout] 1057 | if let Some(result) = &item.result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^----------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/bytecode/compiler/compiler.rs:1059:9 [INFO] [stdout] | [INFO] [stdout] 1059 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1057 ~ match &item.result { Some(result) => { [INFO] [stdout] 1058 | self.create_stack_frame_exp(result, frame); [INFO] [stdout] 1059 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 75 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Migrating src/bench.rs from 2021 edition to 2024 [INFO] [stderr] Migrating tests/vm.rs from 2021 edition to 2024 [INFO] [stderr] Fixed tests/util.rs (2 fixes) [INFO] [stderr] Migrating tests/parser.rs from 2021 edition to 2024 [INFO] [stderr] Migrating tests/util.rs from 2021 edition to 2024 [INFO] [stdout] error[E0425]: cannot find function `parse_module` in this scope [INFO] [stdout] --> tests/parser.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | parse_module("// test\n", "").unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: consider importing this function [INFO] [stdout] | [INFO] [stdout] 2 + use itsy::parser::parse_module; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find function `parse_module` in this scope [INFO] [stdout] --> tests/parser.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | parse_module("// test", "").unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: consider importing this function [INFO] [stdout] | [INFO] [stdout] 2 + use itsy::parser::parse_module; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find function `parse_module` in this scope [INFO] [stdout] --> tests/parser.rs:16:5 [INFO] [stdout] | [INFO] [stdout] 16 | parse_module("//", "").unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: consider importing this function [INFO] [stdout] | [INFO] [stdout] 2 + use itsy::parser::parse_module; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find function `parse_module` in this scope [INFO] [stdout] --> tests/parser.rs:21:5 [INFO] [stdout] | [INFO] [stdout] 21 | parse_module("/* test */", "").unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: consider importing this function [INFO] [stdout] | [INFO] [stdout] 2 + use itsy::parser::parse_module; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find function `parse_module` in this scope [INFO] [stdout] --> tests/parser.rs:26:5 [INFO] [stdout] | [INFO] [stdout] 26 | parse_module("/* [INFO] [stdout] | ^^^^^^^^^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: consider importing this function [INFO] [stdout] | [INFO] [stdout] 2 + use itsy::parser::parse_module; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find function `parse_module` in this scope [INFO] [stdout] --> tests/parser.rs:33:5 [INFO] [stdout] | [INFO] [stdout] 33 | parse_module("/* [INFO] [stdout] | ^^^^^^^^^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: consider importing this function [INFO] [stdout] | [INFO] [stdout] 2 + use itsy::parser::parse_module; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find function `parse_module` in this scope [INFO] [stdout] --> tests/parser.rs:40:5 [INFO] [stdout] | [INFO] [stdout] 40 | parse_module(" [INFO] [stdout] | ^^^^^^^^^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: consider importing this function [INFO] [stdout] | [INFO] [stdout] 2 + use itsy::parser::parse_module; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find function `parse_module` in this scope [INFO] [stdout] --> tests/parser.rs:49:5 [INFO] [stdout] | [INFO] [stdout] 49 | parse_module(" [INFO] [stdout] | ^^^^^^^^^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: consider importing this function [INFO] [stdout] | [INFO] [stdout] 2 + use itsy::parser::parse_module; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find function `parse_module` in this scope [INFO] [stdout] --> tests/parser.rs:57:5 [INFO] [stdout] | [INFO] [stdout] 57 | parse_module(" [INFO] [stdout] | ^^^^^^^^^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: consider importing this function [INFO] [stdout] | [INFO] [stdout] 2 + use itsy::parser::parse_module; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find function `parse_module` in this scope [INFO] [stdout] --> tests/parser.rs:65:5 [INFO] [stdout] | [INFO] [stdout] 65 | parse_module(" [INFO] [stdout] | ^^^^^^^^^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: consider importing this function [INFO] [stdout] | [INFO] [stdout] 2 + use itsy::parser::parse_module; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `util::*` [INFO] [stdout] --> tests/parser.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use util::*; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `itsy` (test "parser") due to 11 previous errors; 1 warning emitted [INFO] [stdout] error: aborting due to 10 previous errors; 1 warning emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stdout] For more information about this error, try `rustc --explain E0425`. [INFO] [stdout] [INFO] [stderr] error: failed to migrate to next edition [INFO] [stderr] [INFO] [stderr] Caused by: [INFO] [stderr] process didn't exit successfully: `cargo fix --edition --allow-no-vcs --allow-dirty --frozen --all --all-targets --message-format=json` (exit status: 101) [INFO] running `Command { std: "docker" "inspect" "a563a7f1a2a3c41f9d4db37bf7f900a81b1601b49478c9b54a6a8e2c568073cb", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "a563a7f1a2a3c41f9d4db37bf7f900a81b1601b49478c9b54a6a8e2c568073cb", kill_on_drop: false }` [INFO] [stdout] a563a7f1a2a3c41f9d4db37bf7f900a81b1601b49478c9b54a6a8e2c568073cb