[INFO] cloning repository https://github.com/ClydeHobart/aoc [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/ClydeHobart/aoc" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FClydeHobart%2Faoc", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FClydeHobart%2Faoc'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 15c21da89556983dc362a88a534863829a36f529 [INFO] checking ClydeHobart/aoc/15c21da89556983dc362a88a534863829a36f529 against try#ccf408f4326a858c00dd845a64a86b16f360a801 for pr-129466-2 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FClydeHobart%2Faoc" "/workspace/builds/worker-0-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-0-tc2/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/ClydeHobart/aoc 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/ClydeHobart/aoc [INFO] finished tweaking git repo https://github.com/ClydeHobart/aoc [INFO] tweaked toml for git repo https://github.com/ClydeHobart/aoc written to /workspace/builds/worker-0-tc2/source/Cargo.toml [INFO] crate git repo https://github.com/ClydeHobart/aoc already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+ccf408f4326a858c00dd845a64a86b16f360a801" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:ceb6ea022f8a89cebbe621bb4987e73a935bd40dfbb726f832cfff4742a5b95a" "/opt/rustwide/cargo-home/bin/cargo" "+ccf408f4326a858c00dd845a64a86b16f360a801" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 2e3b76b0703f2d8f812c24d7e845cd59e3f49cce390e588f78182fcc22864ff2 [INFO] running `Command { std: "docker" "start" "-a" "2e3b76b0703f2d8f812c24d7e845cd59e3f49cce390e588f78182fcc22864ff2", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "2e3b76b0703f2d8f812c24d7e845cd59e3f49cce390e588f78182fcc22864ff2", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "2e3b76b0703f2d8f812c24d7e845cd59e3f49cce390e588f78182fcc22864ff2", kill_on_drop: false }` [INFO] [stdout] 2e3b76b0703f2d8f812c24d7e845cd59e3f49cce390e588f78182fcc22864ff2 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:ceb6ea022f8a89cebbe621bb4987e73a935bd40dfbb726f832cfff4742a5b95a" "/opt/rustwide/cargo-home/bin/cargo" "+ccf408f4326a858c00dd845a64a86b16f360a801" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] d1b5e283e66c6be10c0501293783da66e6cadb331a7508a2af07664aeb002ec5 [INFO] running `Command { std: "docker" "start" "-a" "d1b5e283e66c6be10c0501293783da66e6cadb331a7508a2af07664aeb002ec5", 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 unicode-ident v1.0.5 [INFO] [stderr] Compiling num-traits v0.2.15 [INFO] [stderr] Compiling syn v1.0.105 [INFO] [stderr] Compiling crossbeam-utils v0.8.14 [INFO] [stderr] Compiling crossbeam-epoch v0.9.13 [INFO] [stderr] Compiling io-lifetimes v1.0.3 [INFO] [stderr] Compiling num-bigint v0.4.3 [INFO] [stderr] Compiling memchr v2.5.0 [INFO] [stderr] Compiling heck v0.4.0 [INFO] [stderr] Compiling num-integer v0.1.45 [INFO] [stderr] Compiling memoffset v0.7.1 [INFO] [stderr] Compiling rustversion v1.0.9 [INFO] [stderr] Compiling rustix v0.36.4 [INFO] [stderr] Compiling num-rational v0.4.1 [INFO] [stderr] Compiling num-iter v0.1.43 [INFO] [stderr] Checking linux-raw-sys v0.1.3 [INFO] [stderr] Compiling rayon-core v1.10.1 [INFO] [stderr] Compiling proc-macro2 v1.0.86 [INFO] [stderr] Compiling serde v1.0.208 [INFO] [stderr] Checking num_cpus v1.15.0 [INFO] [stderr] Checking os_str_bytes v6.4.1 [INFO] [stderr] Compiling serde_json v1.0.125 [INFO] [stderr] Checking either v1.8.0 [INFO] [stderr] Checking termcolor v1.1.3 [INFO] [stderr] Checking once_cell v1.16.0 [INFO] [stderr] Checking strsim v0.10.0 [INFO] [stderr] Checking minimal-lexical v0.2.1 [INFO] [stderr] Checking bitvec v1.0.1 [INFO] [stderr] Checking clap_lex v0.3.0 [INFO] [stderr] Checking memmap v0.7.0 [INFO] [stderr] Checking static_assertions v1.1.0 [INFO] [stderr] Checking md5 v0.7.0 [INFO] [stderr] Checking glam v0.25.0 [INFO] [stderr] Compiling quote v1.0.36 [INFO] [stderr] Checking crossbeam-channel v0.5.6 [INFO] [stderr] Checking nom v7.1.3 [INFO] [stderr] Compiling proc-macro-error-attr v1.0.4 [INFO] [stderr] Checking crossbeam-deque v0.8.2 [INFO] [stderr] Checking num-complex v0.4.2 [INFO] [stderr] Checking rayon v1.6.1 [INFO] [stderr] Checking is-terminal v0.4.1 [INFO] [stderr] Checking num v0.4.0 [INFO] [stderr] Compiling proc-macro-error v1.0.4 [INFO] [stderr] Compiling clap_derive v4.0.21 [INFO] [stderr] Compiling strum_macros v0.24.3 [INFO] [stderr] Compiling derive_deref v1.1.1 [INFO] [stderr] Checking strum v0.24.1 [INFO] [stderr] Checking clap v4.0.29 [INFO] [stderr] Checking aoc v0.1.0 (/tmp/fixit) [INFO] [stderr] Migrating src/lib.rs from 2021 edition to 2024 [INFO] [stderr] warning: failed to automatically apply fixes suggested by rustc to crate `aoc` [INFO] [stderr] [INFO] [stderr] after fixes were automatically applied the compiler reported errors within these files: [INFO] [stderr] [INFO] [stderr] * src/util.rs [INFO] [stderr] * src/y2016/d1.rs [INFO] [stderr] * src/y2016/d10.rs [INFO] [stderr] * src/y2016/d11.rs [INFO] [stderr] * src/y2016/d2.rs [INFO] [stderr] * src/y2016/d20.rs [INFO] [stderr] * src/y2016/d3.rs [INFO] [stderr] * src/y2016/d4.rs [INFO] [stderr] * src/y2016/d5.rs [INFO] [stderr] * src/y2016/d6.rs [INFO] [stderr] * src/y2016/d9.rs [INFO] [stderr] * src/y2021/d10.rs [INFO] [stderr] * src/y2021/d11.rs [INFO] [stderr] * src/y2021/d12.rs [INFO] [stderr] * src/y2021/d13.rs [INFO] [stderr] * src/y2021/d14.rs [INFO] [stderr] * src/y2021/d15.rs [INFO] [stderr] * src/y2021/d16.rs [INFO] [stderr] * src/y2021/d19.rs [INFO] [stderr] * src/y2021/d22.rs [INFO] [stderr] * src/y2021/d4.rs [INFO] [stderr] * src/y2021/d5.rs [INFO] [stderr] * src/y2021/d8.rs [INFO] [stderr] * src/y2021/d9.rs [INFO] [stderr] * src/y2022/d13.rs [INFO] [stderr] * src/y2022/d14.rs [INFO] [stderr] * src/y2022/d15.rs [INFO] [stderr] * src/y2022/d16.rs [INFO] [stderr] * src/y2022/d18.rs [INFO] [stderr] * src/y2022/d4.rs [INFO] [stderr] * src/y2022/d8.rs [INFO] [stderr] * src/y2022/d9.rs [INFO] [stderr] * src/y2023/d10.rs [INFO] [stderr] * src/y2023/d18.rs [INFO] [stderr] * src/y2023/d19.rs [INFO] [stderr] * src/y2023/d20.rs [INFO] [stderr] * src/y2023/d22.rs [INFO] [stderr] * src/y2023/d24.rs [INFO] [stderr] * src/y2023/d25.rs [INFO] [stderr] * src/y2023/d4.rs [INFO] [stderr] * src/y2023/d5.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/util.rs:360:6 [INFO] [stderr] | [INFO] [stderr] 360 | ($left:expr_2021, $right:expr_2021) => {{ [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/util.rs:360:23 [INFO] [stderr] | [INFO] [stderr] 360 | ($left:expr_2021, $right:expr_2021) => {{ [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/util.rs:861:53 [INFO] [stderr] | [INFO] [stderr] 861 | $variant:ident = $variant_const:ident = $variant_u8:expr_2021 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/y2016/d1.rs:205:23 [INFO] [stderr] | [INFO] [stderr] 205 | [ $( [ $( $turn:expr_2021, $blocks:literal);* ], )* ] => { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/y2016/d2.rs:229:27 [INFO] [stderr] | [INFO] [stderr] 229 | [ $( [ $( $dir:expr_2021, )* ], )* ] => { [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/y2016/d3.rs:156:19 [INFO] [stderr] | [INFO] [stderr] 156 | [ $( ($a:expr_2021, $b:expr_2021, $c:expr_2021), )* ] => { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/y2016/d3.rs:156:33 [INFO] [stderr] | [INFO] [stderr] 156 | [ $( ($a:expr_2021, $b:expr_2021, $c:expr_2021), )* ] => { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/y2016/d3.rs:156:47 [INFO] [stderr] | [INFO] [stderr] 156 | [ $( ($a:expr_2021, $b:expr_2021, $c:expr_2021), )* ] => { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/y2016/d4.rs:196:20 [INFO] [stderr] | [INFO] [stderr] 196 | [ $( { $encrypted_name:expr_2021, $sector_id:expr_2021, [ $checksum: expr_2021 ] }, )* ] => { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/y2016/d4.rs:196:47 [INFO] [stderr] | [INFO] [stderr] 196 | [ $( { $encrypted_name:expr_2021, $sector_id:expr_2021, [ $checksum: expr_2021 ] }, )* ] => { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/y2016/d4.rs:196:71 [INFO] [stderr] | [INFO] [stderr] 196 | [ $( { $encrypted_name:expr_2021, $sector_id:expr_2021, [ $checksum: expr_2021 ] }, )* ] => { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/y2016/d6.rs:146:15 [INFO] [stderr] | [INFO] [stderr] 146 | ( $width:expr_2021, $( [ $( $c:expr_2021 ),* ], )* ) => { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/y2016/d6.rs:146:41 [INFO] [stderr] | [INFO] [stderr] 146 | ( $width:expr_2021, $( [ $( $c:expr_2021 ),* ], )* ) => { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/y2016/d9.rs:297:14 [INFO] [stderr] | [INFO] [stderr] 297 | ($range:expr_2021) => { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/y2016/d9.rs:300:14 [INFO] [stderr] | [INFO] [stderr] 300 | ($range:expr_2021, $repetitions:expr_2021) => { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/y2016/d9.rs:300:32 [INFO] [stderr] | [INFO] [stderr] 300 | ($range:expr_2021, $repetitions:expr_2021) => { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/y2016/d9.rs:309:20 [INFO] [stderr] | [INFO] [stderr] 309 | [ $( ( $range:expr_2021 $(, $repetitions:expr_2021)? ), )* ] => { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/y2016/d9.rs:309:41 [INFO] [stderr] | [INFO] [stderr] 309 | [ $( ( $range:expr_2021 $(, $repetitions:expr_2021)? ), )* ] => { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/y2016/d10.rs:487:19 [INFO] [stderr] | [INFO] [stderr] 487 | [ $( ($value:expr_2021, $bot:expr_2021), )* ] => { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/y2016/d10.rs:487:37 [INFO] [stderr] | [INFO] [stderr] 487 | [ $( ($value:expr_2021, $bot:expr_2021), )* ] => { [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/y2016/d10.rs:493:19 [INFO] [stderr] | [INFO] [stderr] 493 | [ $( ($bot:expr_2021, $low:expr_2021, $high:expr_2021), )* ] => { { [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/y2016/d10.rs:493:35 [INFO] [stderr] | [INFO] [stderr] 493 | [ $( ($bot:expr_2021, $low:expr_2021, $high:expr_2021), )* ] => { { [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/y2016/d10.rs:493:51 [INFO] [stderr] | [INFO] [stderr] 493 | [ $( ($bot:expr_2021, $low:expr_2021, $high:expr_2021), )* ] => { { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/y2021/d4.rs:306:18 [INFO] [stderr] | [INFO] [stderr] 306 | [$( ($board:expr_2021, $pos:expr_2021), )*] => { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/y2021/d4.rs:306:36 [INFO] [stderr] | [INFO] [stderr] 306 | [$( ($board:expr_2021, $pos:expr_2021), )*] => { [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/y2021/d5.rs:256:21 [INFO] [stderr] | [INFO] [stderr] 256 | $( ($ax:expr_2021, $ay:expr_2021) -> ($bx:expr_2021, $by:expr_2021) ),* ; [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/y2021/d5.rs:256:36 [INFO] [stderr] | [INFO] [stderr] 256 | $( ($ax:expr_2021, $ay:expr_2021) -> ($bx:expr_2021, $by:expr_2021) ),* ; [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/y2021/d5.rs:256:55 [INFO] [stderr] | [INFO] [stderr] 256 | $( ($ax:expr_2021, $ay:expr_2021) -> ($bx:expr_2021, $by:expr_2021) ),* ; [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/y2021/d5.rs:256:70 [INFO] [stderr] | [INFO] [stderr] 256 | $( ($ax:expr_2021, $ay:expr_2021) -> ($bx:expr_2021, $by:expr_2021) ),* ; [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/y2021/d5.rs:257:19 [INFO] [stderr] | [INFO] [stderr] 257 | ( $min_x:expr_2021, $min_y:expr_2021 )..( $max_x:expr_2021, $max_y:expr_2021 ) [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/y2021/d5.rs:257:37 [INFO] [stderr] | [INFO] [stderr] 257 | ( $min_x:expr_2021, $min_y:expr_2021 )..( $max_x:expr_2021, $max_y:expr_2021 ) [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/y2021/d5.rs:257:59 [INFO] [stderr] | [INFO] [stderr] 257 | ( $min_x:expr_2021, $min_y:expr_2021 )..( $max_x:expr_2021, $max_y:expr_2021 ) [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/y2021/d5.rs:257:77 [INFO] [stderr] | [INFO] [stderr] 257 | ( $min_x:expr_2021, $min_y:expr_2021 )..( $max_x:expr_2021, $max_y:expr_2021 ) [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/y2021/d8.rs:468:18 [INFO] [stderr] | [INFO] [stderr] 468 | [ $( $sp:expr_2021 ),* $(,)? ] => { [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/y2021/d9.rs:283:19 [INFO] [stderr] | [INFO] [stderr] 283 | [ $( [ $( $height:expr_2021 ),* ], )*] => { vec![ $( $( Height($height), )* )* ] }; [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/y2021/d10.rs:229:20 [INFO] [stderr] | [INFO] [stderr] 229 | [ $( { $range:expr_2021, $status:expr_2021, }, )* ] => { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/y2021/d10.rs:229:38 [INFO] [stderr] | [INFO] [stderr] 229 | [ $( { $range:expr_2021, $status:expr_2021, }, )* ] => { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/y2021/d11.rs:224:23 [INFO] [stderr] | [INFO] [stderr] 224 | [ $( [ $( $light:expr_2021 ),* ], )* ] => { vec![ $( $( Light($light), )* )* ] }; [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/y2021/d12.rs:364:10 [INFO] [stderr] | [INFO] [stderr] 364 | ($tag:expr_2021) => { [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/y2021/d12.rs:370:16 [INFO] [stderr] | [INFO] [stderr] 370 | [ $( { $tag:expr_2021, [ $( $neighbor:expr_2021 ),* ] }, )* ] => { Solution(vec![ $( Vertex { [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/y2021/d12.rs:370:37 [INFO] [stderr] | [INFO] [stderr] 370 | [ $( { $tag:expr_2021, [ $( $neighbor:expr_2021 ),* ] }, )* ] => { Solution(vec![ $( Vertex { [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/y2021/d13.rs:266:18 [INFO] [stderr] | [INFO] [stderr] 266 | { [ $( ( $x:expr_2021, $y:expr_2021 ), )* ], [ $( $fold:ident($i:expr_2021), )* ], } => { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/y2021/d13.rs:266:32 [INFO] [stderr] | [INFO] [stderr] 266 | { [ $( ( $x:expr_2021, $y:expr_2021 ), )* ], [ $( $fold:ident($i:expr_2021), )* ], } => { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/y2021/d13.rs:266:71 [INFO] [stderr] | [INFO] [stderr] 266 | { [ $( ( $x:expr_2021, $y:expr_2021 ), )* ], [ $( $fold:ident($i:expr_2021), )* ], } => { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/y2021/d14.rs:629:33 [INFO] [stderr] | [INFO] [stderr] 629 | macro_rules! polymer { [ $( $element_index:expr_2021 ),* $(,)? ] => { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/y2021/d14.rs:633:44 [INFO] [stderr] | [INFO] [stderr] 633 | macro_rules! rule_frequencies { { [ $( $rule_count:expr_2021 ),* $(,)? ], $steps:expr_2021 } => { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/y2021/d14.rs:633:79 [INFO] [stderr] | [INFO] [stderr] 633 | macro_rules! rule_frequencies { { [ $( $rule_count:expr_2021 ),* $(,)? ], $steps:expr_2021 } => { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/y2021/d14.rs:642:18 [INFO] [stderr] | [INFO] [stderr] 642 | [ $( $element:expr_2021 ),* $(,)? ], [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/y2021/d14.rs:643:18 [INFO] [stderr] | [INFO] [stderr] 643 | [ $( $element_index:expr_2021 ),* $(,)? ], [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/y2021/d14.rs:644:13 [INFO] [stderr] | [INFO] [stderr] 644 | $rules:expr_2021 [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/y2021/d14.rs:659:18 [INFO] [stderr] | [INFO] [stderr] 659 | [ $( $element:expr_2021 ),* $(,)? ], [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/y2021/d14.rs:660:18 [INFO] [stderr] | [INFO] [stderr] 660 | [ $( $element_index:expr_2021 ),* $(,)? ], [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/y2021/d14.rs:661:13 [INFO] [stderr] | [INFO] [stderr] 661 | $rules:expr_2021, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/y2021/d14.rs:663:22 [INFO] [stderr] | [INFO] [stderr] 663 | [ $( $rule_count:expr_2021 ),* $(,)? ], [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/y2021/d14.rs:664:17 [INFO] [stderr] | [INFO] [stderr] 664 | $steps:expr_2021 [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/y2021/d15.rs:330:27 [INFO] [stderr] | [INFO] [stderr] 330 | [ $( [ $( $risk_level:expr_2021 ),* ], )* ] => { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/y2021/d16.rs:559:10 [INFO] [stderr] | [INFO] [stderr] 559 | ($hex_str:expr_2021, $start_bit:expr_2021, $end_bit:expr_2021) => { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/y2021/d16.rs:559:30 [INFO] [stderr] | [INFO] [stderr] 559 | ($hex_str:expr_2021, $start_bit:expr_2021, $end_bit:expr_2021) => { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/y2021/d16.rs:559:52 [INFO] [stderr] | [INFO] [stderr] 559 | ($hex_str:expr_2021, $start_bit:expr_2021, $end_bit:expr_2021) => { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/y2021/d16.rs:566:10 [INFO] [stderr] | [INFO] [stderr] 566 | ($hex_str:expr_2021) => { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/y2021/d19.rs:1203:11 [INFO] [stderr] | [INFO] [stderr] 1203 | [ $minimum_overlapping_beacons:expr_2021, $( [ $( ($x:expr_2021, $y:expr_2021, $z:expr_2021), )* ], )* ] => { { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/y2021/d19.rs:1203:60 [INFO] [stderr] | [INFO] [stderr] 1203 | [ $minimum_overlapping_beacons:expr_2021, $( [ $( ($x:expr_2021, $y:expr_2021, $z:expr_2021), )* ], )* ] => { { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/y2021/d19.rs:1203:74 [INFO] [stderr] | [INFO] [stderr] 1203 | [ $minimum_overlapping_beacons:expr_2021, $( [ $( ($x:expr_2021, $y:expr_2021, $z:expr_2021), )* ], )* ] => { { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/y2021/d19.rs:1203:88 [INFO] [stderr] | [INFO] [stderr] 1203 | [ $minimum_overlapping_beacons:expr_2021, $( [ $( ($x:expr_2021, $y:expr_2021, $z:expr_2021), )* ], )* ] => { { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/y2021/d22.rs:398:25 [INFO] [stderr] | [INFO] [stderr] 398 | [ $( $on:ident => x=$x_range:expr_2021,y=$y_range:expr_2021,z=$z_range:expr_2021),* ;$add_one:expr_2021] => { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/y2021/d22.rs:398:46 [INFO] [stderr] | [INFO] [stderr] 398 | [ $( $on:ident => x=$x_range:expr_2021,y=$y_range:expr_2021,z=$z_range:expr_2021),* ;$add_one:expr_2021] => { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/y2021/d22.rs:398:67 [INFO] [stderr] | [INFO] [stderr] 398 | [ $( $on:ident => x=$x_range:expr_2021,y=$y_range:expr_2021,z=$z_range:expr_2021),* ;$add_one:expr_2021] => { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/y2021/d22.rs:398:90 [INFO] [stderr] | [INFO] [stderr] 398 | [ $( $on:ident => x=$x_range:expr_2021,y=$y_range:expr_2021,z=$z_range:expr_2021),* ;$add_one:expr_2021] => { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/y2021/d22.rs:414:25 [INFO] [stderr] | [INFO] [stderr] 414 | [ $( $on:ident => x=$x_range:expr_2021,y=$y_range:expr_2021,z=$z_range:expr_2021, )* ] => { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/y2021/d22.rs:414:46 [INFO] [stderr] | [INFO] [stderr] 414 | [ $( $on:ident => x=$x_range:expr_2021,y=$y_range:expr_2021,z=$z_range:expr_2021, )* ] => { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/y2021/d22.rs:414:67 [INFO] [stderr] | [INFO] [stderr] 414 | [ $( $on:ident => x=$x_range:expr_2021,y=$y_range:expr_2021,z=$z_range:expr_2021, )* ] => { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/y2022/d4.rs:279:24 [INFO] [stderr] | [INFO] [stderr] 279 | [ $( ( $sa_0:expr_2021, $sa_1:expr_2021 ), )* ] => { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/y2022/d4.rs:279:41 [INFO] [stderr] | [INFO] [stderr] 279 | [ $( ( $sa_0:expr_2021, $sa_1:expr_2021 ), )* ] => { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/y2022/d8.rs:152:41 [INFO] [stderr] | [INFO] [stderr] 152 | macro_rules! heights { [ $( $height:expr_2021 ),* ] => { vec![ $( Height($height), )* ] }; } [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/y2022/d9.rs:446:21 [INFO] [stderr] | [INFO] [stderr] 446 | [$((h: ($hx:expr_2021, $hy:expr_2021), t: ($tx:expr_2021, $ty:expr_2021)),)*] => { [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/y2022/d9.rs:446:36 [INFO] [stderr] | [INFO] [stderr] 446 | [$((h: ($hx:expr_2021, $hy:expr_2021), t: ($tx:expr_2021, $ty:expr_2021)),)*] => { [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/y2022/d9.rs:446:56 [INFO] [stderr] | [INFO] [stderr] 446 | [$((h: ($hx:expr_2021, $hy:expr_2021), t: ($tx:expr_2021, $ty:expr_2021)),)*] => { [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/y2022/d9.rs:446:71 [INFO] [stderr] | [INFO] [stderr] 446 | [$((h: ($hx:expr_2021, $hy:expr_2021), t: ($tx:expr_2021, $ty:expr_2021)),)*] => { [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/y2022/d9.rs:516:33 [INFO] [stderr] | [INFO] [stderr] 516 | [$(($dir:ident, $dist:expr_2021),)*] => { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/y2022/d13.rs:335:25 [INFO] [stderr] | [INFO] [stderr] 335 | macro_rules! l { [$($i: expr_2021),*] => { Packet::List(vec![ $( $i, )* ]) }; } [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/y2022/d14.rs:475:34 [INFO] [stderr] | [INFO] [stderr] 475 | macro_rules! points { [$($x:expr_2021, $y:expr_2021)=>*] => { vec![ $( IVec2::new($x, $y) ),*] }; } [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/y2022/d14.rs:475:48 [INFO] [stderr] | [INFO] [stderr] 475 | macro_rules! points { [$($x:expr_2021, $y:expr_2021)=>*] => { vec![ $( IVec2::new($x, $y) ),*] }; } [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/y2022/d15.rs:742:22 [INFO] [stderr] | [INFO] [stderr] 742 | ($({ s: ($sx:expr_2021, $sy:expr_2021), b: ($bx:expr_2021, $by:expr_2021) }, )*) => { [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/y2022/d15.rs:742:37 [INFO] [stderr] | [INFO] [stderr] 742 | ($({ s: ($sx:expr_2021, $sy:expr_2021), b: ($bx:expr_2021, $by:expr_2021) }, )*) => { [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/y2022/d15.rs:742:57 [INFO] [stderr] | [INFO] [stderr] 742 | ($({ s: ($sx:expr_2021, $sy:expr_2021), b: ($bx:expr_2021, $by:expr_2021) }, )*) => { [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/y2022/d15.rs:742:72 [INFO] [stderr] | [INFO] [stderr] 742 | ($({ s: ($sx:expr_2021, $sy:expr_2021), b: ($bx:expr_2021, $by:expr_2021) }, )*) => { [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/y2022/d16.rs:1761:22 [INFO] [stderr] | [INFO] [stderr] 1761 | [ $( $tag:expr_2021 , $flow_rate:expr_2021 => $( $neighbor:expr_2021 ),* ;)* ] => { [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/y2022/d16.rs:1761:39 [INFO] [stderr] | [INFO] [stderr] 1761 | [ $( $tag:expr_2021 , $flow_rate:expr_2021 => $( $neighbor:expr_2021 ),* ;)* ] => { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/y2022/d16.rs:1761:66 [INFO] [stderr] | [INFO] [stderr] 1761 | [ $( $tag:expr_2021 , $flow_rate:expr_2021 => $( $neighbor:expr_2021 ),* ;)* ] => { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/y2022/d16.rs:1798:22 [INFO] [stderr] | [INFO] [stderr] 1798 | ... [ $( $present_dest_tags:expr_2021 => [ $( $verts_between_tags:expr_2021 => ($dest_tag:expr_2021, $cost:expr_2021) ,)* ] ,)* ] => { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/y2022/d16.rs:1798:59 [INFO] [stderr] | [INFO] [stderr] 1798 | ... [ $( $present_dest_tags:expr_2021 => [ $( $verts_between_tags:expr_2021 => ($dest_tag:expr_2021, $cost:expr_2021) ,)* ] ,)* ] => { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/y2022/d16.rs:1798:93 [INFO] [stderr] | [INFO] [stderr] 1798 | ... [ $( $present_dest_tags:expr_2021 => [ $( $verts_between_tags:expr_2021 => ($dest_tag:expr_2021, $cost:expr_2021) ,)* ] ,)* ] => { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/y2022/d16.rs:1798:114 [INFO] [stderr] | [INFO] [stderr] 1798 | ... [ $( $present_dest_tags:expr_2021 => [ $( $verts_between_tags:expr_2021 => ($dest_tag:expr_2021, $cost:expr_2021) ,)* ] ,)* ] => { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/y2022/d18.rs:401:23 [INFO] [stderr] | [INFO] [stderr] 401 | ($( ( $x:expr_2021, $y:expr_2021, $z:expr_2021 ), )*) => { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/y2022/d18.rs:401:37 [INFO] [stderr] | [INFO] [stderr] 401 | ($( ( $x:expr_2021, $y:expr_2021, $z:expr_2021 ), )*) => { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/y2022/d18.rs:401:51 [INFO] [stderr] | [INFO] [stderr] 401 | ($( ( $x:expr_2021, $y:expr_2021, $z:expr_2021 ), )*) => { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/y2023/d4.rs:156:14 [INFO] [stderr] | [INFO] [stderr] 156 | [ $( $number:expr_2021, )* ] => { { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/y2023/d4.rs:168:14 [INFO] [stderr] | [INFO] [stderr] 168 | ( $( $winning_number:expr_2021 ),* ; $( $held_number:expr_2021 ),* ) => { { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/y2023/d4.rs:168:49 [INFO] [stderr] | [INFO] [stderr] 168 | ( $( $winning_number:expr_2021 ),* ; $( $held_number:expr_2021 ),* ) => { { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/y2023/d5.rs:345:10 [INFO] [stderr] | [INFO] [stderr] 345 | ($destination_start:expr_2021, $source_start:expr_2021, $range_len:expr_2021) => { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/y2023/d5.rs:345:40 [INFO] [stderr] | [INFO] [stderr] 345 | ($destination_start:expr_2021, $source_start:expr_2021, $range_len:expr_2021) => { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/y2023/d5.rs:345:65 [INFO] [stderr] | [INFO] [stderr] 345 | ($destination_start:expr_2021, $source_start:expr_2021, $range_len:expr_2021) => { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/y2023/d5.rs:355:14 [INFO] [stderr] | [INFO] [stderr] 355 | [ $( $destination_start:expr_2021, $source_start:expr_2021, $range_len:expr_2021; )* ] => { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/y2023/d5.rs:355:44 [INFO] [stderr] | [INFO] [stderr] 355 | [ $( $destination_start:expr_2021, $source_start:expr_2021, $range_len:expr_2021; )* ] => { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/y2023/d5.rs:355:69 [INFO] [stderr] | [INFO] [stderr] 355 | [ $( $destination_start:expr_2021, $source_start:expr_2021, $range_len:expr_2021; )* ] => { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/y2023/d10.rs:558:23 [INFO] [stderr] | [INFO] [stderr] 558 | [ $( [ $( $cell:expr_2021, )* ], )* ($x:expr_2021, $y:expr_2021), ] => { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/y2023/d10.rs:558:50 [INFO] [stderr] | [INFO] [stderr] 558 | [ $( [ $( $cell:expr_2021, )* ], )* ($x:expr_2021, $y:expr_2021), ] => { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/y2023/d10.rs:558:64 [INFO] [stderr] | [INFO] [stderr] 558 | [ $( [ $( $cell:expr_2021, )* ], )* ($x:expr_2021, $y:expr_2021), ] => { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/y2023/d18.rs:370:30 [INFO] [stderr] | [INFO] [stderr] 370 | [ $( $dir:ident, $dist:expr_2021, $color:expr_2021; )*] => { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/y2023/d18.rs:370:47 [INFO] [stderr] | [INFO] [stderr] 370 | [ $( $dir:ident, $dist:expr_2021, $color:expr_2021; )*] => { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/y2023/d19.rs:610:18 [INFO] [stderr] | [INFO] [stderr] 610 | [ $( $id:expr_2021 => $rule_range:expr_2021, )* ] => { vec![ $( Workflow { [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/y2023/d19.rs:610:35 [INFO] [stderr] | [INFO] [stderr] 610 | [ $( $id:expr_2021 => $rule_range:expr_2021, )* ] => { vec![ $( Workflow { [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/y2023/d19.rs:635:18 [INFO] [stderr] | [INFO] [stderr] 635 | [ $( $dest:expr_2021 $( => $rating_type:ident $comparison:ident $value:expr_2021 )? , )* ] => { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/y2023/d19.rs:635:77 [INFO] [stderr] | [INFO] [stderr] 635 | [ $( $dest:expr_2021 $( => $rating_type:ident $comparison:ident $value:expr_2021 )? , )* ] => { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/y2023/d20.rs:777:18 [INFO] [stderr] | [INFO] [stderr] 777 | [ $( $label:expr_2021, $module_type:expr_2021, $inputs:expr_2021, $outputs:expr_2021; )* ] => { vec![ $( [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/y2023/d20.rs:777:36 [INFO] [stderr] | [INFO] [stderr] 777 | [ $( $label:expr_2021, $module_type:expr_2021, $inputs:expr_2021, $outputs:expr_2021; )* ] => { vec![ $( [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/y2023/d20.rs:777:60 [INFO] [stderr] | [INFO] [stderr] 777 | [ $( $label:expr_2021, $module_type:expr_2021, $inputs:expr_2021, $outputs:expr_2021; )* ] => { vec![ $( [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/y2023/d20.rs:777:79 [INFO] [stderr] | [INFO] [stderr] 777 | [ $( $label:expr_2021, $module_type:expr_2021, $inputs:expr_2021, $outputs:expr_2021; )* ] => { vec![ $( [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/y2023/d22.rs:334:14 [INFO] [stderr] | [INFO] [stderr] 334 | [ $( $x1:expr_2021, $y1:expr_2021, $z1:expr_2021 => $x2:expr_2021, $y2:expr_2021, $z2:expr_2021; )* ] => { vec![ $( [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/y2023/d22.rs:334:29 [INFO] [stderr] | [INFO] [stderr] 334 | [ $( $x1:expr_2021, $y1:expr_2021, $z1:expr_2021 => $x2:expr_2021, $y2:expr_2021, $z2:expr_2021; )* ] => { vec![ $( [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/y2023/d22.rs:334:44 [INFO] [stderr] | [INFO] [stderr] 334 | [ $( $x1:expr_2021, $y1:expr_2021, $z1:expr_2021 => $x2:expr_2021, $y2:expr_2021, $z2:expr_2021; )* ] => { vec![ $( [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/y2023/d22.rs:334:61 [INFO] [stderr] | [INFO] [stderr] 334 | [ $( $x1:expr_2021, $y1:expr_2021, $z1:expr_2021 => $x2:expr_2021, $y2:expr_2021, $z2:expr_2021; )* ] => { vec![ $( [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/y2023/d22.rs:334:76 [INFO] [stderr] | [INFO] [stderr] 334 | [ $( $x1:expr_2021, $y1:expr_2021, $z1:expr_2021 => $x2:expr_2021, $y2:expr_2021, $z2:expr_2021; )* ] => { vec![ $( [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/y2023/d22.rs:334:91 [INFO] [stderr] | [INFO] [stderr] 334 | [ $( $x1:expr_2021, $y1:expr_2021, $z1:expr_2021 => $x2:expr_2021, $y2:expr_2021, $z2:expr_2021; )* ] => { vec![ $( [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/y2023/d24.rs:413:18 [INFO] [stderr] | [INFO] [stderr] 413 | [ $( $px:expr_2021, $py:expr_2021, $pz:expr_2021, $vx:expr_2021, $vy:expr_2021, $vz:expr_2021; )* ] => { vec![ $( [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/y2023/d24.rs:413:33 [INFO] [stderr] | [INFO] [stderr] 413 | [ $( $px:expr_2021, $py:expr_2021, $pz:expr_2021, $vx:expr_2021, $vy:expr_2021, $vz:expr_2021; )* ] => { vec![ $( [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/y2023/d24.rs:413:48 [INFO] [stderr] | [INFO] [stderr] 413 | [ $( $px:expr_2021, $py:expr_2021, $pz:expr_2021, $vx:expr_2021, $vy:expr_2021, $vz:expr_2021; )* ] => { vec![ $( [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/y2023/d24.rs:413:63 [INFO] [stderr] | [INFO] [stderr] 413 | [ $( $px:expr_2021, $py:expr_2021, $pz:expr_2021, $vx:expr_2021, $vy:expr_2021, $vz:expr_2021; )* ] => { vec![ $( [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/y2023/d24.rs:413:78 [INFO] [stderr] | [INFO] [stderr] 413 | [ $( $px:expr_2021, $py:expr_2021, $pz:expr_2021, $vx:expr_2021, $vy:expr_2021, $vz:expr_2021; )* ] => { vec![ $( [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/y2023/d24.rs:413:93 [INFO] [stderr] | [INFO] [stderr] 413 | [ $( $px:expr_2021, $py:expr_2021, $pz:expr_2021, $vx:expr_2021, $vy:expr_2021, $vz:expr_2021; )* ] => { vec![ $( [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/y2023/d25.rs:399:20 [INFO] [stderr] | [INFO] [stderr] 399 | { $( ( $key:expr_2021, [ $( $value_tag:expr_2021, )* ], ), )* } => { [ $( [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/y2023/d25.rs:399:41 [INFO] [stderr] | [INFO] [stderr] 399 | { $( ( $key:expr_2021, [ $( $value_tag:expr_2021, )* ], ), )* } => { [ $( [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/y2016/d2.rs:255:19 [INFO] [stderr] | [INFO] [stderr] 255 | [ $( ($x:expr_2021, $y:expr_2021), )* ] => { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/y2016/d2.rs:255:33 [INFO] [stderr] | [INFO] [stderr] 255 | [ $( ($x:expr_2021, $y:expr_2021), )* ] => { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/y2016/d11.rs:897:20 [INFO] [stderr] | [INFO] [stderr] 897 | [ $( ( $generator:expr_2021, $microchip:expr_2021 ), )* ] => { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/y2016/d11.rs:897:42 [INFO] [stderr] | [INFO] [stderr] 897 | [ $( ( $generator:expr_2021, $microchip:expr_2021 ), )* ] => { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/y2016/d20.rs:268:14 [INFO] [stderr] | [INFO] [stderr] 268 | ($range:expr_2021, $allow:literal) => { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/y2016/d20.rs:274:14 [INFO] [stderr] | [INFO] [stderr] 274 | ($range:expr_2021, $left:expr_2021, $right:expr_2021) => { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/y2016/d20.rs:274:32 [INFO] [stderr] | [INFO] [stderr] 274 | ($range:expr_2021, $left:expr_2021, $right:expr_2021) => { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/y2016/d20.rs:274:49 [INFO] [stderr] | [INFO] [stderr] 274 | ($range:expr_2021, $left:expr_2021, $right:expr_2021) => { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/y2021/d8.rs:511:23 [INFO] [stderr] | [INFO] [stderr] 511 | [ $( ( $( $usp:expr_2021 ),* ; $( $dov:expr_2021 ),* ), )* ] => { [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/y2021/d8.rs:511:47 [INFO] [stderr] | [INFO] [stderr] 511 | [ $( ( $( $usp:expr_2021 ),* ; $( $dov:expr_2021 ),* ), )* ] => { [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/y2021/d8.rs:567:35 [INFO] [stderr] | [INFO] [stderr] 567 | macro_rules! somes { [ $( $value:expr_2021 ),* ] => { vec![ $( Some($value), )* ] }; } [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/y2021/d9.rs:342:20 [INFO] [stderr] | [INFO] [stderr] 342 | [ $( (($x:expr_2021, $y:expr_2021), $height:expr_2021) ),* ] => { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/y2021/d9.rs:342:34 [INFO] [stderr] | [INFO] [stderr] 342 | [ $( (($x:expr_2021, $y:expr_2021), $height:expr_2021) ),* ] => { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/y2021/d9.rs:342:49 [INFO] [stderr] | [INFO] [stderr] 342 | [ $( (($x:expr_2021, $y:expr_2021), $height:expr_2021) ),* ] => { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/y2021/d9.rs:356:20 [INFO] [stderr] | [INFO] [stderr] 356 | [ $( (($x:expr_2021, $y:expr_2021), $height:expr_2021) ),* ] => { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/y2021/d9.rs:356:34 [INFO] [stderr] | [INFO] [stderr] 356 | [ $( (($x:expr_2021, $y:expr_2021), $height:expr_2021) ),* ] => { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/y2021/d9.rs:356:49 [INFO] [stderr] | [INFO] [stderr] 356 | [ $( (($x:expr_2021, $y:expr_2021), $height:expr_2021) ),* ] => { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/y2021/d9.rs:377:21 [INFO] [stderr] | [INFO] [stderr] 377 | [ $( { ($sx:expr_2021, $sy:expr_2021), $size:expr_2021, [ $( ($px:expr_2021, $py:expr_2021), )* ], }, )* ] => { [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/y2021/d9.rs:377:36 [INFO] [stderr] | [INFO] [stderr] 377 | [ $( { ($sx:expr_2021, $sy:expr_2021), $size:expr_2021, [ $( ($px:expr_2021, $py:expr_2021), )* ], }, )* ] => { [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/y2021/d9.rs:377:52 [INFO] [stderr] | [INFO] [stderr] 377 | [ $( { ($sx:expr_2021, $sy:expr_2021), $size:expr_2021, [ $( ($px:expr_2021, $py:expr_2021), )* ], }, )* ] => { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/y2021/d9.rs:377:75 [INFO] [stderr] | [INFO] [stderr] 377 | [ $( { ($sx:expr_2021, $sy:expr_2021), $size:expr_2021, [ $( ($px:expr_2021, $py:expr_2021), )* ], }, )* ] => { [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/y2021/d9.rs:377:90 [INFO] [stderr] | [INFO] [stderr] 377 | [ $( { ($sx:expr_2021, $sy:expr_2021), $size:expr_2021, [ $( ($px:expr_2021, $py:expr_2021), )* ], }, )* ] => { [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/y2021/d12.rs:445:15 [INFO] [stderr] | [INFO] [stderr] 445 | { $count:expr_2021, [ $( [ $( $tag:expr_2021 ),* ], )* ], } => { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/y2021/d12.rs:445:43 [INFO] [stderr] | [INFO] [stderr] 445 | { $count:expr_2021, [ $( [ $( $tag:expr_2021 ),* ], )* ], } => { [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/y2021/d12.rs:504:15 [INFO] [stderr] | [INFO] [stderr] 504 | { $count:expr_2021, [ $( [ $( $tag:expr_2021 ),* ], )* ], } => { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/y2021/d12.rs:504:43 [INFO] [stderr] | [INFO] [stderr] 504 | { $count:expr_2021, [ $( [ $( $tag:expr_2021 ),* ], )* ], } => { [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/y2021/d15.rs:364:19 [INFO] [stderr] | [INFO] [stderr] 364 | [ $( ($x:expr_2021, $y:expr_2021), )* ] => { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/y2021/d15.rs:364:33 [INFO] [stderr] | [INFO] [stderr] 364 | [ $( ($x:expr_2021, $y:expr_2021), )* ] => { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] warning: elided lifetime has a name [INFO] [stderr] --> src/y2016/d5.rs:106:36 [INFO] [stderr] | [INFO] [stderr] 102 | fn iter_chars<'f, T: Debug, F: Fn(&mut String, u32) -> Option + 'f>( [INFO] [stderr] | -- lifetime `'f` declared here [INFO] [stderr] ... [INFO] [stderr] 106 | ) -> impl Iterator + '_ { [INFO] [stderr] | ^^ this elided lifetime gets resolved as `'f` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(elided_named_lifetimes)]` on by default [INFO] [stderr] [INFO] [stderr] error: aborting due to 160 previous errors; 1 warning emitted [INFO] [stderr] [INFO] [stderr] For more information about this error, try `rustc --explain E0658`. [INFO] [stderr] Original diagnostics will follow. [INFO] [stderr] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/util.rs:360:12 [INFO] [stdout] | [INFO] [stdout] 360 | ($left:expr, $right:expr) => {{ [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] = note: `--force-warn edition-2024-expr-fragment-specifier` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 360 | ($left:expr_2021, $right:expr) => {{ [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/util.rs:360:25 [INFO] [stdout] | [INFO] [stdout] 360 | ($left:expr, $right: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] 360 | ($left:expr, $right:expr_2021) => {{ [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/util.rs:861:65 [INFO] [stdout] | [INFO] [stdout] 861 | $variant:ident = $variant_const:ident = $variant_u8: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] 861 | $variant:ident = $variant_const:ident = $variant_u8:expr_2021 [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/y2016/d1.rs:205:29 [INFO] [stdout] | [INFO] [stdout] 205 | [ $( [ $( $turn:expr, $blocks:literal);* ], )* ] => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 205 | [ $( [ $( $turn:expr_2021, $blocks:literal);* ], )* ] => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/y2016/d2.rs:229:32 [INFO] [stdout] | [INFO] [stdout] 229 | [ $( [ $( $dir: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] 229 | [ $( [ $( $dir:expr_2021, )* ], )* ] => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/y2016/d2.rs:255:22 [INFO] [stdout] | [INFO] [stdout] 255 | [ $( ($x:expr, $y: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] 255 | [ $( ($x:expr_2021, $y:expr), )* ] => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/y2016/d2.rs:255:31 [INFO] [stdout] | [INFO] [stdout] 255 | [ $( ($x:expr, $y: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] 255 | [ $( ($x:expr, $y:expr_2021), )* ] => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/y2016/d3.rs:156:22 [INFO] [stdout] | [INFO] [stdout] 156 | [ $( ($a:expr, $b:expr, $c: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] 156 | [ $( ($a:expr_2021, $b:expr, $c:expr), )* ] => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/y2016/d3.rs:156:31 [INFO] [stdout] | [INFO] [stdout] 156 | [ $( ($a:expr, $b:expr, $c: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] 156 | [ $( ($a:expr, $b:expr_2021, $c:expr), )* ] => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/y2016/d3.rs:156:40 [INFO] [stdout] | [INFO] [stdout] 156 | [ $( ($a:expr, $b:expr, $c: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] 156 | [ $( ($a:expr, $b:expr, $c:expr_2021), )* ] => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/y2016/d4.rs:196:36 [INFO] [stdout] | [INFO] [stdout] 196 | [ $( { $encrypted_name:expr, $sector_id:expr, [ $checksum: 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] 196 | [ $( { $encrypted_name:expr_2021, $sector_id:expr, [ $checksum: expr ] }, )* ] => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/y2016/d4.rs:196:53 [INFO] [stdout] | [INFO] [stdout] 196 | [ $( { $encrypted_name:expr, $sector_id:expr, [ $checksum: 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] 196 | [ $( { $encrypted_name:expr, $sector_id:expr_2021, [ $checksum: expr ] }, )* ] => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/y2016/d4.rs:196:72 [INFO] [stdout] | [INFO] [stdout] 196 | [ $( { $encrypted_name:expr, $sector_id:expr, [ $checksum: 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] 196 | [ $( { $encrypted_name:expr, $sector_id:expr, [ $checksum: expr_2021 ] }, )* ] => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: elided lifetime has a name [INFO] [stdout] --> src/y2016/d5.rs:106:36 [INFO] [stdout] | [INFO] [stdout] 102 | fn iter_chars<'f, T: Debug, F: Fn(&mut String, u32) -> Option + 'f>( [INFO] [stdout] | -- lifetime `'f` declared here [INFO] [stdout] ... [INFO] [stdout] 106 | ) -> impl Iterator + '_ { [INFO] [stdout] | ^^ this elided lifetime gets resolved as `'f` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(elided_named_lifetimes)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/y2016/d6.rs:146:22 [INFO] [stdout] | [INFO] [stdout] 146 | ( $width:expr, $( [ $( $c: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] 146 | ( $width:expr_2021, $( [ $( $c:expr ),* ], )* ) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/y2016/d6.rs:146:39 [INFO] [stdout] | [INFO] [stdout] 146 | ( $width:expr, $( [ $( $c: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] 146 | ( $width:expr, $( [ $( $c:expr_2021 ),* ], )* ) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/y2016/d9.rs:297:21 [INFO] [stdout] | [INFO] [stdout] 297 | ($range: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] 297 | ($range:expr_2021) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/y2016/d9.rs:300:21 [INFO] [stdout] | [INFO] [stdout] 300 | ($range:expr, $repetitions: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] 300 | ($range:expr_2021, $repetitions:expr) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/y2016/d9.rs:300:40 [INFO] [stdout] | [INFO] [stdout] 300 | ($range:expr, $repetitions: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] 300 | ($range:expr, $repetitions:expr_2021) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/y2016/d9.rs:309:27 [INFO] [stdout] | [INFO] [stdout] 309 | [ $( ( $range:expr $(, $repetitions: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] 309 | [ $( ( $range:expr_2021 $(, $repetitions:expr)? ), )* ] => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/y2016/d9.rs:309:49 [INFO] [stdout] | [INFO] [stdout] 309 | [ $( ( $range:expr $(, $repetitions: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] 309 | [ $( ( $range:expr $(, $repetitions:expr_2021)? ), )* ] => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/y2016/d10.rs:487:26 [INFO] [stdout] | [INFO] [stdout] 487 | [ $( ($value:expr, $bot: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] 487 | [ $( ($value:expr_2021, $bot:expr), )* ] => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/y2016/d10.rs:487:37 [INFO] [stdout] | [INFO] [stdout] 487 | [ $( ($value:expr, $bot: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] 487 | [ $( ($value:expr, $bot:expr_2021), )* ] => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/y2016/d10.rs:493:24 [INFO] [stdout] | [INFO] [stdout] 493 | [ $( ($bot:expr, $low:expr, $high: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] 493 | [ $( ($bot:expr_2021, $low:expr, $high:expr), )* ] => { { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/y2016/d10.rs:493:35 [INFO] [stdout] | [INFO] [stdout] 493 | [ $( ($bot:expr, $low:expr, $high: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] 493 | [ $( ($bot:expr, $low:expr_2021, $high:expr), )* ] => { { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/y2016/d10.rs:493:47 [INFO] [stdout] | [INFO] [stdout] 493 | [ $( ($bot:expr, $low:expr, $high: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] 493 | [ $( ($bot:expr, $low:expr, $high:expr_2021), )* ] => { { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/y2016/d11.rs:897:31 [INFO] [stdout] | [INFO] [stdout] 897 | [ $( ( $generator:expr, $microchip: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] 897 | [ $( ( $generator:expr_2021, $microchip:expr ), )* ] => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/y2016/d11.rs:897:48 [INFO] [stdout] | [INFO] [stdout] 897 | [ $( ( $generator:expr, $microchip: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] 897 | [ $( ( $generator:expr, $microchip:expr_2021 ), )* ] => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/y2016/d20.rs:268:21 [INFO] [stdout] | [INFO] [stdout] 268 | ($range:expr, $allow:literal) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 268 | ($range:expr_2021, $allow:literal) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/y2016/d20.rs:274:21 [INFO] [stdout] | [INFO] [stdout] 274 | ($range:expr, $left:expr, $right: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] 274 | ($range:expr_2021, $left:expr, $right:expr) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/y2016/d20.rs:274:33 [INFO] [stdout] | [INFO] [stdout] 274 | ($range:expr, $left:expr, $right: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] 274 | ($range:expr, $left:expr_2021, $right:expr) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/y2016/d20.rs:274:46 [INFO] [stdout] | [INFO] [stdout] 274 | ($range:expr, $left:expr, $right: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] 274 | ($range:expr, $left:expr, $right:expr_2021) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/y2021/d4.rs:306:25 [INFO] [stdout] | [INFO] [stdout] 306 | [$( ($board:expr, $pos:expr), )*] => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 306 | [$( ($board:expr_2021, $pos:expr), )*] => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/y2021/d4.rs:306:36 [INFO] [stdout] | [INFO] [stdout] 306 | [$( ($board:expr, $pos:expr), )*] => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 306 | [$( ($board:expr, $pos:expr_2021), )*] => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/y2021/d5.rs:256:25 [INFO] [stdout] | [INFO] [stdout] 256 | $( ($ax:expr, $ay:expr) -> ($bx:expr, $by: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 | $( ($ax:expr_2021, $ay:expr) -> ($bx:expr, $by:expr) ),* ; [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/y2021/d5.rs:256:35 [INFO] [stdout] | [INFO] [stdout] 256 | $( ($ax:expr, $ay:expr) -> ($bx:expr, $by: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 | $( ($ax:expr, $ay:expr_2021) -> ($bx:expr, $by:expr) ),* ; [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/y2021/d5.rs:256:49 [INFO] [stdout] | [INFO] [stdout] 256 | $( ($ax:expr, $ay:expr) -> ($bx:expr, $by: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 | $( ($ax:expr, $ay:expr) -> ($bx:expr_2021, $by:expr) ),* ; [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/y2021/d5.rs:256:59 [INFO] [stdout] | [INFO] [stdout] 256 | $( ($ax:expr, $ay:expr) -> ($bx:expr, $by: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 | $( ($ax:expr, $ay:expr) -> ($bx:expr, $by:expr_2021) ),* ; [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/y2021/d5.rs:257:26 [INFO] [stdout] | [INFO] [stdout] 257 | ( $min_x:expr, $min_y:expr )..( $max_x:expr, $max_y: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] 257 | ( $min_x:expr_2021, $min_y:expr )..( $max_x:expr, $max_y:expr ) [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/y2021/d5.rs:257:39 [INFO] [stdout] | [INFO] [stdout] 257 | ( $min_x:expr, $min_y:expr )..( $max_x:expr, $max_y: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] 257 | ( $min_x:expr, $min_y:expr_2021 )..( $max_x:expr, $max_y:expr ) [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/y2021/d5.rs:257:56 [INFO] [stdout] | [INFO] [stdout] 257 | ( $min_x:expr, $min_y:expr )..( $max_x:expr, $max_y: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] 257 | ( $min_x:expr, $min_y:expr )..( $max_x:expr_2021, $max_y:expr ) [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/y2021/d5.rs:257:69 [INFO] [stdout] | [INFO] [stdout] 257 | ( $min_x:expr, $min_y:expr )..( $max_x:expr, $max_y: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] 257 | ( $min_x:expr, $min_y:expr )..( $max_x:expr, $max_y:expr_2021 ) [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/y2021/d8.rs:468:22 [INFO] [stdout] | [INFO] [stdout] 468 | [ $( $sp: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] 468 | [ $( $sp:expr_2021 ),* $(,)? ] => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/y2021/d8.rs:511:28 [INFO] [stdout] | [INFO] [stdout] 511 | [ $( ( $( $usp:expr ),* ; $( $dov: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] 511 | [ $( ( $( $usp:expr_2021 ),* ; $( $dov:expr ),* ), )* ] => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/y2021/d8.rs:511:47 [INFO] [stdout] | [INFO] [stdout] 511 | [ $( ( $( $usp:expr ),* ; $( $dov: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] 511 | [ $( ( $( $usp:expr ),* ; $( $dov:expr_2021 ),* ), )* ] => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/y2021/d8.rs:567:42 [INFO] [stdout] | [INFO] [stdout] 567 | macro_rules! somes { [ $( $value:expr ),* ] => { vec![ $( Some($value), )* ] }; } [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] 567 | macro_rules! somes { [ $( $value:expr_2021 ),* ] => { vec![ $( Some($value), )* ] }; } [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/y2021/d9.rs:283:27 [INFO] [stdout] | [INFO] [stdout] 283 | [ $( [ $( $height:expr ),* ], )*] => { vec![ $( $( Height($height), )* )* ] }; [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] 283 | [ $( [ $( $height:expr_2021 ),* ], )*] => { vec![ $( $( Height($height), )* )* ] }; [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/y2021/d9.rs:342:23 [INFO] [stdout] | [INFO] [stdout] 342 | [ $( (($x:expr, $y:expr), $height: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] 342 | [ $( (($x:expr_2021, $y:expr), $height:expr) ),* ] => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/y2021/d9.rs:342:32 [INFO] [stdout] | [INFO] [stdout] 342 | [ $( (($x:expr, $y:expr), $height: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] 342 | [ $( (($x:expr, $y:expr_2021), $height:expr) ),* ] => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/y2021/d9.rs:342:47 [INFO] [stdout] | [INFO] [stdout] 342 | [ $( (($x:expr, $y:expr), $height: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] 342 | [ $( (($x:expr, $y:expr), $height:expr_2021) ),* ] => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/y2021/d9.rs:356:23 [INFO] [stdout] | [INFO] [stdout] 356 | [ $( (($x:expr, $y:expr), $height: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] 356 | [ $( (($x:expr_2021, $y:expr), $height:expr) ),* ] => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/y2021/d9.rs:356:32 [INFO] [stdout] | [INFO] [stdout] 356 | [ $( (($x:expr, $y:expr), $height: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] 356 | [ $( (($x:expr, $y:expr_2021), $height:expr) ),* ] => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/y2021/d9.rs:356:47 [INFO] [stdout] | [INFO] [stdout] 356 | [ $( (($x:expr, $y:expr), $height: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] 356 | [ $( (($x:expr, $y:expr), $height:expr_2021) ),* ] => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/y2021/d9.rs:377:25 [INFO] [stdout] | [INFO] [stdout] 377 | [ $( { ($sx:expr, $sy:expr), $size:expr, [ $( ($px:expr, $py: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] 377 | [ $( { ($sx:expr_2021, $sy:expr), $size:expr, [ $( ($px:expr, $py:expr), )* ], }, )* ] => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/y2021/d9.rs:377:35 [INFO] [stdout] | [INFO] [stdout] 377 | [ $( { ($sx:expr, $sy:expr), $size:expr, [ $( ($px:expr, $py: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] 377 | [ $( { ($sx:expr, $sy:expr_2021), $size:expr, [ $( ($px:expr, $py:expr), )* ], }, )* ] => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/y2021/d9.rs:377:48 [INFO] [stdout] | [INFO] [stdout] 377 | [ $( { ($sx:expr, $sy:expr), $size:expr, [ $( ($px:expr, $py: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] 377 | [ $( { ($sx:expr, $sy:expr), $size:expr_2021, [ $( ($px:expr, $py:expr), )* ], }, )* ] => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/y2021/d9.rs:377:64 [INFO] [stdout] | [INFO] [stdout] 377 | [ $( { ($sx:expr, $sy:expr), $size:expr, [ $( ($px:expr, $py: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] 377 | [ $( { ($sx:expr, $sy:expr), $size:expr, [ $( ($px:expr_2021, $py:expr), )* ], }, )* ] => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/y2021/d9.rs:377:74 [INFO] [stdout] | [INFO] [stdout] 377 | [ $( { ($sx:expr, $sy:expr), $size:expr, [ $( ($px:expr, $py: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] 377 | [ $( { ($sx:expr, $sy:expr), $size:expr, [ $( ($px:expr, $py:expr_2021), )* ], }, )* ] => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/y2021/d10.rs:229:27 [INFO] [stdout] | [INFO] [stdout] 229 | [ $( { $range:expr, $status: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] 229 | [ $( { $range:expr_2021, $status:expr, }, )* ] => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/y2021/d10.rs:229:41 [INFO] [stdout] | [INFO] [stdout] 229 | [ $( { $range:expr, $status: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] 229 | [ $( { $range:expr, $status:expr_2021, }, )* ] => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/y2021/d11.rs:224:30 [INFO] [stdout] | [INFO] [stdout] 224 | [ $( [ $( $light:expr ),* ], )* ] => { vec![ $( $( Light($light), )* )* ] }; [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] 224 | [ $( [ $( $light:expr_2021 ),* ], )* ] => { vec![ $( $( Light($light), )* )* ] }; [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/y2021/d12.rs:364:15 [INFO] [stdout] | [INFO] [stdout] 364 | ($tag: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] 364 | ($tag:expr_2021) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/y2021/d12.rs:370:21 [INFO] [stdout] | [INFO] [stdout] 370 | [ $( { $tag:expr, [ $( $neighbor:expr ),* ] }, )* ] => { Solution(vec![ $( Vertex { [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] 370 | [ $( { $tag:expr_2021, [ $( $neighbor:expr ),* ] }, )* ] => { Solution(vec![ $( Vertex { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/y2021/d12.rs:370:42 [INFO] [stdout] | [INFO] [stdout] 370 | [ $( { $tag:expr, [ $( $neighbor:expr ),* ] }, )* ] => { Solution(vec![ $( Vertex { [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] 370 | [ $( { $tag:expr, [ $( $neighbor:expr_2021 ),* ] }, )* ] => { Solution(vec![ $( Vertex { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/y2021/d12.rs:445:22 [INFO] [stdout] | [INFO] [stdout] 445 | { $count:expr, [ $( [ $( $tag: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] 445 | { $count:expr_2021, [ $( [ $( $tag:expr ),* ], )* ], } => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/y2021/d12.rs:445:43 [INFO] [stdout] | [INFO] [stdout] 445 | { $count:expr, [ $( [ $( $tag: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] 445 | { $count:expr, [ $( [ $( $tag:expr_2021 ),* ], )* ], } => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/y2021/d12.rs:504:22 [INFO] [stdout] | [INFO] [stdout] 504 | { $count:expr, [ $( [ $( $tag: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] 504 | { $count:expr_2021, [ $( [ $( $tag:expr ),* ], )* ], } => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/y2021/d12.rs:504:43 [INFO] [stdout] | [INFO] [stdout] 504 | { $count:expr, [ $( [ $( $tag: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] 504 | { $count:expr, [ $( [ $( $tag:expr_2021 ),* ], )* ], } => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/y2021/d13.rs:266:21 [INFO] [stdout] | [INFO] [stdout] 266 | { [ $( ( $x:expr, $y:expr ), )* ], [ $( $fold:ident($i: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] 266 | { [ $( ( $x:expr_2021, $y:expr ), )* ], [ $( $fold:ident($i:expr), )* ], } => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/y2021/d13.rs:266:30 [INFO] [stdout] | [INFO] [stdout] 266 | { [ $( ( $x:expr, $y:expr ), )* ], [ $( $fold:ident($i: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] 266 | { [ $( ( $x:expr, $y:expr_2021 ), )* ], [ $( $fold:ident($i:expr), )* ], } => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/y2021/d13.rs:266:64 [INFO] [stdout] | [INFO] [stdout] 266 | { [ $( ( $x:expr, $y:expr ), )* ], [ $( $fold:ident($i: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] 266 | { [ $( ( $x:expr, $y:expr ), )* ], [ $( $fold:ident($i:expr_2021), )* ], } => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/y2021/d14.rs:629:48 [INFO] [stdout] | [INFO] [stdout] 629 | macro_rules! polymer { [ $( $element_index:expr ),* $(,)? ] => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 629 | macro_rules! polymer { [ $( $element_index:expr_2021 ),* $(,)? ] => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/y2021/d14.rs:633:56 [INFO] [stdout] | [INFO] [stdout] 633 | macro_rules! rule_frequencies { { [ $( $rule_count:expr ),* $(,)? ], $steps: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] 633 | macro_rules! rule_frequencies { { [ $( $rule_count:expr_2021 ),* $(,)? ], $steps:expr } => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/y2021/d14.rs:633:81 [INFO] [stdout] | [INFO] [stdout] 633 | macro_rules! rule_frequencies { { [ $( $rule_count:expr ),* $(,)? ], $steps: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] 633 | macro_rules! rule_frequencies { { [ $( $rule_count:expr ),* $(,)? ], $steps:expr_2021 } => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/y2021/d14.rs:642:27 [INFO] [stdout] | [INFO] [stdout] 642 | [ $( $element: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] 642 | [ $( $element:expr_2021 ),* $(,)? ], [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/y2021/d14.rs:643:33 [INFO] [stdout] | [INFO] [stdout] 643 | [ $( $element_index:expr ),* $(,)? ], [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 643 | [ $( $element_index:expr_2021 ),* $(,)? ], [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/y2021/d14.rs:644:20 [INFO] [stdout] | [INFO] [stdout] 644 | $rules: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] 644 | $rules:expr_2021 [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/y2021/d14.rs:659:27 [INFO] [stdout] | [INFO] [stdout] 659 | [ $( $element: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] 659 | [ $( $element:expr_2021 ),* $(,)? ], [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/y2021/d14.rs:660:33 [INFO] [stdout] | [INFO] [stdout] 660 | [ $( $element_index:expr ),* $(,)? ], [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 660 | [ $( $element_index:expr_2021 ),* $(,)? ], [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/y2021/d14.rs:661:20 [INFO] [stdout] | [INFO] [stdout] 661 | $rules: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] 661 | $rules:expr_2021, [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/y2021/d14.rs:663:34 [INFO] [stdout] | [INFO] [stdout] 663 | [ $( $rule_count: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] 663 | [ $( $rule_count:expr_2021 ),* $(,)? ], [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/y2021/d14.rs:664:24 [INFO] [stdout] | [INFO] [stdout] 664 | $steps: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] 664 | $steps:expr_2021 [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/y2021/d15.rs:330:39 [INFO] [stdout] | [INFO] [stdout] 330 | [ $( [ $( $risk_level: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] 330 | [ $( [ $( $risk_level:expr_2021 ),* ], )* ] => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/y2021/d15.rs:364:22 [INFO] [stdout] | [INFO] [stdout] 364 | [ $( ($x:expr, $y: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] 364 | [ $( ($x:expr_2021, $y:expr), )* ] => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/y2021/d15.rs:364:31 [INFO] [stdout] | [INFO] [stdout] 364 | [ $( ($x:expr, $y: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] 364 | [ $( ($x:expr, $y:expr_2021), )* ] => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/y2021/d16.rs:559:19 [INFO] [stdout] | [INFO] [stdout] 559 | ($hex_str:expr, $start_bit:expr, $end_bit: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] 559 | ($hex_str:expr_2021, $start_bit:expr, $end_bit:expr) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/y2021/d16.rs:559:36 [INFO] [stdout] | [INFO] [stdout] 559 | ($hex_str:expr, $start_bit:expr, $end_bit: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] 559 | ($hex_str:expr, $start_bit:expr_2021, $end_bit:expr) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/y2021/d16.rs:559:51 [INFO] [stdout] | [INFO] [stdout] 559 | ($hex_str:expr, $start_bit:expr, $end_bit: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] 559 | ($hex_str:expr, $start_bit:expr, $end_bit:expr_2021) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/y2021/d16.rs:566:19 [INFO] [stdout] | [INFO] [stdout] 566 | ($hex_str: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] 566 | ($hex_str:expr_2021) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/y2021/d19.rs:1203:40 [INFO] [stdout] | [INFO] [stdout] 1203 | [ $minimum_overlapping_beacons:expr, $( [ $( ($x:expr, $y:expr, $z: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] 1203 | [ $minimum_overlapping_beacons:expr_2021, $( [ $( ($x:expr, $y:expr, $z:expr), )* ], )* ] => { { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/y2021/d19.rs:1203:58 [INFO] [stdout] | [INFO] [stdout] 1203 | [ $minimum_overlapping_beacons:expr, $( [ $( ($x:expr, $y:expr, $z: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] 1203 | [ $minimum_overlapping_beacons:expr, $( [ $( ($x:expr_2021, $y:expr, $z:expr), )* ], )* ] => { { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/y2021/d19.rs:1203:67 [INFO] [stdout] | [INFO] [stdout] 1203 | [ $minimum_overlapping_beacons:expr, $( [ $( ($x:expr, $y:expr, $z: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] 1203 | [ $minimum_overlapping_beacons:expr, $( [ $( ($x:expr, $y:expr_2021, $z:expr), )* ], )* ] => { { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/y2021/d19.rs:1203:76 [INFO] [stdout] | [INFO] [stdout] 1203 | [ $minimum_overlapping_beacons:expr, $( [ $( ($x:expr, $y:expr, $z: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] 1203 | [ $minimum_overlapping_beacons:expr, $( [ $( ($x:expr, $y:expr, $z:expr_2021), )* ], )* ] => { { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/y2021/d22.rs:398:34 [INFO] [stdout] | [INFO] [stdout] 398 | [ $( $on:ident => x=$x_range:expr,y=$y_range:expr,z=$z_range:expr),* ;$add_one: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] 398 | [ $( $on:ident => x=$x_range:expr_2021,y=$y_range:expr,z=$z_range:expr),* ;$add_one:expr] => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/y2021/d22.rs:398:50 [INFO] [stdout] | [INFO] [stdout] 398 | [ $( $on:ident => x=$x_range:expr,y=$y_range:expr,z=$z_range:expr),* ;$add_one: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] 398 | [ $( $on:ident => x=$x_range:expr,y=$y_range:expr_2021,z=$z_range:expr),* ;$add_one:expr] => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/y2021/d22.rs:398:66 [INFO] [stdout] | [INFO] [stdout] 398 | [ $( $on:ident => x=$x_range:expr,y=$y_range:expr,z=$z_range:expr),* ;$add_one: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] 398 | [ $( $on:ident => x=$x_range:expr,y=$y_range:expr,z=$z_range:expr_2021),* ;$add_one:expr] => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/y2021/d22.rs:398:84 [INFO] [stdout] | [INFO] [stdout] 398 | [ $( $on:ident => x=$x_range:expr,y=$y_range:expr,z=$z_range:expr),* ;$add_one: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] 398 | [ $( $on:ident => x=$x_range:expr,y=$y_range:expr,z=$z_range:expr),* ;$add_one:expr_2021] => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/y2021/d22.rs:414:34 [INFO] [stdout] | [INFO] [stdout] 414 | [ $( $on:ident => x=$x_range:expr,y=$y_range:expr,z=$z_range: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] 414 | [ $( $on:ident => x=$x_range:expr_2021,y=$y_range:expr,z=$z_range:expr, )* ] => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/y2021/d22.rs:414:50 [INFO] [stdout] | [INFO] [stdout] 414 | [ $( $on:ident => x=$x_range:expr,y=$y_range:expr,z=$z_range: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] 414 | [ $( $on:ident => x=$x_range:expr,y=$y_range:expr_2021,z=$z_range:expr, )* ] => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/y2021/d22.rs:414:66 [INFO] [stdout] | [INFO] [stdout] 414 | [ $( $on:ident => x=$x_range:expr,y=$y_range:expr,z=$z_range: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] 414 | [ $( $on:ident => x=$x_range:expr,y=$y_range:expr,z=$z_range:expr_2021, )* ] => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/y2022/d4.rs:279:30 [INFO] [stdout] | [INFO] [stdout] 279 | [ $( ( $sa_0:expr, $sa_1: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] 279 | [ $( ( $sa_0:expr_2021, $sa_1:expr ), )* ] => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/y2022/d4.rs:279:42 [INFO] [stdout] | [INFO] [stdout] 279 | [ $( ( $sa_0:expr, $sa_1: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] 279 | [ $( ( $sa_0:expr, $sa_1:expr_2021 ), )* ] => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/y2022/d8.rs:152:49 [INFO] [stdout] | [INFO] [stdout] 152 | macro_rules! heights { [ $( $height:expr ),* ] => { vec![ $( Height($height), )* ] }; } [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] 152 | macro_rules! heights { [ $( $height:expr_2021 ),* ] => { vec![ $( Height($height), )* ] }; } [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/y2022/d9.rs:446:25 [INFO] [stdout] | [INFO] [stdout] 446 | [$((h: ($hx:expr, $hy:expr), t: ($tx:expr, $ty: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] 446 | [$((h: ($hx:expr_2021, $hy:expr), t: ($tx:expr, $ty:expr)),)*] => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/y2022/d9.rs:446:35 [INFO] [stdout] | [INFO] [stdout] 446 | [$((h: ($hx:expr, $hy:expr), t: ($tx:expr, $ty: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] 446 | [$((h: ($hx:expr, $hy:expr_2021), t: ($tx:expr, $ty:expr)),)*] => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/y2022/d9.rs:446:50 [INFO] [stdout] | [INFO] [stdout] 446 | [$((h: ($hx:expr, $hy:expr), t: ($tx:expr, $ty: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] 446 | [$((h: ($hx:expr, $hy:expr), t: ($tx:expr_2021, $ty:expr)),)*] => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/y2022/d9.rs:446:60 [INFO] [stdout] | [INFO] [stdout] 446 | [$((h: ($hx:expr, $hy:expr), t: ($tx:expr, $ty: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] 446 | [$((h: ($hx:expr, $hy:expr), t: ($tx:expr, $ty:expr_2021)),)*] => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/y2022/d9.rs:516:39 [INFO] [stdout] | [INFO] [stdout] 516 | [$(($dir:ident, $dist: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] 516 | [$(($dir:ident, $dist:expr_2021),)*] => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/y2022/d13.rs:335:29 [INFO] [stdout] | [INFO] [stdout] 335 | macro_rules! l { [$($i: expr),*] => { Packet::List(vec![ $( $i, )* ]) }; } [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] 335 | macro_rules! l { [$($i: expr_2021),*] => { Packet::List(vec![ $( $i, )* ]) }; } [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/y2022/d14.rs:475:37 [INFO] [stdout] | [INFO] [stdout] 475 | macro_rules! points { [$($x:expr, $y:expr)=>*] => { vec![ $( IVec2::new($x, $y) ),*] }; } [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] 475 | macro_rules! points { [$($x:expr_2021, $y:expr)=>*] => { vec![ $( IVec2::new($x, $y) ),*] }; } [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/y2022/d14.rs:475:46 [INFO] [stdout] | [INFO] [stdout] 475 | macro_rules! points { [$($x:expr, $y:expr)=>*] => { vec![ $( IVec2::new($x, $y) ),*] }; } [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] 475 | macro_rules! points { [$($x:expr, $y:expr_2021)=>*] => { vec![ $( IVec2::new($x, $y) ),*] }; } [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/y2022/d15.rs:742:26 [INFO] [stdout] | [INFO] [stdout] 742 | ($({ s: ($sx:expr, $sy:expr), b: ($bx:expr, $by: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] 742 | ($({ s: ($sx:expr_2021, $sy:expr), b: ($bx:expr, $by:expr) }, )*) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/y2022/d15.rs:742:36 [INFO] [stdout] | [INFO] [stdout] 742 | ($({ s: ($sx:expr, $sy:expr), b: ($bx:expr, $by: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] 742 | ($({ s: ($sx:expr, $sy:expr_2021), b: ($bx:expr, $by:expr) }, )*) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/y2022/d15.rs:742:51 [INFO] [stdout] | [INFO] [stdout] 742 | ($({ s: ($sx:expr, $sy:expr), b: ($bx:expr, $by: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] 742 | ($({ s: ($sx:expr, $sy:expr), b: ($bx:expr_2021, $by:expr) }, )*) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/y2022/d15.rs:742:61 [INFO] [stdout] | [INFO] [stdout] 742 | ($({ s: ($sx:expr, $sy:expr), b: ($bx:expr, $by: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] 742 | ($({ s: ($sx:expr, $sy:expr), b: ($bx:expr, $by:expr_2021) }, )*) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/y2022/d16.rs:1761:27 [INFO] [stdout] | [INFO] [stdout] 1761 | [ $( $tag:expr , $flow_rate:expr => $( $neighbor: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] 1761 | [ $( $tag:expr_2021 , $flow_rate:expr => $( $neighbor:expr ),* ;)* ] => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/y2022/d16.rs:1761:45 [INFO] [stdout] | [INFO] [stdout] 1761 | [ $( $tag:expr , $flow_rate:expr => $( $neighbor: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] 1761 | [ $( $tag:expr , $flow_rate:expr_2021 => $( $neighbor:expr ),* ;)* ] => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/y2022/d16.rs:1761:66 [INFO] [stdout] | [INFO] [stdout] 1761 | [ $( $tag:expr , $flow_rate:expr => $( $neighbor: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] 1761 | [ $( $tag:expr , $flow_rate:expr => $( $neighbor:expr_2021 ),* ;)* ] => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/y2022/d16.rs:1798:41 [INFO] [stdout] | [INFO] [stdout] 1798 | [ $( $present_dest_tags:expr => [ $( $verts_between_tags:expr => ($dest_tag:expr, $cost: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] 1798 | [ $( $present_dest_tags:expr_2021 => [ $( $verts_between_tags:expr => ($dest_tag:expr, $cost:expr) ,)* ] ,)* ] => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/y2022/d16.rs:1798:74 [INFO] [stdout] | [INFO] [stdout] 1798 | [ $( $present_dest_tags:expr => [ $( $verts_between_tags:expr => ($dest_tag:expr, $cost: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] 1798 | [ $( $present_dest_tags:expr => [ $( $verts_between_tags:expr_2021 => ($dest_tag:expr, $cost:expr) ,)* ] ,)* ] => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/y2022/d16.rs:1798:93 [INFO] [stdout] | [INFO] [stdout] 1798 | [ $( $present_dest_tags:expr => [ $( $verts_between_tags:expr => ($dest_tag:expr, $cost: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] 1798 | [ $( $present_dest_tags:expr => [ $( $verts_between_tags:expr => ($dest_tag:expr_2021, $cost:expr) ,)* ] ,)* ] => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/y2022/d16.rs:1798:105 [INFO] [stdout] | [INFO] [stdout] 1798 | [ $( $present_dest_tags:expr => [ $( $verts_between_tags:expr => ($dest_tag:expr, $cost: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] 1798 | [ $( $present_dest_tags:expr => [ $( $verts_between_tags:expr => ($dest_tag:expr, $cost:expr_2021) ,)* ] ,)* ] => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/y2022/d18.rs:401:26 [INFO] [stdout] | [INFO] [stdout] 401 | ($( ( $x:expr, $y:expr, $z: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] 401 | ($( ( $x:expr_2021, $y:expr, $z:expr ), )*) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/y2022/d18.rs:401:35 [INFO] [stdout] | [INFO] [stdout] 401 | ($( ( $x:expr, $y:expr, $z: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] 401 | ($( ( $x:expr, $y:expr_2021, $z:expr ), )*) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/y2022/d18.rs:401:44 [INFO] [stdout] | [INFO] [stdout] 401 | ($( ( $x:expr, $y:expr, $z: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] 401 | ($( ( $x:expr, $y:expr, $z:expr_2021 ), )*) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/y2023/d4.rs:156:22 [INFO] [stdout] | [INFO] [stdout] 156 | [ $( $number: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] 156 | [ $( $number:expr_2021, )* ] => { { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/y2023/d4.rs:168:30 [INFO] [stdout] | [INFO] [stdout] 168 | ( $( $winning_number:expr ),* ; $( $held_number: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] 168 | ( $( $winning_number:expr_2021 ),* ; $( $held_number:expr ),* ) => { { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/y2023/d4.rs:168:57 [INFO] [stdout] | [INFO] [stdout] 168 | ( $( $winning_number:expr ),* ; $( $held_number: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] 168 | ( $( $winning_number:expr ),* ; $( $held_number:expr_2021 ),* ) => { { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/y2023/d5.rs:345:29 [INFO] [stdout] | [INFO] [stdout] 345 | ($destination_start:expr, $source_start:expr, $range_len: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] 345 | ($destination_start:expr_2021, $source_start:expr, $range_len:expr) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/y2023/d5.rs:345:49 [INFO] [stdout] | [INFO] [stdout] 345 | ($destination_start:expr, $source_start:expr, $range_len: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] 345 | ($destination_start:expr, $source_start:expr_2021, $range_len:expr) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/y2023/d5.rs:345:66 [INFO] [stdout] | [INFO] [stdout] 345 | ($destination_start:expr, $source_start:expr, $range_len: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] 345 | ($destination_start:expr, $source_start:expr, $range_len:expr_2021) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/y2023/d5.rs:355:33 [INFO] [stdout] | [INFO] [stdout] 355 | [ $( $destination_start:expr, $source_start:expr, $range_len: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] 355 | [ $( $destination_start:expr_2021, $source_start:expr, $range_len:expr; )* ] => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/y2023/d5.rs:355:53 [INFO] [stdout] | [INFO] [stdout] 355 | [ $( $destination_start:expr, $source_start:expr, $range_len: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] 355 | [ $( $destination_start:expr, $source_start:expr_2021, $range_len:expr; )* ] => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/y2023/d5.rs:355:70 [INFO] [stdout] | [INFO] [stdout] 355 | [ $( $destination_start:expr, $source_start:expr, $range_len: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] 355 | [ $( $destination_start:expr, $source_start:expr, $range_len:expr_2021; )* ] => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/y2023/d10.rs:558:29 [INFO] [stdout] | [INFO] [stdout] 558 | [ $( [ $( $cell:expr, )* ], )* ($x:expr, $y: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] 558 | [ $( [ $( $cell:expr_2021, )* ], )* ($x:expr, $y:expr), ] => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/y2023/d10.rs:558:48 [INFO] [stdout] | [INFO] [stdout] 558 | [ $( [ $( $cell:expr, )* ], )* ($x:expr, $y: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] 558 | [ $( [ $( $cell:expr, )* ], )* ($x:expr_2021, $y:expr), ] => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/y2023/d10.rs:558:57 [INFO] [stdout] | [INFO] [stdout] 558 | [ $( [ $( $cell:expr, )* ], )* ($x:expr, $y: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] 558 | [ $( [ $( $cell:expr, )* ], )* ($x:expr, $y:expr_2021), ] => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/y2023/d18.rs:370:36 [INFO] [stdout] | [INFO] [stdout] 370 | [ $( $dir:ident, $dist:expr, $color: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] 370 | [ $( $dir:ident, $dist:expr_2021, $color:expr; )*] => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/y2023/d18.rs:370:49 [INFO] [stdout] | [INFO] [stdout] 370 | [ $( $dir:ident, $dist:expr, $color: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] 370 | [ $( $dir:ident, $dist:expr, $color:expr_2021; )*] => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/y2023/d19.rs:610:22 [INFO] [stdout] | [INFO] [stdout] 610 | [ $( $id:expr => $rule_range:expr, )* ] => { vec![ $( Workflow { [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] 610 | [ $( $id:expr_2021 => $rule_range:expr, )* ] => { vec![ $( Workflow { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/y2023/d19.rs:610:42 [INFO] [stdout] | [INFO] [stdout] 610 | [ $( $id:expr => $rule_range:expr, )* ] => { vec![ $( Workflow { [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] 610 | [ $( $id:expr => $rule_range:expr_2021, )* ] => { vec![ $( Workflow { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/y2023/d19.rs:635:24 [INFO] [stdout] | [INFO] [stdout] 635 | [ $( $dest:expr $( => $rating_type:ident $comparison:ident $value:expr )? , )* ] => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 635 | [ $( $dest:expr_2021 $( => $rating_type:ident $comparison:ident $value:expr )? , )* ] => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/y2023/d19.rs:635:79 [INFO] [stdout] | [INFO] [stdout] 635 | [ $( $dest:expr $( => $rating_type:ident $comparison:ident $value:expr )? , )* ] => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 635 | [ $( $dest:expr $( => $rating_type:ident $comparison:ident $value:expr_2021 )? , )* ] => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/y2023/d20.rs:777:25 [INFO] [stdout] | [INFO] [stdout] 777 | [ $( $label:expr, $module_type:expr, $inputs:expr, $outputs:expr; )* ] => { vec![ $( [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] 777 | [ $( $label:expr_2021, $module_type:expr, $inputs:expr, $outputs:expr; )* ] => { vec![ $( [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/y2023/d20.rs:777:44 [INFO] [stdout] | [INFO] [stdout] 777 | [ $( $label:expr, $module_type:expr, $inputs:expr, $outputs:expr; )* ] => { vec![ $( [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] 777 | [ $( $label:expr, $module_type:expr_2021, $inputs:expr, $outputs:expr; )* ] => { vec![ $( [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/y2023/d20.rs:777:58 [INFO] [stdout] | [INFO] [stdout] 777 | [ $( $label:expr, $module_type:expr, $inputs:expr, $outputs:expr; )* ] => { vec![ $( [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] 777 | [ $( $label:expr, $module_type:expr, $inputs:expr_2021, $outputs:expr; )* ] => { vec![ $( [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/y2023/d20.rs:777:73 [INFO] [stdout] | [INFO] [stdout] 777 | [ $( $label:expr, $module_type:expr, $inputs:expr, $outputs:expr; )* ] => { vec![ $( [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] 777 | [ $( $label:expr, $module_type:expr, $inputs:expr, $outputs:expr_2021; )* ] => { vec![ $( [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/y2023/d22.rs:334:18 [INFO] [stdout] | [INFO] [stdout] 334 | [ $( $x1:expr, $y1:expr, $z1:expr => $x2:expr, $y2:expr, $z2:expr; )* ] => { vec![ $( [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] 334 | [ $( $x1:expr_2021, $y1:expr, $z1:expr => $x2:expr, $y2:expr, $z2:expr; )* ] => { vec![ $( [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/y2023/d22.rs:334:28 [INFO] [stdout] | [INFO] [stdout] 334 | [ $( $x1:expr, $y1:expr, $z1:expr => $x2:expr, $y2:expr, $z2:expr; )* ] => { vec![ $( [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] 334 | [ $( $x1:expr, $y1:expr_2021, $z1:expr => $x2:expr, $y2:expr, $z2:expr; )* ] => { vec![ $( [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/y2023/d22.rs:334:38 [INFO] [stdout] | [INFO] [stdout] 334 | [ $( $x1:expr, $y1:expr, $z1:expr => $x2:expr, $y2:expr, $z2:expr; )* ] => { vec![ $( [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] 334 | [ $( $x1:expr, $y1:expr, $z1:expr_2021 => $x2:expr, $y2:expr, $z2:expr; )* ] => { vec![ $( [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/y2023/d22.rs:334:50 [INFO] [stdout] | [INFO] [stdout] 334 | [ $( $x1:expr, $y1:expr, $z1:expr => $x2:expr, $y2:expr, $z2:expr; )* ] => { vec![ $( [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] 334 | [ $( $x1:expr, $y1:expr, $z1:expr => $x2:expr_2021, $y2:expr, $z2:expr; )* ] => { vec![ $( [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/y2023/d22.rs:334:60 [INFO] [stdout] | [INFO] [stdout] 334 | [ $( $x1:expr, $y1:expr, $z1:expr => $x2:expr, $y2:expr, $z2:expr; )* ] => { vec![ $( [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] 334 | [ $( $x1:expr, $y1:expr, $z1:expr => $x2:expr, $y2:expr_2021, $z2:expr; )* ] => { vec![ $( [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/y2023/d22.rs:334:70 [INFO] [stdout] | [INFO] [stdout] 334 | [ $( $x1:expr, $y1:expr, $z1:expr => $x2:expr, $y2:expr, $z2:expr; )* ] => { vec![ $( [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] 334 | [ $( $x1:expr, $y1:expr, $z1:expr => $x2:expr, $y2:expr, $z2:expr_2021; )* ] => { vec![ $( [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/y2023/d24.rs:413:22 [INFO] [stdout] | [INFO] [stdout] 413 | [ $( $px:expr, $py:expr, $pz:expr, $vx:expr, $vy:expr, $vz:expr; )* ] => { vec![ $( [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] 413 | [ $( $px:expr_2021, $py:expr, $pz:expr, $vx:expr, $vy:expr, $vz:expr; )* ] => { vec![ $( [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/y2023/d24.rs:413:32 [INFO] [stdout] | [INFO] [stdout] 413 | [ $( $px:expr, $py:expr, $pz:expr, $vx:expr, $vy:expr, $vz:expr; )* ] => { vec![ $( [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] 413 | [ $( $px:expr, $py:expr_2021, $pz:expr, $vx:expr, $vy:expr, $vz:expr; )* ] => { vec![ $( [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/y2023/d24.rs:413:42 [INFO] [stdout] | [INFO] [stdout] 413 | [ $( $px:expr, $py:expr, $pz:expr, $vx:expr, $vy:expr, $vz:expr; )* ] => { vec![ $( [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] 413 | [ $( $px:expr, $py:expr, $pz:expr_2021, $vx:expr, $vy:expr, $vz:expr; )* ] => { vec![ $( [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/y2023/d24.rs:413:52 [INFO] [stdout] | [INFO] [stdout] 413 | [ $( $px:expr, $py:expr, $pz:expr, $vx:expr, $vy:expr, $vz:expr; )* ] => { vec![ $( [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] 413 | [ $( $px:expr, $py:expr, $pz:expr, $vx:expr_2021, $vy:expr, $vz:expr; )* ] => { vec![ $( [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/y2023/d24.rs:413:62 [INFO] [stdout] | [INFO] [stdout] 413 | [ $( $px:expr, $py:expr, $pz:expr, $vx:expr, $vy:expr, $vz:expr; )* ] => { vec![ $( [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] 413 | [ $( $px:expr, $py:expr, $pz:expr, $vx:expr, $vy:expr_2021, $vz:expr; )* ] => { vec![ $( [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/y2023/d24.rs:413:72 [INFO] [stdout] | [INFO] [stdout] 413 | [ $( $px:expr, $py:expr, $pz:expr, $vx:expr, $vy:expr, $vz:expr; )* ] => { vec![ $( [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] 413 | [ $( $px:expr, $py:expr, $pz:expr, $vx:expr, $vy:expr, $vz:expr_2021; )* ] => { vec![ $( [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/y2023/d25.rs:399:25 [INFO] [stdout] | [INFO] [stdout] 399 | { $( ( $key:expr, [ $( $value_tag: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] 399 | { $( ( $key:expr_2021, [ $( $value_tag:expr, )* ], ), )* } => { [ $( [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/y2023/d25.rs:399:47 [INFO] [stdout] | [INFO] [stdout] 399 | { $( ( $key:expr, [ $( $value_tag: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] 399 | { $( ( $key:expr, [ $( $value_tag:expr_2021, )* ], ), )* } => { [ $( [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `memmap::Mmap::map` is unsafe and requires unsafe block [INFO] [stdout] --> src/util.rs:409:22 [INFO] [stdout] | [INFO] [stdout] 409 | let mmap: Mmap = Mmap::map(&file)?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/util.rs:405:1 [INFO] [stdout] | [INFO] [stdout] 405 | pub unsafe fn open_utf8_file T>(file_path: &str, f: F) -> IoResult { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: `--force-warn unsafe-op-in-unsafe-fn` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/y2021/d5.rs:149:21 [INFO] [stdout] | [INFO] [stdout] 149 | struct Cell(u8); [INFO] [stdout] | ---- ^^ [INFO] [stdout] | | [INFO] [stdout] | field in this struct [INFO] [stdout] | [INFO] [stdout] = help: consider removing this field [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/y2021/d6.rs:53:27 [INFO] [stdout] | [INFO] [stdout] 53 | ParseIntError(ParseIntError), [INFO] [stdout] | ------------- ^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 53 | ParseIntError(()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `BeaconPairLink` is never constructed [INFO] [stdout] --> src/y2021/d19.rs:306:8 [INFO] [stdout] | [INFO] [stdout] 306 | struct BeaconPairLink { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `BeaconPairIter` is never constructed [INFO] [stdout] --> src/y2021/d19.rs:314:8 [INFO] [stdout] | [INFO] [stdout] 314 | struct BeaconPairIter<'l> { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `NeighborMapTrait` is never used [INFO] [stdout] --> src/y2021/d23.rs:155:7 [INFO] [stdout] | [INFO] [stdout] 155 | trait NeighborMapTrait { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/y2022/d4.rs:91:24 [INFO] [stdout] | [INFO] [stdout] 91 | StartFailedToParse(ParseIntError), [INFO] [stdout] | ------------------ ^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `SectionAssignmentParseError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 91 | StartFailedToParse(()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/y2022/d4.rs:97:22 [INFO] [stdout] | [INFO] [stdout] 97 | EndFailedToParse(ParseIntError), [INFO] [stdout] | ---------------- ^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `SectionAssignmentParseError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 97 | EndFailedToParse(()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/y2022/d4.rs:163:23 [INFO] [stdout] | [INFO] [stdout] 163 | ZeroFailedToParse(SectionAssignmentParseError), [INFO] [stdout] | ----------------- ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `SectionAssignmentPairParseError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 163 | ZeroFailedToParse(()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/y2022/d4.rs:169:22 [INFO] [stdout] | [INFO] [stdout] 169 | OneFailedToParse(SectionAssignmentParseError), [INFO] [stdout] | ---------------- ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `SectionAssignmentPairParseError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 169 | OneFailedToParse(()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/y2022/d5.rs:311:23 [INFO] [stdout] | [INFO] [stdout] 311 | FromIndexTooLarge(usize), [INFO] [stdout] | ----------------- ^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `ProcedureStepFailedReason` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 311 | FromIndexTooLarge(()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/y2022/d5.rs:312:21 [INFO] [stdout] | [INFO] [stdout] 312 | ToIndexTooLarge(usize), [INFO] [stdout] | --------------- ^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `ProcedureStepFailedReason` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 312 | ToIndexTooLarge(()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/y2022/d5.rs:314:21 [INFO] [stdout] | [INFO] [stdout] 314 | InadequateCount(usize), [INFO] [stdout] | --------------- ^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `ProcedureStepFailedReason` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 314 | InadequateCount(()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/y2022/d7.rs:472:27 [INFO] [stdout] | [INFO] [stdout] 472 | FailedToParseLine(LineParseError<'s>), [INFO] [stdout] | ----------------- ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `FileSystemParseError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 472 | FailedToParseLine(()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/y2022/d7.rs:473:31 [INFO] [stdout] | [INFO] [stdout] 473 | InvalidChildDirectory(&'s str), [INFO] [stdout] | --------------------- ^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `FileSystemParseError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 473 | InvalidChildDirectory(()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/y2022/d7.rs:475:23 [INFO] [stdout] | [INFO] [stdout] 475 | InternalError(FileSystemInternalError), [INFO] [stdout] | ------------- ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `FileSystemParseError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 475 | InternalError(()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `BracketPair` is never constructed [INFO] [stdout] --> src/y2022/d13.rs:12:8 [INFO] [stdout] | [INFO] [stdout] 12 | struct BracketPair { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/y2023/d17.rs:175:21 [INFO] [stdout] | [INFO] [stdout] 175 | struct PathGridCell(u8); [INFO] [stdout] | ------------ ^^ [INFO] [stdout] | | [INFO] [stdout] | field in this struct [INFO] [stdout] | [INFO] [stdout] = help: consider removing this field [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/util.rs:115:12 [INFO] [stdout] | [INFO] [stdout] 115 | if let Some(mut intermediate) = args.try_to_intermediate::() { [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/util.rs:117:9 [INFO] [stdout] | [INFO] [stdout] 117 | } [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] 115 ~ match args.try_to_intermediate::() { Some(mut intermediate) => { [INFO] [stdout] 116 | intermediate.q1_internal(&args.question_args); [INFO] [stdout] 117 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/util.rs:121:12 [INFO] [stdout] | [INFO] [stdout] 121 | if let Some(mut intermediate) = args.try_to_intermediate::() { [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/util.rs:123:9 [INFO] [stdout] | [INFO] [stdout] 123 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 121 ~ match args.try_to_intermediate::() { Some(mut intermediate) => { [INFO] [stdout] 122 | intermediate.q2_internal(&args.question_args); [INFO] [stdout] 123 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/util.rs:127:12 [INFO] [stdout] | [INFO] [stdout] 127 | if let Some(mut intermediate) = args.try_to_intermediate::() { [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/util.rs:130:9 [INFO] [stdout] | [INFO] [stdout] 130 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 127 ~ match args.try_to_intermediate::() { Some(mut intermediate) => { [INFO] [stdout] 128 | intermediate.q1_internal(&args.question_args); [INFO] [stdout] 129 | intermediate.q2_internal(&args.question_args); [INFO] [stdout] 130 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/util/graph.rs:76:15 [INFO] [stdout] | [INFO] [stdout] 76 | while let Some(OpenSetElement(current, _)) = open_set_heap.pop() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/util/graph.rs:170:9 [INFO] [stdout] | [INFO] [stdout] 170 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/util/graph.rs:136:36 [INFO] [stdout] | [INFO] [stdout] 136 | ... if let Some(OpenSetElement(_, cost_mut)) = open_set_elements [INFO] [stdout] | ___________________________^ - [INFO] [stdout] | | __________________________________________________________________| [INFO] [stdout] 137 | || ... [..old_element_count] [INFO] [stdout] | ||_______________________________________________- this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] 138 | | ... .iter_mut() [INFO] [stdout] 139 | | ... .find(|OpenSetElement(vertex, _)| *vertex == open_set_element.0) [INFO] [stdout] | |___________________________________________________________________________________________^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/util/graph.rs:142:33 [INFO] [stdout] | [INFO] [stdout] 142 | ... } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 136 ~ match open_set_elements [INFO] [stdout] 137 | [..old_element_count] [INFO] [stdout] 138 | .iter_mut() [INFO] [stdout] 139 | .find(|OpenSetElement(vertex, _)| *vertex == open_set_element.0) [INFO] [stdout] 140 ~ { Some(OpenSetElement(_, cost_mut)) => { [INFO] [stdout] 141 | *cost_mut = open_set_element.1; [INFO] [stdout] 142 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/util/graph.rs:199:15 [INFO] [stdout] | [INFO] [stdout] 199 | while let Some(current) = queue.pop_front() { [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/util/graph.rs:212:9 [INFO] [stdout] | [INFO] [stdout] 212 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/util/graph.rs:239:15 [INFO] [stdout] | [INFO] [stdout] 239 | while let Some(vertex) = set.pop() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^--------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/util/graph.rs:251:9 [INFO] [stdout] | [INFO] [stdout] 251 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/util/graph.rs:297:15 [INFO] [stdout] | [INFO] [stdout] 297 | while let Some(OpenSetElement(current, start_to_current)) = open_set_heap.pop() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/util/graph.rs:386:9 [INFO] [stdout] | [INFO] [stdout] 386 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/util/graph.rs:354:36 [INFO] [stdout] | [INFO] [stdout] 354 | ... if let Some(OpenSetElement(_, start_to_neighbor)) = [INFO] [stdout] | __________________________^ [INFO] [stdout] 355 | | ... open_set_elements[..old_element_count].iter_mut().find( [INFO] [stdout] | | -------------------------------------- this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] 356 | | ... |OpenSetElement(vertex, _)| *vertex == open_set_element.0, [INFO] [stdout] 357 | | ... ) [INFO] [stdout] | |___________________________^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/util/graph.rs:360:33 [INFO] [stdout] | [INFO] [stdout] 360 | ... } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 354 ~ match open_set_elements[..old_element_count].iter_mut().find( [INFO] [stdout] 355 | |OpenSetElement(vertex, _)| *vertex == open_set_element.0, [INFO] [stdout] 356 | ) [INFO] [stdout] 357 ~ { Some(OpenSetElement(_, start_to_neighbor)) => { [INFO] [stdout] 358 | *start_to_neighbor = open_set_element.1; [INFO] [stdout] 359 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `impl std::iter::Iterator` will capture more lifetimes than possibly intended in edition 2024 [INFO] [stdout] --> src/util/grid/grid_2d.rs:301:37 [INFO] [stdout] | [INFO] [stdout] 301 | pub fn iter_positions(&self) -> impl Iterator { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see [INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds [INFO] [stdout] --> src/util/grid/grid_2d.rs:301:27 [INFO] [stdout] | [INFO] [stdout] 301 | pub fn iter_positions(&self) -> impl Iterator { [INFO] [stdout] | ^ [INFO] [stdout] = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024 [INFO] [stdout] = note: `--force-warn impl-trait-overcaptures` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit [INFO] [stdout] | [INFO] [stdout] 301 | pub fn iter_positions(&self) -> impl Iterator + use { [INFO] [stdout] | ++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/util/minimal_value_with_all_digit_pairs.rs:59:19 [INFO] [stdout] | [INFO] [stdout] 59 | while let Some(index) = builder.next_pair() { [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/util/minimal_value_with_all_digit_pairs.rs:61:13 [INFO] [stdout] | [INFO] [stdout] 61 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/y2016/d5.rs:117:20 [INFO] [stdout] | [INFO] [stdout] 117 | if let Some(c) = c.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/y2016/d5.rs:119:17 [INFO] [stdout] | [INFO] [stdout] 119 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 117 ~ match c.as_ref() { Some(c) => { [INFO] [stdout] 118 | dbg!(index, c); [INFO] [stdout] 119 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `impl std::iter::Iterator + 's` will capture more lifetimes than possibly intended in edition 2024 [INFO] [stdout] --> src/y2016/d7.rs:59:10 [INFO] [stdout] | [INFO] [stdout] 59 | ) -> impl Iterator + 's { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see [INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds [INFO] [stdout] --> src/y2016/d7.rs:56:9 [INFO] [stdout] | [INFO] [stdout] 56 | &self, [INFO] [stdout] | ^ [INFO] [stdout] = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024 [INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit [INFO] [stdout] | [INFO] [stdout] 59 | ) -> impl Iterator + 's + use<'s, F> { [INFO] [stdout] | ++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `impl std::iter::Iterator + 's` will capture more lifetimes than possibly intended in edition 2024 [INFO] [stdout] --> src/y2016/d7.rs:69:10 [INFO] [stdout] | [INFO] [stdout] 69 | ) -> impl Iterator + 's { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see [INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds [INFO] [stdout] --> src/y2016/d7.rs:67:9 [INFO] [stdout] | [INFO] [stdout] 67 | &self, [INFO] [stdout] | ^ [INFO] [stdout] = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024 [INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit [INFO] [stdout] | [INFO] [stdout] 69 | ) -> impl Iterator + 's + use<'s> { [INFO] [stdout] | +++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `impl std::iter::Iterator + 's` will capture more lifetimes than possibly intended in edition 2024 [INFO] [stdout] --> src/y2016/d7.rs:76:10 [INFO] [stdout] | [INFO] [stdout] 76 | ) -> impl Iterator + 's { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see [INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds [INFO] [stdout] --> src/y2016/d7.rs:74:9 [INFO] [stdout] | [INFO] [stdout] 74 | &self, [INFO] [stdout] | ^ [INFO] [stdout] = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024 [INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit [INFO] [stdout] | [INFO] [stdout] 76 | ) -> impl Iterator + 's + use<'s> { [INFO] [stdout] | +++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `impl std::iter::Iterator` will capture more lifetimes than possibly intended in edition 2024 [INFO] [stdout] --> src/y2016/d9.rs:120:49 [INFO] [stdout] | [INFO] [stdout] 120 | fn iter_strs<'s>(&self, string: &'s str) -> impl Iterator { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see [INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds [INFO] [stdout] --> src/y2016/d9.rs:120:22 [INFO] [stdout] | [INFO] [stdout] 120 | fn iter_strs<'s>(&self, string: &'s str) -> impl Iterator { [INFO] [stdout] | ^ [INFO] [stdout] = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024 [INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit [INFO] [stdout] | [INFO] [stdout] 120 | fn iter_strs<'s>(&self, string: &'s str) -> impl Iterator + use<'s> { [INFO] [stdout] | +++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/y2016/d12.rs:117:12 [INFO] [stdout] | [INFO] [stdout] 117 | if let Some(instruction) = (!state.is_toggled[index]) [INFO] [stdout] | ^ ---------------- this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | ____________| [INFO] [stdout] | | [INFO] [stdout] 118 | | .then_some(self.clone()) [INFO] [stdout] 119 | | .or_else(|| self.try_invert()) [INFO] [stdout] | |__________________________________________^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/y2016/d12.rs:159:9 [INFO] [stdout] | [INFO] [stdout] 159 | } 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] 117 ~ match (!state.is_toggled[index]) [INFO] [stdout] 118 | .then_some(self.clone()) [INFO] [stdout] 119 | .or_else(|| self.try_invert()) [INFO] [stdout] 120 ~ { Some(instruction) => { [INFO] [stdout] 121 | match instruction { [INFO] [stdout] ... [INFO] [stdout] 158 | } [INFO] [stdout] 159 ~ } _ => { [INFO] [stdout] 160 | 1_isize [INFO] [stdout] 161 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/y2016/d22.rs:497:19 [INFO] [stdout] | [INFO] [stdout] 497 | } else if let Some(simple_grid) = self.try_simple_grid() { [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/y2016/d22.rs:507:9 [INFO] [stdout] | [INFO] [stdout] 507 | } 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] 497 ~ } else { match self.try_simple_grid() { Some(simple_grid) => { [INFO] [stdout] 498 | if let Some(move_sequence) = simple_grid.try_move_sequence() { [INFO] [stdout] ... [INFO] [stdout] 506 | } [INFO] [stdout] 507 ~ } _ => { [INFO] [stdout] 508 | eprintln!("Failed to convert to simple grid!"); [INFO] [stdout] 509 ~ }}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/y2016/d22.rs:498:16 [INFO] [stdout] | [INFO] [stdout] 498 | if let Some(move_sequence) = simple_grid.try_move_sequence() { [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/y2016/d22.rs:504:13 [INFO] [stdout] | [INFO] [stdout] 504 | } 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] 498 ~ match simple_grid.try_move_sequence() { Some(move_sequence) => { [INFO] [stdout] 499 | dbg!(move_sequence.len() - 1_usize); [INFO] [stdout] ... [INFO] [stdout] 503 | } [INFO] [stdout] 504 ~ } _ => { [INFO] [stdout] 505 | eprintln!("Failed to find move sequence!"); [INFO] [stdout] 506 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `impl std::iter::Iterator` will capture more lifetimes than possibly intended in edition 2024 [INFO] [stdout] --> src/y2021/d17.rs:39:59 [INFO] [stdout] | [INFO] [stdout] 39 | fn iter_velocities(&self, x_delta: i32, time: i32) -> impl Iterator { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see [INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds [INFO] [stdout] --> src/y2021/d17.rs:39:24 [INFO] [stdout] | [INFO] [stdout] 39 | fn iter_velocities(&self, x_delta: i32, time: i32) -> impl Iterator { [INFO] [stdout] | ^ [INFO] [stdout] = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024 [INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit [INFO] [stdout] | [INFO] [stdout] 39 | fn iter_velocities(&self, x_delta: i32, time: i32) -> impl Iterator + use<> { [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `impl std::iter::Iterator` will capture more lifetimes than possibly intended in edition 2024 [INFO] [stdout] --> src/y2021/d19.rs:455:59 [INFO] [stdout] | [INFO] [stdout] 455 | fn beacon_pairs_for_scanner(&self, scanner: usize) -> impl Iterator { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see [INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds [INFO] [stdout] --> src/y2021/d19.rs:455:33 [INFO] [stdout] | [INFO] [stdout] 455 | fn beacon_pairs_for_scanner(&self, scanner: usize) -> impl Iterator { [INFO] [stdout] | ^ [INFO] [stdout] = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024 [INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit [INFO] [stdout] | [INFO] [stdout] 455 | fn beacon_pairs_for_scanner(&self, scanner: usize) -> impl Iterator + use<> { [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/y2021/d19.rs:628:36 [INFO] [stdout] | [INFO] [stdout] 628 | ... if let Some(transformation) = self.find_transformation( [INFO] [stdout] | __________________________^ [INFO] [stdout] 629 | | ... &norm_delta_data, [INFO] [stdout] 630 | | ... mapped_scanner, [INFO] [stdout] 631 | | ... unmapped_scanner, [INFO] [stdout] 632 | | ... &mut mapped_scanner_beacon_trios, [INFO] [stdout] | | --------------------------- this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] 633 | | ... ) { [INFO] [stdout] | |_______________________^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/y2021/d19.rs:639:33 [INFO] [stdout] | [INFO] [stdout] 639 | ... } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 628 ~ match self.find_transformation( [INFO] [stdout] 629 | &norm_delta_data, [INFO] [stdout] ... [INFO] [stdout] 632 | &mut mapped_scanner_beacon_trios, [INFO] [stdout] 633 ~ ) { Some(transformation) => { [INFO] [stdout] 634 | transformations[unmapped_scanner] = [INFO] [stdout] ... [INFO] [stdout] 638 | continue 'while_loop; [INFO] [stdout] 639 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `impl y2021::d21::Die + std::fmt::Debug` will capture more lifetimes than possibly intended in edition 2024 [INFO] [stdout] --> src/y2021/d21.rs:228:72 [INFO] [stdout] | [INFO] [stdout] 228 | fn game_state_with_100_sided_deterministic_die(&self) -> GameState { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see [INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds [INFO] [stdout] --> src/y2021/d21.rs:228:52 [INFO] [stdout] | [INFO] [stdout] 228 | fn game_state_with_100_sided_deterministic_die(&self) -> GameState { [INFO] [stdout] | ^ [INFO] [stdout] = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024 [INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit [INFO] [stdout] | [INFO] [stdout] 228 | fn game_state_with_100_sided_deterministic_die(&self) -> GameState> { [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/y2022/d10.rs:162:16 [INFO] [stdout] | [INFO] [stdout] 162 | if let Some(instruction) = self.instruction_iter.next() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^---------------------^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/y2022/d10.rs:165:13 [INFO] [stdout] | [INFO] [stdout] 165 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 162 ~ match self.instruction_iter.next() { Some(instruction) => { [INFO] [stdout] 163 | self.instruction_cycles = instruction.cycles().get(); [INFO] [stdout] 164 | self.current_instruction = Some(*instruction); [INFO] [stdout] 165 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/y2022/d15.rs:607:23 [INFO] [stdout] | [INFO] [stdout] 607 | } else if let Some(children) = self.children.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/y2022/d15.rs:609:13 [INFO] [stdout] | [INFO] [stdout] 609 | } 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] 607 ~ } else { match self.children.as_ref() { Some(children) => { [INFO] [stdout] 608 | children.iter().find_map(Self::find_gap) [INFO] [stdout] 609 ~ } _ => { [INFO] [stdout] 610 | Some(self.corners.0[0_usize]) [INFO] [stdout] 611 ~ }}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `impl std::iter::Iterator` will capture more lifetimes than possibly intended in edition 2024 [INFO] [stdout] --> src/y2022/d16.rs:1289:63 [INFO] [stdout] | [INFO] [stdout] 1289 | fn iterate_over_cells_in_layer(&self, time: usize) -> impl Iterator { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see [INFO] [stdout] note: specifically, these lifetimes are in scope but not mentioned in the type's bounds [INFO] [stdout] --> src/y2022/d16.rs:988:10 [INFO] [stdout] | [INFO] [stdout] 988 | impl<'a> BiActorExplorer<'a> { [INFO] [stdout] | ^^ [INFO] [stdout] ... [INFO] [stdout] 1289 | fn iterate_over_cells_in_layer(&self, time: usize) -> impl Iterator { [INFO] [stdout] | ^ [INFO] [stdout] = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024 [INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit [INFO] [stdout] | [INFO] [stdout] 1289 | fn iterate_over_cells_in_layer(&self, time: usize) -> impl Iterator + use<> { [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/y2022/d24.rs:133:12 [INFO] [stdout] | [INFO] [stdout] 133 | if let Some(gap_in_wall) = self [INFO] [stdout] | _____________^ - [INFO] [stdout] | | ____________________________________| [INFO] [stdout] 134 | || .iter_walls() [INFO] [stdout] | ||_________________________- this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] 135 | | .find(|wall_pos| *self.0.get(*wall_pos).unwrap() != BlizzardCellByte::Wall) [INFO] [stdout] | |________________________________________________________________________________________^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/y2022/d24.rs:138:9 [INFO] [stdout] | [INFO] [stdout] 138 | } 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] 133 ~ match self [INFO] [stdout] 134 | .iter_walls() [INFO] [stdout] 135 | .find(|wall_pos| *self.0.get(*wall_pos).unwrap() != BlizzardCellByte::Wall) [INFO] [stdout] 136 ~ { Some(gap_in_wall) => { [INFO] [stdout] 137 | Err(gap_in_wall) [INFO] [stdout] 138 ~ } _ => { [INFO] [stdout] 139 | Ok(()) [INFO] [stdout] 140 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `impl std::iter::Iterator` will capture more lifetimes than possibly intended in edition 2024 [INFO] [stdout] --> src/y2023/d3.rs:187:29 [INFO] [stdout] | [INFO] [stdout] 187 | fn iter_gears(&self) -> impl Iterator { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see [INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds [INFO] [stdout] --> src/y2023/d3.rs:187:19 [INFO] [stdout] | [INFO] [stdout] 187 | fn iter_gears(&self) -> impl Iterator { [INFO] [stdout] | ^ [INFO] [stdout] = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024 [INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit [INFO] [stdout] | [INFO] [stdout] 187 | fn iter_gears(&self) -> impl Iterator + use<> { [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `impl std::iter::Iterator` will capture more lifetimes than possibly intended in edition 2024 [INFO] [stdout] --> src/y2023/d15.rs:231:47 [INFO] [stdout] | [INFO] [stdout] 231 | fn iter_hashmap_focusing_powers(&self) -> impl Iterator { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see [INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds [INFO] [stdout] --> src/y2023/d15.rs:231:37 [INFO] [stdout] | [INFO] [stdout] 231 | fn iter_hashmap_focusing_powers(&self) -> impl Iterator { [INFO] [stdout] | ^ [INFO] [stdout] = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024 [INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit [INFO] [stdout] | [INFO] [stdout] 231 | fn iter_hashmap_focusing_powers(&self) -> impl Iterator + use<> { [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/y2023/d18.rs:159:12 [INFO] [stdout] | [INFO] [stdout] 159 | if let Some((curr_pos, dig_direction)) = self [INFO] [stdout] | _____________^ - [INFO] [stdout] | | __________________________________________________| [INFO] [stdout] 160 | || .solution [INFO] [stdout] 161 | || .iter_pos_and_dig_dir(self.start) [INFO] [stdout] | ||_____________________________________________- this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] 162 | | .find(|(_, dig_direction)| dig_direction.dist > 1_i32) [INFO] [stdout] | |___________________________________________________________________^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/y2023/d18.rs:178:9 [INFO] [stdout] | [INFO] [stdout] 178 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 159 ~ match self [INFO] [stdout] 160 | .solution [INFO] [stdout] 161 | .iter_pos_and_dig_dir(self.start) [INFO] [stdout] 162 | .find(|(_, dig_direction)| dig_direction.dist > 1_i32) [INFO] [stdout] 163 ~ { Some((curr_pos, dig_direction)) => { [INFO] [stdout] 164 | let interior_dir: Direction = if Solution::is_loop_clockwise(Solution::signed_area( [INFO] [stdout] ... [INFO] [stdout] 177 | interior_digger.run(); [INFO] [stdout] 178 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `impl std::iter::Iterator` will capture more lifetimes than possibly intended in edition 2024 [INFO] [stdout] --> src/y2023/d22.rs:211:63 [INFO] [stdout] | [INFO] [stdout] 211 | fn iter_brick_indices_and_disintegration_safety(&self) -> impl Iterator { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see [INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds [INFO] [stdout] --> src/y2023/d22.rs:211:53 [INFO] [stdout] | [INFO] [stdout] 211 | fn iter_brick_indices_and_disintegration_safety(&self) -> impl Iterator { [INFO] [stdout] | ^ [INFO] [stdout] = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024 [INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit [INFO] [stdout] | [INFO] [stdout] 211 | fn iter_brick_indices_and_disintegration_safety(&self) -> impl Iterator + use<> { [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `impl std::iter::Iterator` will capture more lifetimes than possibly intended in edition 2024 [INFO] [stdout] --> src/y2023/d22.rs:236:58 [INFO] [stdout] | [INFO] [stdout] 236 | fn iter_safe_to_disintegrate_brick_indices(&self) -> impl Iterator { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see [INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds [INFO] [stdout] --> src/y2023/d22.rs:236:48 [INFO] [stdout] | [INFO] [stdout] 236 | fn iter_safe_to_disintegrate_brick_indices(&self) -> impl Iterator { [INFO] [stdout] | ^ [INFO] [stdout] = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024 [INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit [INFO] [stdout] | [INFO] [stdout] 236 | fn iter_safe_to_disintegrate_brick_indices(&self) -> impl Iterator + use<> { [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 211 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0133`. [INFO] [stdout] [INFO] [stderr] warning: failed to automatically apply fixes suggested by rustc to crate `aoc` [INFO] [stderr] [INFO] [stderr] after fixes were automatically applied the compiler reported errors within these files: [INFO] [stderr] [INFO] [stderr] * src/util.rs [INFO] [stderr] * src/y2016/d5.rs [INFO] [stderr] * src/y2021/d22.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/util.rs:360:6 [INFO] [stderr] | [INFO] [stderr] 360 | ($left:expr_2021, $right:expr_2021) => {{ [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/util.rs:360:12 [INFO] [stdout] | [INFO] [stdout] 360 | ($left:expr, $right:expr) => {{ [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] = note: `--force-warn edition-2024-expr-fragment-specifier` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 360 | ($left:expr_2021, $right:expr) => {{ [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/util.rs:360:25 [INFO] [stdout] | [INFO] [stdout] 360 | ($left:expr, $right: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] 360 | ($left:expr, $right:expr_2021) => {{ [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/util.rs:360:23 [INFO] [stderr] | [INFO] [stderr] 360 | ($left:expr_2021, $right:expr_2021) => {{ [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/util.rs:861:53 [INFO] [stderr] | [INFO] [stderr] 861 | $variant:ident = $variant_const:ident = $variant_u8: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] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/util.rs:861:65 [INFO] [stdout] | [INFO] [stdout] 861 | $variant:ident = $variant_const:ident = $variant_u8: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] 861 | $variant:ident = $variant_const:ident = $variant_u8:expr_2021 [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stdout] warning: elided lifetime has a name [INFO] [stdout] --> src/y2016/d5.rs:106:36 [INFO] [stdout] | [INFO] [stdout] 102 | fn iter_chars<'f, T: Debug, F: Fn(&mut String, u32) -> Option + 'f>( [INFO] [stdout] | -- lifetime `'f` declared here [INFO] [stdout] ... [INFO] [stdout] 106 | ) -> impl Iterator + '_ { [INFO] [stdout] | ^^ this elided lifetime gets resolved as `'f` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(elided_named_lifetimes)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] --> src/y2021/d22.rs:398:25 [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/y2021/d22.rs:398:34 [INFO] [stdout] | [INFO] [stdout] 398 | [ $( $on:ident => x=$x_range:expr,y=$y_range:expr,z=$z_range:expr),* ;$add_one: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] 398 | [ $( $on:ident => x=$x_range:expr_2021,y=$y_range:expr,z=$z_range:expr),* ;$add_one:expr] => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] | [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/y2021/d22.rs:398:50 [INFO] [stdout] | [INFO] [stdout] 398 | [ $( $on:ident => x=$x_range:expr,y=$y_range:expr,z=$z_range:expr),* ;$add_one: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] 398 | [ $( $on:ident => x=$x_range:expr,y=$y_range:expr_2021,z=$z_range:expr),* ;$add_one:expr] => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] 398 | [ $( $on:ident => x=$x_range:expr_2021,y=$y_range:expr_2021,z=$z_range:expr_2021),* ;$add_one:expr_2021] => { [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/y2021/d22.rs:398:66 [INFO] [stdout] | [INFO] [stdout] 398 | [ $( $on:ident => x=$x_range:expr,y=$y_range:expr,z=$z_range:expr),* ;$add_one: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] 398 | [ $( $on:ident => x=$x_range:expr,y=$y_range:expr,z=$z_range:expr_2021),* ;$add_one:expr] => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/y2021/d22.rs:398:46 [INFO] [stderr] | [INFO] [stderr] 398 | [ $( $on:ident => x=$x_range:expr_2021,y=$y_range:expr_2021,z=$z_range:expr_2021),* ;$add_one:expr_2021] => { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/y2021/d22.rs:398:67 [INFO] [stderr] | [INFO] [stderr] 398 | [ $( $on:ident => x=$x_range:expr_2021,y=$y_range:expr_2021,z=$z_range:expr_2021),* ;$add_one:expr_2021] => { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/y2021/d22.rs:398:90 [INFO] [stderr] | [INFO] [stderr] 398 | [ $( $on:ident => x=$x_range:expr_2021,y=$y_range:expr_2021,z=$z_range:expr_2021),* ;$add_one:expr_2021] => { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/y2021/d22.rs:398:84 [INFO] [stdout] | [INFO] [stdout] 398 | [ $( $on:ident => x=$x_range:expr,y=$y_range:expr,z=$z_range:expr),* ;$add_one: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] 398 | [ $( $on:ident => x=$x_range:expr,y=$y_range:expr,z=$z_range:expr),* ;$add_one:expr_2021] => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] [INFO] [stderr] warning: elided lifetime has a name [INFO] [stderr] --> src/y2016/d5.rs:106:36 [INFO] [stderr] | [INFO] [stderr] 102 | fn iter_chars<'f, T: Debug, F: Fn(&mut String, u32) -> Option + 'f>( [INFO] [stderr] | -- lifetime `'f` declared here [INFO] [stderr] ... [INFO] [stderr] 106 | ) -> impl Iterator + '_ { [INFO] [stderr] | ^^ this elided lifetime gets resolved as `'f` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(elided_named_lifetimes)]` on by default [INFO] [stderr] [INFO] [stderr] error: aborting due to 7 previous errors; 1 warning emitted [INFO] [stderr] [INFO] [stderr] For more information about this error, try `rustc --explain E0658`. [INFO] [stderr] Original diagnostics will follow. [INFO] [stderr] [INFO] [stdout] warning[E0133]: call to unsafe function `memmap::Mmap::map` is unsafe and requires unsafe block [INFO] [stdout] --> src/util.rs:409:22 [INFO] [stdout] | [INFO] [stdout] 409 | let mmap: Mmap = Mmap::map(&file)?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/util.rs:405:1 [INFO] [stdout] | [INFO] [stdout] 405 | pub unsafe fn open_utf8_file T>(file_path: &str, f: F) -> IoResult { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: `--force-warn unsafe-op-in-unsafe-fn` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/y2021/d5.rs:149:21 [INFO] [stdout] | [INFO] [stdout] 149 | struct Cell(u8); [INFO] [stdout] | ---- ^^ [INFO] [stdout] | | [INFO] [stdout] | field in this struct [INFO] [stdout] | [INFO] [stdout] = help: consider removing this field [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/y2021/d6.rs:53:27 [INFO] [stdout] | [INFO] [stdout] 53 | ParseIntError(ParseIntError), [INFO] [stdout] | ------------- ^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 53 | ParseIntError(()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/y2021/d9.rs:11:28 [INFO] [stdout] | [INFO] [stdout] 11 | pub struct CharOutOfBounds(char); [INFO] [stdout] | --------------- ^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this struct [INFO] [stdout] | [INFO] [stdout] = help: consider removing this field [INFO] [stdout] = note: `CharOutOfBounds` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/y2021/d11.rs:5:28 [INFO] [stdout] | [INFO] [stdout] 5 | pub struct CharOutOfBounds(char); [INFO] [stdout] | --------------- ^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this struct [INFO] [stdout] | [INFO] [stdout] = help: consider removing this field [INFO] [stdout] = note: `CharOutOfBounds` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `BeaconPairLink` is never constructed [INFO] [stdout] --> src/y2021/d19.rs:306:8 [INFO] [stdout] | [INFO] [stdout] 306 | struct BeaconPairLink { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `BeaconPairIter` is never constructed [INFO] [stdout] --> src/y2021/d19.rs:314:8 [INFO] [stdout] | [INFO] [stdout] 314 | struct BeaconPairIter<'l> { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `NeighborMapTrait` is never used [INFO] [stdout] --> src/y2021/d23.rs:155:7 [INFO] [stdout] | [INFO] [stdout] 155 | trait NeighborMapTrait { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/y2022/d4.rs:91:24 [INFO] [stdout] | [INFO] [stdout] 91 | StartFailedToParse(ParseIntError), [INFO] [stdout] | ------------------ ^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `SectionAssignmentParseError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 91 | StartFailedToParse(()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/y2022/d4.rs:97:22 [INFO] [stdout] | [INFO] [stdout] 97 | EndFailedToParse(ParseIntError), [INFO] [stdout] | ---------------- ^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `SectionAssignmentParseError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 97 | EndFailedToParse(()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/y2022/d4.rs:163:23 [INFO] [stdout] | [INFO] [stdout] 163 | ZeroFailedToParse(SectionAssignmentParseError), [INFO] [stdout] | ----------------- ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `SectionAssignmentPairParseError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 163 | ZeroFailedToParse(()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/y2022/d4.rs:169:22 [INFO] [stdout] | [INFO] [stdout] 169 | OneFailedToParse(SectionAssignmentParseError), [INFO] [stdout] | ---------------- ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `SectionAssignmentPairParseError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 169 | OneFailedToParse(()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/y2022/d5.rs:311:23 [INFO] [stdout] | [INFO] [stdout] 311 | FromIndexTooLarge(usize), [INFO] [stdout] | ----------------- ^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `ProcedureStepFailedReason` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 311 | FromIndexTooLarge(()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/y2022/d5.rs:312:21 [INFO] [stdout] | [INFO] [stdout] 312 | ToIndexTooLarge(usize), [INFO] [stdout] | --------------- ^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `ProcedureStepFailedReason` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 312 | ToIndexTooLarge(()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/y2022/d5.rs:314:21 [INFO] [stdout] | [INFO] [stdout] 314 | InadequateCount(usize), [INFO] [stdout] | --------------- ^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `ProcedureStepFailedReason` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 314 | InadequateCount(()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/y2022/d6.rs:15:29 [INFO] [stdout] | [INFO] [stdout] 15 | CharIsNotAsciiLowercase(char), [INFO] [stdout] | ----------------------- ^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `ProcessCharError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 15 | CharIsNotAsciiLowercase(()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/y2022/d6.rs:16:30 [INFO] [stdout] | [INFO] [stdout] 16 | PoppingCharWithZeroCount(char), [INFO] [stdout] | ------------------------ ^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `ProcessCharError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 16 | PoppingCharWithZeroCount(()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/y2022/d6.rs:17:53 [INFO] [stdout] | [INFO] [stdout] 17 | DecrementingCharCountToZeroWithZeroPresentTotal(char), [INFO] [stdout] | ----------------------------------------------- ^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `ProcessCharError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 17 | DecrementingCharCountToZeroWithZeroPresentTotal(()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/y2022/d6.rs:24:22 [INFO] [stdout] | [INFO] [stdout] 24 | ProcessCharError(ProcessCharError), [INFO] [stdout] | ---------------- ^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `DetectMarkerError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 24 | ProcessCharError(()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/y2022/d6.rs:25:19 [INFO] [stdout] | [INFO] [stdout] 25 | NoMarkerFound(usize), [INFO] [stdout] | ------------- ^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `DetectMarkerError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 25 | NoMarkerFound(()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/y2022/d7.rs:472:27 [INFO] [stdout] | [INFO] [stdout] 472 | FailedToParseLine(LineParseError<'s>), [INFO] [stdout] | ----------------- ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `FileSystemParseError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 472 | FailedToParseLine(()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/y2022/d7.rs:473:31 [INFO] [stdout] | [INFO] [stdout] 473 | InvalidChildDirectory(&'s str), [INFO] [stdout] | --------------------- ^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `FileSystemParseError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 473 | InvalidChildDirectory(()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/y2022/d7.rs:475:23 [INFO] [stdout] | [INFO] [stdout] 475 | InternalError(FileSystemInternalError), [INFO] [stdout] | ------------- ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `FileSystemParseError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 475 | InternalError(()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/y2022/d8.rs:9:32 [INFO] [stdout] | [INFO] [stdout] 9 | pub struct CharIsNotAsciiDigit(char); [INFO] [stdout] | ------------------- ^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this struct [INFO] [stdout] | [INFO] [stdout] = help: consider removing this field [INFO] [stdout] = note: `CharIsNotAsciiDigit` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `count_tails` is never used [INFO] [stdout] --> src/y2022/d9.rs:346:8 [INFO] [stdout] | [INFO] [stdout] 341 | trait HasVisitedGrid { [INFO] [stdout] | -------------- method in this trait [INFO] [stdout] ... [INFO] [stdout] 346 | fn count_tails(&self) -> usize; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `BracketPair` is never constructed [INFO] [stdout] --> src/y2022/d13.rs:12:8 [INFO] [stdout] | [INFO] [stdout] 12 | struct BracketPair { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/y2023/d17.rs:175:21 [INFO] [stdout] | [INFO] [stdout] 175 | struct PathGridCell(u8); [INFO] [stdout] | ------------ ^^ [INFO] [stdout] | | [INFO] [stdout] | field in this struct [INFO] [stdout] | [INFO] [stdout] = help: consider removing this field [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/util.rs:115:12 [INFO] [stdout] | [INFO] [stdout] 115 | if let Some(mut intermediate) = args.try_to_intermediate::() { [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/util.rs:117:9 [INFO] [stdout] | [INFO] [stdout] 117 | } [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] 115 ~ match args.try_to_intermediate::() { Some(mut intermediate) => { [INFO] [stdout] 116 | intermediate.q1_internal(&args.question_args); [INFO] [stdout] 117 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/util.rs:121:12 [INFO] [stdout] | [INFO] [stdout] 121 | if let Some(mut intermediate) = args.try_to_intermediate::() { [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/util.rs:123:9 [INFO] [stdout] | [INFO] [stdout] 123 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 121 ~ match args.try_to_intermediate::() { Some(mut intermediate) => { [INFO] [stdout] 122 | intermediate.q2_internal(&args.question_args); [INFO] [stdout] 123 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/util.rs:127:12 [INFO] [stdout] | [INFO] [stdout] 127 | if let Some(mut intermediate) = args.try_to_intermediate::() { [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/util.rs:130:9 [INFO] [stdout] | [INFO] [stdout] 130 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 127 ~ match args.try_to_intermediate::() { Some(mut intermediate) => { [INFO] [stdout] 128 | intermediate.q1_internal(&args.question_args); [INFO] [stdout] 129 | intermediate.q2_internal(&args.question_args); [INFO] [stdout] 130 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/util/graph.rs:76:15 [INFO] [stdout] | [INFO] [stdout] 76 | while let Some(OpenSetElement(current, _)) = open_set_heap.pop() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/util/graph.rs:170:9 [INFO] [stdout] | [INFO] [stdout] 170 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/util/graph.rs:136:36 [INFO] [stdout] | [INFO] [stdout] 136 | ... if let Some(OpenSetElement(_, cost_mut)) = open_set_elements [INFO] [stdout] | ___________________________^ - [INFO] [stdout] | | __________________________________________________________________| [INFO] [stdout] 137 | || ... [..old_element_count] [INFO] [stdout] | ||_______________________________________________- this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] 138 | | ... .iter_mut() [INFO] [stdout] 139 | | ... .find(|OpenSetElement(vertex, _)| *vertex == open_set_element.0) [INFO] [stdout] | |___________________________________________________________________________________________^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/util/graph.rs:142:33 [INFO] [stdout] | [INFO] [stdout] 142 | ... } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 136 ~ match open_set_elements [INFO] [stdout] 137 | [..old_element_count] [INFO] [stdout] 138 | .iter_mut() [INFO] [stdout] 139 | .find(|OpenSetElement(vertex, _)| *vertex == open_set_element.0) [INFO] [stdout] 140 ~ { Some(OpenSetElement(_, cost_mut)) => { [INFO] [stdout] 141 | *cost_mut = open_set_element.1; [INFO] [stdout] 142 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/util/graph.rs:199:15 [INFO] [stdout] | [INFO] [stdout] 199 | while let Some(current) = queue.pop_front() { [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/util/graph.rs:212:9 [INFO] [stdout] | [INFO] [stdout] 212 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/util/graph.rs:239:15 [INFO] [stdout] | [INFO] [stdout] 239 | while let Some(vertex) = set.pop() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^--------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/util/graph.rs:251:9 [INFO] [stdout] | [INFO] [stdout] 251 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/util/graph.rs:297:15 [INFO] [stdout] | [INFO] [stdout] 297 | while let Some(OpenSetElement(current, start_to_current)) = open_set_heap.pop() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/util/graph.rs:386:9 [INFO] [stdout] | [INFO] [stdout] 386 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/util/graph.rs:354:36 [INFO] [stdout] | [INFO] [stdout] 354 | ... if let Some(OpenSetElement(_, start_to_neighbor)) = [INFO] [stdout] | __________________________^ [INFO] [stdout] 355 | | ... open_set_elements[..old_element_count].iter_mut().find( [INFO] [stdout] | | -------------------------------------- this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] 356 | | ... |OpenSetElement(vertex, _)| *vertex == open_set_element.0, [INFO] [stdout] 357 | | ... ) [INFO] [stdout] | |___________________________^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/util/graph.rs:360:33 [INFO] [stdout] | [INFO] [stdout] 360 | ... } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 354 ~ match open_set_elements[..old_element_count].iter_mut().find( [INFO] [stdout] 355 | |OpenSetElement(vertex, _)| *vertex == open_set_element.0, [INFO] [stdout] 356 | ) [INFO] [stdout] 357 ~ { Some(OpenSetElement(_, start_to_neighbor)) => { [INFO] [stdout] 358 | *start_to_neighbor = open_set_element.1; [INFO] [stdout] 359 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `impl Iterator` will capture more lifetimes than possibly intended in edition 2024 [INFO] [stdout] --> src/util/grid/grid_2d.rs:301:37 [INFO] [stdout] | [INFO] [stdout] 301 | pub fn iter_positions(&self) -> impl Iterator { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see [INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds [INFO] [stdout] --> src/util/grid/grid_2d.rs:301:27 [INFO] [stdout] | [INFO] [stdout] 301 | pub fn iter_positions(&self) -> impl Iterator { [INFO] [stdout] | ^ [INFO] [stdout] = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024 [INFO] [stdout] = note: `--force-warn impl-trait-overcaptures` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit [INFO] [stdout] | [INFO] [stdout] 301 | pub fn iter_positions(&self) -> impl Iterator + use { [INFO] [stdout] | ++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/util/minimal_value_with_all_digit_pairs.rs:59:19 [INFO] [stdout] | [INFO] [stdout] 59 | while let Some(index) = builder.next_pair() { [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/util/minimal_value_with_all_digit_pairs.rs:61:13 [INFO] [stdout] | [INFO] [stdout] 61 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/y2016/d5.rs:117:20 [INFO] [stdout] | [INFO] [stdout] 117 | if let Some(c) = c.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/y2016/d5.rs:119:17 [INFO] [stdout] | [INFO] [stdout] 119 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 117 ~ match c.as_ref() { Some(c) => { [INFO] [stdout] 118 | dbg!(index, c); [INFO] [stdout] 119 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `impl Iterator + 's` will capture more lifetimes than possibly intended in edition 2024 [INFO] [stdout] --> src/y2016/d7.rs:59:10 [INFO] [stdout] | [INFO] [stdout] 59 | ) -> impl Iterator + 's { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see [INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds [INFO] [stdout] --> src/y2016/d7.rs:56:9 [INFO] [stdout] | [INFO] [stdout] 56 | &self, [INFO] [stdout] | ^ [INFO] [stdout] = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024 [INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit [INFO] [stdout] | [INFO] [stdout] 59 | ) -> impl Iterator + 's + use<'s, F> { [INFO] [stdout] | ++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `impl Iterator + 's` will capture more lifetimes than possibly intended in edition 2024 [INFO] [stdout] --> src/y2016/d7.rs:69:10 [INFO] [stdout] | [INFO] [stdout] 69 | ) -> impl Iterator + 's { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see [INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds [INFO] [stdout] --> src/y2016/d7.rs:67:9 [INFO] [stdout] | [INFO] [stdout] 67 | &self, [INFO] [stdout] | ^ [INFO] [stdout] = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024 [INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit [INFO] [stdout] | [INFO] [stdout] 69 | ) -> impl Iterator + 's + use<'s> { [INFO] [stdout] | +++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `impl Iterator + 's` will capture more lifetimes than possibly intended in edition 2024 [INFO] [stdout] --> src/y2016/d7.rs:76:10 [INFO] [stdout] | [INFO] [stdout] 76 | ) -> impl Iterator + 's { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see [INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds [INFO] [stdout] --> src/y2016/d7.rs:74:9 [INFO] [stdout] | [INFO] [stdout] 74 | &self, [INFO] [stdout] | ^ [INFO] [stdout] = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024 [INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit [INFO] [stdout] | [INFO] [stdout] 76 | ) -> impl Iterator + 's + use<'s> { [INFO] [stdout] | +++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `impl Iterator` will capture more lifetimes than possibly intended in edition 2024 [INFO] [stdout] --> src/y2016/d9.rs:120:49 [INFO] [stdout] | [INFO] [stdout] 120 | fn iter_strs<'s>(&self, string: &'s str) -> impl Iterator { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see [INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds [INFO] [stdout] --> src/y2016/d9.rs:120:22 [INFO] [stdout] | [INFO] [stdout] 120 | fn iter_strs<'s>(&self, string: &'s str) -> impl Iterator { [INFO] [stdout] | ^ [INFO] [stdout] = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024 [INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit [INFO] [stdout] | [INFO] [stdout] 120 | fn iter_strs<'s>(&self, string: &'s str) -> impl Iterator + use<'s> { [INFO] [stdout] | +++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/y2016/d12.rs:117:12 [INFO] [stdout] | [INFO] [stdout] 117 | if let Some(instruction) = (!state.is_toggled[index]) [INFO] [stdout] | ^ ---------------- this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | ____________| [INFO] [stdout] | | [INFO] [stdout] 118 | | .then_some(self.clone()) [INFO] [stdout] 119 | | .or_else(|| self.try_invert()) [INFO] [stdout] | |__________________________________________^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/y2016/d12.rs:159:9 [INFO] [stdout] | [INFO] [stdout] 159 | } 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] 117 ~ match (!state.is_toggled[index]) [INFO] [stdout] 118 | .then_some(self.clone()) [INFO] [stdout] 119 | .or_else(|| self.try_invert()) [INFO] [stdout] 120 ~ { Some(instruction) => { [INFO] [stdout] 121 | match instruction { [INFO] [stdout] ... [INFO] [stdout] 158 | } [INFO] [stdout] 159 ~ } _ => { [INFO] [stdout] 160 | 1_isize [INFO] [stdout] 161 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/y2016/d22.rs:497:19 [INFO] [stdout] | [INFO] [stdout] 497 | } else if let Some(simple_grid) = self.try_simple_grid() { [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/y2016/d22.rs:507:9 [INFO] [stdout] | [INFO] [stdout] 507 | } 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] 497 ~ } else { match self.try_simple_grid() { Some(simple_grid) => { [INFO] [stdout] 498 | if let Some(move_sequence) = simple_grid.try_move_sequence() { [INFO] [stdout] ... [INFO] [stdout] 506 | } [INFO] [stdout] 507 ~ } _ => { [INFO] [stdout] 508 | eprintln!("Failed to convert to simple grid!"); [INFO] [stdout] 509 ~ }}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/y2016/d22.rs:498:16 [INFO] [stdout] | [INFO] [stdout] 498 | if let Some(move_sequence) = simple_grid.try_move_sequence() { [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/y2016/d22.rs:504:13 [INFO] [stdout] | [INFO] [stdout] 504 | } 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] 498 ~ match simple_grid.try_move_sequence() { Some(move_sequence) => { [INFO] [stdout] 499 | dbg!(move_sequence.len() - 1_usize); [INFO] [stdout] ... [INFO] [stdout] 503 | } [INFO] [stdout] 504 ~ } _ => { [INFO] [stdout] 505 | eprintln!("Failed to find move sequence!"); [INFO] [stdout] 506 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `impl Iterator` will capture more lifetimes than possibly intended in edition 2024 [INFO] [stdout] --> src/y2021/d17.rs:39:59 [INFO] [stdout] | [INFO] [stdout] 39 | fn iter_velocities(&self, x_delta: i32, time: i32) -> impl Iterator { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see [INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds [INFO] [stdout] --> src/y2021/d17.rs:39:24 [INFO] [stdout] | [INFO] [stdout] 39 | fn iter_velocities(&self, x_delta: i32, time: i32) -> impl Iterator { [INFO] [stdout] | ^ [INFO] [stdout] = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024 [INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit [INFO] [stdout] | [INFO] [stdout] 39 | fn iter_velocities(&self, x_delta: i32, time: i32) -> impl Iterator + use<> { [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `impl Iterator` will capture more lifetimes than possibly intended in edition 2024 [INFO] [stdout] --> src/y2021/d19.rs:455:59 [INFO] [stdout] | [INFO] [stdout] 455 | fn beacon_pairs_for_scanner(&self, scanner: usize) -> impl Iterator { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see [INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds [INFO] [stdout] --> src/y2021/d19.rs:455:33 [INFO] [stdout] | [INFO] [stdout] 455 | fn beacon_pairs_for_scanner(&self, scanner: usize) -> impl Iterator { [INFO] [stdout] | ^ [INFO] [stdout] = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024 [INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit [INFO] [stdout] | [INFO] [stdout] 455 | fn beacon_pairs_for_scanner(&self, scanner: usize) -> impl Iterator + use<> { [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/y2021/d19.rs:628:36 [INFO] [stdout] | [INFO] [stdout] 628 | ... if let Some(transformation) = self.find_transformation( [INFO] [stdout] | __________________________^ [INFO] [stdout] 629 | | ... &norm_delta_data, [INFO] [stdout] 630 | | ... mapped_scanner, [INFO] [stdout] 631 | | ... unmapped_scanner, [INFO] [stdout] 632 | | ... &mut mapped_scanner_beacon_trios, [INFO] [stdout] | | --------------------------- this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] 633 | | ... ) { [INFO] [stdout] | |_______________________^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/y2021/d19.rs:639:33 [INFO] [stdout] | [INFO] [stdout] 639 | ... } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 628 ~ match self.find_transformation( [INFO] [stdout] 629 | &norm_delta_data, [INFO] [stdout] ... [INFO] [stdout] 632 | &mut mapped_scanner_beacon_trios, [INFO] [stdout] 633 ~ ) { Some(transformation) => { [INFO] [stdout] 634 | transformations[unmapped_scanner] = [INFO] [stdout] ... [INFO] [stdout] 638 | continue 'while_loop; [INFO] [stdout] 639 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `impl Die + std::fmt::Debug` will capture more lifetimes than possibly intended in edition 2024 [INFO] [stdout] --> src/y2021/d21.rs:228:72 [INFO] [stdout] | [INFO] [stdout] 228 | fn game_state_with_100_sided_deterministic_die(&self) -> GameState { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see [INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds [INFO] [stdout] --> src/y2021/d21.rs:228:52 [INFO] [stdout] | [INFO] [stdout] 228 | fn game_state_with_100_sided_deterministic_die(&self) -> GameState { [INFO] [stdout] | ^ [INFO] [stdout] = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024 [INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit [INFO] [stdout] | [INFO] [stdout] 228 | fn game_state_with_100_sided_deterministic_die(&self) -> GameState> { [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/y2022/d10.rs:162:16 [INFO] [stdout] | [INFO] [stdout] 162 | if let Some(instruction) = self.instruction_iter.next() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^---------------------^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/y2022/d10.rs:165:13 [INFO] [stdout] | [INFO] [stdout] 165 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 162 ~ match self.instruction_iter.next() { Some(instruction) => { [INFO] [stdout] 163 | self.instruction_cycles = instruction.cycles().get(); [INFO] [stdout] 164 | self.current_instruction = Some(*instruction); [INFO] [stdout] 165 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/y2022/d15.rs:607:23 [INFO] [stdout] | [INFO] [stdout] 607 | } else if let Some(children) = self.children.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/y2022/d15.rs:609:13 [INFO] [stdout] | [INFO] [stdout] 609 | } 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] 607 ~ } else { match self.children.as_ref() { Some(children) => { [INFO] [stdout] 608 | children.iter().find_map(Self::find_gap) [INFO] [stdout] 609 ~ } _ => { [INFO] [stdout] 610 | Some(self.corners.0[0_usize]) [INFO] [stdout] 611 ~ }}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `impl Iterator` will capture more lifetimes than possibly intended in edition 2024 [INFO] [stdout] --> src/y2022/d16.rs:1289:63 [INFO] [stdout] | [INFO] [stdout] 1289 | fn iterate_over_cells_in_layer(&self, time: usize) -> impl Iterator { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see [INFO] [stdout] note: specifically, these lifetimes are in scope but not mentioned in the type's bounds [INFO] [stdout] --> src/y2022/d16.rs:988:10 [INFO] [stdout] | [INFO] [stdout] 988 | impl<'a> BiActorExplorer<'a> { [INFO] [stdout] | ^^ [INFO] [stdout] ... [INFO] [stdout] 1289 | fn iterate_over_cells_in_layer(&self, time: usize) -> impl Iterator { [INFO] [stdout] | ^ [INFO] [stdout] = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024 [INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit [INFO] [stdout] | [INFO] [stdout] 1289 | fn iterate_over_cells_in_layer(&self, time: usize) -> impl Iterator + use<> { [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/y2022/d24.rs:133:12 [INFO] [stdout] | [INFO] [stdout] 133 | if let Some(gap_in_wall) = self [INFO] [stdout] | _____________^ - [INFO] [stdout] | | ____________________________________| [INFO] [stdout] 134 | || .iter_walls() [INFO] [stdout] | ||_________________________- this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] 135 | | .find(|wall_pos| *self.0.get(*wall_pos).unwrap() != BlizzardCellByte::Wall) [INFO] [stdout] | |________________________________________________________________________________________^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/y2022/d24.rs:138:9 [INFO] [stdout] | [INFO] [stdout] 138 | } 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] 133 ~ match self [INFO] [stdout] 134 | .iter_walls() [INFO] [stdout] 135 | .find(|wall_pos| *self.0.get(*wall_pos).unwrap() != BlizzardCellByte::Wall) [INFO] [stdout] 136 ~ { Some(gap_in_wall) => { [INFO] [stdout] 137 | Err(gap_in_wall) [INFO] [stdout] 138 ~ } _ => { [INFO] [stdout] 139 | Ok(()) [INFO] [stdout] 140 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `impl Iterator` will capture more lifetimes than possibly intended in edition 2024 [INFO] [stdout] --> src/y2023/d3.rs:187:29 [INFO] [stdout] | [INFO] [stdout] 187 | fn iter_gears(&self) -> impl Iterator { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see [INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds [INFO] [stdout] --> src/y2023/d3.rs:187:19 [INFO] [stdout] | [INFO] [stdout] 187 | fn iter_gears(&self) -> impl Iterator { [INFO] [stdout] | ^ [INFO] [stdout] = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024 [INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit [INFO] [stdout] | [INFO] [stdout] 187 | fn iter_gears(&self) -> impl Iterator + use<> { [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `impl Iterator` will capture more lifetimes than possibly intended in edition 2024 [INFO] [stdout] --> src/y2023/d15.rs:231:47 [INFO] [stdout] | [INFO] [stdout] 231 | fn iter_hashmap_focusing_powers(&self) -> impl Iterator { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see [INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds [INFO] [stdout] --> src/y2023/d15.rs:231:37 [INFO] [stdout] | [INFO] [stdout] 231 | fn iter_hashmap_focusing_powers(&self) -> impl Iterator { [INFO] [stdout] | ^ [INFO] [stdout] = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024 [INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit [INFO] [stdout] | [INFO] [stdout] 231 | fn iter_hashmap_focusing_powers(&self) -> impl Iterator + use<> { [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/y2023/d18.rs:159:12 [INFO] [stdout] | [INFO] [stdout] 159 | if let Some((curr_pos, dig_direction)) = self [INFO] [stdout] | _____________^ - [INFO] [stdout] | | __________________________________________________| [INFO] [stdout] 160 | || .solution [INFO] [stdout] 161 | || .iter_pos_and_dig_dir(self.start) [INFO] [stdout] | ||_____________________________________________- this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] 162 | | .find(|(_, dig_direction)| dig_direction.dist > 1_i32) [INFO] [stdout] | |___________________________________________________________________^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/y2023/d18.rs:178:9 [INFO] [stdout] | [INFO] [stdout] 178 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 159 ~ match self [INFO] [stdout] 160 | .solution [INFO] [stdout] 161 | .iter_pos_and_dig_dir(self.start) [INFO] [stdout] 162 | .find(|(_, dig_direction)| dig_direction.dist > 1_i32) [INFO] [stdout] 163 ~ { Some((curr_pos, dig_direction)) => { [INFO] [stdout] 164 | let interior_dir: Direction = if Solution::is_loop_clockwise(Solution::signed_area( [INFO] [stdout] ... [INFO] [stdout] 177 | interior_digger.run(); [INFO] [stdout] 178 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `impl Iterator` will capture more lifetimes than possibly intended in edition 2024 [INFO] [stdout] --> src/y2023/d22.rs:211:63 [INFO] [stdout] | [INFO] [stdout] 211 | fn iter_brick_indices_and_disintegration_safety(&self) -> impl Iterator { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see [INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds [INFO] [stdout] --> src/y2023/d22.rs:211:53 [INFO] [stdout] | [INFO] [stdout] 211 | fn iter_brick_indices_and_disintegration_safety(&self) -> impl Iterator { [INFO] [stdout] | ^ [INFO] [stdout] = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024 [INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit [INFO] [stdout] | [INFO] [stdout] 211 | fn iter_brick_indices_and_disintegration_safety(&self) -> impl Iterator + use<> { [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `impl Iterator` will capture more lifetimes than possibly intended in edition 2024 [INFO] [stdout] --> src/y2023/d22.rs:236:58 [INFO] [stdout] | [INFO] [stdout] 236 | fn iter_safe_to_disintegrate_brick_indices(&self) -> impl Iterator { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see [INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds [INFO] [stdout] --> src/y2023/d22.rs:236:48 [INFO] [stdout] | [INFO] [stdout] 236 | fn iter_safe_to_disintegrate_brick_indices(&self) -> impl Iterator { [INFO] [stdout] | ^ [INFO] [stdout] = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024 [INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit [INFO] [stdout] | [INFO] [stdout] 236 | fn iter_safe_to_disintegrate_brick_indices(&self) -> impl Iterator + use<> { [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 67 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0133`. [INFO] [stdout] [INFO] [stderr] Migrating src/main.rs from 2021 edition to 2024 [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 21.13s [INFO] [stderr] Running `cargo check` to verify 2024 [INFO] [stderr] Checking aoc v0.1.0 (/tmp/fixit) [INFO] [stdout] warning: elided lifetime has a name [INFO] [stdout] --> src/y2016/d5.rs:106:36 [INFO] [stdout] | [INFO] [stdout] 102 | fn iter_chars<'f, T: Debug, F: Fn(&mut String, u32) -> Option + 'f>( [INFO] [stdout] | -- lifetime `'f` declared here [INFO] [stdout] ... [INFO] [stdout] 106 | ) -> impl Iterator + '_ { [INFO] [stdout] | ^^ this elided lifetime gets resolved as `'f` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(elided_named_lifetimes)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: elided lifetime has a name [INFO] [stdout] --> src/y2016/d5.rs:106:36 [INFO] [stdout] | [INFO] [stdout] 102 | fn iter_chars<'f, T: Debug, F: Fn(&mut String, u32) -> Option + 'f>( [INFO] [stdout] | -- lifetime `'f` declared here [INFO] [stdout] ... [INFO] [stdout] 106 | ) -> impl Iterator + '_ { [INFO] [stdout] | ^^ this elided lifetime gets resolved as `'f` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(elided_named_lifetimes)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `memmap::Mmap::map` is unsafe and requires unsafe block [INFO] [stdout] --> src/util.rs:409:22 [INFO] [stdout] | [INFO] [stdout] 409 | let mmap: Mmap = Mmap::map(&file)?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/util.rs:405:1 [INFO] [stdout] | [INFO] [stdout] 405 | pub unsafe fn open_utf8_file T>(file_path: &str, f: F) -> IoResult { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: `#[warn(unsafe_op_in_unsafe_fn)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `memmap::Mmap::map` is unsafe and requires unsafe block [INFO] [stdout] --> src/util.rs:409:22 [INFO] [stdout] | [INFO] [stdout] 409 | let mmap: Mmap = Mmap::map(&file)?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/util.rs:405:1 [INFO] [stdout] | [INFO] [stdout] 405 | pub unsafe fn open_utf8_file T>(file_path: &str, f: F) -> IoResult { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: `#[warn(unsafe_op_in_unsafe_fn)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0502]: cannot borrow `self.states` as mutable because it is also borrowed as immutable [INFO] [stdout] --> src/y2022/d16.rs:1575:29 [INFO] [stdout] | [INFO] [stdout] 1564 | for dest_a_dest_b_time in self.iterate_over_cells_in_layer(time + 1_usize) { [INFO] [stdout] | ------------------------------------------------ [INFO] [stdout] | | [INFO] [stdout] | immutable borrow occurs here [INFO] [stdout] | immutable borrow later used here [INFO] [stdout] ... [INFO] [stdout] 1575 | self.states.push_back(state.clone()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ mutable borrow occurs here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0502]: cannot borrow `self.state_ranges` as mutable because it is also borrowed as immutable [INFO] [stdout] --> src/y2022/d16.rs:1583:22 [INFO] [stdout] | [INFO] [stdout] 1564 | for dest_a_dest_b_time in self.iterate_over_cells_in_layer(time + 1_usize) { [INFO] [stdout] | ------------------------------------------------ [INFO] [stdout] | | [INFO] [stdout] | immutable borrow occurs here [INFO] [stdout] | immutable borrow later used here [INFO] [stdout] ... [INFO] [stdout] 1583 | *self.state_ranges.get_mut(&dest_a_dest_b_time).unwrap() = range; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ mutable borrow occurs here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 2 previous errors; 2 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0133, E0502. [INFO] [stdout] [INFO] [stdout] For more information about an error, try `rustc --explain E0133`. [INFO] [stdout] [INFO] [stderr] error: could not compile `aoc` (lib) due to 3 previous errors; 2 warnings emitted [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stdout] error[E0502]: cannot borrow `self.states` as mutable because it is also borrowed as immutable [INFO] [stdout] --> src/y2022/d16.rs:1575:29 [INFO] [stdout] | [INFO] [stdout] 1564 | for dest_a_dest_b_time in self.iterate_over_cells_in_layer(time + 1_usize) { [INFO] [stdout] | ------------------------------------------------ [INFO] [stdout] | | [INFO] [stdout] | immutable borrow occurs here [INFO] [stdout] | immutable borrow later used here [INFO] [stdout] ... [INFO] [stdout] 1575 | self.states.push_back(state.clone()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ mutable borrow occurs here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0502]: cannot borrow `self.state_ranges` as mutable because it is also borrowed as immutable [INFO] [stdout] --> src/y2022/d16.rs:1583:22 [INFO] [stdout] | [INFO] [stdout] 1564 | for dest_a_dest_b_time in self.iterate_over_cells_in_layer(time + 1_usize) { [INFO] [stdout] | ------------------------------------------------ [INFO] [stdout] | | [INFO] [stdout] | immutable borrow occurs here [INFO] [stdout] | immutable borrow later used here [INFO] [stdout] ... [INFO] [stdout] 1583 | *self.state_ranges.get_mut(&dest_a_dest_b_time).unwrap() = range; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ mutable borrow occurs here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 2 previous errors; 2 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0133, E0502. [INFO] [stdout] [INFO] [stdout] For more information about an error, try `rustc --explain E0133`. [INFO] [stdout] [INFO] [stderr] error: could not compile `aoc` (lib test) due to 3 previous errors; 2 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" "d1b5e283e66c6be10c0501293783da66e6cadb331a7508a2af07664aeb002ec5", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "d1b5e283e66c6be10c0501293783da66e6cadb331a7508a2af07664aeb002ec5", kill_on_drop: false }` [INFO] [stdout] d1b5e283e66c6be10c0501293783da66e6cadb331a7508a2af07664aeb002ec5