[INFO] fetching crate wotw_seedgen 0.4.1... [INFO] checking wotw_seedgen-0.4.1 against try#ccf408f4326a858c00dd845a64a86b16f360a801 for pr-129466-2 [INFO] extracting crate wotw_seedgen 0.4.1 into /workspace/builds/worker-0-tc2/source [INFO] validating manifest of crates.io crate wotw_seedgen 0.4.1 on toolchain ccf408f4326a858c00dd845a64a86b16f360a801 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+ccf408f4326a858c00dd845a64a86b16f360a801" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking crates.io crate wotw_seedgen 0.4.1 [INFO] finished tweaking crates.io crate wotw_seedgen 0.4.1 [INFO] tweaked toml for crates.io crate wotw_seedgen 0.4.1 written to /workspace/builds/worker-0-tc2/source/Cargo.toml [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+ccf408f4326a858c00dd845a64a86b16f360a801" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Locking 186 packages to latest compatible versions [INFO] [stderr] Adding approx v0.3.2 (available: v0.5.1) [INFO] [stderr] Adding bitflags v1.3.2 (available: v2.6.0) [INFO] [stderr] Adding clap v2.34.0 (available: v4.5.18) [INFO] [stderr] Adding criterion v0.3.6 (available: v0.5.1) [INFO] [stderr] Adding criterion-plot v0.4.5 (available: v0.5.0) [INFO] [stderr] Adding faster-hex v0.9.0 (available: v0.10.0) [INFO] [stderr] Adding gix v0.63.0 (available: v0.66.0) [INFO] [stderr] Adding gix-actor v0.31.5 (available: v0.32.0) [INFO] [stderr] Adding gix-config v0.37.0 (available: v0.40.0) [INFO] [stderr] Adding gix-date v0.8.7 (available: v0.9.0) [INFO] [stderr] Adding gix-diff v0.44.1 (available: v0.46.0) [INFO] [stderr] Adding gix-discover v0.32.0 (available: v0.35.0) [INFO] [stderr] Adding gix-index v0.33.1 (available: v0.35.0) [INFO] [stderr] Adding gix-object v0.42.3 (available: v0.44.0) [INFO] [stderr] Adding gix-odb v0.61.1 (available: v0.63.0) [INFO] [stderr] Adding gix-pack v0.51.1 (available: v0.53.0) [INFO] [stderr] Adding gix-ref v0.44.1 (available: v0.47.0) [INFO] [stderr] Adding gix-refspec v0.23.1 (available: v0.25.0) [INFO] [stderr] Adding gix-revision v0.27.2 (available: v0.29.0) [INFO] [stderr] Adding gix-revwalk v0.13.2 (available: v0.15.0) [INFO] [stderr] Adding gix-traverse v0.39.2 (available: v0.41.0) [INFO] [stderr] Adding gix-validate v0.8.5 (available: v0.9.0) [INFO] [stderr] Adding half v1.8.3 (available: v2.4.1) [INFO] [stderr] Adding hermit-abi v0.1.19 (available: v0.4.0) [INFO] [stderr] Adding idna v0.5.0 (available: v1.0.2) [INFO] [stderr] Adding itertools v0.10.5 (available: v0.13.0) [INFO] [stderr] Adding linux-raw-sys v0.4.14 (available: v0.6.5) [INFO] [stderr] Adding num_enum v0.5.11 (available: v0.7.3) [INFO] [stderr] Adding num_enum_derive v0.5.11 (available: v0.7.3) [INFO] [stderr] Adding proc-macro-crate v1.3.1 (available: v3.2.0) [INFO] [stderr] Adding prodash v28.0.0 (available: v29.0.0) [INFO] [stderr] Adding rand_seeder v0.2.3 (available: v0.3.0) [INFO] [stderr] Adding rustc-hash v1.1.0 (available: v2.0.0) [INFO] [stderr] Adding syn v1.0.109 (available: v2.0.77) [INFO] [stderr] Adding textwrap v0.11.0 (available: v0.16.1) [INFO] [stderr] Adding toml_edit v0.19.15 (available: v0.22.22) [INFO] [stderr] Adding unicode-width v0.1.14 (available: v0.2.0) [INFO] [stderr] Adding vergen v8.3.2 (available: v9.0.1) [INFO] [stderr] Adding wasi v0.11.0+wasi-snapshot-preview1 (available: v0.13.2+wasi-0.2.1) [INFO] [stderr] Adding windows-sys v0.52.0 (available: v0.59.0) [INFO] [stderr] Adding winnow v0.5.40 (available: v0.6.20) [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] 9aff1b45662abe3acf273d346afbf0618aa28dc38bc382ef76023b772b09d5e6 [INFO] running `Command { std: "docker" "start" "-a" "9aff1b45662abe3acf273d346afbf0618aa28dc38bc382ef76023b772b09d5e6", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "9aff1b45662abe3acf273d346afbf0618aa28dc38bc382ef76023b772b09d5e6", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "9aff1b45662abe3acf273d346afbf0618aa28dc38bc382ef76023b772b09d5e6", kill_on_drop: false }` [INFO] [stdout] 9aff1b45662abe3acf273d346afbf0618aa28dc38bc382ef76023b772b09d5e6 [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] deb5134413381ade3bef4206535f7ecc8c1cec3e1cd79cbedc0c375fe2180b4b [INFO] running `Command { std: "docker" "start" "-a" "deb5134413381ade3bef4206535f7ecc8c1cec3e1cd79cbedc0c375fe2180b4b", kill_on_drop: false }` [INFO] [stderr] Copying to /tmp/fixit [INFO] [stderr] Running `cargo fix --edition` [INFO] [stderr] Migrating Cargo.toml from 2021 edition to 2024 [INFO] [stderr] Fixed Cargo.toml (1 fix) [INFO] [stderr] Compiling faster-hex v0.9.0 [INFO] [stderr] Compiling gix-trace v0.1.10 [INFO] [stderr] Compiling sha1_smol v1.0.1 [INFO] [stderr] Compiling prodash v28.0.0 [INFO] [stderr] Compiling smallvec v1.13.2 [INFO] [stderr] Compiling libc v0.2.159 [INFO] [stderr] Compiling regex-automata v0.4.7 [INFO] [stderr] Compiling powerfmt v0.2.0 [INFO] [stderr] Compiling syn v2.0.77 [INFO] [stderr] Compiling gix-utils v0.1.12 [INFO] [stderr] Compiling time-macros v0.2.18 [INFO] [stderr] Compiling num_threads v0.1.7 [INFO] [stderr] Compiling lock_api v0.4.12 [INFO] [stderr] Compiling winnow v0.6.20 [INFO] [stderr] Compiling signal-hook v0.3.17 [INFO] [stderr] Compiling clru v0.6.2 [INFO] [stderr] Compiling arc-swap v1.7.1 [INFO] [stderr] Compiling deranged v0.3.11 [INFO] [stderr] Compiling unicode-bom v2.0.3 [INFO] [stderr] Compiling vergen v8.3.2 [INFO] [stderr] Checking approx v0.3.2 [INFO] [stderr] Checking half v1.8.3 [INFO] [stderr] Checking criterion-plot v0.4.5 [INFO] [stderr] Checking clap v2.34.0 [INFO] [stderr] Checking rand_seeder v0.2.3 [INFO] [stderr] Compiling wotw_seedgen_derive v0.1.1 [INFO] [stderr] Checking partition v0.1.2 [INFO] [stderr] Compiling parking_lot_core v0.9.10 [INFO] [stderr] Compiling time v0.3.36 [INFO] [stderr] Compiling memmap2 v0.9.5 [INFO] [stderr] Compiling signal-hook-registry v1.4.2 [INFO] [stderr] Compiling gix-sec v0.10.8 [INFO] [stderr] Compiling filetime v0.2.25 [INFO] [stderr] Compiling parking_lot v0.12.3 [INFO] [stderr] Checking regex v1.10.6 [INFO] [stderr] Compiling bstr v1.10.0 [INFO] [stderr] Compiling thiserror-impl v1.0.64 [INFO] [stderr] Compiling zerocopy-derive v0.7.35 [INFO] [stderr] Compiling serde_derive v1.0.210 [INFO] [stderr] Compiling gix-macros v0.1.5 [INFO] [stderr] Compiling zerocopy v0.7.35 [INFO] [stderr] Compiling thiserror v1.0.64 [INFO] [stderr] Compiling gix-hash v0.14.2 [INFO] [stderr] Compiling gix-date v0.8.7 [INFO] [stderr] Compiling gix-validate v0.8.5 [INFO] [stderr] Compiling gix-chunk v0.4.8 [INFO] [stderr] Compiling gix-path v0.10.11 [INFO] [stderr] Compiling gix-quote v0.4.12 [INFO] [stderr] Compiling gix-bitmap v0.2.11 [INFO] [stderr] Compiling gix-features v0.38.2 [INFO] [stderr] Compiling gix-config-value v0.14.8 [INFO] [stderr] Compiling gix-actor v0.31.5 [INFO] [stderr] Compiling gix-fs v0.11.3 [INFO] [stderr] Compiling gix-commitgraph v0.24.3 [INFO] [stderr] Compiling gix-glob v0.16.5 [INFO] [stderr] Compiling gix-url v0.27.5 [INFO] [stderr] Compiling gix-object v0.42.3 [INFO] [stderr] Compiling ahash v0.8.11 [INFO] [stderr] Checking ppv-lite86 v0.2.20 [INFO] [stderr] Compiling gix-tempfile v14.0.2 [INFO] [stderr] Compiling hashbrown v0.14.5 [INFO] [stderr] Compiling gix-lock v14.0.0 [INFO] [stderr] Checking rand_chacha v0.3.1 [INFO] [stderr] Checking rand v0.8.5 [INFO] [stderr] Compiling gix-hashtable v0.5.2 [INFO] [stderr] Compiling indexmap v2.5.0 [INFO] [stderr] Compiling gix-revwalk v0.13.2 [INFO] [stderr] Compiling gix-ref v0.44.1 [INFO] [stderr] Compiling gix-pack v0.51.1 [INFO] [stderr] Compiling gix-diff v0.44.1 [INFO] [stderr] Checking serde v1.0.210 [INFO] [stderr] Compiling gix-revision v0.27.2 [INFO] [stderr] Compiling gix-traverse v0.39.2 [INFO] [stderr] Compiling gix-index v0.33.1 [INFO] [stderr] Compiling toml_edit v0.19.15 [INFO] [stderr] Compiling gix-refspec v0.23.1 [INFO] [stderr] Compiling gix-config v0.37.0 [INFO] [stderr] Compiling gix-discover v0.32.0 [INFO] [stderr] Compiling gix-odb v0.61.1 [INFO] [stderr] Compiling proc-macro-crate v1.3.1 [INFO] [stderr] Compiling gix v0.63.0 [INFO] [stderr] Compiling num_enum_derive v0.5.11 [INFO] [stderr] Checking num_enum v0.5.11 [INFO] [stderr] Checking serde_json v1.0.128 [INFO] [stderr] Checking csv v1.3.0 [INFO] [stderr] Checking decorum v0.3.1 [INFO] [stderr] Checking serde_cbor v0.11.2 [INFO] [stderr] Checking tinytemplate v1.2.1 [INFO] [stderr] Checking criterion v0.3.6 [INFO] [stderr] Compiling wotw_seedgen v0.4.1 (/tmp/fixit) [INFO] [stderr] Migrating build.rs from 2021 edition to 2024 [INFO] [stderr] Migrating src/lib.rs from 2021 edition to 2024 [INFO] [stderr] warning: failed to automatically apply fixes suggested by rustc to crate `wotw_seedgen` [INFO] [stderr] [INFO] [stderr] after fixes were automatically applied the compiler reported errors within these files: [INFO] [stderr] [INFO] [stderr] * src/item/message.rs [INFO] [stderr] * src/languages/header/parser/mod.rs [INFO] [stderr] * src/languages/parser.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/item/message.rs:24:20 [INFO] [stderr] | [INFO] [stderr] 24 | ($first:ident, $dst:expr_2021, $($arg:tt)*) => { [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/languages/header/parser/mod.rs:37:6 [INFO] [stderr] | [INFO] [stderr] 37 | ($parser:expr_2021, $expected:path) => {{ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [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/languages/header/parser/mod.rs:68:6 [INFO] [stderr] | [INFO] [stderr] 68 | ($parser:expr_2021, $token:ident, $expected:path) => { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [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/languages/header/parser/mod.rs:91:6 [INFO] [stderr] | [INFO] [stderr] 91 | ($parser:expr_2021, $expected:path, $kind:pat) => {{ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [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/languages/header/parser/mod.rs:107:6 [INFO] [stderr] | [INFO] [stderr] 107 | ($parser:expr_2021, $expected:path) => { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [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/languages/header/parser/mod.rs:117:6 [INFO] [stderr] | [INFO] [stderr] 117 | ($parser:expr_2021, $expected:path) => { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [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/languages/header/parser/mod.rs:127:6 [INFO] [stderr] | [INFO] [stderr] 127 | ($parser:expr_2021, $expected:path) => {{ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [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/languages/parser.rs:240:20 [INFO] [stderr] | [INFO] [stderr] 240 | ($token:ident, $parser:expr_2021, $expected:path) => { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [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/languages/parser.rs:251:24 [INFO] [stderr] | [INFO] [stderr] 251 | ($token_kind:path, $parser:expr_2021, $expected:path) => {{ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [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/languages/parser.rs:264:6 [INFO] [stderr] | [INFO] [stderr] 264 | ($parser:expr_2021, $expected:path) => { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [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/languages/parser.rs:274:6 [INFO] [stderr] | [INFO] [stderr] 274 | ($parser:expr_2021, $expected:path, $prior_expected:path) => {{ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [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/languages/parser.rs:282:6 [INFO] [stderr] | [INFO] [stderr] 282 | ($parser:expr_2021, $expected:path) => { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [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/languages/parser.rs:293:24 [INFO] [stderr] | [INFO] [stderr] 293 | ($token_kind:path, $parser:expr_2021, $expected:path) => {{ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [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/languages/parser.rs:301:6 [INFO] [stderr] | [INFO] [stderr] 301 | ($parser:expr_2021, $expected:path) => { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error: aborting due to 14 previous errors [INFO] [stderr] [INFO] [stderr] For more information about this error, try `rustc --explain E0658`. [INFO] [stderr] Original diagnostics will follow. [INFO] [stderr] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/item/message.rs:24:25 [INFO] [stdout] | [INFO] [stdout] 24 | ($first:ident, $dst:expr, $($arg:tt)*) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] = 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] 24 | ($first:ident, $dst:expr_2021, $($arg:tt)*) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/languages/header/parser/mod.rs:37:14 [INFO] [stdout] | [INFO] [stdout] 37 | ($parser:expr, $expected:path) => {{ [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 37 | ($parser:expr_2021, $expected:path) => {{ [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/languages/header/parser/mod.rs:68:14 [INFO] [stdout] | [INFO] [stdout] 68 | ($parser:expr, $token:ident, $expected:path) => { [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] 68 | ($parser:expr_2021, $token:ident, $expected:path) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/languages/header/parser/mod.rs:91:14 [INFO] [stdout] | [INFO] [stdout] 91 | ($parser:expr, $expected:path, $kind:pat) => {{ [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] 91 | ($parser:expr_2021, $expected:path, $kind:pat) => {{ [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/languages/header/parser/mod.rs:107:14 [INFO] [stdout] | [INFO] [stdout] 107 | ($parser:expr, $expected:path) => { [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] 107 | ($parser:expr_2021, $expected:path) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/languages/header/parser/mod.rs:117:14 [INFO] [stdout] | [INFO] [stdout] 117 | ($parser:expr, $expected:path) => { [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] 117 | ($parser:expr_2021, $expected:path) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/languages/header/parser/mod.rs:127:14 [INFO] [stdout] | [INFO] [stdout] 127 | ($parser:expr, $expected:path) => {{ [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] 127 | ($parser:expr_2021, $expected:path) => {{ [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/languages/parser.rs:240:28 [INFO] [stdout] | [INFO] [stdout] 240 | ($token:ident, $parser:expr, $expected:path) => { [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] 240 | ($token:ident, $parser:expr_2021, $expected:path) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/languages/parser.rs:251:32 [INFO] [stdout] | [INFO] [stdout] 251 | ($token_kind:path, $parser:expr, $expected:path) => {{ [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] 251 | ($token_kind:path, $parser:expr_2021, $expected:path) => {{ [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/languages/parser.rs:264:14 [INFO] [stdout] | [INFO] [stdout] 264 | ($parser:expr, $expected:path) => { [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] 264 | ($parser:expr_2021, $expected:path) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/languages/parser.rs:274:14 [INFO] [stdout] | [INFO] [stdout] 274 | ($parser:expr, $expected:path, $prior_expected:path) => {{ [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 | ($parser:expr_2021, $expected:path, $prior_expected:path) => {{ [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/languages/parser.rs:282:14 [INFO] [stdout] | [INFO] [stdout] 282 | ($parser:expr, $expected:path) => { [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] 282 | ($parser:expr_2021, $expected:path) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/languages/parser.rs:293:32 [INFO] [stdout] | [INFO] [stdout] 293 | ($token_kind:path, $parser:expr, $expected:path) => {{ [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] 293 | ($token_kind:path, $parser:expr_2021, $expected:path) => {{ [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/languages/parser.rs:301:14 [INFO] [stdout] | [INFO] [stdout] 301 | ($parser:expr, $expected:path) => { [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] 301 | ($parser:expr_2021, $expected:path) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/world/requirement/solutions.rs:494:45 [INFO] [stdout] | [INFO] [stdout] 494 | ... let mut solution = &mut total_solutions[index]; [INFO] [stdout] | ----^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/generator/mod.rs:293:8 [INFO] [stdout] | [INFO] [stdout] 293 | if let Item::UberState(uber_state_item) = &preplacement.item { [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/generator/mod.rs:318:5 [INFO] [stdout] | [INFO] [stdout] 318 | } [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] 293 ~ match &preplacement.item { Item::UberState(uber_state_item) => { [INFO] [stdout] 294 | if preplacement.trigger != UberStateTrigger::spawn() { [INFO] [stdout] ... [INFO] [stdout] 317 | } [INFO] [stdout] 318 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/generator/placement.rs:1001:16 [INFO] [stdout] | [INFO] [stdout] 1001 | if let Some(item) = target_world_context [INFO] [stdout] | _________________^ - [INFO] [stdout] | | _________________________________| [INFO] [stdout] 1002 | || .world [INFO] [stdout] 1003 | || .pool [INFO] [stdout] | ||_____________________- this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] 1004 | | .choose_random(origin_world_index != target_world_index, context.rng) [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/generator/placement.rs:1023:13 [INFO] [stdout] | [INFO] [stdout] 1023 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1001 ~ match target_world_context [INFO] [stdout] 1002 | .world [INFO] [stdout] 1003 | .pool [INFO] [stdout] 1004 | .choose_random(origin_world_index != target_world_index, context.rng) [INFO] [stdout] 1005 ~ { Some(item) => { [INFO] [stdout] 1006 | let item = item.clone(); [INFO] [stdout] ... [INFO] [stdout] 1022 | return Ok(is_progression); [INFO] [stdout] 1023 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/generator/placement.rs:1113:12 [INFO] [stdout] | [INFO] [stdout] 1113 | if let Some(node) = world_context [INFO] [stdout] | _____________^ - [INFO] [stdout] | | _____________________________| [INFO] [stdout] 1114 | || .world [INFO] [stdout] 1115 | || .graph [INFO] [stdout] 1116 | || .nodes [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] 1123 | | }) [INFO] [stdout] 1124 | | .choose(context.rng) [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/generator/placement.rs:1136:9 [INFO] [stdout] | [INFO] [stdout] 1136 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1113 ~ match world_context [INFO] [stdout] 1114 | .world [INFO] [stdout] ... [INFO] [stdout] 1124 | .choose(context.rng) [INFO] [stdout] 1125 ~ { Some(node) => { [INFO] [stdout] 1126 | place_item( [INFO] [stdout] ... [INFO] [stdout] 1135 | )?; [INFO] [stdout] 1136 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/generator/placement.rs:1298:15 [INFO] [stdout] | [INFO] [stdout] 1298 | while let Some(placeholder) = world_contexts[world_index].placeholders.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/generator/placement.rs:1314:9 [INFO] [stdout] | [INFO] [stdout] 1314 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/generator/placement.rs:1319:15 [INFO] [stdout] | [INFO] [stdout] 1319 | while let Some(unreachable) = world_contexts[world_index].unreachable_locations.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/generator/placement.rs:1342:9 [INFO] [stdout] | [INFO] [stdout] 1342 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/generator/placement.rs:1429:20 [INFO] [stdout] | [INFO] [stdout] 1429 | if let Some(node) = world_contexts[origin_world_index].placeholders.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/generator/placement.rs:1446:17 [INFO] [stdout] | [INFO] [stdout] 1446 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1429 ~ match world_contexts[origin_world_index].placeholders.pop() { Some(node) => { [INFO] [stdout] 1430 | let target_world_context = &mut world_contexts[target_world_index]; [INFO] [stdout] ... [INFO] [stdout] 1445 | continue 'outer; [INFO] [stdout] 1446 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/generator/placement.rs:1482:12 [INFO] [stdout] | [INFO] [stdout] 1482 | if let Some(amount) = world_contexts[world_index].world_tour { [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/generator/placement.rs:1484:9 [INFO] [stdout] | [INFO] [stdout] 1484 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1482 ~ match world_contexts[world_index].world_tour { Some(amount) => { [INFO] [stdout] 1483 | place_relics(amount, world_index, &mut world_contexts, &mut context)?; [INFO] [stdout] 1484 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/inventory/mod.rs:44:12 [INFO] [stdout] | [INFO] [stdout] 44 | if let Some(prior) = self.items.get_mut(item) { [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/inventory/mod.rs:50:9 [INFO] [stdout] | [INFO] [stdout] 50 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 44 ~ match self.items.get_mut(item) { Some(prior) => { [INFO] [stdout] 45 | if amount >= *prior { [INFO] [stdout] ... [INFO] [stdout] 49 | } [INFO] [stdout] 50 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/item/message.rs:122:12 [INFO] [stdout] | [INFO] [stdout] 122 | if let Ok(item) = VItem::parse(&mut parser) { [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/item/message.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] 122 ~ match VItem::parse(&mut parser) { Ok(item) => { [INFO] [stdout] 123 | if let Ok(item) = item.resolve(&FxHashMap::default()) { [INFO] [stdout] ... [INFO] [stdout] 129 | } [INFO] [stdout] 130 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/item/message.rs:123:16 [INFO] [stdout] | [INFO] [stdout] 123 | if let Ok(item) = item.resolve(&FxHashMap::default()) { [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/item/message.rs:129:13 [INFO] [stdout] | [INFO] [stdout] 129 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 123 ~ match item.resolve(&FxHashMap::default()) { Ok(item) => { [INFO] [stdout] 124 | let token = parser.next_token(); [INFO] [stdout] ... [INFO] [stdout] 128 | } [INFO] [stdout] 129 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/languages/header/mod.rs:389:32 [INFO] [stdout] | [INFO] [stdout] 389 | ... if let HeaderCommand::Parameter { [INFO] [stdout] | __________________________^ [INFO] [stdout] 390 | | ... identifier, [INFO] [stdout] 391 | | ... default, [INFO] [stdout] 392 | | ... } = command [INFO] [stdout] | |___________________________------^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/languages/header/mod.rs:399:29 [INFO] [stdout] | [INFO] [stdout] 399 | ... } 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] 389 ~ match command [INFO] [stdout] 390 ~ { HeaderCommand::Parameter { [INFO] [stdout] 391 + identifier, [INFO] [stdout] 392 + default, [INFO] [stdout] 393 ~ } => { [INFO] [stdout] 394 | ParameterInfo { [INFO] [stdout] ... [INFO] [stdout] 398 | } [INFO] [stdout] 399 ~ } _ => { [INFO] [stdout] 400 | unreachable!() [INFO] [stdout] 401 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/languages/header/emitter.rs:76:19 [INFO] [stdout] | [INFO] [stdout] 76 | } else if let HeaderContent::Command(command) = content { [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/languages/header/emitter.rs:82:9 [INFO] [stdout] | [INFO] [stdout] 82 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 76 ~ } else { match content { HeaderContent::Command(command) => { [INFO] [stdout] 77 | match command { [INFO] [stdout] ... [INFO] [stdout] 81 | } [INFO] [stdout] 82 ~ } _ => {}}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/languages/header/parser/mod.rs:278:20 [INFO] [stdout] | [INFO] [stdout] 278 | if let Err(err) = context.parser.eat(TokenKind::Newline) { [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/languages/header/parser/mod.rs:280:17 [INFO] [stdout] | [INFO] [stdout] 280 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 278 ~ match context.parser.eat(TokenKind::Newline) { Err(err) => { [INFO] [stdout] 279 | recover(err, &mut errors, context.parser); [INFO] [stdout] 280 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/languages/header/parser/postprocess.rs:77:23 [INFO] [stdout] | [INFO] [stdout] 77 | } else if let Some(node) = graph.nodes.iter().find(|&node| { [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] 78 | | node.trigger().map_or(false, |trigger| { [INFO] [stdout] 79 | | trigger.code().to_string() == format!("{uber_group}|{uber_id}") [INFO] [stdout] 80 | | }) [INFO] [stdout] 81 | | }) { [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/languages/header/parser/postprocess.rs:85:13 [INFO] [stdout] | [INFO] [stdout] 85 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 77 ~ } else { match graph.nodes.iter().find(|&node| { [INFO] [stdout] 78 | node.trigger().map_or(false, |trigger| { [INFO] [stdout] 79 | trigger.code().to_string() == format!("{uber_group}|{uber_id}") [INFO] [stdout] 80 | }) [INFO] [stdout] 81 ~ }) { Some(node) => { [INFO] [stdout] 82 | if let Some(zone) = node.zone() { [INFO] [stdout] 83 | return Ok(zone.to_string()); [INFO] [stdout] 84 | } [INFO] [stdout] 85 ~ } _ => {}}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/languages/header/parser/postprocess.rs:125:12 [INFO] [stdout] | [INFO] [stdout] 125 | if let Some(trigger) = graph.nodes.iter().find_map(|node| { [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] 126 | | if node.zone() == Some(zone) { [INFO] [stdout] 127 | | let trigger = node.trigger(); [INFO] [stdout] 128 | | if trigger.map_or(false, |trigger| { [INFO] [stdout] ... | [INFO] [stdout] 134 | | None [INFO] [stdout] 135 | | }) { [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/languages/header/parser/postprocess.rs:171:9 [INFO] [stdout] | [INFO] [stdout] 171 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 125 ~ match graph.nodes.iter().find_map(|node| { [INFO] [stdout] 126 | if node.zone() == Some(zone) { [INFO] [stdout] ... [INFO] [stdout] 134 | None [INFO] [stdout] 135 ~ }) { Some(trigger) => { [INFO] [stdout] 136 | if re.is_match(item) { [INFO] [stdout] ... [INFO] [stdout] 170 | } [INFO] [stdout] 171 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/languages/logic/emitter.rs:350:20 [INFO] [stdout] | [INFO] [stdout] 350 | if let Some(subgroup) = &line.group { [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/languages/logic/emitter.rs:352:17 [INFO] [stdout] | [INFO] [stdout] 352 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 350 ~ match &line.group { Some(subgroup) => { [INFO] [stdout] 351 | parts.push(build_requirement_group(subgroup, region, context)); [INFO] [stdout] 352 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over a `&mut Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> src/languages/logic/parser.rs:747:40 [INFO] [stdout] | [INFO] [stdout] 747 | for requirement in &mut refill.requirements { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(for_loops_over_fallibles)]` on by default [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 747 | while let Some(requirement) = &mut refill.requirements { [INFO] [stdout] | ~~~~~~~~~~~~~~~ ~~~ [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 747 | if let Some(requirement) = &mut refill.requirements { [INFO] [stdout] | ~~~~~~~~~~~~ ~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over a `&mut Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> src/languages/logic/parser.rs:773:22 [INFO] [stdout] | [INFO] [stdout] 773 | for group in &mut line.group { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 773 | while let Some(group) = &mut line.group { [INFO] [stdout] | ~~~~~~~~~~~~~~~ ~~~ [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 773 | if let Some(group) = &mut line.group { [INFO] [stdout] | ~~~~~~~~~~~~ ~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/world/graph.rs:322:16 [INFO] [stdout] | [INFO] [stdout] 322 | if let Some(tp_anchor) = self [INFO] [stdout] | _________________^ - [INFO] [stdout] | | ______________________________________| [INFO] [stdout] 323 | || .nodes [INFO] [stdout] | ||______________________- this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] 324 | | .iter() [INFO] [stdout] 325 | | .find(|&node| node.identifier() == TP_ANCHOR) [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/world/graph.rs:330:13 [INFO] [stdout] | [INFO] [stdout] 330 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 322 ~ match self [INFO] [stdout] 323 | .nodes [INFO] [stdout] 324 | .iter() [INFO] [stdout] 325 | .find(|&node| node.identifier() == TP_ANCHOR) [INFO] [stdout] 326 ~ { Some(tp_anchor) => { [INFO] [stdout] 327 | if !context.world_state.contains_key(&tp_anchor.index()) { [INFO] [stdout] 328 | self.reach_recursion(tp_anchor, smallvec![context.player.max_orbs()], context); [INFO] [stdout] 329 | } [INFO] [stdout] 330 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/world/pool.rs:90:12 [INFO] [stdout] | [INFO] [stdout] 90 | if let Item::SpiritLight(amount) = item { [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/world/pool.rs:92:9 [INFO] [stdout] | [INFO] [stdout] 92 | } 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] 90 ~ match item { Item::SpiritLight(amount) => { [INFO] [stdout] 91 | self.spirit_light += amount; [INFO] [stdout] 92 ~ } _ => { [INFO] [stdout] 93 | self.inventory.grant(item, amount); [INFO] [stdout] 94 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 35 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Migrating benches/bench.rs from 2021 edition to 2024 [INFO] [stderr] warning: failed to automatically apply fixes suggested by rustc to crate `wotw_seedgen` [INFO] [stderr] [INFO] [stderr] after fixes were automatically applied the compiler reported errors within these files: [INFO] [stderr] [INFO] [stderr] * src/item/message.rs [INFO] [stderr] * src/languages/header/parser/mod.rs [INFO] [stderr] * src/languages/parser.rs [INFO] [stderr] * src/world/requirement/tests.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/item/message.rs:24:20 [INFO] [stderr] | [INFO] [stderr] 24 | ($first:ident, $dst:expr_2021, $($arg:tt)*) => { [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/languages/header/parser/mod.rs:37:6 [INFO] [stderr] | [INFO] [stderr] 37 | ($parser:expr_2021, $expected:path) => {{ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [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/languages/header/parser/mod.rs:68:6 [INFO] [stderr] | [INFO] [stderr] 68 | ($parser:expr_2021, $token:ident, $expected:path) => { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [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/languages/header/parser/mod.rs:91:6 [INFO] [stderr] | [INFO] [stderr] 91 | ($parser:expr_2021, $expected:path, $kind:pat) => {{ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [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/languages/header/parser/mod.rs:107:6 [INFO] [stderr] | [INFO] [stderr] 107 | ($parser:expr_2021, $expected:path) => { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [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/languages/header/parser/mod.rs:117:6 [INFO] [stderr] | [INFO] [stderr] 117 | ($parser:expr_2021, $expected:path) => { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [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/languages/header/parser/mod.rs:127:6 [INFO] [stderr] | [INFO] [stderr] 127 | ($parser:expr_2021, $expected:path) => {{ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [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/languages/parser.rs:240:20 [INFO] [stderr] | [INFO] [stderr] 240 | ($token:ident, $parser:expr_2021, $expected:path) => { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [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/languages/parser.rs:251:24 [INFO] [stderr] | [INFO] [stderr] 251 | ($token_kind:path, $parser:expr_2021, $expected:path) => {{ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [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/languages/parser.rs:264:6 [INFO] [stderr] | [INFO] [stderr] 264 | ($parser:expr_2021, $expected:path) => { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [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/languages/parser.rs:274:6 [INFO] [stderr] | [INFO] [stderr] 274 | ($parser:expr_2021, $expected:path, $prior_expected:path) => {{ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [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/languages/parser.rs:282:6 [INFO] [stderr] | [INFO] [stderr] 282 | ($parser:expr_2021, $expected:path) => { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [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/languages/parser.rs:293:24 [INFO] [stderr] | [INFO] [stderr] 293 | ($token_kind:path, $parser:expr_2021, $expected:path) => {{ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [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/languages/parser.rs:301:6 [INFO] [stderr] | [INFO] [stderr] 301 | ($parser:expr_2021, $expected:path) => { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [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/world/requirement/tests.rs:15:10 [INFO] [stderr] | [INFO] [stderr] 15 | ($player:expr_2021, $states:expr_2021, $req: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/world/requirement/tests.rs:15:29 [INFO] [stderr] | [INFO] [stderr] 15 | ($player:expr_2021, $states:expr_2021, $req: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/world/requirement/tests.rs:15:48 [INFO] [stderr] | [INFO] [stderr] 15 | ($player:expr_2021, $states:expr_2021, $req: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/world/requirement/tests.rs:18:10 [INFO] [stderr] | [INFO] [stderr] 18 | ($player:expr_2021, $states:expr_2021, $req:expr_2021, [$player_orbs: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/world/requirement/tests.rs:18:29 [INFO] [stderr] | [INFO] [stderr] 18 | ($player:expr_2021, $states:expr_2021, $req:expr_2021, [$player_orbs: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/world/requirement/tests.rs:18:48 [INFO] [stderr] | [INFO] [stderr] 18 | ($player:expr_2021, $states:expr_2021, $req:expr_2021, [$player_orbs: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/world/requirement/tests.rs:18:65 [INFO] [stderr] | [INFO] [stderr] 18 | ($player:expr_2021, $states:expr_2021, $req:expr_2021, [$player_orbs: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/world/requirement/tests.rs:21:10 [INFO] [stderr] | [INFO] [stderr] 21 | ($player:expr_2021, $states:expr_2021, $req:expr_2021, [$player_orbs:expr_2021], [$($orbs: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/world/requirement/tests.rs:21:29 [INFO] [stderr] | [INFO] [stderr] 21 | ($player:expr_2021, $states:expr_2021, $req:expr_2021, [$player_orbs:expr_2021], [$($orbs: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/world/requirement/tests.rs:21:48 [INFO] [stderr] | [INFO] [stderr] 21 | ($player:expr_2021, $states:expr_2021, $req:expr_2021, [$player_orbs:expr_2021], [$($orbs: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/world/requirement/tests.rs:21:65 [INFO] [stderr] | [INFO] [stderr] 21 | ($player:expr_2021, $states:expr_2021, $req:expr_2021, [$player_orbs:expr_2021], [$($orbs: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/world/requirement/tests.rs:21:93 [INFO] [stderr] | [INFO] [stderr] 21 | ($player:expr_2021, $states:expr_2021, $req:expr_2021, [$player_orbs:expr_2021], [$($orbs: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/world/requirement/tests.rs:27:10 [INFO] [stderr] | [INFO] [stderr] 27 | ($player:expr_2021, $states:expr_2021, $req:expr_2021, [$($orbs:tt)*]) => { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/world/requirement/tests.rs:27:29 [INFO] [stderr] | [INFO] [stderr] 27 | ($player:expr_2021, $states:expr_2021, $req:expr_2021, [$($orbs:tt)*]) => { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/world/requirement/tests.rs:27:48 [INFO] [stderr] | [INFO] [stderr] 27 | ($player:expr_2021, $states:expr_2021, $req:expr_2021, [$($orbs:tt)*]) => { [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/world/requirement/tests.rs:666:10 [INFO] [stderr] | [INFO] [stderr] 666 | ($player:expr_2021, $states:expr_2021, $req:expr_2021, [$($player_orbs:expr_2021),* $(,)?], [$($solutions: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/world/requirement/tests.rs:666:29 [INFO] [stderr] | [INFO] [stderr] 666 | ($player:expr_2021, $states:expr_2021, $req:expr_2021, [$($player_orbs:expr_2021),* $(,)?], [$($solutions: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/world/requirement/tests.rs:666:48 [INFO] [stderr] | [INFO] [stderr] 666 | ($player:expr_2021, $states:expr_2021, $req:expr_2021, [$($player_orbs:expr_2021),* $(,)?], [$($solutions: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/world/requirement/tests.rs:666:67 [INFO] [stderr] | [INFO] [stderr] 666 | ($player:expr_2021, $states:expr_2021, $req:expr_2021, [$($player_orbs:expr_2021),* $(,)?], [$($solutions: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/world/requirement/tests.rs:666:104 [INFO] [stderr] | [INFO] [stderr] 666 | ($player:expr_2021, $states:expr_2021, $req:expr_2021, [$($player_orbs:expr_2021),* $(,)?], [$($solutions: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/world/requirement/tests.rs:679:10 [INFO] [stderr] | [INFO] [stderr] 679 | ($player:expr_2021, $states:expr_2021, $req:expr_2021, [$($solutions:tt)*]) => { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/world/requirement/tests.rs:679:29 [INFO] [stderr] | [INFO] [stderr] 679 | ($player:expr_2021, $states:expr_2021, $req:expr_2021, [$($solutions:tt)*]) => { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/world/requirement/tests.rs:679:48 [INFO] [stderr] | [INFO] [stderr] 679 | ($player:expr_2021, $states:expr_2021, $req:expr_2021, [$($solutions:tt)*]) => { [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error: aborting due to 37 previous errors [INFO] [stderr] [INFO] [stderr] For more information about this error, try `rustc --explain E0658`. [INFO] [stderr] Original diagnostics will follow. [INFO] [stderr] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/item/message.rs:24:25 [INFO] [stdout] | [INFO] [stdout] 24 | ($first:ident, $dst:expr, $($arg:tt)*) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] = 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] 24 | ($first:ident, $dst:expr_2021, $($arg:tt)*) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/languages/header/parser/mod.rs:37:14 [INFO] [stdout] | [INFO] [stdout] 37 | ($parser:expr, $expected:path) => {{ [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 37 | ($parser:expr_2021, $expected:path) => {{ [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/languages/header/parser/mod.rs:68:14 [INFO] [stdout] | [INFO] [stdout] 68 | ($parser:expr, $token:ident, $expected:path) => { [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] 68 | ($parser:expr_2021, $token:ident, $expected:path) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/languages/header/parser/mod.rs:91:14 [INFO] [stdout] | [INFO] [stdout] 91 | ($parser:expr, $expected:path, $kind:pat) => {{ [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] 91 | ($parser:expr_2021, $expected:path, $kind:pat) => {{ [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/languages/header/parser/mod.rs:107:14 [INFO] [stdout] | [INFO] [stdout] 107 | ($parser:expr, $expected:path) => { [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] 107 | ($parser:expr_2021, $expected:path) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/languages/header/parser/mod.rs:117:14 [INFO] [stdout] | [INFO] [stdout] 117 | ($parser:expr, $expected:path) => { [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] 117 | ($parser:expr_2021, $expected:path) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/languages/header/parser/mod.rs:127:14 [INFO] [stdout] | [INFO] [stdout] 127 | ($parser:expr, $expected:path) => {{ [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] 127 | ($parser:expr_2021, $expected:path) => {{ [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/languages/parser.rs:240:28 [INFO] [stdout] | [INFO] [stdout] 240 | ($token:ident, $parser:expr, $expected:path) => { [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] 240 | ($token:ident, $parser:expr_2021, $expected:path) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/languages/parser.rs:251:32 [INFO] [stdout] | [INFO] [stdout] 251 | ($token_kind:path, $parser:expr, $expected:path) => {{ [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] 251 | ($token_kind:path, $parser:expr_2021, $expected:path) => {{ [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/languages/parser.rs:264:14 [INFO] [stdout] | [INFO] [stdout] 264 | ($parser:expr, $expected:path) => { [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] 264 | ($parser:expr_2021, $expected:path) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/languages/parser.rs:274:14 [INFO] [stdout] | [INFO] [stdout] 274 | ($parser:expr, $expected:path, $prior_expected:path) => {{ [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 | ($parser:expr_2021, $expected:path, $prior_expected:path) => {{ [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/languages/parser.rs:282:14 [INFO] [stdout] | [INFO] [stdout] 282 | ($parser:expr, $expected:path) => { [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] 282 | ($parser:expr_2021, $expected:path) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/languages/parser.rs:293:32 [INFO] [stdout] | [INFO] [stdout] 293 | ($token_kind:path, $parser:expr, $expected:path) => {{ [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] 293 | ($token_kind:path, $parser:expr_2021, $expected:path) => {{ [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/languages/parser.rs:301:14 [INFO] [stdout] | [INFO] [stdout] 301 | ($parser:expr, $expected:path) => { [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] 301 | ($parser:expr_2021, $expected:path) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/world/requirement/tests.rs:15:18 [INFO] [stdout] | [INFO] [stdout] 15 | ($player:expr, $states:expr, $req: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] 15 | ($player:expr_2021, $states:expr, $req: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/world/requirement/tests.rs:15:32 [INFO] [stdout] | [INFO] [stdout] 15 | ($player:expr, $states:expr, $req: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] 15 | ($player:expr, $states:expr_2021, $req: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/world/requirement/tests.rs:15:43 [INFO] [stdout] | [INFO] [stdout] 15 | ($player:expr, $states:expr, $req: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] 15 | ($player:expr, $states:expr, $req: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/world/requirement/tests.rs:18:18 [INFO] [stdout] | [INFO] [stdout] 18 | ($player:expr, $states:expr, $req:expr, [$player_orbs: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] 18 | ($player:expr_2021, $states:expr, $req:expr, [$player_orbs: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/world/requirement/tests.rs:18:32 [INFO] [stdout] | [INFO] [stdout] 18 | ($player:expr, $states:expr, $req:expr, [$player_orbs: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] 18 | ($player:expr, $states:expr_2021, $req:expr, [$player_orbs: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/world/requirement/tests.rs:18:43 [INFO] [stdout] | [INFO] [stdout] 18 | ($player:expr, $states:expr, $req:expr, [$player_orbs: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] 18 | ($player:expr, $states:expr, $req:expr_2021, [$player_orbs: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/world/requirement/tests.rs:18:63 [INFO] [stdout] | [INFO] [stdout] 18 | ($player:expr, $states:expr, $req:expr, [$player_orbs: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] 18 | ($player:expr, $states:expr, $req:expr, [$player_orbs: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/world/requirement/tests.rs:21:18 [INFO] [stdout] | [INFO] [stdout] 21 | ($player:expr, $states:expr, $req:expr, [$player_orbs:expr], [$($orbs:expr),* $(,)?]) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 21 | ($player:expr_2021, $states:expr, $req:expr, [$player_orbs:expr], [$($orbs: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/world/requirement/tests.rs:21:32 [INFO] [stdout] | [INFO] [stdout] 21 | ($player:expr, $states:expr, $req:expr, [$player_orbs:expr], [$($orbs:expr),* $(,)?]) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 21 | ($player:expr, $states:expr_2021, $req:expr, [$player_orbs:expr], [$($orbs: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/world/requirement/tests.rs:21:43 [INFO] [stdout] | [INFO] [stdout] 21 | ($player:expr, $states:expr, $req:expr, [$player_orbs:expr], [$($orbs:expr),* $(,)?]) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 21 | ($player:expr, $states:expr, $req:expr_2021, [$player_orbs:expr], [$($orbs: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/world/requirement/tests.rs:21:63 [INFO] [stdout] | [INFO] [stdout] 21 | ($player:expr, $states:expr, $req:expr, [$player_orbs:expr], [$($orbs:expr),* $(,)?]) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 21 | ($player:expr, $states:expr, $req:expr, [$player_orbs:expr_2021], [$($orbs: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/world/requirement/tests.rs:21:79 [INFO] [stdout] | [INFO] [stdout] 21 | ($player:expr, $states:expr, $req:expr, [$player_orbs:expr], [$($orbs:expr),* $(,)?]) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 21 | ($player:expr, $states:expr, $req:expr, [$player_orbs:expr], [$($orbs: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/world/requirement/tests.rs:27:18 [INFO] [stdout] | [INFO] [stdout] 27 | ($player:expr, $states:expr, $req:expr, [$($orbs:tt)*]) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 27 | ($player:expr_2021, $states:expr, $req:expr, [$($orbs:tt)*]) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/world/requirement/tests.rs:27:32 [INFO] [stdout] | [INFO] [stdout] 27 | ($player:expr, $states:expr, $req:expr, [$($orbs:tt)*]) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 27 | ($player:expr, $states:expr_2021, $req:expr, [$($orbs:tt)*]) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/world/requirement/tests.rs:27:43 [INFO] [stdout] | [INFO] [stdout] 27 | ($player:expr, $states:expr, $req:expr, [$($orbs:tt)*]) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 27 | ($player:expr, $states:expr, $req:expr_2021, [$($orbs:tt)*]) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/world/requirement/tests.rs:666:18 [INFO] [stdout] | [INFO] [stdout] 666 | ($player:expr, $states:expr, $req:expr, [$($player_orbs:expr),* $(,)?], [$($solutions: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] 666 | ($player:expr_2021, $states:expr, $req:expr, [$($player_orbs:expr),* $(,)?], [$($solutions: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/world/requirement/tests.rs:666:32 [INFO] [stdout] | [INFO] [stdout] 666 | ($player:expr, $states:expr, $req:expr, [$($player_orbs:expr),* $(,)?], [$($solutions: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] 666 | ($player:expr, $states:expr_2021, $req:expr, [$($player_orbs:expr),* $(,)?], [$($solutions: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/world/requirement/tests.rs:666:43 [INFO] [stdout] | [INFO] [stdout] 666 | ($player:expr, $states:expr, $req:expr, [$($player_orbs:expr),* $(,)?], [$($solutions: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] 666 | ($player:expr, $states:expr, $req:expr_2021, [$($player_orbs:expr),* $(,)?], [$($solutions: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/world/requirement/tests.rs:666:65 [INFO] [stdout] | [INFO] [stdout] 666 | ($player:expr, $states:expr, $req:expr, [$($player_orbs:expr),* $(,)?], [$($solutions: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] 666 | ($player:expr, $states:expr, $req:expr, [$($player_orbs:expr_2021),* $(,)?], [$($solutions: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/world/requirement/tests.rs:666:95 [INFO] [stdout] | [INFO] [stdout] 666 | ($player:expr, $states:expr, $req:expr, [$($player_orbs:expr),* $(,)?], [$($solutions: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] 666 | ($player:expr, $states:expr, $req:expr, [$($player_orbs:expr),* $(,)?], [$($solutions: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/world/requirement/tests.rs:679:18 [INFO] [stdout] | [INFO] [stdout] 679 | ($player:expr, $states:expr, $req:expr, [$($solutions:tt)*]) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 679 | ($player:expr_2021, $states:expr, $req:expr, [$($solutions:tt)*]) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/world/requirement/tests.rs:679:32 [INFO] [stdout] | [INFO] [stdout] 679 | ($player:expr, $states:expr, $req:expr, [$($solutions:tt)*]) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 679 | ($player:expr, $states:expr_2021, $req:expr, [$($solutions:tt)*]) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/world/requirement/tests.rs:679:43 [INFO] [stdout] | [INFO] [stdout] 679 | ($player:expr, $states:expr, $req:expr, [$($solutions:tt)*]) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 679 | ($player:expr, $states:expr, $req:expr_2021, [$($solutions:tt)*]) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/world/requirement/solutions.rs:494:45 [INFO] [stdout] | [INFO] [stdout] 494 | ... let mut solution = &mut total_solutions[index]; [INFO] [stdout] | ----^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/generator/mod.rs:293:8 [INFO] [stdout] | [INFO] [stdout] 293 | if let Item::UberState(uber_state_item) = &preplacement.item { [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/generator/mod.rs:318:5 [INFO] [stdout] | [INFO] [stdout] 318 | } [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] 293 ~ match &preplacement.item { Item::UberState(uber_state_item) => { [INFO] [stdout] 294 | if preplacement.trigger != UberStateTrigger::spawn() { [INFO] [stdout] ... [INFO] [stdout] 317 | } [INFO] [stdout] 318 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/generator/placement.rs:1001:16 [INFO] [stdout] | [INFO] [stdout] 1001 | if let Some(item) = target_world_context [INFO] [stdout] | _________________^ - [INFO] [stdout] | | _________________________________| [INFO] [stdout] 1002 | || .world [INFO] [stdout] 1003 | || .pool [INFO] [stdout] | ||_____________________- this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] 1004 | | .choose_random(origin_world_index != target_world_index, context.rng) [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/generator/placement.rs:1023:13 [INFO] [stdout] | [INFO] [stdout] 1023 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1001 ~ match target_world_context [INFO] [stdout] 1002 | .world [INFO] [stdout] 1003 | .pool [INFO] [stdout] 1004 | .choose_random(origin_world_index != target_world_index, context.rng) [INFO] [stdout] 1005 ~ { Some(item) => { [INFO] [stdout] 1006 | let item = item.clone(); [INFO] [stdout] ... [INFO] [stdout] 1022 | return Ok(is_progression); [INFO] [stdout] 1023 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/generator/placement.rs:1113:12 [INFO] [stdout] | [INFO] [stdout] 1113 | if let Some(node) = world_context [INFO] [stdout] | _____________^ - [INFO] [stdout] | | _____________________________| [INFO] [stdout] 1114 | || .world [INFO] [stdout] 1115 | || .graph [INFO] [stdout] 1116 | || .nodes [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] 1123 | | }) [INFO] [stdout] 1124 | | .choose(context.rng) [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/generator/placement.rs:1136:9 [INFO] [stdout] | [INFO] [stdout] 1136 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1113 ~ match world_context [INFO] [stdout] 1114 | .world [INFO] [stdout] ... [INFO] [stdout] 1124 | .choose(context.rng) [INFO] [stdout] 1125 ~ { Some(node) => { [INFO] [stdout] 1126 | place_item( [INFO] [stdout] ... [INFO] [stdout] 1135 | )?; [INFO] [stdout] 1136 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/generator/placement.rs:1298:15 [INFO] [stdout] | [INFO] [stdout] 1298 | while let Some(placeholder) = world_contexts[world_index].placeholders.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/generator/placement.rs:1314:9 [INFO] [stdout] | [INFO] [stdout] 1314 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/generator/placement.rs:1319:15 [INFO] [stdout] | [INFO] [stdout] 1319 | while let Some(unreachable) = world_contexts[world_index].unreachable_locations.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/generator/placement.rs:1342:9 [INFO] [stdout] | [INFO] [stdout] 1342 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/generator/placement.rs:1429:20 [INFO] [stdout] | [INFO] [stdout] 1429 | if let Some(node) = world_contexts[origin_world_index].placeholders.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/generator/placement.rs:1446:17 [INFO] [stdout] | [INFO] [stdout] 1446 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1429 ~ match world_contexts[origin_world_index].placeholders.pop() { Some(node) => { [INFO] [stdout] 1430 | let target_world_context = &mut world_contexts[target_world_index]; [INFO] [stdout] ... [INFO] [stdout] 1445 | continue 'outer; [INFO] [stdout] 1446 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/generator/placement.rs:1482:12 [INFO] [stdout] | [INFO] [stdout] 1482 | if let Some(amount) = world_contexts[world_index].world_tour { [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/generator/placement.rs:1484:9 [INFO] [stdout] | [INFO] [stdout] 1484 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1482 ~ match world_contexts[world_index].world_tour { Some(amount) => { [INFO] [stdout] 1483 | place_relics(amount, world_index, &mut world_contexts, &mut context)?; [INFO] [stdout] 1484 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/inventory/mod.rs:44:12 [INFO] [stdout] | [INFO] [stdout] 44 | if let Some(prior) = self.items.get_mut(item) { [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/inventory/mod.rs:50:9 [INFO] [stdout] | [INFO] [stdout] 50 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 44 ~ match self.items.get_mut(item) { Some(prior) => { [INFO] [stdout] 45 | if amount >= *prior { [INFO] [stdout] ... [INFO] [stdout] 49 | } [INFO] [stdout] 50 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/item/message.rs:122:12 [INFO] [stdout] | [INFO] [stdout] 122 | if let Ok(item) = VItem::parse(&mut parser) { [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/item/message.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] 122 ~ match VItem::parse(&mut parser) { Ok(item) => { [INFO] [stdout] 123 | if let Ok(item) = item.resolve(&FxHashMap::default()) { [INFO] [stdout] ... [INFO] [stdout] 129 | } [INFO] [stdout] 130 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/item/message.rs:123:16 [INFO] [stdout] | [INFO] [stdout] 123 | if let Ok(item) = item.resolve(&FxHashMap::default()) { [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/item/message.rs:129:13 [INFO] [stdout] | [INFO] [stdout] 129 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 123 ~ match item.resolve(&FxHashMap::default()) { Ok(item) => { [INFO] [stdout] 124 | let token = parser.next_token(); [INFO] [stdout] ... [INFO] [stdout] 128 | } [INFO] [stdout] 129 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/languages/header/mod.rs:389:32 [INFO] [stdout] | [INFO] [stdout] 389 | ... if let HeaderCommand::Parameter { [INFO] [stdout] | __________________________^ [INFO] [stdout] 390 | | ... identifier, [INFO] [stdout] 391 | | ... default, [INFO] [stdout] 392 | | ... } = command [INFO] [stdout] | |___________________________------^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/languages/header/mod.rs:399:29 [INFO] [stdout] | [INFO] [stdout] 399 | ... } 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] 389 ~ match command [INFO] [stdout] 390 ~ { HeaderCommand::Parameter { [INFO] [stdout] 391 + identifier, [INFO] [stdout] 392 + default, [INFO] [stdout] 393 ~ } => { [INFO] [stdout] 394 | ParameterInfo { [INFO] [stdout] ... [INFO] [stdout] 398 | } [INFO] [stdout] 399 ~ } _ => { [INFO] [stdout] 400 | unreachable!() [INFO] [stdout] 401 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/languages/header/emitter.rs:76:19 [INFO] [stdout] | [INFO] [stdout] 76 | } else if let HeaderContent::Command(command) = content { [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/languages/header/emitter.rs:82:9 [INFO] [stdout] | [INFO] [stdout] 82 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 76 ~ } else { match content { HeaderContent::Command(command) => { [INFO] [stdout] 77 | match command { [INFO] [stdout] ... [INFO] [stdout] 81 | } [INFO] [stdout] 82 ~ } _ => {}}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/languages/header/parser/mod.rs:278:20 [INFO] [stdout] | [INFO] [stdout] 278 | if let Err(err) = context.parser.eat(TokenKind::Newline) { [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/languages/header/parser/mod.rs:280:17 [INFO] [stdout] | [INFO] [stdout] 280 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 278 ~ match context.parser.eat(TokenKind::Newline) { Err(err) => { [INFO] [stdout] 279 | recover(err, &mut errors, context.parser); [INFO] [stdout] 280 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/languages/header/parser/postprocess.rs:77:23 [INFO] [stdout] | [INFO] [stdout] 77 | } else if let Some(node) = graph.nodes.iter().find(|&node| { [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] 78 | | node.trigger().map_or(false, |trigger| { [INFO] [stdout] 79 | | trigger.code().to_string() == format!("{uber_group}|{uber_id}") [INFO] [stdout] 80 | | }) [INFO] [stdout] 81 | | }) { [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/languages/header/parser/postprocess.rs:85:13 [INFO] [stdout] | [INFO] [stdout] 85 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 77 ~ } else { match graph.nodes.iter().find(|&node| { [INFO] [stdout] 78 | node.trigger().map_or(false, |trigger| { [INFO] [stdout] 79 | trigger.code().to_string() == format!("{uber_group}|{uber_id}") [INFO] [stdout] 80 | }) [INFO] [stdout] 81 ~ }) { Some(node) => { [INFO] [stdout] 82 | if let Some(zone) = node.zone() { [INFO] [stdout] 83 | return Ok(zone.to_string()); [INFO] [stdout] 84 | } [INFO] [stdout] 85 ~ } _ => {}}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/languages/header/parser/postprocess.rs:125:12 [INFO] [stdout] | [INFO] [stdout] 125 | if let Some(trigger) = graph.nodes.iter().find_map(|node| { [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] 126 | | if node.zone() == Some(zone) { [INFO] [stdout] 127 | | let trigger = node.trigger(); [INFO] [stdout] 128 | | if trigger.map_or(false, |trigger| { [INFO] [stdout] ... | [INFO] [stdout] 134 | | None [INFO] [stdout] 135 | | }) { [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/languages/header/parser/postprocess.rs:171:9 [INFO] [stdout] | [INFO] [stdout] 171 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 125 ~ match graph.nodes.iter().find_map(|node| { [INFO] [stdout] 126 | if node.zone() == Some(zone) { [INFO] [stdout] ... [INFO] [stdout] 134 | None [INFO] [stdout] 135 ~ }) { Some(trigger) => { [INFO] [stdout] 136 | if re.is_match(item) { [INFO] [stdout] ... [INFO] [stdout] 170 | } [INFO] [stdout] 171 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/languages/logic/emitter.rs:350:20 [INFO] [stdout] | [INFO] [stdout] 350 | if let Some(subgroup) = &line.group { [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/languages/logic/emitter.rs:352:17 [INFO] [stdout] | [INFO] [stdout] 352 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 350 ~ match &line.group { Some(subgroup) => { [INFO] [stdout] 351 | parts.push(build_requirement_group(subgroup, region, context)); [INFO] [stdout] 352 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over a `&mut Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> src/languages/logic/parser.rs:747:40 [INFO] [stdout] | [INFO] [stdout] 747 | for requirement in &mut refill.requirements { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(for_loops_over_fallibles)]` on by default [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 747 | while let Some(requirement) = &mut refill.requirements { [INFO] [stdout] | ~~~~~~~~~~~~~~~ ~~~ [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 747 | if let Some(requirement) = &mut refill.requirements { [INFO] [stdout] | ~~~~~~~~~~~~ ~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over a `&mut Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> src/languages/logic/parser.rs:773:22 [INFO] [stdout] | [INFO] [stdout] 773 | for group in &mut line.group { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 773 | while let Some(group) = &mut line.group { [INFO] [stdout] | ~~~~~~~~~~~~~~~ ~~~ [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 773 | if let Some(group) = &mut line.group { [INFO] [stdout] | ~~~~~~~~~~~~ ~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/languages/logic/parser.rs:802:12 [INFO] [stdout] | [INFO] [stdout] 802 | if let Err(err) = Areas::parse(&input) { [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/languages/logic/parser.rs:804:9 [INFO] [stdout] | [INFO] [stdout] 804 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 802 ~ match Areas::parse(&input) { Err(err) => { [INFO] [stdout] 803 | panic!("{}", err.verbose_display()); [INFO] [stdout] 804 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/world/graph.rs:322:16 [INFO] [stdout] | [INFO] [stdout] 322 | if let Some(tp_anchor) = self [INFO] [stdout] | _________________^ - [INFO] [stdout] | | ______________________________________| [INFO] [stdout] 323 | || .nodes [INFO] [stdout] | ||______________________- this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] 324 | | .iter() [INFO] [stdout] 325 | | .find(|&node| node.identifier() == TP_ANCHOR) [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/world/graph.rs:330:13 [INFO] [stdout] | [INFO] [stdout] 330 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 322 ~ match self [INFO] [stdout] 323 | .nodes [INFO] [stdout] 324 | .iter() [INFO] [stdout] 325 | .find(|&node| node.identifier() == TP_ANCHOR) [INFO] [stdout] 326 ~ { Some(tp_anchor) => { [INFO] [stdout] 327 | if !context.world_state.contains_key(&tp_anchor.index()) { [INFO] [stdout] 328 | self.reach_recursion(tp_anchor, smallvec![context.player.max_orbs()], context); [INFO] [stdout] 329 | } [INFO] [stdout] 330 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/world/pool.rs:90:12 [INFO] [stdout] | [INFO] [stdout] 90 | if let Item::SpiritLight(amount) = item { [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/world/pool.rs:92:9 [INFO] [stdout] | [INFO] [stdout] 92 | } 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] 90 ~ match item { Item::SpiritLight(amount) => { [INFO] [stdout] 91 | self.spirit_light += amount; [INFO] [stdout] 92 ~ } _ => { [INFO] [stdout] 93 | self.inventory.grant(item, amount); [INFO] [stdout] 94 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 59 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 24.65s [INFO] [stderr] Running `cargo check` to verify 2024 [INFO] [stderr] Compiling wotw_seedgen v0.4.1 (/tmp/fixit) [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/world/requirement/solutions.rs:494:45 [INFO] [stdout] | [INFO] [stdout] 494 | ... let mut solution = &mut total_solutions[index]; [INFO] [stdout] | ----^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over a `&mut Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> src/languages/logic/parser.rs:747:40 [INFO] [stdout] | [INFO] [stdout] 747 | for requirement in &mut refill.requirements { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(for_loops_over_fallibles)]` on by default [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 747 | while let Some(requirement) = &mut refill.requirements { [INFO] [stdout] | ~~~~~~~~~~~~~~~ ~~~ [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 747 | if let Some(requirement) = &mut refill.requirements { [INFO] [stdout] | ~~~~~~~~~~~~ ~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over a `&mut Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> src/languages/logic/parser.rs:773:22 [INFO] [stdout] | [INFO] [stdout] 773 | for group in &mut line.group { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 773 | while let Some(group) = &mut line.group { [INFO] [stdout] | ~~~~~~~~~~~~~~~ ~~~ [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 773 | if let Some(group) = &mut line.group { [INFO] [stdout] | ~~~~~~~~~~~~ ~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 3 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/world/requirement/solutions.rs:494:45 [INFO] [stdout] | [INFO] [stdout] 494 | ... let mut solution = &mut total_solutions[index]; [INFO] [stdout] | ----^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over a `&mut Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> src/languages/logic/parser.rs:747:40 [INFO] [stdout] | [INFO] [stdout] 747 | for requirement in &mut refill.requirements { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(for_loops_over_fallibles)]` on by default [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 747 | while let Some(requirement) = &mut refill.requirements { [INFO] [stdout] | ~~~~~~~~~~~~~~~ ~~~ [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 747 | if let Some(requirement) = &mut refill.requirements { [INFO] [stdout] | ~~~~~~~~~~~~ ~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over a `&mut Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> src/languages/logic/parser.rs:773:22 [INFO] [stdout] | [INFO] [stdout] 773 | for group in &mut line.group { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 773 | while let Some(group) = &mut line.group { [INFO] [stdout] | ~~~~~~~~~~~~~~~ ~~~ [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 773 | if let Some(group) = &mut line.group { [INFO] [stdout] | ~~~~~~~~~~~~ ~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 3 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 3.33s [INFO] running `Command { std: "docker" "inspect" "deb5134413381ade3bef4206535f7ecc8c1cec3e1cd79cbedc0c375fe2180b4b", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "deb5134413381ade3bef4206535f7ecc8c1cec3e1cd79cbedc0c375fe2180b4b", kill_on_drop: false }` [INFO] [stdout] deb5134413381ade3bef4206535f7ecc8c1cec3e1cd79cbedc0c375fe2180b4b