[INFO] cloning repository https://github.com/RamezEssam/cheng [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/RamezEssam/cheng" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FRamezEssam%2Fcheng", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FRamezEssam%2Fcheng'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 6c7caf059f8f42d75afe2149b5fd1391072bee22 [INFO] checking RamezEssam/cheng/6c7caf059f8f42d75afe2149b5fd1391072bee22 against try#ccf408f4326a858c00dd845a64a86b16f360a801 for pr-129466-2 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FRamezEssam%2Fcheng" "/workspace/builds/worker-4-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc2/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/RamezEssam/cheng on toolchain ccf408f4326a858c00dd845a64a86b16f360a801 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+ccf408f4326a858c00dd845a64a86b16f360a801" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/RamezEssam/cheng [INFO] finished tweaking git repo https://github.com/RamezEssam/cheng [INFO] tweaked toml for git repo https://github.com/RamezEssam/cheng written to /workspace/builds/worker-4-tc2/source/Cargo.toml [INFO] crate git repo https://github.com/RamezEssam/cheng already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+ccf408f4326a858c00dd845a64a86b16f360a801" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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:6252d7ea7fb8caaf7af6d800c5fb250a9cd862b9a7f9508afb3c54fa7fe1102e" "/opt/rustwide/cargo-home/bin/cargo" "+ccf408f4326a858c00dd845a64a86b16f360a801" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] c3f991398588f33bd9a8c99ba58eaad006e827bb577780801a07c20ea75c56cf [INFO] running `Command { std: "docker" "start" "-a" "c3f991398588f33bd9a8c99ba58eaad006e827bb577780801a07c20ea75c56cf", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "c3f991398588f33bd9a8c99ba58eaad006e827bb577780801a07c20ea75c56cf", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "c3f991398588f33bd9a8c99ba58eaad006e827bb577780801a07c20ea75c56cf", kill_on_drop: false }` [INFO] [stdout] c3f991398588f33bd9a8c99ba58eaad006e827bb577780801a07c20ea75c56cf [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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:6252d7ea7fb8caaf7af6d800c5fb250a9cd862b9a7f9508afb3c54fa7fe1102e" "/opt/rustwide/cargo-home/bin/cargo" "+ccf408f4326a858c00dd845a64a86b16f360a801" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 210bb41b1f82d2f3c4133131e511894d135b96514571460e69d81572715f39b3 [INFO] running `Command { std: "docker" "start" "-a" "210bb41b1f82d2f3c4133131e511894d135b96514571460e69d81572715f39b3", 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] Checking memchr v2.7.4 [INFO] [stderr] Compiling libc v0.2.158 [INFO] [stderr] Compiling winapi v0.3.9 [INFO] [stderr] Checking regex-syntax v0.8.4 [INFO] [stderr] Checking aho-corasick v1.1.3 [INFO] [stderr] Checking regex-automata v0.4.7 [INFO] [stderr] Checking regex v1.10.6 [INFO] [stderr] Checking cheng v0.1.0 (/tmp/fixit) [INFO] [stderr] Migrating src/main.rs from 2021 edition to 2024 [INFO] [stderr] warning: failed to automatically apply fixes suggested by rustc to crate `cheng` [INFO] [stderr] [INFO] [stderr] after fixes were automatically applied the compiler reported errors within these files: [INFO] [stderr] [INFO] [stderr] * src/main.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/main.rs:870:6 [INFO] [stderr] | [INFO] [stderr] 870 | ($bitboard: expr_2021, $square: 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/main.rs:870:28 [INFO] [stderr] | [INFO] [stderr] 870 | ($bitboard: expr_2021, $square: 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/main.rs:881:6 [INFO] [stderr] | [INFO] [stderr] 881 | ($bitboard: expr_2021, $square: 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/main.rs:881:28 [INFO] [stderr] | [INFO] [stderr] 881 | ($bitboard: expr_2021, $square: 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/main.rs:888:6 [INFO] [stderr] | [INFO] [stderr] 888 | ($bitboard: expr_2021, $square: 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/main.rs:888:28 [INFO] [stderr] | [INFO] [stderr] 888 | ($bitboard: expr_2021, $square: 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/main.rs:911:6 [INFO] [stderr] | [INFO] [stderr] 911 | ($source: expr_2021, $target: expr_2021, $piece: expr_2021, $promoted: expr_2021, $capture: expr_2021, $double: expr_2021, $enpassant... [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/main.rs:911:26 [INFO] [stderr] | [INFO] [stderr] 911 | ($source: expr_2021, $target: expr_2021, $piece: expr_2021, $promoted: expr_2021, $capture: expr_2021, $double: expr_2021, $enpassant... [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/main.rs:911:46 [INFO] [stderr] | [INFO] [stderr] 911 | ($source: expr_2021, $target: expr_2021, $piece: expr_2021, $promoted: expr_2021, $capture: expr_2021, $double: expr_2021, $enpassant... [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/main.rs:911:65 [INFO] [stderr] | [INFO] [stderr] 911 | ($source: expr_2021, $target: expr_2021, $piece: expr_2021, $promoted: expr_2021, $capture: expr_2021, $double: expr_2021, $enpassant... [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/main.rs:911:87 [INFO] [stderr] | [INFO] [stderr] 911 | ($source: expr_2021, $target: expr_2021, $piece: expr_2021, $promoted: expr_2021, $capture: expr_2021, $double: expr_2021, $enpassant... [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/main.rs:911:108 [INFO] [stderr] | [INFO] [stderr] 911 | ($source: expr_2021, $target: expr_2021, $piece: expr_2021, $promoted: expr_2021, $capture: expr_2021, $double: expr_2021, $enpassant... [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/main.rs:911:128 [INFO] [stderr] | [INFO] [stderr] 911 | ...ed: expr_2021, $capture: expr_2021, $double: expr_2021, $enpassant: expr_2021, $castling: 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/main.rs:911:151 [INFO] [stderr] | [INFO] [stderr] 911 | ...e: expr_2021, $double: expr_2021, $enpassant: expr_2021, $castling: 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/main.rs:919:6 [INFO] [stderr] | [INFO] [stderr] 919 | ($move: 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/main.rs:927:6 [INFO] [stderr] | [INFO] [stderr] 927 | ($move: 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/main.rs:934:6 [INFO] [stderr] | [INFO] [stderr] 934 | ($move: 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/main.rs:941:6 [INFO] [stderr] | [INFO] [stderr] 941 | ($move: 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/main.rs:948:6 [INFO] [stderr] | [INFO] [stderr] 948 | ($move: 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/main.rs:955:6 [INFO] [stderr] | [INFO] [stderr] 955 | ($move: 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/main.rs:962:6 [INFO] [stderr] | [INFO] [stderr] 962 | ($move: 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/main.rs:969:6 [INFO] [stderr] | [INFO] [stderr] 969 | ($move: expr_2021) => { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] warning: creating a shared reference to mutable static is discouraged [INFO] [stderr] --> src/main.rs:800:42 [INFO] [stderr] | [INFO] [stderr] 800 | if let Some(hash_entry) = ht.get(&HASH_KEY) { [INFO] [stderr] | ^^^^^^^^^ shared reference to mutable static [INFO] [stderr] | [INFO] [stderr] = note: for more information, see issue #114447 [INFO] [stderr] = note: this will be a hard error in the 2024 edition [INFO] [stderr] = note: this shared reference has lifetime `'static`, but if the static ever gets mutated, or a mutable reference is created, then any further use of this shared reference is Undefined Behavior [INFO] [stderr] = note: `--force-warn static-mut-refs` implied by `--force-warn rust-2024-compatibility` [INFO] [stderr] help: use `addr_of!` instead to create a raw pointer [INFO] [stderr] | [INFO] [stderr] 800 | if let Some(hash_entry) = ht.get(addr_of!(HASH_KEY)) { [INFO] [stderr] | ~~~~~~~~~ + [INFO] [stderr] [INFO] [stderr] warning: value assigned to `bitboard` is never read [INFO] [stderr] --> src/main.rs:743:17 [INFO] [stderr] | [INFO] [stderr] 743 | let mut bitboard: u64 = 0; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] = note: `#[warn(unused_assignments)]` on by default [INFO] [stderr] [INFO] [stderr] warning: value assigned to `queen_attacks` is never read [INFO] [stderr] --> src/main.rs:2123:13 [INFO] [stderr] | [INFO] [stderr] 2123 | let mut queen_attacks: BitBoard = 0; [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] [INFO] [stderr] warning: value assigned to `source_square` is never read [INFO] [stderr] --> src/main.rs:2251:13 [INFO] [stderr] | [INFO] [stderr] 2251 | let mut source_square = BoardSquare::no_sq as u64; [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] [INFO] [stderr] warning: value assigned to `target_square` is never read [INFO] [stderr] --> src/main.rs:2252:13 [INFO] [stderr] | [INFO] [stderr] 2252 | let mut target_square = BoardSquare::no_sq as u64; [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] [INFO] [stderr] warning: value assigned to `bitboard` is never read [INFO] [stderr] --> src/main.rs:2255:13 [INFO] [stderr] | [INFO] [stderr] 2255 | let mut bitboard: BitBoard = 0; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] [INFO] [stderr] warning: value assigned to `attacks` is never read [INFO] [stderr] --> src/main.rs:2256:13 [INFO] [stderr] | [INFO] [stderr] 2256 | let mut attacks = 0; [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] [INFO] [stderr] warning: value assigned to `start_piece` is never read [INFO] [stderr] --> src/main.rs:2836:25 [INFO] [stderr] | [INFO] [stderr] 2836 | let mut start_piece:usize = 0; [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] [INFO] [stderr] warning: value assigned to `end_piece` is never read [INFO] [stderr] --> src/main.rs:2837:25 [INFO] [stderr] | [INFO] [stderr] 2837 | let mut end_piece:usize = 0; [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] [INFO] [stderr] warning: value assigned to `cnt` is never read [INFO] [stderr] --> src/main.rs:3027:13 [INFO] [stderr] | [INFO] [stderr] 3027 | let mut cnt = 0; [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] [INFO] [stderr] warning: value assigned to `score` is never read [INFO] [stderr] --> src/main.rs:3379:13 [INFO] [stderr] | [INFO] [stderr] 3379 | let mut score: i32 = 0; [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] [INFO] [stderr] warning: value assigned to `start_piece` is never read [INFO] [stderr] --> src/main.rs:3501:21 [INFO] [stderr] | [INFO] [stderr] 3501 | let mut start_piece = 0; [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] [INFO] [stderr] warning: value assigned to `end_piece` is never read [INFO] [stderr] --> src/main.rs:3502:21 [INFO] [stderr] | [INFO] [stderr] 3502 | let mut end_piece = 0; [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] [INFO] [stderr] warning: value assigned to `bitboard` is never read [INFO] [stderr] --> src/main.rs:3622:13 [INFO] [stderr] | [INFO] [stderr] 3622 | let mut bitboard: u64 = 0; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] [INFO] [stderr] warning: value assigned to `square` is never read [INFO] [stderr] --> src/main.rs:3626:13 [INFO] [stderr] | [INFO] [stderr] 3626 | let mut square = 0; [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] [INFO] [stderr] warning: value assigned to `double_pawns` is never read [INFO] [stderr] --> src/main.rs:3628:13 [INFO] [stderr] | [INFO] [stderr] 3628 | let mut double_pawns: i32 = 0; [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] [INFO] [stderr] warning: value assigned to `score` is never read [INFO] [stderr] --> src/main.rs:3976:17 [INFO] [stderr] | [INFO] [stderr] 3976 | let mut score: i32 = 0; [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] [INFO] [stderr] warning: value assigned to `in_check` is never read [INFO] [stderr] --> src/main.rs:4018:17 [INFO] [stderr] | [INFO] [stderr] 4018 | let mut in_check: bool = false; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] [INFO] [stderr] error: aborting due to 22 previous errors; 18 warnings emitted [INFO] [stdout] warning: unused import: `libc::FILE` [INFO] [stdout] --> src/main.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use libc::FILE; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/main.rs:871:17 [INFO] [stdout] | [INFO] [stdout] 871 | ($bitboard: expr, $square: expr) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] = note: `--force-warn edition-2024-expr-fragment-specifier` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 871 | ($bitboard: expr_2021, $square: expr) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] For more information about this error, try `rustc --explain E0658`. [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/main.rs:871:32 [INFO] [stdout] | [INFO] [stdout] 871 | ($bitboard: expr, $square: 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] 871 | ($bitboard: expr, $square: expr_2021) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Original diagnostics will follow. [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/main.rs:882:17 [INFO] [stdout] | [INFO] [stdout] 882 | ($bitboard: expr, $square: 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] 882 | ($bitboard: expr_2021, $square: expr) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/main.rs:882:32 [INFO] [stdout] | [INFO] [stdout] 882 | ($bitboard: expr, $square: 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] 882 | ($bitboard: expr, $square: 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/main.rs:889:17 [INFO] [stdout] | [INFO] [stdout] 889 | ($bitboard: expr, $square: 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] 889 | ($bitboard: expr_2021, $square: 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/main.rs:889:32 [INFO] [stdout] | [INFO] [stdout] 889 | ($bitboard: expr, $square: 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] 889 | ($bitboard: expr, $square: 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/main.rs:912:15 [INFO] [stdout] | [INFO] [stdout] 912 | ($source: expr, $target: expr, $piece: expr, $promoted: expr, $capture: expr, $double: expr, $enpassant: expr, $castling: 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] 912 | ($source: expr_2021, $target: expr, $piece: expr, $promoted: expr, $capture: expr, $double: expr, $enpassant: expr, $castling: 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/main.rs:912:30 [INFO] [stdout] | [INFO] [stdout] 912 | ($source: expr, $target: expr, $piece: expr, $promoted: expr, $capture: expr, $double: expr, $enpassant: expr, $castling: 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] 912 | ($source: expr, $target: expr_2021, $piece: expr, $promoted: expr, $capture: expr, $double: expr, $enpassant: expr, $castling: 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/main.rs:912:44 [INFO] [stdout] | [INFO] [stdout] 912 | ($source: expr, $target: expr, $piece: expr, $promoted: expr, $capture: expr, $double: expr, $enpassant: expr, $castling: 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] 912 | ($source: expr, $target: expr, $piece: expr_2021, $promoted: expr, $capture: expr, $double: expr, $enpassant: expr, $castling: 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/main.rs:912:61 [INFO] [stdout] | [INFO] [stdout] 912 | ($source: expr, $target: expr, $piece: expr, $promoted: expr, $capture: expr, $double: expr, $enpassant: expr, $castling: 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] 912 | ($source: expr, $target: expr, $piece: expr, $promoted: expr_2021, $capture: expr, $double: expr, $enpassant: expr, $castling: 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/main.rs:912:77 [INFO] [stdout] | [INFO] [stdout] 912 | ($source: expr, $target: expr, $piece: expr, $promoted: expr, $capture: expr, $double: expr, $enpassant: expr, $castling: 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] 912 | ($source: expr, $target: expr, $piece: expr, $promoted: expr, $capture: expr_2021, $double: expr, $enpassant: expr, $castling: 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/main.rs:912:92 [INFO] [stdout] | [INFO] [stdout] 912 | ($source: expr, $target: expr, $piece: expr, $promoted: expr, $capture: expr, $double: expr, $enpassant: expr, $castling: 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] 912 | ($source: expr, $target: expr, $piece: expr, $promoted: expr, $capture: expr, $double: expr_2021, $enpassant: expr, $castling: 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/main.rs:912:110 [INFO] [stdout] | [INFO] [stdout] 912 | ($source: expr, $target: expr, $piece: expr, $promoted: expr, $capture: expr, $double: expr, $enpassant: expr, $castling: 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] 912 | ($source: expr, $target: expr, $piece: expr, $promoted: expr, $capture: expr, $double: expr, $enpassant: expr_2021, $castling: 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/main.rs:912:127 [INFO] [stdout] | [INFO] [stdout] 912 | ($source: expr, $target: expr, $piece: expr, $promoted: expr, $capture: expr, $double: expr, $enpassant: expr, $castling: 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] 912 | ($source: expr, $target: expr, $piece: expr, $promoted: expr, $capture: expr, $double: expr, $enpassant: expr, $castling: 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/main.rs:920:13 [INFO] [stdout] | [INFO] [stdout] 920 | ($move: 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] 920 | ($move: 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/main.rs:928:13 [INFO] [stdout] | [INFO] [stdout] 928 | ($move: 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] 928 | ($move: 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/main.rs:935:13 [INFO] [stdout] | [INFO] [stdout] 935 | ($move: 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] 935 | ($move: 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/main.rs:942:13 [INFO] [stdout] | [INFO] [stdout] 942 | ($move: 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] 942 | ($move: 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/main.rs:949:13 [INFO] [stdout] | [INFO] [stdout] 949 | ($move: 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] 949 | ($move: 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/main.rs:956:13 [INFO] [stdout] | [INFO] [stdout] 956 | ($move: 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] 956 | ($move: 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/main.rs:963:13 [INFO] [stdout] | [INFO] [stdout] 963 | ($move: 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] 963 | ($move: 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/main.rs:970:13 [INFO] [stdout] | [INFO] [stdout] 970 | ($move: 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] 970 | ($move: expr_2021) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a shared reference to mutable static is discouraged [INFO] [stdout] --> src/main.rs:801:42 [INFO] [stdout] | [INFO] [stdout] 801 | if let Some(hash_entry) = ht.get(&HASH_KEY) { [INFO] [stdout] | ^^^^^^^^^ shared reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #114447 [INFO] [stdout] = note: this will be a hard error in the 2024 edition [INFO] [stdout] = note: this shared reference has lifetime `'static`, but if the static ever gets mutated, or a mutable reference is created, then any further use of this shared reference is Undefined Behavior [INFO] [stdout] = note: `--force-warn static-mut-refs` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] help: use `addr_of!` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 801 | if let Some(hash_entry) = ht.get(addr_of!(HASH_KEY)) { [INFO] [stdout] | ~~~~~~~~~ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `bitboard` is never read [INFO] [stdout] --> src/main.rs:744:17 [INFO] [stdout] | [INFO] [stdout] 744 | let mut bitboard: u64 = 0; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] = note: `#[warn(unused_assignments)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `queen_attacks` is never read [INFO] [stdout] --> src/main.rs:2124:13 [INFO] [stdout] | [INFO] [stdout] 2124 | let mut queen_attacks: BitBoard = 0; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:2122:35 [INFO] [stdout] | [INFO] [stdout] 2122 | fn get_queen_attacks(square: u64, mut occupancy: u64)-> BitBoard { [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: value assigned to `source_square` is never read [INFO] [stdout] --> src/main.rs:2252:13 [INFO] [stdout] | [INFO] [stdout] 2252 | let mut source_square = BoardSquare::no_sq as u64; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `target_square` is never read [INFO] [stdout] --> src/main.rs:2253:13 [INFO] [stdout] | [INFO] [stdout] 2253 | let mut target_square = BoardSquare::no_sq as u64; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `bitboard` is never read [INFO] [stdout] --> src/main.rs:2256:13 [INFO] [stdout] | [INFO] [stdout] 2256 | let mut bitboard: BitBoard = 0; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `attacks` is never read [INFO] [stdout] --> src/main.rs:2257:13 [INFO] [stdout] | [INFO] [stdout] 2257 | let mut attacks = 0; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `start_piece` is never read [INFO] [stdout] --> src/main.rs:2837:25 [INFO] [stdout] | [INFO] [stdout] 2837 | let mut start_piece:usize = 0; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `end_piece` is never read [INFO] [stdout] --> src/main.rs:2838:25 [INFO] [stdout] | [INFO] [stdout] 2838 | let mut end_piece:usize = 0; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `cnt` is never read [INFO] [stdout] --> src/main.rs:3028:13 [INFO] [stdout] | [INFO] [stdout] 3028 | let mut cnt = 0; [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `score` is never read [INFO] [stdout] --> src/main.rs:3380:13 [INFO] [stdout] | [INFO] [stdout] 3380 | let mut score: i32 = 0; [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `start_piece` is never read [INFO] [stdout] --> src/main.rs:3502:21 [INFO] [stdout] | [INFO] [stdout] 3502 | let mut start_piece = 0; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `end_piece` is never read [INFO] [stdout] --> src/main.rs:3503:21 [INFO] [stdout] | [INFO] [stdout] 3503 | let mut end_piece = 0; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `bitboard` is never read [INFO] [stdout] --> src/main.rs:3623:13 [INFO] [stdout] | [INFO] [stdout] 3623 | let mut bitboard: u64 = 0; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `square` is never read [INFO] [stdout] --> src/main.rs:3627:13 [INFO] [stdout] | [INFO] [stdout] 3627 | let mut square = 0; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `double_pawns` is never read [INFO] [stdout] --> src/main.rs:3629:13 [INFO] [stdout] | [INFO] [stdout] 3629 | let mut double_pawns: i32 = 0; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `score` is never read [INFO] [stdout] --> src/main.rs:3977:17 [INFO] [stdout] | [INFO] [stdout] 3977 | let mut score: i32 = 0; [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `in_check` is never read [INFO] [stdout] --> src/main.rs:4019:17 [INFO] [stdout] | [INFO] [stdout] 4019 | let mut in_check: bool = false; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `EMPTY_BOARD` is never used [INFO] [stdout] --> src/main.rs:126:8 [INFO] [stdout] | [INFO] [stdout] 126 | static EMPTY_BOARD: &str = "8/8/8/8/8/8/8/8 w - - "; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `TRICKY_POSITION` is never used [INFO] [stdout] --> src/main.rs:128:8 [INFO] [stdout] | [INFO] [stdout] 128 | static TRICKY_POSITION: &str = "r3k2r/p1ppqpb1/bn2pnp1/3PN3/1p2P3/2N2Q1p/PPPBBPPP/R3K2R w KQkq - 0 1 "; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `KILLER_POSITION` is never used [INFO] [stdout] --> src/main.rs:129:8 [INFO] [stdout] | [INFO] [stdout] 129 | static KILLER_POSITION: &str = "rnbqkb1r/pp1p1pPp/8/2p1pP2/1P1P4/3P3P/P1P1P3/RNBQKBNR w KQkq e6 0 1"; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `CMK_POSITION` is never used [INFO] [stdout] --> src/main.rs:130:8 [INFO] [stdout] | [INFO] [stdout] 130 | static CMK_POSITION: &str = "r2q1rk1/ppp2ppp/2n1bn2/2b1p3/3pP3/3P1NPP/PPP1NPB1/R1BQ1RK1 b - - 0 9 "; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `MATERIAL_SCORE` is never used [INFO] [stdout] --> src/main.rs:133:8 [INFO] [stdout] | [INFO] [stdout] 133 | static MATERIAL_SCORE: [i32; 12] = [ [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `PAWN_SCORE` is never used [INFO] [stdout] --> src/main.rs:150:8 [INFO] [stdout] | [INFO] [stdout] 150 | static PAWN_SCORE: [i32; 64] = [ [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `KNIGHT_SCORE` is never used [INFO] [stdout] --> src/main.rs:162:8 [INFO] [stdout] | [INFO] [stdout] 162 | static KNIGHT_SCORE: [i32; 64] = [ [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `BISHOP_SCORE` is never used [INFO] [stdout] --> src/main.rs:174:9 [INFO] [stdout] | [INFO] [stdout] 174 | static BISHOP_SCORE: [i32; 64] = [ [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `ROOK_SCORE` is never used [INFO] [stdout] --> src/main.rs:186:9 [INFO] [stdout] | [INFO] [stdout] 186 | static ROOK_SCORE: [i32; 64] = [ [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `KING_SCORE` is never used [INFO] [stdout] --> src/main.rs:198:9 [INFO] [stdout] | [INFO] [stdout] 198 | static KING_SCORE: [i32; 64] = [ [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `DOUBLE_PAWN_PENALTY` is never used [INFO] [stdout] --> src/main.rs:309:8 [INFO] [stdout] | [INFO] [stdout] 309 | static DOUBLE_PAWN_PENALTY: i32 = -10; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `ISOLATED_PAWN_PENALTY` is never used [INFO] [stdout] --> src/main.rs:314:8 [INFO] [stdout] | [INFO] [stdout] 314 | static ISOLATED_PAWN_PENALTY: i32 = -10; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `generate_magic_number` is never used [INFO] [stdout] --> src/main.rs:1088:4 [INFO] [stdout] | [INFO] [stdout] 1088 | fn generate_magic_number() -> u64 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `find_magic_number` is never used [INFO] [stdout] --> src/main.rs:1093:4 [INFO] [stdout] | [INFO] [stdout] 1093 | fn find_magic_number(square: u64, relevant_bits: u32, bishop_flag: u8) -> u64 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `init_magic_numbers` is never used [INFO] [stdout] --> src/main.rs:1166:4 [INFO] [stdout] | [INFO] [stdout] 1166 | fn init_magic_numbers() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `print_bitboard` is never used [INFO] [stdout] --> src/main.rs:1475:4 [INFO] [stdout] | [INFO] [stdout] 1475 | fn print_bitboard(board: BitBoard) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `print_attacked_squares` is never used [INFO] [stdout] --> src/main.rs:2224:4 [INFO] [stdout] | [INFO] [stdout] 2224 | fn print_attacked_squares(side: u64){ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `perft_driver` is never used [INFO] [stdout] --> src/main.rs:3027:4 [INFO] [stdout] | [INFO] [stdout] 3027 | fn perft_driver(depth: u64, root: bool) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `sort_moves` is never used [INFO] [stdout] --> src/main.rs:3872:4 [INFO] [stdout] | [INFO] [stdout] 3872 | fn sort_moves(move_list: &mut Vec) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 61 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] warning: failed to automatically apply fixes suggested by rustc to crate `cheng` [INFO] [stderr] [INFO] [stderr] after fixes were automatically applied the compiler reported errors within these files: [INFO] [stderr] [INFO] [stderr] * src/main.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/main.rs:870:6 [INFO] [stderr] | [INFO] [stderr] 870 | ($bitboard: expr_2021, $square: 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/main.rs:870:28 [INFO] [stderr] | [INFO] [stderr] 870 | ($bitboard: expr_2021, $square: 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/main.rs:881:6 [INFO] [stderr] | [INFO] [stderr] 881 | ($bitboard: expr_2021, $square: 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/main.rs:881:28 [INFO] [stderr] | [INFO] [stderr] 881 | ($bitboard: expr_2021, $square: 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/main.rs:888:6 [INFO] [stderr] | [INFO] [stderr] 888 | ($bitboard: expr_2021, $square: 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/main.rs:888:28 [INFO] [stderr] | [INFO] [stderr] 888 | ($bitboard: expr_2021, $square: 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/main.rs:911:6 [INFO] [stderr] | [INFO] [stderr] 911 | ($source: expr_2021, $target: expr_2021, $piece: expr_2021, $promoted: expr_2021, $capture: expr_2021, $double: expr_2021, $enpassant... [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/main.rs:911:26 [INFO] [stderr] | [INFO] [stderr] 911 | ($source: expr_2021, $target: expr_2021, $piece: expr_2021, $promoted: expr_2021, $capture: expr_2021, $double: expr_2021, $enpassant... [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/main.rs:911:46 [INFO] [stderr] | [INFO] [stderr] 911 | ($source: expr_2021, $target: expr_2021, $piece: expr_2021, $promoted: expr_2021, $capture: expr_2021, $double: expr_2021, $enpassant... [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/main.rs:911:65 [INFO] [stderr] | [INFO] [stderr] 911 | ($source: expr_2021, $target: expr_2021, $piece: expr_2021, $promoted: expr_2021, $capture: expr_2021, $double: expr_2021, $enpassant... [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/main.rs:911:87 [INFO] [stderr] | [INFO] [stderr] 911 | ($source: expr_2021, $target: expr_2021, $piece: expr_2021, $promoted: expr_2021, $capture: expr_2021, $double: expr_2021, $enpassant... [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/main.rs:911:108 [INFO] [stderr] | [INFO] [stderr] 911 | ($source: expr_2021, $target: expr_2021, $piece: expr_2021, $promoted: expr_2021, $capture: expr_2021, $double: expr_2021, $enpassant... [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/main.rs:911:128 [INFO] [stderr] | [INFO] [stderr] 911 | ...ed: expr_2021, $capture: expr_2021, $double: expr_2021, $enpassant: expr_2021, $castling: 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/main.rs:911:151 [INFO] [stderr] | [INFO] [stderr] 911 | ...e: expr_2021, $double: expr_2021, $enpassant: expr_2021, $castling: 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/main.rs:919:6 [INFO] [stderr] | [INFO] [stderr] 919 | ($move: 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/main.rs:927:6 [INFO] [stderr] | [INFO] [stderr] 927 | ($move: 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/main.rs:934:6 [INFO] [stderr] | [INFO] [stderr] 934 | ($move: 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/main.rs:941:6 [INFO] [stderr] | [INFO] [stderr] 941 | ($move: 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/main.rs:948:6 [INFO] [stderr] | [INFO] [stderr] 948 | ($move: 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/main.rs:955:6 [INFO] [stderr] | [INFO] [stderr] 955 | ($move: 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/main.rs:962:6 [INFO] [stderr] | [INFO] [stderr] 962 | ($move: 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/main.rs:969:6 [INFO] [stderr] | [INFO] [stderr] 969 | ($move: expr_2021) => { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] warning: creating a shared reference to mutable static is discouraged [INFO] [stderr] --> src/main.rs:800:42 [INFO] [stderr] | [INFO] [stderr] 800 | if let Some(hash_entry) = ht.get(&HASH_KEY) { [INFO] [stderr] | ^^^^^^^^^ shared reference to mutable static [INFO] [stderr] | [INFO] [stderr] = note: for more information, see issue #114447 [INFO] [stderr] = note: this will be a hard error in the 2024 edition [INFO] [stderr] = note: this shared reference has lifetime `'static`, but if the static ever gets mutated, or a mutable reference is created, then any further use of this shared reference is Undefined Behavior [INFO] [stderr] = note: `--force-warn static-mut-refs` implied by `--force-warn rust-2024-compatibility` [INFO] [stderr] help: use `addr_of!` instead to create a raw pointer [INFO] [stderr] | [INFO] [stderr] 800 | if let Some(hash_entry) = ht.get(addr_of!(HASH_KEY)) { [INFO] [stderr] | ~~~~~~~~~ + [INFO] [stderr] [INFO] [stderr] warning: value assigned to `bitboard` is never read [INFO] [stderr] --> src/main.rs:743:17 [INFO] [stderr] | [INFO] [stderr] 743 | let mut bitboard: u64 = 0; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] = note: `#[warn(unused_assignments)]` on by default [INFO] [stderr] [INFO] [stderr] warning: value assigned to `queen_attacks` is never read [INFO] [stderr] --> src/main.rs:2123:13 [INFO] [stderr] | [INFO] [stderr] 2123 | let mut queen_attacks: BitBoard = 0; [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] [INFO] [stderr] warning: value assigned to `source_square` is never read [INFO] [stderr] --> src/main.rs:2251:13 [INFO] [stderr] | [INFO] [stderr] 2251 | let mut source_square = BoardSquare::no_sq as u64; [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] [INFO] [stderr] warning: value assigned to `target_square` is never read [INFO] [stderr] --> src/main.rs:2252:13 [INFO] [stderr] | [INFO] [stderr] 2252 | let mut target_square = BoardSquare::no_sq as u64; [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] [INFO] [stderr] warning: value assigned to `bitboard` is never read [INFO] [stderr] --> src/main.rs:2255:13 [INFO] [stderr] | [INFO] [stderr] 2255 | let mut bitboard: BitBoard = 0; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] [INFO] [stderr] warning: value assigned to `attacks` is never read [INFO] [stderr] --> src/main.rs:2256:13 [INFO] [stderr] | [INFO] [stderr] 2256 | let mut attacks = 0; [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] [INFO] [stderr] warning: value assigned to `start_piece` is never read [INFO] [stderr] --> src/main.rs:2836:25 [INFO] [stderr] | [INFO] [stderr] 2836 | let mut start_piece:usize = 0; [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] [INFO] [stderr] warning: value assigned to `end_piece` is never read [INFO] [stderr] --> src/main.rs:2837:25 [INFO] [stderr] | [INFO] [stderr] 2837 | let mut end_piece:usize = 0; [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] [INFO] [stderr] warning: value assigned to `cnt` is never read [INFO] [stderr] --> src/main.rs:3027:13 [INFO] [stderr] | [INFO] [stderr] 3027 | let mut cnt = 0; [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] [INFO] [stderr] warning: value assigned to `score` is never read [INFO] [stderr] --> src/main.rs:3379:13 [INFO] [stderr] | [INFO] [stderr] 3379 | let mut score: i32 = 0; [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] [INFO] [stderr] warning: value assigned to `start_piece` is never read [INFO] [stderr] --> src/main.rs:3501:21 [INFO] [stderr] | [INFO] [stderr] 3501 | let mut start_piece = 0; [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] [INFO] [stderr] warning: value assigned to `end_piece` is never read [INFO] [stderr] --> src/main.rs:3502:21 [INFO] [stderr] | [INFO] [stderr] 3502 | let mut end_piece = 0; [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] [INFO] [stderr] warning: value assigned to `bitboard` is never read [INFO] [stderr] --> src/main.rs:3622:13 [INFO] [stderr] | [INFO] [stderr] 3622 | let mut bitboard: u64 = 0; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] [INFO] [stderr] warning: value assigned to `square` is never read [INFO] [stderr] --> src/main.rs:3626:13 [INFO] [stderr] | [INFO] [stderr] 3626 | let mut square = 0; [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] [INFO] [stderr] warning: value assigned to `double_pawns` is never read [INFO] [stderr] --> src/main.rs:3628:13 [INFO] [stderr] | [INFO] [stderr] 3628 | let mut double_pawns: i32 = 0; [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] [INFO] [stderr] warning: value assigned to `score` is never read [INFO] [stderr] --> src/main.rs:3976:17 [INFO] [stderr] | [INFO] [stderr] 3976 | let mut score: i32 = 0; [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] [INFO] [stderr] warning: value assigned to `in_check` is never read [INFO] [stderr] --> src/main.rs:4018:17 [INFO] [stderr] | [INFO] [stderr] 4018 | let mut in_check: bool = false; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] [INFO] [stderr] error: aborting due to 22 previous errors; 18 warnings emitted [INFO] [stderr] [INFO] [stderr] For more information about this error, try `rustc --explain E0658`. [INFO] [stderr] Original diagnostics will follow. [INFO] [stderr] [INFO] [stdout] warning: unused import: `libc::FILE` [INFO] [stdout] --> src/main.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use libc::FILE; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/main.rs:871:17 [INFO] [stdout] | [INFO] [stdout] 871 | ($bitboard: expr, $square: expr) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] = note: `--force-warn edition-2024-expr-fragment-specifier` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 871 | ($bitboard: expr_2021, $square: 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/main.rs:871:32 [INFO] [stdout] | [INFO] [stdout] 871 | ($bitboard: expr, $square: 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] 871 | ($bitboard: expr, $square: 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/main.rs:882:17 [INFO] [stdout] | [INFO] [stdout] 882 | ($bitboard: expr, $square: 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] 882 | ($bitboard: expr_2021, $square: 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/main.rs:882:32 [INFO] [stdout] | [INFO] [stdout] 882 | ($bitboard: expr, $square: 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] 882 | ($bitboard: expr, $square: 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/main.rs:889:17 [INFO] [stdout] | [INFO] [stdout] 889 | ($bitboard: expr, $square: 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] 889 | ($bitboard: expr_2021, $square: 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/main.rs:889:32 [INFO] [stdout] | [INFO] [stdout] 889 | ($bitboard: expr, $square: 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] 889 | ($bitboard: expr, $square: 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/main.rs:912:15 [INFO] [stdout] | [INFO] [stdout] 912 | ($source: expr, $target: expr, $piece: expr, $promoted: expr, $capture: expr, $double: expr, $enpassant: expr, $castling: 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] 912 | ($source: expr_2021, $target: expr, $piece: expr, $promoted: expr, $capture: expr, $double: expr, $enpassant: expr, $castling: 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/main.rs:912:30 [INFO] [stdout] | [INFO] [stdout] 912 | ($source: expr, $target: expr, $piece: expr, $promoted: expr, $capture: expr, $double: expr, $enpassant: expr, $castling: 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] 912 | ($source: expr, $target: expr_2021, $piece: expr, $promoted: expr, $capture: expr, $double: expr, $enpassant: expr, $castling: 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/main.rs:912:44 [INFO] [stdout] | [INFO] [stdout] 912 | ($source: expr, $target: expr, $piece: expr, $promoted: expr, $capture: expr, $double: expr, $enpassant: expr, $castling: 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] 912 | ($source: expr, $target: expr, $piece: expr_2021, $promoted: expr, $capture: expr, $double: expr, $enpassant: expr, $castling: 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/main.rs:912:61 [INFO] [stdout] | [INFO] [stdout] 912 | ($source: expr, $target: expr, $piece: expr, $promoted: expr, $capture: expr, $double: expr, $enpassant: expr, $castling: 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] 912 | ($source: expr, $target: expr, $piece: expr, $promoted: expr_2021, $capture: expr, $double: expr, $enpassant: expr, $castling: 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/main.rs:912:77 [INFO] [stdout] | [INFO] [stdout] 912 | ($source: expr, $target: expr, $piece: expr, $promoted: expr, $capture: expr, $double: expr, $enpassant: expr, $castling: 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] 912 | ($source: expr, $target: expr, $piece: expr, $promoted: expr, $capture: expr_2021, $double: expr, $enpassant: expr, $castling: 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/main.rs:912:92 [INFO] [stdout] | [INFO] [stdout] 912 | ($source: expr, $target: expr, $piece: expr, $promoted: expr, $capture: expr, $double: expr, $enpassant: expr, $castling: 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] 912 | ($source: expr, $target: expr, $piece: expr, $promoted: expr, $capture: expr, $double: expr_2021, $enpassant: expr, $castling: 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/main.rs:912:110 [INFO] [stdout] | [INFO] [stdout] 912 | ($source: expr, $target: expr, $piece: expr, $promoted: expr, $capture: expr, $double: expr, $enpassant: expr, $castling: 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] 912 | ($source: expr, $target: expr, $piece: expr, $promoted: expr, $capture: expr, $double: expr, $enpassant: expr_2021, $castling: 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/main.rs:912:127 [INFO] [stdout] | [INFO] [stdout] 912 | ($source: expr, $target: expr, $piece: expr, $promoted: expr, $capture: expr, $double: expr, $enpassant: expr, $castling: 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] 912 | ($source: expr, $target: expr, $piece: expr, $promoted: expr, $capture: expr, $double: expr, $enpassant: expr, $castling: 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/main.rs:920:13 [INFO] [stdout] | [INFO] [stdout] 920 | ($move: 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] 920 | ($move: 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/main.rs:928:13 [INFO] [stdout] | [INFO] [stdout] 928 | ($move: 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] 928 | ($move: 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/main.rs:935:13 [INFO] [stdout] | [INFO] [stdout] 935 | ($move: 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] 935 | ($move: 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/main.rs:942:13 [INFO] [stdout] | [INFO] [stdout] 942 | ($move: 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] 942 | ($move: 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/main.rs:949:13 [INFO] [stdout] | [INFO] [stdout] 949 | ($move: 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] 949 | ($move: 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/main.rs:956:13 [INFO] [stdout] | [INFO] [stdout] 956 | ($move: 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] 956 | ($move: 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/main.rs:963:13 [INFO] [stdout] | [INFO] [stdout] 963 | ($move: 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] 963 | ($move: 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/main.rs:970:13 [INFO] [stdout] | [INFO] [stdout] 970 | ($move: 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] 970 | ($move: expr_2021) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a shared reference to mutable static is discouraged [INFO] [stdout] --> src/main.rs:801:42 [INFO] [stdout] | [INFO] [stdout] 801 | if let Some(hash_entry) = ht.get(&HASH_KEY) { [INFO] [stdout] | ^^^^^^^^^ shared reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #114447 [INFO] [stdout] = note: this will be a hard error in the 2024 edition [INFO] [stdout] = note: this shared reference has lifetime `'static`, but if the static ever gets mutated, or a mutable reference is created, then any further use of this shared reference is Undefined Behavior [INFO] [stdout] = note: `--force-warn static-mut-refs` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] help: use `addr_of!` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 801 | if let Some(hash_entry) = ht.get(addr_of!(HASH_KEY)) { [INFO] [stdout] | ~~~~~~~~~ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `bitboard` is never read [INFO] [stdout] --> src/main.rs:744:17 [INFO] [stdout] | [INFO] [stdout] 744 | let mut bitboard: u64 = 0; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] = note: `#[warn(unused_assignments)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `queen_attacks` is never read [INFO] [stdout] --> src/main.rs:2124:13 [INFO] [stdout] | [INFO] [stdout] 2124 | let mut queen_attacks: BitBoard = 0; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:2122:35 [INFO] [stdout] | [INFO] [stdout] 2122 | fn get_queen_attacks(square: u64, mut occupancy: u64)-> BitBoard { [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: value assigned to `source_square` is never read [INFO] [stdout] --> src/main.rs:2252:13 [INFO] [stdout] | [INFO] [stdout] 2252 | let mut source_square = BoardSquare::no_sq as u64; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `target_square` is never read [INFO] [stdout] --> src/main.rs:2253:13 [INFO] [stdout] | [INFO] [stdout] 2253 | let mut target_square = BoardSquare::no_sq as u64; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `bitboard` is never read [INFO] [stdout] --> src/main.rs:2256:13 [INFO] [stdout] | [INFO] [stdout] 2256 | let mut bitboard: BitBoard = 0; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `attacks` is never read [INFO] [stdout] --> src/main.rs:2257:13 [INFO] [stdout] | [INFO] [stdout] 2257 | let mut attacks = 0; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `start_piece` is never read [INFO] [stdout] --> src/main.rs:2837:25 [INFO] [stdout] | [INFO] [stdout] 2837 | let mut start_piece:usize = 0; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `end_piece` is never read [INFO] [stdout] --> src/main.rs:2838:25 [INFO] [stdout] | [INFO] [stdout] 2838 | let mut end_piece:usize = 0; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `cnt` is never read [INFO] [stdout] --> src/main.rs:3028:13 [INFO] [stdout] | [INFO] [stdout] 3028 | let mut cnt = 0; [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `score` is never read [INFO] [stdout] --> src/main.rs:3380:13 [INFO] [stdout] | [INFO] [stdout] 3380 | let mut score: i32 = 0; [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `start_piece` is never read [INFO] [stdout] --> src/main.rs:3502:21 [INFO] [stdout] | [INFO] [stdout] 3502 | let mut start_piece = 0; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `end_piece` is never read [INFO] [stdout] --> src/main.rs:3503:21 [INFO] [stdout] | [INFO] [stdout] 3503 | let mut end_piece = 0; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `bitboard` is never read [INFO] [stdout] --> src/main.rs:3623:13 [INFO] [stdout] | [INFO] [stdout] 3623 | let mut bitboard: u64 = 0; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `square` is never read [INFO] [stdout] --> src/main.rs:3627:13 [INFO] [stdout] | [INFO] [stdout] 3627 | let mut square = 0; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `double_pawns` is never read [INFO] [stdout] --> src/main.rs:3629:13 [INFO] [stdout] | [INFO] [stdout] 3629 | let mut double_pawns: i32 = 0; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `score` is never read [INFO] [stdout] --> src/main.rs:3977:17 [INFO] [stdout] | [INFO] [stdout] 3977 | let mut score: i32 = 0; [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `in_check` is never read [INFO] [stdout] --> src/main.rs:4019:17 [INFO] [stdout] | [INFO] [stdout] 4019 | let mut in_check: bool = false; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `EMPTY_BOARD` is never used [INFO] [stdout] --> src/main.rs:126:8 [INFO] [stdout] | [INFO] [stdout] 126 | static EMPTY_BOARD: &str = "8/8/8/8/8/8/8/8 w - - "; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `TRICKY_POSITION` is never used [INFO] [stdout] --> src/main.rs:128:8 [INFO] [stdout] | [INFO] [stdout] 128 | static TRICKY_POSITION: &str = "r3k2r/p1ppqpb1/bn2pnp1/3PN3/1p2P3/2N2Q1p/PPPBBPPP/R3K2R w KQkq - 0 1 "; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `KILLER_POSITION` is never used [INFO] [stdout] --> src/main.rs:129:8 [INFO] [stdout] | [INFO] [stdout] 129 | static KILLER_POSITION: &str = "rnbqkb1r/pp1p1pPp/8/2p1pP2/1P1P4/3P3P/P1P1P3/RNBQKBNR w KQkq e6 0 1"; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `CMK_POSITION` is never used [INFO] [stdout] --> src/main.rs:130:8 [INFO] [stdout] | [INFO] [stdout] 130 | static CMK_POSITION: &str = "r2q1rk1/ppp2ppp/2n1bn2/2b1p3/3pP3/3P1NPP/PPP1NPB1/R1BQ1RK1 b - - 0 9 "; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `MATERIAL_SCORE` is never used [INFO] [stdout] --> src/main.rs:133:8 [INFO] [stdout] | [INFO] [stdout] 133 | static MATERIAL_SCORE: [i32; 12] = [ [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `PAWN_SCORE` is never used [INFO] [stdout] --> src/main.rs:150:8 [INFO] [stdout] | [INFO] [stdout] 150 | static PAWN_SCORE: [i32; 64] = [ [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `KNIGHT_SCORE` is never used [INFO] [stdout] --> src/main.rs:162:8 [INFO] [stdout] | [INFO] [stdout] 162 | static KNIGHT_SCORE: [i32; 64] = [ [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `BISHOP_SCORE` is never used [INFO] [stdout] --> src/main.rs:174:9 [INFO] [stdout] | [INFO] [stdout] 174 | static BISHOP_SCORE: [i32; 64] = [ [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `ROOK_SCORE` is never used [INFO] [stdout] --> src/main.rs:186:9 [INFO] [stdout] | [INFO] [stdout] 186 | static ROOK_SCORE: [i32; 64] = [ [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `KING_SCORE` is never used [INFO] [stdout] --> src/main.rs:198:9 [INFO] [stdout] | [INFO] [stdout] 198 | static KING_SCORE: [i32; 64] = [ [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `DOUBLE_PAWN_PENALTY` is never used [INFO] [stdout] --> src/main.rs:309:8 [INFO] [stdout] | [INFO] [stdout] 309 | static DOUBLE_PAWN_PENALTY: i32 = -10; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 3.49s [INFO] [stdout] warning: static `ISOLATED_PAWN_PENALTY` is never used [INFO] [stdout] --> src/main.rs:314:8 [INFO] [stdout] | [INFO] [stdout] 314 | static ISOLATED_PAWN_PENALTY: i32 = -10; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `generate_magic_number` is never used [INFO] [stdout] --> src/main.rs:1088:4 [INFO] [stdout] | [INFO] [stdout] 1088 | fn generate_magic_number() -> u64 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `find_magic_number` is never used [INFO] [stdout] --> src/main.rs:1093:4 [INFO] [stdout] | [INFO] [stdout] 1093 | fn find_magic_number(square: u64, relevant_bits: u32, bishop_flag: u8) -> u64 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `init_magic_numbers` is never used [INFO] [stdout] --> src/main.rs:1166:4 [INFO] [stdout] | [INFO] [stdout] 1166 | fn init_magic_numbers() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `print_bitboard` is never used [INFO] [stdout] --> src/main.rs:1475:4 [INFO] [stdout] | [INFO] [stdout] 1475 | fn print_bitboard(board: BitBoard) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `print_attacked_squares` is never used [INFO] [stdout] --> src/main.rs:2224:4 [INFO] [stdout] | [INFO] [stdout] 2224 | fn print_attacked_squares(side: u64){ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `perft_driver` is never used [INFO] [stdout] --> src/main.rs:3027:4 [INFO] [stdout] | [INFO] [stdout] 3027 | fn perft_driver(depth: u64, root: bool) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `sort_moves` is never used [INFO] [stdout] --> src/main.rs:3872:4 [INFO] [stdout] | [INFO] [stdout] 3872 | fn sort_moves(move_list: &mut Vec) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 61 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Running `cargo check` to verify 2024 [INFO] [stderr] Checking cheng v0.1.0 (/tmp/fixit) [INFO] [stdout] warning: unused import: `libc::FILE` [INFO] [stdout] --> src/main.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use libc::FILE; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `libc::FILE` [INFO] [stdout] --> src/main.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use libc::FILE; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0796]: creating a shared reference to a mutable static [INFO] [stdout] --> src/main.rs:801:42 [INFO] [stdout] | [INFO] [stdout] 801 | if let Some(hash_entry) = ht.get(&HASH_KEY) { [INFO] [stdout] | ^^^^^^^^^ shared reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: this shared reference has lifetime `'static`, but if the static ever gets mutated, or a mutable reference is created, then any further use of this shared reference is Undefined Behavior [INFO] [stdout] help: use `addr_of!` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 801 | if let Some(hash_entry) = ht.get(addr_of!(HASH_KEY)) { [INFO] [stdout] | ~~~~~~~~~ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0796]: creating a shared reference to a mutable static [INFO] [stdout] --> src/main.rs:801:42 [INFO] [stdout] | [INFO] [stdout] 801 | if let Some(hash_entry) = ht.get(&HASH_KEY) { [INFO] [stdout] | ^^^^^^^^^ shared reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: this shared reference has lifetime `'static`, but if the static ever gets mutated, or a mutable reference is created, then any further use of this shared reference is Undefined Behavior [INFO] [stdout] help: use `addr_of!` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 801 | if let Some(hash_entry) = ht.get(addr_of!(HASH_KEY)) { [INFO] [stdout] | ~~~~~~~~~ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `bitboard` is never read [INFO] [stdout] --> src/main.rs:744:17 [INFO] [stdout] | [INFO] [stdout] 744 | let mut bitboard: u64 = 0; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] = note: `#[warn(unused_assignments)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `bitboard` is never read [INFO] [stdout] --> src/main.rs:744:17 [INFO] [stdout] | [INFO] [stdout] 744 | let mut bitboard: u64 = 0; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] = note: `#[warn(unused_assignments)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `queen_attacks` is never read [INFO] [stdout] --> src/main.rs:2124:13 [INFO] [stdout] | [INFO] [stdout] 2124 | let mut queen_attacks: BitBoard = 0; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `queen_attacks` is never read [INFO] [stdout] --> src/main.rs:2124:13 [INFO] [stdout] | [INFO] [stdout] 2124 | let mut queen_attacks: BitBoard = 0; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:2122:35 [INFO] [stdout] | [INFO] [stdout] 2122 | fn get_queen_attacks(square: u64, mut occupancy: u64)-> BitBoard { [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: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:2122:35 [INFO] [stdout] | [INFO] [stdout] 2122 | fn get_queen_attacks(square: u64, mut occupancy: u64)-> BitBoard { [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: value assigned to `source_square` is never read [INFO] [stdout] --> src/main.rs:2252:13 [INFO] [stdout] | [INFO] [stdout] 2252 | let mut source_square = BoardSquare::no_sq as u64; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `target_square` is never read [INFO] [stdout] --> src/main.rs:2253:13 [INFO] [stdout] | [INFO] [stdout] 2253 | let mut target_square = BoardSquare::no_sq as u64; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `source_square` is never read [INFO] [stdout] --> src/main.rs:2252:13 [INFO] [stdout] | [INFO] [stdout] 2252 | let mut source_square = BoardSquare::no_sq as u64; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `bitboard` is never read [INFO] [stdout] --> src/main.rs:2256:13 [INFO] [stdout] | [INFO] [stdout] 2256 | let mut bitboard: BitBoard = 0; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `attacks` is never read [INFO] [stdout] --> src/main.rs:2257:13 [INFO] [stdout] | [INFO] [stdout] 2257 | let mut attacks = 0; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `target_square` is never read [INFO] [stdout] --> src/main.rs:2253:13 [INFO] [stdout] | [INFO] [stdout] 2253 | let mut target_square = BoardSquare::no_sq as u64; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `bitboard` is never read [INFO] [stdout] --> src/main.rs:2256:13 [INFO] [stdout] | [INFO] [stdout] 2256 | let mut bitboard: BitBoard = 0; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `attacks` is never read [INFO] [stdout] --> src/main.rs:2257:13 [INFO] [stdout] | [INFO] [stdout] 2257 | let mut attacks = 0; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `start_piece` is never read [INFO] [stdout] --> src/main.rs:2837:25 [INFO] [stdout] | [INFO] [stdout] 2837 | let mut start_piece:usize = 0; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `start_piece` is never read [INFO] [stdout] --> src/main.rs:2837:25 [INFO] [stdout] | [INFO] [stdout] 2837 | let mut start_piece:usize = 0; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `end_piece` is never read [INFO] [stdout] --> src/main.rs:2838:25 [INFO] [stdout] | [INFO] [stdout] 2838 | let mut end_piece:usize = 0; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `end_piece` is never read [INFO] [stdout] --> src/main.rs:2838:25 [INFO] [stdout] | [INFO] [stdout] 2838 | let mut end_piece:usize = 0; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `cnt` is never read [INFO] [stdout] --> src/main.rs:3028:13 [INFO] [stdout] | [INFO] [stdout] 3028 | let mut cnt = 0; [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `score` is never read [INFO] [stdout] --> src/main.rs:3380:13 [INFO] [stdout] | [INFO] [stdout] 3380 | let mut score: i32 = 0; [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `start_piece` is never read [INFO] [stdout] --> src/main.rs:3502:21 [INFO] [stdout] | [INFO] [stdout] 3502 | let mut start_piece = 0; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `cnt` is never read [INFO] [stdout] --> src/main.rs:3028:13 [INFO] [stdout] | [INFO] [stdout] 3028 | let mut cnt = 0; [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `end_piece` is never read [INFO] [stdout] --> src/main.rs:3503:21 [INFO] [stdout] | [INFO] [stdout] 3503 | let mut end_piece = 0; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `score` is never read [INFO] [stdout] --> src/main.rs:3380:13 [INFO] [stdout] | [INFO] [stdout] 3380 | let mut score: i32 = 0; [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `bitboard` is never read [INFO] [stdout] --> src/main.rs:3623:13 [INFO] [stdout] | [INFO] [stdout] 3623 | let mut bitboard: u64 = 0; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `start_piece` is never read [INFO] [stdout] --> src/main.rs:3502:21 [INFO] [stdout] | [INFO] [stdout] 3502 | let mut start_piece = 0; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `square` is never read [INFO] [stdout] --> src/main.rs:3627:13 [INFO] [stdout] | [INFO] [stdout] 3627 | let mut square = 0; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `end_piece` is never read [INFO] [stdout] --> src/main.rs:3503:21 [INFO] [stdout] | [INFO] [stdout] 3503 | let mut end_piece = 0; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `double_pawns` is never read [INFO] [stdout] --> src/main.rs:3629:13 [INFO] [stdout] | [INFO] [stdout] 3629 | let mut double_pawns: i32 = 0; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `bitboard` is never read [INFO] [stdout] --> src/main.rs:3623:13 [INFO] [stdout] | [INFO] [stdout] 3623 | let mut bitboard: u64 = 0; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `square` is never read [INFO] [stdout] --> src/main.rs:3627:13 [INFO] [stdout] | [INFO] [stdout] 3627 | let mut square = 0; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `double_pawns` is never read [INFO] [stdout] --> src/main.rs:3629:13 [INFO] [stdout] | [INFO] [stdout] 3629 | let mut double_pawns: i32 = 0; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `score` is never read [INFO] [stdout] --> src/main.rs:3977:17 [INFO] [stdout] | [INFO] [stdout] 3977 | let mut score: i32 = 0; [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `in_check` is never read [INFO] [stdout] --> src/main.rs:4019:17 [INFO] [stdout] | [INFO] [stdout] 4019 | let mut in_check: bool = false; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `score` is never read [INFO] [stdout] --> src/main.rs:3977:17 [INFO] [stdout] | [INFO] [stdout] 3977 | let mut score: i32 = 0; [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `in_check` is never read [INFO] [stdout] --> src/main.rs:4019:17 [INFO] [stdout] | [INFO] [stdout] 4019 | let mut in_check: bool = false; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 1 previous error; 19 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0796`. [INFO] [stdout] [INFO] [stdout] error: aborting due to 1 previous error; 19 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0796`. [INFO] [stdout] [INFO] [stderr] error: could not compile `cheng` (bin "cheng") due to 2 previous errors; 19 warnings emitted [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stderr] error: could not compile `cheng` (bin "cheng" test) due to 2 previous errors; 19 warnings emitted [INFO] [stderr] error: failed to check after updating to 2024 [INFO] [stderr] [INFO] [stderr] Caused by: [INFO] [stderr] process didn't exit successfully: `cargo check --frozen --all --all-targets --message-format=json` (exit status: 101) [INFO] running `Command { std: "docker" "inspect" "210bb41b1f82d2f3c4133131e511894d135b96514571460e69d81572715f39b3", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "210bb41b1f82d2f3c4133131e511894d135b96514571460e69d81572715f39b3", kill_on_drop: false }` [INFO] [stdout] 210bb41b1f82d2f3c4133131e511894d135b96514571460e69d81572715f39b3