[INFO] cloning repository https://github.com/Fahien/acs [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Fahien/acs" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FFahien%2Facs", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FFahien%2Facs'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] c135d732efde072e0b06c20977b9f90c1dad64f4 [INFO] checking Fahien/acs/c135d732efde072e0b06c20977b9f90c1dad64f4 against try#ccf408f4326a858c00dd845a64a86b16f360a801 for pr-129466-2 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FFahien%2Facs" "/workspace/builds/worker-3-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc2/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/Fahien/acs on toolchain ccf408f4326a858c00dd845a64a86b16f360a801 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+ccf408f4326a858c00dd845a64a86b16f360a801" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/Fahien/acs [INFO] removed 0 missing tests [INFO] finished tweaking git repo https://github.com/Fahien/acs [INFO] tweaked toml for git repo https://github.com/Fahien/acs written to /workspace/builds/worker-3-tc2/source/Cargo.toml [INFO] crate git repo https://github.com/Fahien/acs already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+ccf408f4326a858c00dd845a64a86b16f360a801" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:ceb6ea022f8a89cebbe621bb4987e73a935bd40dfbb726f832cfff4742a5b95a" "/opt/rustwide/cargo-home/bin/cargo" "+ccf408f4326a858c00dd845a64a86b16f360a801" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 114f53464dd3fd9f8639e8a7814f93094606d0460bb3babd9472f4f215e8db46 [INFO] running `Command { std: "docker" "start" "-a" "114f53464dd3fd9f8639e8a7814f93094606d0460bb3babd9472f4f215e8db46", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "114f53464dd3fd9f8639e8a7814f93094606d0460bb3babd9472f4f215e8db46", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "114f53464dd3fd9f8639e8a7814f93094606d0460bb3babd9472f4f215e8db46", kill_on_drop: false }` [INFO] [stdout] 114f53464dd3fd9f8639e8a7814f93094606d0460bb3babd9472f4f215e8db46 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:ceb6ea022f8a89cebbe621bb4987e73a935bd40dfbb726f832cfff4742a5b95a" "/opt/rustwide/cargo-home/bin/cargo" "+ccf408f4326a858c00dd845a64a86b16f360a801" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 23cbe8a99f752577227ada2f22e8056ce4adb58568032895c046b8303f52fcbc [INFO] running `Command { std: "docker" "start" "-a" "23cbe8a99f752577227ada2f22e8056ce4adb58568032895c046b8303f52fcbc", 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 crc32fast v1.3.2 [INFO] [stderr] Checking miniz_oxide v0.5.4 [INFO] [stderr] Checking flate2 v1.0.24 [INFO] [stderr] Checking png v0.17.6 [INFO] [stderr] Checking acs v0.8.21 (/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 `acs` [INFO] [stderr] [INFO] [stderr] after fixes were automatically applied the compiler reported errors within these files: [INFO] [stderr] [INFO] [stderr] * src/lib.rs [INFO] [stderr] * src/mem/fast/ram.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/mem/fast/ram.rs:6:18 [INFO] [stderr] | [INFO] [stderr] 6 | ($ram:ident, $size:expr_2021, $address:ty) => { [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: ambiguous glob re-exports [INFO] [stderr] --> src/lib.rs:9:9 [INFO] [stderr] | [INFO] [stderr] 9 | pub use logic::*; [INFO] [stderr] | ^^^^^^^^ the name `fast` in the type namespace is first re-exported here [INFO] [stderr] ... [INFO] [stderr] 13 | pub use arch::*; [INFO] [stderr] | ------- but the name `fast` in the type namespace is also re-exported here [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(ambiguous_glob_reexports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: ambiguous glob re-exports [INFO] [stderr] --> src/lib.rs:15:9 [INFO] [stderr] | [INFO] [stderr] 15 | pub use asm::*; [INFO] [stderr] | ^^^^^^ the name `instruction` in the type namespace is first re-exported here [INFO] [stderr] 16 | pub mod vm; [INFO] [stderr] 17 | pub use vm::*; [INFO] [stderr] | ----- but the name `instruction` in the type namespace is also re-exported here [INFO] [stderr] [INFO] [stderr] error: aborting due to 1 previous error; 2 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: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/cal/generator.rs:573:12 [INFO] [stdout] | [INFO] [stdout] 573 | pub fn gen(&mut self, modules: &[Module]) -> Result, CalError> { [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/cal/compiler.rs:13:48 [INFO] [stdout] | [INFO] [stdout] 13 | let vm_instructions = Generator::default().gen(&[module])?; [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: ambiguous glob re-exports [INFO] [stdout] --> src/lib.rs:9:9 [INFO] [stdout] | [INFO] [stdout] 9 | pub use logic::*; [INFO] [stdout] | ^^^^^^^^ the name `fast` in the type namespace is first re-exported here [INFO] [stdout] ... [INFO] [stdout] 13 | pub use arch::*; [INFO] [stdout] | ------- but the name `fast` in the type namespace is also re-exported here [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(ambiguous_glob_reexports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/mem/fast/ram.rs:6:24 [INFO] [stdout] | [INFO] [stdout] 6 | ($ram:ident, $size:expr, $address:ty) => { [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] 6 | ($ram:ident, $size:expr_2021, $address:ty) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `ram::*` [INFO] [stdout] --> src/mem/fast/mod.rs:10:9 [INFO] [stdout] | [INFO] [stdout] 10 | pub use ram::*; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: ambiguous glob re-exports [INFO] [stdout] --> src/lib.rs:15:9 [INFO] [stdout] | [INFO] [stdout] 15 | pub use asm::*; [INFO] [stdout] | ^^^^^^ the name `instruction` in the type namespace is first re-exported here [INFO] [stdout] 16 | pub mod vm; [INFO] [stdout] 17 | pub use vm::*; [INFO] [stdout] | ----- but the name `instruction` in the type namespace is also re-exported here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/cal/parser.rs:336:15 [INFO] [stdout] | [INFO] [stdout] 336 | while let Some(statement) = self.parse_statement()? { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^----------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/cal/parser.rs:338:9 [INFO] [stdout] | [INFO] [stdout] 338 | } [INFO] [stdout] | ^ [INFO] [stdout] = note: `--force-warn if-let-rescope` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/cal/generator.rs:300:12 [INFO] [stdout] | [INFO] [stdout] 300 | if let Type::Ref(typ) = &variable.typ { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^------------ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/cal/generator.rs:307:9 [INFO] [stdout] | [INFO] [stdout] 307 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 300 ~ match &variable.typ { Type::Ref(typ) => { [INFO] [stdout] 301 | ret.push(VmInstruction::Push(segment, offset)); [INFO] [stdout] ... [INFO] [stdout] 306 | } [INFO] [stdout] 307 ~ } _ => { [INFO] [stdout] 308 | // We need to copy the stack backwards according to the size of the variable [INFO] [stdout] ... [INFO] [stdout] 312 | } [INFO] [stdout] 313 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/cal/generator.rs:348:12 [INFO] [stdout] | [INFO] [stdout] 348 | if let Type::Ref(_) = &entry.variable.typ { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^------------------ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/cal/generator.rs:354:9 [INFO] [stdout] | [INFO] [stdout] 354 | } 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] 348 ~ match &entry.variable.typ { Type::Ref(_) => { [INFO] [stdout] 349 | // Reference is already a pointer to the beginning of the array [INFO] [stdout] ... [INFO] [stdout] 353 | ret.push(VmInstruction::Pop(Segment::This, 0)); // put rhs in *pointer [INFO] [stdout] 354 ~ } _ => { [INFO] [stdout] 355 | ret.extend(vec![ [INFO] [stdout] ... [INFO] [stdout] 364 | ]); [INFO] [stdout] 365 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/cal/generator.rs:407:12 [INFO] [stdout] | [INFO] [stdout] 407 | if let Some((op, rhs)) = &expr.op_and_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/cal/generator.rs:418:9 [INFO] [stdout] | [INFO] [stdout] 418 | } 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] 407 ~ match &expr.op_and_expr { Some((op, rhs)) => { [INFO] [stdout] 408 | if *op == Operator::Assign { [INFO] [stdout] ... [INFO] [stdout] 417 | } [INFO] [stdout] 418 ~ } _ => { [INFO] [stdout] 419 | // Generate instructions for the term only [INFO] [stdout] 420 | self.gen_term(expr.term.as_ref()) [INFO] [stdout] 421 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 10 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] warning: failed to automatically apply fixes suggested by rustc to crate `acs` [INFO] [stderr] [INFO] [stderr] after fixes were automatically applied the compiler reported errors within these files: [INFO] [stderr] [INFO] [stderr] * src/lib.rs [INFO] [stderr] * src/mem/fast/ram.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/mem/fast/ram.rs:6:18 [INFO] [stderr] | [INFO] [stderr] 6 | ($ram:ident, $size:expr_2021, $address:ty) => { [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] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/cal/generator.rs:573:12 [INFO] [stdout] | [INFO] [stdout] 573 | pub fn gen(&mut self, modules: &[Module]) -> Result, CalError> { [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #49716 [INFO] [stdout] = note: `--force-warn keyword-idents-2024` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] warning: ambiguous glob re-exports [INFO] [stderr] --> src/lib.rs:9:9 [INFO] [stderr] | [INFO] [stderr] 9 | pub use logic::*; [INFO] [stderr] | ^^^^^^^^ the name `fast` in the type namespace is first re-exported here [INFO] [stderr] ... [INFO] [stderr] 13 | pub use arch::*; [INFO] [stderr] | ------- but the name `fast` in the type namespace is also re-exported here [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(ambiguous_glob_reexports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: ambiguous glob re-exports [INFO] [stderr] --> src/lib.rs:15:9 [INFO] [stderr] | [INFO] [stderr] 15 | pub use asm::*; [INFO] [stderr] | ^^^^^^ the name `instruction` in the type namespace is first re-exported here [INFO] [stderr] 16 | pub mod vm; [INFO] [stderr] 17 | pub use vm::*; [INFO] [stderr] | ----- but the name `instruction` in the type namespace is also re-exported here [INFO] [stderr] [INFO] [stderr] error: aborting due to 1 previous error; 2 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: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/cal/compiler.rs:13:48 [INFO] [stdout] | [INFO] [stdout] 13 | let vm_instructions = Generator::default().gen(&[module])?; [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: ambiguous glob re-exports [INFO] [stdout] --> src/lib.rs:9:9 [INFO] [stdout] | [INFO] [stdout] 9 | pub use logic::*; [INFO] [stdout] | ^^^^^^^^ the name `fast` in the type namespace is first re-exported here [INFO] [stdout] ... [INFO] [stdout] 13 | pub use arch::*; [INFO] [stdout] | ------- but the name `fast` in the type namespace is also re-exported here [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(ambiguous_glob_reexports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/mem/fast/ram.rs:6:24 [INFO] [stdout] | [INFO] [stdout] 6 | ($ram:ident, $size:expr, $address:ty) => { [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] 6 | ($ram:ident, $size:expr_2021, $address:ty) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `ram::*` [INFO] [stdout] --> src/mem/fast/mod.rs:10:9 [INFO] [stdout] | [INFO] [stdout] 10 | pub use ram::*; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: ambiguous glob re-exports [INFO] [stdout] --> src/lib.rs:15:9 [INFO] [stdout] | [INFO] [stdout] 15 | pub use asm::*; [INFO] [stdout] | ^^^^^^ the name `instruction` in the type namespace is first re-exported here [INFO] [stdout] 16 | pub mod vm; [INFO] [stdout] 17 | pub use vm::*; [INFO] [stdout] | ----- but the name `instruction` in the type namespace is also re-exported here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/cal/parser.rs:336:15 [INFO] [stdout] | [INFO] [stdout] 336 | while let Some(statement) = self.parse_statement()? { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^----------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/cal/parser.rs:338:9 [INFO] [stdout] | [INFO] [stdout] 338 | } [INFO] [stdout] | ^ [INFO] [stdout] = note: `--force-warn if-let-rescope` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/cal/generator.rs:300:12 [INFO] [stdout] | [INFO] [stdout] 300 | if let Type::Ref(typ) = &variable.typ { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^------------ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/cal/generator.rs:307:9 [INFO] [stdout] | [INFO] [stdout] 307 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 300 ~ match &variable.typ { Type::Ref(typ) => { [INFO] [stdout] 301 | ret.push(VmInstruction::Push(segment, offset)); [INFO] [stdout] ... [INFO] [stdout] 306 | } [INFO] [stdout] 307 ~ } _ => { [INFO] [stdout] 308 | // We need to copy the stack backwards according to the size of the variable [INFO] [stdout] ... [INFO] [stdout] 312 | } [INFO] [stdout] 313 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/cal/generator.rs:348:12 [INFO] [stdout] | [INFO] [stdout] 348 | if let Type::Ref(_) = &entry.variable.typ { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^------------------ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/cal/generator.rs:354:9 [INFO] [stdout] | [INFO] [stdout] 354 | } 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] 348 ~ match &entry.variable.typ { Type::Ref(_) => { [INFO] [stdout] 349 | // Reference is already a pointer to the beginning of the array [INFO] [stdout] ... [INFO] [stdout] 353 | ret.push(VmInstruction::Pop(Segment::This, 0)); // put rhs in *pointer [INFO] [stdout] 354 ~ } _ => { [INFO] [stdout] 355 | ret.extend(vec![ [INFO] [stdout] ... [INFO] [stdout] 364 | ]); [INFO] [stdout] 365 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/cal/generator.rs:407:12 [INFO] [stdout] | [INFO] [stdout] 407 | if let Some((op, rhs)) = &expr.op_and_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/cal/generator.rs:418:9 [INFO] [stdout] | [INFO] [stdout] 418 | } 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] 407 ~ match &expr.op_and_expr { Some((op, rhs)) => { [INFO] [stdout] 408 | if *op == Operator::Assign { [INFO] [stdout] ... [INFO] [stdout] 417 | } [INFO] [stdout] 418 ~ } _ => { [INFO] [stdout] 419 | // Generate instructions for the term only [INFO] [stdout] 420 | self.gen_term(expr.term.as_ref()) [INFO] [stdout] 421 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 10 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Migrating src/bin/compiler/main.rs from 2021 edition to 2024 [INFO] [stderr] Migrating tests/vm/mod.rs from 2021 edition to 2024 [INFO] [stderr] Migrating tests/cal/mod.rs from 2021 edition to 2024 [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 2.85s [INFO] [stderr] Running `cargo check` to verify 2024 [INFO] [stderr] Checking acs v0.8.21 (/tmp/fixit) [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/cal/generator.rs:573:12 [INFO] [stdout] | [INFO] [stdout] 573 | pub fn gen(&mut self, modules: &[Module]) -> Result, CalError> { [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 573 | pub fn r#gen(&mut self, modules: &[Module]) -> Result, CalError> { [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/cal/generator.rs:573:12 [INFO] [stdout] | [INFO] [stdout] 573 | pub fn gen(&mut self, modules: &[Module]) -> Result, CalError> { [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 573 | pub fn r#gen(&mut self, modules: &[Module]) -> Result, CalError> { [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/cal/compiler.rs:13:48 [INFO] [stdout] | [INFO] [stdout] 13 | let vm_instructions = Generator::default().gen(&[module])?; [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 13 | let vm_instructions = Generator::default().r#gen(&[module])?; [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/cal/compiler.rs:13:48 [INFO] [stdout] | [INFO] [stdout] 13 | let vm_instructions = Generator::default().gen(&[module])?; [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 13 | let vm_instructions = Generator::default().r#gen(&[module])?; [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: ambiguous glob re-exports [INFO] [stdout] --> src/lib.rs:9:9 [INFO] [stdout] | [INFO] [stdout] 9 | pub use logic::*; [INFO] [stdout] | ^^^^^^^^ the name `fast` in the type namespace is first re-exported here [INFO] [stdout] ... [INFO] [stdout] 13 | pub use arch::*; [INFO] [stdout] | ------- but the name `fast` in the type namespace is also re-exported here [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(ambiguous_glob_reexports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `ram::*` [INFO] [stdout] --> src/mem/fast/mod.rs:10:9 [INFO] [stdout] | [INFO] [stdout] 10 | pub use ram::*; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: ambiguous glob re-exports [INFO] [stdout] --> src/lib.rs:15:9 [INFO] [stdout] | [INFO] [stdout] 15 | pub use asm::*; [INFO] [stdout] | ^^^^^^ the name `instruction` in the type namespace is first re-exported here [INFO] [stdout] 16 | pub mod vm; [INFO] [stdout] 17 | pub use vm::*; [INFO] [stdout] | ----- but the name `instruction` in the type namespace is also re-exported here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: ambiguous glob re-exports [INFO] [stdout] --> src/lib.rs:9:9 [INFO] [stdout] | [INFO] [stdout] 9 | pub use logic::*; [INFO] [stdout] | ^^^^^^^^ the name `fast` in the type namespace is first re-exported here [INFO] [stdout] ... [INFO] [stdout] 13 | pub use arch::*; [INFO] [stdout] | ------- but the name `fast` in the type namespace is also re-exported here [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(ambiguous_glob_reexports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `ram::*` [INFO] [stdout] --> src/mem/fast/mod.rs:10:9 [INFO] [stdout] | [INFO] [stdout] 10 | pub use ram::*; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: ambiguous glob re-exports [INFO] [stdout] --> src/lib.rs:15:9 [INFO] [stdout] | [INFO] [stdout] 15 | pub use asm::*; [INFO] [stdout] | ^^^^^^ the name `instruction` in the type namespace is first re-exported here [INFO] [stdout] 16 | pub mod vm; [INFO] [stdout] 17 | pub use vm::*; [INFO] [stdout] | ----- but the name `instruction` in the type namespace is also re-exported here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 2 previous errors; 3 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `acs` (lib) due to 3 previous errors; 3 warnings emitted [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stdout] error: aborting due to 2 previous errors; 3 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `acs` (lib test) due to 3 previous errors; 3 warnings emitted [INFO] [stderr] error: failed to check after updating to 2024 [INFO] [stderr] [INFO] [stderr] Caused by: [INFO] [stderr] process didn't exit successfully: `cargo check --frozen --all --all-targets --message-format=json` (exit status: 101) [INFO] running `Command { std: "docker" "inspect" "23cbe8a99f752577227ada2f22e8056ce4adb58568032895c046b8303f52fcbc", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "23cbe8a99f752577227ada2f22e8056ce4adb58568032895c046b8303f52fcbc", kill_on_drop: false }` [INFO] [stdout] 23cbe8a99f752577227ada2f22e8056ce4adb58568032895c046b8303f52fcbc