[INFO] fetching crate alduin 0.0.1... [INFO] checking alduin-0.0.1 against try#ccf408f4326a858c00dd845a64a86b16f360a801 for pr-129466-2 [INFO] extracting crate alduin 0.0.1 into /workspace/builds/worker-5-tc2/source [INFO] validating manifest of crates.io crate alduin 0.0.1 on toolchain ccf408f4326a858c00dd845a64a86b16f360a801 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+ccf408f4326a858c00dd845a64a86b16f360a801" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking crates.io crate alduin 0.0.1 [INFO] finished tweaking crates.io crate alduin 0.0.1 [INFO] tweaked toml for crates.io crate alduin 0.0.1 written to /workspace/builds/worker-5-tc2/source/Cargo.toml [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+ccf408f4326a858c00dd845a64a86b16f360a801" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Locking 58 packages to latest compatible versions [INFO] [stderr] Adding bitflags v1.3.2 (available: v2.6.0) [INFO] [stderr] Adding capstone v0.11.0 (available: v0.12.0) [INFO] [stderr] Adding capstone-sys v0.15.0 (available: v0.16.0) [INFO] [stderr] Adding env_logger v0.10.2 (available: v0.11.5) [INFO] [stderr] Adding fallible-iterator v0.2.0 (available: v0.3.0) [INFO] [stderr] Adding gimli v0.27.3 (available: v0.31.0) [INFO] [stderr] Adding hashbrown v0.12.3 (available: v0.14.5) [INFO] [stderr] Adding heck v0.4.1 (available: v0.5.0) [INFO] [stderr] Adding indexmap v1.9.3 (available: v2.5.0) [INFO] [stderr] Adding memmap2 v0.5.10 (available: v0.9.5) [INFO] [stderr] Adding radium v0.7.0 (available: v1.1.0) [INFO] [stderr] Adding strum v0.24.1 (available: v0.26.3) [INFO] [stderr] Adding strum_macros v0.24.3 (available: v0.26.4) [INFO] [stderr] Adding syn v1.0.109 (available: v2.0.77) [INFO] [stderr] Adding windows-sys v0.52.0 (available: v0.59.0) [INFO] [stderr] Adding wyz v0.5.1 (available: v0.6.1) [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-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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] afeb50d5e537e74d26a95f1457aac34c6fec7f89504573431ac9b2658d20a2c2 [INFO] running `Command { std: "docker" "start" "-a" "afeb50d5e537e74d26a95f1457aac34c6fec7f89504573431ac9b2658d20a2c2", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "afeb50d5e537e74d26a95f1457aac34c6fec7f89504573431ac9b2658d20a2c2", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "afeb50d5e537e74d26a95f1457aac34c6fec7f89504573431ac9b2658d20a2c2", kill_on_drop: false }` [INFO] [stdout] afeb50d5e537e74d26a95f1457aac34c6fec7f89504573431ac9b2658d20a2c2 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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] 3f0f230c692faf17bbdd0481dd63d8eae0d8812febf6852044e91af86f544d89 [INFO] running `Command { std: "docker" "start" "-a" "3f0f230c692faf17bbdd0481dd63d8eae0d8812febf6852044e91af86f544d89", kill_on_drop: false }` [INFO] [stderr] Copying to /tmp/fixit [INFO] [stderr] Running `cargo fix --edition` [INFO] [stderr] Migrating Cargo.toml from 2021 edition to 2024 [INFO] [stderr] Compiling libc v0.2.159 [INFO] [stderr] Compiling syn v1.0.109 [INFO] [stderr] Compiling shlex v1.3.0 [INFO] [stderr] Checking memchr v2.7.4 [INFO] [stderr] Compiling proc-macro-error-attr v1.0.4 [INFO] [stderr] Compiling proc-macro-error v1.0.4 [INFO] [stderr] Compiling indexmap v1.9.3 [INFO] [stderr] Compiling rustversion v1.0.17 [INFO] [stderr] Compiling cc v1.1.21 [INFO] [stderr] Checking regex-syntax v0.8.4 [INFO] [stderr] Compiling radium v0.7.0 [INFO] [stderr] Checking tap v1.0.1 [INFO] [stderr] Compiling byteorder v1.5.0 [INFO] [stderr] Checking hashbrown v0.12.3 [INFO] [stderr] Compiling bitflags v1.3.2 [INFO] [stderr] Checking aho-corasick v1.1.3 [INFO] [stderr] Compiling lazy_static v1.5.0 [INFO] [stderr] Checking wyz v0.5.1 [INFO] [stderr] Checking termcolor v1.4.1 [INFO] [stderr] Checking fallible-iterator v0.2.0 [INFO] [stderr] Checking memmap2 v0.5.10 [INFO] [stderr] Checking is-terminal v0.4.13 [INFO] [stderr] Checking stable_deref_trait v1.2.0 [INFO] [stderr] Compiling heck v0.4.1 [INFO] [stderr] Checking fnv v1.0.7 [INFO] [stderr] Checking log v0.4.22 [INFO] [stderr] Checking funty v2.0.0 [INFO] [stderr] Checking humantime v2.1.0 [INFO] [stderr] Checking gimli v0.27.3 [INFO] [stderr] Checking once_cell v1.19.0 [INFO] [stderr] Checking strum v0.24.1 [INFO] [stderr] Checking regex-automata v0.4.7 [INFO] [stderr] Compiling capstone-sys v0.15.0 [INFO] [stderr] Checking bitvec v1.0.1 [INFO] [stderr] Checking regex v1.10.6 [INFO] [stderr] Checking env_logger v0.10.2 [INFO] [stderr] Compiling dynasm v2.0.0 [INFO] [stderr] Compiling strum_macros v0.24.3 [INFO] [stderr] Checking dynasmrt v2.0.0 [INFO] [stderr] Checking capstone v0.11.0 [INFO] [stderr] Checking alduin v0.0.1 (/tmp/fixit) [INFO] [stderr] Migrating src/lib.rs from 2021 edition to 2024 [INFO] [stderr] warning: failed to automatically apply fixes suggested by rustc to crate `alduin` [INFO] [stderr] [INFO] [stderr] after fixes were automatically applied the compiler reported errors within these files: [INFO] [stderr] [INFO] [stderr] * src/backend/x64/reg_alloc.rs [INFO] [stderr] * src/compiler/graph/cfg/cfg.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/backend/x64/reg_alloc.rs:92:18 [INFO] [stderr] | [INFO] [stderr] 92 | ($filter: expr_2021, |$a:ident, $i:ident| $body: 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/compiler/graph/cfg/cfg.rs:256:14 [INFO] [stderr] | [INFO] [stderr] 256 | ($n:expr_2021) => {{ [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error: aborting due to 2 previous errors [INFO] [stderr] [INFO] [stderr] For more information about this error, try `rustc --explain E0658`. [INFO] [stderr] Original diagnostics will follow. [INFO] [stderr] [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/backend/x64/mod.rs:137:17 [INFO] [stdout] | [INFO] [stdout] 137 | codegen.gen() [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #49716 [INFO] [stdout] = note: `--force-warn keyword-idents-2024` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/backend/x64/codegen.rs:1378:12 [INFO] [stdout] | [INFO] [stdout] 1378 | pub fn gen(mut self) -> Arc { [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #49716 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unsafe attribute used without unsafe [INFO] [stdout] --> src/backend/x64/lazy_compilation_trampoline.rs:6:3 [INFO] [stdout] | [INFO] [stdout] 6 | #[no_mangle] [INFO] [stdout] | ^^^^^^^^^ usage of unsafe attribute [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123757 [INFO] [stdout] = note: `--force-warn unsafe-attr-outside-unsafe` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] help: wrap the attribute in `unsafe(...)` [INFO] [stdout] | [INFO] [stdout] 6 | #[unsafe(no_mangle)] [INFO] [stdout] | +++++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/backend/x64/reg_alloc.rs:92:27 [INFO] [stdout] | [INFO] [stdout] 92 | ($filter: expr, |$a:ident, $i:ident| $body: 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] = 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] 92 | ($filter: expr_2021, |$a:ident, $i:ident| $body: tt) => {{ [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/backend/x64/rt.rs:14:1 [INFO] [stdout] | [INFO] [stdout] 14 | extern "C" { [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | _help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | | [INFO] [stdout] 15 | | fn __register_frame(v: usize); [INFO] [stdout] 16 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] = note: `--force-warn missing-unsafe-on-extern` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/backend/x64/rt.rs:127:1 [INFO] [stdout] | [INFO] [stdout] 127 | extern "C" { [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | _help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | | [INFO] [stdout] 128 | | fn invoke_trampoline( [INFO] [stdout] 129 | | func: *const u8, [INFO] [stdout] 130 | | args: *const RawValue, [INFO] [stdout] ... | [INFO] [stdout] 134 | | ); [INFO] [stdout] 135 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/compiler/graph/cfg/cfg.rs:256:17 [INFO] [stdout] | [INFO] [stdout] 256 | ($n: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] 256 | ($n:expr_2021) => {{ [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/backend/x64/codegen.rs:141:22 [INFO] [stdout] | [INFO] [stdout] 141 | let reg = if let Some(reg) = self.cfg.liveness[self.cfg.g[n].interval].reg { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^----------^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/backend/x64/codegen.rs:143:9 [INFO] [stdout] | [INFO] [stdout] 143 | } 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] 141 ~ let reg = match self.cfg.liveness[self.cfg.g[n].interval].reg { Some(reg) => { [INFO] [stdout] 142 | reg as u8 [INFO] [stdout] 143 ~ } _ => { [INFO] [stdout] 144 | let mem = self.cfg.liveness[self.cfg.g[n].interval].mem; [INFO] [stdout] 145 | self.gen_mov_reg_stack(self.cfg.g[n].ty, TMP0, mem); [INFO] [stdout] 146 | TMP0 [INFO] [stdout] 147 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/backend/x64/codegen.rs:247:19 [INFO] [stdout] | [INFO] [stdout] 247 | } else if let Some(fixed_reg) = self.cfg.g[node].fixed_reg { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^----------^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/backend/x64/codegen.rs:256:9 [INFO] [stdout] | [INFO] [stdout] 256 | } 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] 247 ~ } else { match self.cfg.g[node].fixed_reg { Some(fixed_reg) => { [INFO] [stdout] 248 | // This node requires a fixed reg, but does not have a register assigned. [INFO] [stdout] ... [INFO] [stdout] 255 | fixed_reg as _ [INFO] [stdout] 256 ~ } _ => { [INFO] [stdout] 257 | // This node does not have a register. Load from memory [INFO] [stdout] ... [INFO] [stdout] 261 | tmp [INFO] [stdout] 262 ~ }}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/backend/x64/codegen.rs:276:19 [INFO] [stdout] | [INFO] [stdout] 276 | } else if let Some(fixed_reg) = self.cfg.g[node].fixed_reg { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^----------^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/backend/x64/codegen.rs:283:9 [INFO] [stdout] | [INFO] [stdout] 283 | } 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] 276 ~ } else { match self.cfg.g[node].fixed_reg { Some(fixed_reg) => { [INFO] [stdout] 277 | // This node requires a fixed reg, but does not have a register assigned. [INFO] [stdout] ... [INFO] [stdout] 282 | fixed_reg as _ [INFO] [stdout] 283 ~ } _ => { [INFO] [stdout] 284 | // This node does not have a register assigned. Use a temp reg [INFO] [stdout] 285 | self.cfg.g[node].temp_reg = Some(tmp); [INFO] [stdout] 286 | tmp [INFO] [stdout] 287 ~ }}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/backend/x64/codegen.rs:313:19 [INFO] [stdout] | [INFO] [stdout] 313 | } else if let Some(tmp) = self.cfg.g[node].temp_reg.take() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^----------^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/backend/x64/codegen.rs:316:9 [INFO] [stdout] | [INFO] [stdout] 316 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 313 ~ } else { match self.cfg.g[node].temp_reg.take() { Some(tmp) => { [INFO] [stdout] 314 | let mem = self.cfg.liveness[interval].mem; [INFO] [stdout] 315 | self.gen_mov_stack_reg(self.cfg.g[node].ty, tmp, mem); [INFO] [stdout] 316 ~ } _ => {}}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/backend/x64/codegen.rs:1232:24 [INFO] [stdout] | [INFO] [stdout] 1232 | if let Some(fixed_reg) = self.cfg.g[a].fixed_reg { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^----------^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/backend/x64/codegen.rs:1243:21 [INFO] [stdout] | [INFO] [stdout] 1243 | } 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] 1232 ~ match self.cfg.g[a].fixed_reg { Some(fixed_reg) => { [INFO] [stdout] 1233 | let fixed_reg = fixed_reg as u8; [INFO] [stdout] ... [INFO] [stdout] 1242 | } [INFO] [stdout] 1243 ~ } _ => { [INFO] [stdout] 1244 | // push arg to the stack [INFO] [stdout] 1245 | stack_args.push(a); [INFO] [stdout] 1246 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/backend/x64/codegen.rs:1236:32 [INFO] [stdout] | [INFO] [stdout] 1236 | ... if let Some(reg) = self.cfg.liveness[self.cfg.g[a].interval].reg { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^----------^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/backend/x64/codegen.rs:1238:29 [INFO] [stdout] | [INFO] [stdout] 1238 | ... } 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] 1236 ~ match self.cfg.liveness[self.cfg.g[a].interval].reg { Some(reg) => { [INFO] [stdout] 1237 | self.gen_mov_reg_reg(self.cfg.g[a].ty, fixed_reg, reg as u8); [INFO] [stdout] 1238 ~ } _ => { [INFO] [stdout] 1239 | let mem = self.cfg.liveness[self.cfg.g[a].interval].mem; [INFO] [stdout] 1240 | self.gen_mov_reg_stack(self.cfg.g[a].ty, fixed_reg, mem); [INFO] [stdout] 1241 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/backend/x64/codegen.rs:1258:27 [INFO] [stdout] | [INFO] [stdout] 1258 | } else if let Literal::Func(Symbol::ExternFn(ptr)) = [INFO] [stdout] | ___________________________^ [INFO] [stdout] 1259 | | self.cfg.g[node].literal.clone().unwrap() [INFO] [stdout] | |_____________________----------______________________________^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/backend/x64/codegen.rs:1265:17 [INFO] [stdout] | [INFO] [stdout] 1265 | } 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] 1258 ~ } else { match self.cfg.g[node].literal.clone().unwrap() [INFO] [stdout] 1259 ~ { Literal::Func(Symbol::ExternFn(ptr)) => { [INFO] [stdout] 1260 | dynasm! { self.ops [INFO] [stdout] ... [INFO] [stdout] 1263 | }; [INFO] [stdout] 1264 ~ } _ => { [INFO] [stdout] 1265 | // Set the callee address to 0/NULL for now. [INFO] [stdout] ... [INFO] [stdout] 1274 | self.record_static_callsite(symbol, offset); [INFO] [stdout] 1275 ~ }}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/backend/x64/codegen.rs:1281:24 [INFO] [stdout] | [INFO] [stdout] 1281 | if let Some(reg) = self.cfg.liveness[self.cfg.g[node].interval].reg { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^----------^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/backend/x64/codegen.rs:1283:21 [INFO] [stdout] | [INFO] [stdout] 1283 | } 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] 1281 ~ match self.cfg.liveness[self.cfg.g[node].interval].reg { Some(reg) => { [INFO] [stdout] 1282 | self.gen_mov_reg_reg(self.cfg.g[node].ty, fixed_reg, reg as u8); [INFO] [stdout] 1283 ~ } _ => { [INFO] [stdout] 1284 | let mem = self.cfg.liveness[self.cfg.g[node].interval].mem; [INFO] [stdout] 1285 | self.gen_mov_stack_reg(self.cfg.g[node].ty, fixed_reg, mem); [INFO] [stdout] 1286 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/compiler/graph/cfg/cfg.rs:97:16 [INFO] [stdout] | [INFO] [stdout] 97 | if let Some(block) = self.g[n].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/compiler/graph/cfg/cfg.rs:99:13 [INFO] [stdout] | [INFO] [stdout] 99 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 97 ~ match self.g[n].block { Some(block) => { [INFO] [stdout] 98 | self.g[n].block = Some(self.blocks[block].id); [INFO] [stdout] 99 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/compiler/graph/graph_builder.rs:501:16 [INFO] [stdout] | [INFO] [stdout] 501 | if let Some(v) = v.upgrade() { [INFO] [stdout] | ^^^^^^^^^^^^^^----------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/compiler/graph/graph_builder.rs:516:13 [INFO] [stdout] | [INFO] [stdout] 516 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 501 ~ match v.upgrade() { Some(v) => { [INFO] [stdout] 502 | let phi = self.new_phi_with_type(v.ty); [INFO] [stdout] ... [INFO] [stdout] 515 | v.phis.borrow_mut().insert(region, phi); [INFO] [stdout] 516 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/compiler/graph/graph_builder.rs:526:16 [INFO] [stdout] | [INFO] [stdout] 526 | if let Some(v) = v.upgrade() { [INFO] [stdout] | ^^^^^^^^^^^^^^----------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/compiler/graph/graph_builder.rs:532:13 [INFO] [stdout] | [INFO] [stdout] 532 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 526 ~ match v.upgrade() { Some(v) => { [INFO] [stdout] 527 | let current_value = v.get(); [INFO] [stdout] ... [INFO] [stdout] 531 | } [INFO] [stdout] 532 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/compiler/graph/graph_builder.rs:528:20 [INFO] [stdout] | [INFO] [stdout] 528 | if let Some(phi) = v.phis.borrow().get(&loop_start).cloned() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^---------------^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/compiler/graph/graph_builder.rs:531:17 [INFO] [stdout] | [INFO] [stdout] 531 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 528 ~ match v.phis.borrow().get(&loop_start).cloned() { Some(phi) => { [INFO] [stdout] 529 | self.graph [INFO] [stdout] 530 | .add_input(phi.cast(), InputKind::Data, current_value.cast()); [INFO] [stdout] 531 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/rt/vm/registry.rs:30:16 [INFO] [stdout] | [INFO] [stdout] 30 | if let Some(vm) = vm.upgrade() { [INFO] [stdout] | ^^^^^^^^^^^^^^^------------ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/rt/vm/registry.rs:35:13 [INFO] [stdout] | [INFO] [stdout] 35 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 30 ~ match vm.upgrade() { Some(vm) => { [INFO] [stdout] 31 | let code_range = vm.compiler.code.range(); [INFO] [stdout] ... [INFO] [stdout] 34 | } [INFO] [stdout] 35 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/rt/vm/vm.rs:51:12 [INFO] [stdout] | [INFO] [stdout] 51 | if let Some(graph) = uncompiled_functions.remove(name) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^--------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/rt/vm/vm.rs:54:9 [INFO] [stdout] | [INFO] [stdout] 54 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 51 ~ match uncompiled_functions.remove(name) { Some(graph) => { [INFO] [stdout] 52 | std::mem::drop(uncompiled_functions); [INFO] [stdout] 53 | self.compiler.compile(name.to_owned(), graph); [INFO] [stdout] 54 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/rt/vm/vm.rs:61:16 [INFO] [stdout] | [INFO] [stdout] 61 | if let Some(f) = resolver.as_ref() { [INFO] [stdout] | ^^^^^^^^^^^^^^--------^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/rt/vm/vm.rs:63:13 [INFO] [stdout] | [INFO] [stdout] 63 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 61 ~ match resolver.as_ref() { Some(f) => { [INFO] [stdout] 62 | f(name); [INFO] [stdout] 63 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 22 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Migrating tests/vm.rs from 2021 edition to 2024 [INFO] [stderr] warning: failed to automatically apply fixes suggested by rustc to crate `alduin` [INFO] [stderr] [INFO] [stderr] after fixes were automatically applied the compiler reported errors within these files: [INFO] [stderr] [INFO] [stderr] * src/backend/x64/reg_alloc.rs [INFO] [stderr] * src/compiler/graph/cfg/cfg.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/backend/x64/reg_alloc.rs:92:18 [INFO] [stderr] | [INFO] [stderr] 92 | ($filter: expr_2021, |$a:ident, $i:ident| $body: 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/compiler/graph/cfg/cfg.rs:256:14 [INFO] [stderr] | [INFO] [stderr] 256 | ($n:expr_2021) => {{ [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error: aborting due to 2 previous errors [INFO] [stderr] [INFO] [stderr] For more information about this error, try `rustc --explain E0658`. [INFO] [stderr] Original diagnostics will follow. [INFO] [stderr] [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/backend/x64/mod.rs:137:17 [INFO] [stdout] | [INFO] [stdout] 137 | codegen.gen() [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #49716 [INFO] [stdout] = note: `--force-warn keyword-idents-2024` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/backend/x64/codegen.rs:1378:12 [INFO] [stdout] | [INFO] [stdout] 1378 | pub fn gen(mut self) -> Arc { [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #49716 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unsafe attribute used without unsafe [INFO] [stdout] --> src/backend/x64/lazy_compilation_trampoline.rs:6:3 [INFO] [stdout] | [INFO] [stdout] 6 | #[no_mangle] [INFO] [stdout] | ^^^^^^^^^ usage of unsafe attribute [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123757 [INFO] [stdout] = note: `--force-warn unsafe-attr-outside-unsafe` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] help: wrap the attribute in `unsafe(...)` [INFO] [stdout] | [INFO] [stdout] 6 | #[unsafe(no_mangle)] [INFO] [stdout] | +++++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/backend/x64/reg_alloc.rs:92:27 [INFO] [stdout] | [INFO] [stdout] 92 | ($filter: expr, |$a:ident, $i:ident| $body: 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] = 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] 92 | ($filter: expr_2021, |$a:ident, $i:ident| $body: tt) => {{ [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/backend/x64/rt.rs:14:1 [INFO] [stdout] | [INFO] [stdout] 14 | extern "C" { [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | _help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | | [INFO] [stdout] 15 | | fn __register_frame(v: usize); [INFO] [stdout] 16 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] = note: `--force-warn missing-unsafe-on-extern` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/backend/x64/rt.rs:127:1 [INFO] [stdout] | [INFO] [stdout] 127 | extern "C" { [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | _help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | | [INFO] [stdout] 128 | | fn invoke_trampoline( [INFO] [stdout] 129 | | func: *const u8, [INFO] [stdout] 130 | | args: *const RawValue, [INFO] [stdout] ... | [INFO] [stdout] 134 | | ); [INFO] [stdout] 135 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/compiler/graph/cfg/cfg.rs:256:17 [INFO] [stdout] | [INFO] [stdout] 256 | ($n: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] 256 | ($n:expr_2021) => {{ [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/backend/x64/codegen.rs:141:22 [INFO] [stdout] | [INFO] [stdout] 141 | let reg = if let Some(reg) = self.cfg.liveness[self.cfg.g[n].interval].reg { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^----------^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/backend/x64/codegen.rs:143:9 [INFO] [stdout] | [INFO] [stdout] 143 | } 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] 141 ~ let reg = match self.cfg.liveness[self.cfg.g[n].interval].reg { Some(reg) => { [INFO] [stdout] 142 | reg as u8 [INFO] [stdout] 143 ~ } _ => { [INFO] [stdout] 144 | let mem = self.cfg.liveness[self.cfg.g[n].interval].mem; [INFO] [stdout] 145 | self.gen_mov_reg_stack(self.cfg.g[n].ty, TMP0, mem); [INFO] [stdout] 146 | TMP0 [INFO] [stdout] 147 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/backend/x64/codegen.rs:247:19 [INFO] [stdout] | [INFO] [stdout] 247 | } else if let Some(fixed_reg) = self.cfg.g[node].fixed_reg { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^----------^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/backend/x64/codegen.rs:256:9 [INFO] [stdout] | [INFO] [stdout] 256 | } 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] 247 ~ } else { match self.cfg.g[node].fixed_reg { Some(fixed_reg) => { [INFO] [stdout] 248 | // This node requires a fixed reg, but does not have a register assigned. [INFO] [stdout] ... [INFO] [stdout] 255 | fixed_reg as _ [INFO] [stdout] 256 ~ } _ => { [INFO] [stdout] 257 | // This node does not have a register. Load from memory [INFO] [stdout] ... [INFO] [stdout] 261 | tmp [INFO] [stdout] 262 ~ }}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/backend/x64/codegen.rs:276:19 [INFO] [stdout] | [INFO] [stdout] 276 | } else if let Some(fixed_reg) = self.cfg.g[node].fixed_reg { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^----------^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/backend/x64/codegen.rs:283:9 [INFO] [stdout] | [INFO] [stdout] 283 | } 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] 276 ~ } else { match self.cfg.g[node].fixed_reg { Some(fixed_reg) => { [INFO] [stdout] 277 | // This node requires a fixed reg, but does not have a register assigned. [INFO] [stdout] ... [INFO] [stdout] 282 | fixed_reg as _ [INFO] [stdout] 283 ~ } _ => { [INFO] [stdout] 284 | // This node does not have a register assigned. Use a temp reg [INFO] [stdout] 285 | self.cfg.g[node].temp_reg = Some(tmp); [INFO] [stdout] 286 | tmp [INFO] [stdout] 287 ~ }}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/backend/x64/codegen.rs:313:19 [INFO] [stdout] | [INFO] [stdout] 313 | } else if let Some(tmp) = self.cfg.g[node].temp_reg.take() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^----------^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/backend/x64/codegen.rs:316:9 [INFO] [stdout] | [INFO] [stdout] 316 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 313 ~ } else { match self.cfg.g[node].temp_reg.take() { Some(tmp) => { [INFO] [stdout] 314 | let mem = self.cfg.liveness[interval].mem; [INFO] [stdout] 315 | self.gen_mov_stack_reg(self.cfg.g[node].ty, tmp, mem); [INFO] [stdout] 316 ~ } _ => {}}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/backend/x64/codegen.rs:1232:24 [INFO] [stdout] | [INFO] [stdout] 1232 | if let Some(fixed_reg) = self.cfg.g[a].fixed_reg { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^----------^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/backend/x64/codegen.rs:1243:21 [INFO] [stdout] | [INFO] [stdout] 1243 | } 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] 1232 ~ match self.cfg.g[a].fixed_reg { Some(fixed_reg) => { [INFO] [stdout] 1233 | let fixed_reg = fixed_reg as u8; [INFO] [stdout] ... [INFO] [stdout] 1242 | } [INFO] [stdout] 1243 ~ } _ => { [INFO] [stdout] 1244 | // push arg to the stack [INFO] [stdout] 1245 | stack_args.push(a); [INFO] [stdout] 1246 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/backend/x64/codegen.rs:1236:32 [INFO] [stdout] | [INFO] [stdout] 1236 | ... if let Some(reg) = self.cfg.liveness[self.cfg.g[a].interval].reg { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^----------^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/backend/x64/codegen.rs:1238:29 [INFO] [stdout] | [INFO] [stdout] 1238 | ... } 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] 1236 ~ match self.cfg.liveness[self.cfg.g[a].interval].reg { Some(reg) => { [INFO] [stdout] 1237 | self.gen_mov_reg_reg(self.cfg.g[a].ty, fixed_reg, reg as u8); [INFO] [stdout] 1238 ~ } _ => { [INFO] [stdout] 1239 | let mem = self.cfg.liveness[self.cfg.g[a].interval].mem; [INFO] [stdout] 1240 | self.gen_mov_reg_stack(self.cfg.g[a].ty, fixed_reg, mem); [INFO] [stdout] 1241 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/backend/x64/codegen.rs:1258:27 [INFO] [stdout] | [INFO] [stdout] 1258 | } else if let Literal::Func(Symbol::ExternFn(ptr)) = [INFO] [stdout] | ___________________________^ [INFO] [stdout] 1259 | | self.cfg.g[node].literal.clone().unwrap() [INFO] [stdout] | |_____________________----------______________________________^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/backend/x64/codegen.rs:1265:17 [INFO] [stdout] | [INFO] [stdout] 1265 | } 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] 1258 ~ } else { match self.cfg.g[node].literal.clone().unwrap() [INFO] [stdout] 1259 ~ { Literal::Func(Symbol::ExternFn(ptr)) => { [INFO] [stdout] 1260 | dynasm! { self.ops [INFO] [stdout] ... [INFO] [stdout] 1263 | }; [INFO] [stdout] 1264 ~ } _ => { [INFO] [stdout] 1265 | // Set the callee address to 0/NULL for now. [INFO] [stdout] ... [INFO] [stdout] 1274 | self.record_static_callsite(symbol, offset); [INFO] [stdout] 1275 ~ }}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/backend/x64/codegen.rs:1281:24 [INFO] [stdout] | [INFO] [stdout] 1281 | if let Some(reg) = self.cfg.liveness[self.cfg.g[node].interval].reg { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^----------^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/backend/x64/codegen.rs:1283:21 [INFO] [stdout] | [INFO] [stdout] 1283 | } 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] 1281 ~ match self.cfg.liveness[self.cfg.g[node].interval].reg { Some(reg) => { [INFO] [stdout] 1282 | self.gen_mov_reg_reg(self.cfg.g[node].ty, fixed_reg, reg as u8); [INFO] [stdout] 1283 ~ } _ => { [INFO] [stdout] 1284 | let mem = self.cfg.liveness[self.cfg.g[node].interval].mem; [INFO] [stdout] 1285 | self.gen_mov_stack_reg(self.cfg.g[node].ty, fixed_reg, mem); [INFO] [stdout] 1286 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/compiler/graph/cfg/cfg.rs:97:16 [INFO] [stdout] | [INFO] [stdout] 97 | if let Some(block) = self.g[n].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/compiler/graph/cfg/cfg.rs:99:13 [INFO] [stdout] | [INFO] [stdout] 99 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 97 ~ match self.g[n].block { Some(block) => { [INFO] [stdout] 98 | self.g[n].block = Some(self.blocks[block].id); [INFO] [stdout] 99 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/compiler/graph/graph_builder.rs:501:16 [INFO] [stdout] | [INFO] [stdout] 501 | if let Some(v) = v.upgrade() { [INFO] [stdout] | ^^^^^^^^^^^^^^----------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/compiler/graph/graph_builder.rs:516:13 [INFO] [stdout] | [INFO] [stdout] 516 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 501 ~ match v.upgrade() { Some(v) => { [INFO] [stdout] 502 | let phi = self.new_phi_with_type(v.ty); [INFO] [stdout] ... [INFO] [stdout] 515 | v.phis.borrow_mut().insert(region, phi); [INFO] [stdout] 516 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/compiler/graph/graph_builder.rs:526:16 [INFO] [stdout] | [INFO] [stdout] 526 | if let Some(v) = v.upgrade() { [INFO] [stdout] | ^^^^^^^^^^^^^^----------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/compiler/graph/graph_builder.rs:532:13 [INFO] [stdout] | [INFO] [stdout] 532 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 526 ~ match v.upgrade() { Some(v) => { [INFO] [stdout] 527 | let current_value = v.get(); [INFO] [stdout] ... [INFO] [stdout] 531 | } [INFO] [stdout] 532 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/compiler/graph/graph_builder.rs:528:20 [INFO] [stdout] | [INFO] [stdout] 528 | if let Some(phi) = v.phis.borrow().get(&loop_start).cloned() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^---------------^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/compiler/graph/graph_builder.rs:531:17 [INFO] [stdout] | [INFO] [stdout] 531 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 528 ~ match v.phis.borrow().get(&loop_start).cloned() { Some(phi) => { [INFO] [stdout] 529 | self.graph [INFO] [stdout] 530 | .add_input(phi.cast(), InputKind::Data, current_value.cast()); [INFO] [stdout] 531 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/rt/vm/registry.rs:30:16 [INFO] [stdout] | [INFO] [stdout] 30 | if let Some(vm) = vm.upgrade() { [INFO] [stdout] | ^^^^^^^^^^^^^^^------------ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/rt/vm/registry.rs:35:13 [INFO] [stdout] | [INFO] [stdout] 35 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 30 ~ match vm.upgrade() { Some(vm) => { [INFO] [stdout] 31 | let code_range = vm.compiler.code.range(); [INFO] [stdout] ... [INFO] [stdout] 34 | } [INFO] [stdout] 35 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/rt/vm/vm.rs:51:12 [INFO] [stdout] | [INFO] [stdout] 51 | if let Some(graph) = uncompiled_functions.remove(name) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^--------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/rt/vm/vm.rs:54:9 [INFO] [stdout] | [INFO] [stdout] 54 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 51 ~ match uncompiled_functions.remove(name) { Some(graph) => { [INFO] [stdout] 52 | std::mem::drop(uncompiled_functions); [INFO] [stdout] 53 | self.compiler.compile(name.to_owned(), graph); [INFO] [stdout] 54 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/rt/vm/vm.rs:61:16 [INFO] [stdout] | [INFO] [stdout] 61 | if let Some(f) = resolver.as_ref() { [INFO] [stdout] | ^^^^^^^^^^^^^^--------^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/rt/vm/vm.rs:63:13 [INFO] [stdout] | [INFO] [stdout] 63 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 61 ~ match resolver.as_ref() { Some(f) => { [INFO] [stdout] 62 | f(name); [INFO] [stdout] 63 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 22 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Migrating tests/compiler.rs from 2021 edition to 2024 [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 16.63s [INFO] [stderr] Running `cargo check` to verify 2024 [INFO] [stderr] Checking alduin v0.0.1 (/tmp/fixit) [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/backend/x64/mod.rs:137:17 [INFO] [stdout] | [INFO] [stdout] 137 | codegen.gen() [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 137 | codegen.r#gen() [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/backend/x64/mod.rs:137:17 [INFO] [stdout] | [INFO] [stdout] 137 | codegen.gen() [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 137 | codegen.r#gen() [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/backend/x64/codegen.rs:1378:12 [INFO] [stdout] | [INFO] [stdout] 1378 | pub fn gen(mut self) -> Arc { [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 1378 | pub fn r#gen(mut self) -> Arc { [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/backend/x64/codegen.rs:1378:12 [INFO] [stdout] | [INFO] [stdout] 1378 | pub fn gen(mut self) -> Arc { [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 1378 | pub fn r#gen(mut self) -> Arc { [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: unsafe attribute used without unsafe [INFO] [stdout] --> src/backend/x64/lazy_compilation_trampoline.rs:6:3 [INFO] [stdout] | [INFO] [stdout] 6 | #[no_mangle] [INFO] [stdout] | ^^^^^^^^^ usage of unsafe attribute [INFO] [stdout] | [INFO] [stdout] help: wrap the attribute in `unsafe(...)` [INFO] [stdout] | [INFO] [stdout] 6 | #[unsafe(no_mangle)] [INFO] [stdout] | +++++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> src/backend/x64/rt.rs:14:1 [INFO] [stdout] | [INFO] [stdout] 14 | / extern "C" { [INFO] [stdout] 15 | | fn __register_frame(v: usize); [INFO] [stdout] 16 | | } [INFO] [stdout] | |_^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> src/backend/x64/rt.rs:127:1 [INFO] [stdout] | [INFO] [stdout] 127 | / extern "C" { [INFO] [stdout] 128 | | fn invoke_trampoline( [INFO] [stdout] 129 | | func: *const u8, [INFO] [stdout] 130 | | args: *const RawValue, [INFO] [stdout] ... | [INFO] [stdout] 134 | | ); [INFO] [stdout] 135 | | } [INFO] [stdout] | |_^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: unsafe attribute used without unsafe [INFO] [stdout] --> src/backend/x64/lazy_compilation_trampoline.rs:6:3 [INFO] [stdout] | [INFO] [stdout] 6 | #[no_mangle] [INFO] [stdout] | ^^^^^^^^^ usage of unsafe attribute [INFO] [stdout] | [INFO] [stdout] help: wrap the attribute in `unsafe(...)` [INFO] [stdout] | [INFO] [stdout] 6 | #[unsafe(no_mangle)] [INFO] [stdout] | +++++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> src/backend/x64/rt.rs:14:1 [INFO] [stdout] | [INFO] [stdout] 14 | / extern "C" { [INFO] [stdout] 15 | | fn __register_frame(v: usize); [INFO] [stdout] 16 | | } [INFO] [stdout] | |_^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> src/backend/x64/rt.rs:127:1 [INFO] [stdout] | [INFO] [stdout] 127 | / extern "C" { [INFO] [stdout] 128 | | fn invoke_trampoline( [INFO] [stdout] 129 | | func: *const u8, [INFO] [stdout] 130 | | args: *const RawValue, [INFO] [stdout] ... | [INFO] [stdout] 134 | | ); [INFO] [stdout] 135 | | } [INFO] [stdout] | |_^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 5 previous errors [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `alduin` (lib) due to 6 previous errors [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stdout] error: aborting due to 5 previous errors [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `alduin` (lib test) due to 6 previous errors [INFO] [stderr] error: failed to check after updating to 2024 [INFO] [stderr] [INFO] [stderr] Caused by: [INFO] [stderr] process didn't exit successfully: `cargo check --frozen --all --all-targets --message-format=json` (exit status: 101) [INFO] running `Command { std: "docker" "inspect" "3f0f230c692faf17bbdd0481dd63d8eae0d8812febf6852044e91af86f544d89", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "3f0f230c692faf17bbdd0481dd63d8eae0d8812febf6852044e91af86f544d89", kill_on_drop: false }` [INFO] [stdout] 3f0f230c692faf17bbdd0481dd63d8eae0d8812febf6852044e91af86f544d89