[INFO] cloning repository https://github.com/santinzz/better-engine
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/santinzz/better-engine" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fsantinzz%2Fbetter-engine", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fsantinzz%2Fbetter-engine'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 1fcd1693d78a0a0d59f017ed792875b0a81f8e7e
[INFO] testing santinzz/better-engine against master#0d162b25edd5bf0dba9a22e83b614f1113e90474 for pr-150681
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fsantinzz%2Fbetter-engine" "/workspace/builds/worker-6-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/santinzz/better-engine
[INFO] finished tweaking git repo https://github.com/santinzz/better-engine
[INFO] tweaked toml for git repo https://github.com/santinzz/better-engine written to /workspace/builds/worker-6-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/santinzz/better-engine on toolchain 0d162b25edd5bf0dba9a22e83b614f1113e90474
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+0d162b25edd5bf0dba9a22e83b614f1113e90474" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/santinzz/better-engine 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" "+0d162b25edd5bf0dba9a22e83b614f1113e90474" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/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:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+0d162b25edd5bf0dba9a22e83b614f1113e90474" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] e2f42141071139b3a416d495fd6d5b9fe2a724319a0f437926d5db9cf345bad4
[INFO] running `Command { std: "docker" "start" "-a" "e2f42141071139b3a416d495fd6d5b9fe2a724319a0f437926d5db9cf345bad4", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "e2f42141071139b3a416d495fd6d5b9fe2a724319a0f437926d5db9cf345bad4", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "e2f42141071139b3a416d495fd6d5b9fe2a724319a0f437926d5db9cf345bad4", kill_on_drop: false }`
[INFO] [stdout] e2f42141071139b3a416d495fd6d5b9fe2a724319a0f437926d5db9cf345bad4
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/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:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+0d162b25edd5bf0dba9a22e83b614f1113e90474" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 536e77812552a47dd9b4404e745908f3a73e6deba225886e159093839079cc43
[INFO] running `Command { std: "docker" "start" "-a" "536e77812552a47dd9b4404e745908f3a73e6deba225886e159093839079cc43", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.174
[INFO] [stderr]    Compiling zerocopy v0.8.26
[INFO] [stderr]    Compiling getrandom v0.3.3
[INFO] [stderr]    Compiling cfg-if v1.0.1
[INFO] [stderr]    Compiling rand_core v0.9.3
[INFO] [stderr]    Compiling ppv-lite86 v0.2.21
[INFO] [stderr]    Compiling rand_chacha v0.9.0
[INFO] [stderr]    Compiling rand v0.9.1
[INFO] [stderr]    Compiling better-engine v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `std::cell::RefCell`
[INFO] [stdout]  --> src/moves.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::cell::RefCell;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `File` and `KING_MOVES`
[INFO] [stdout]  --> src/moves.rs:7:9
[INFO] [stdout]   |
[INFO] [stdout] 7 |         File, Rank, Square, B_KINGSIDE_RIGHTS, B_QUEENSIDE_RIGHTS, DIRECTION_OFFSETS, KING_ATTACKS,
[INFO] [stdout]   |         ^^^^
[INFO] [stdout] 8 |         KING_MOVES, KNIGHT_MOVES, PAWN_ATTACKS, W_KINGSIDE_RIGHTS, W_QUEENSIDE_RIGHTS,
[INFO] [stdout]   |         ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BISHOP_ATTACKS`, `DIRECTION_OFFSETS`, `KING_MOVES`, and `ROOK_ATTACKS`
[INFO] [stdout]  --> src/utils.rs:5:29
[INFO] [stdout]   |
[INFO] [stdout] 5 |         File, Rank, Square, BISHOP_ATTACKS, DIRECTION_OFFSETS, KING_ATTACKS, KING_MOVES, KNIGHT_ATTACKS, PAWN_ATTACKS, ROOK_ATTACKS
[INFO] [stdout]   |                             ^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^                ^^^^^^^^^^                                ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `board::Piece` and `consts::Square`
[INFO] [stdout]  --> src/magic.rs:1:13
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::{board::Piece, consts::Square};
[INFO] [stdout]   |             ^^^^^^^^^^^^  ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `bitboard::BitBoard`
[INFO] [stdout]   --> src/precomputed.rs:66:13
[INFO] [stdout]    |
[INFO] [stdout] 66 | use crate::{bitboard::BitBoard, consts::Square, magics::MagicEntry};
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `bitboard::BitBoard`, `game_result::GameResult`, and `moves::Flags`
[INFO] [stdout]  --> src/perft.rs:1:13
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::{bitboard::BitBoard, board::Board, game_result::GameResult, moves::Flags};
[INFO] [stdout]   |             ^^^^^^^^^^^^^^^^^^                ^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::time::Instant`
[INFO] [stdout]  --> src/magic_gen.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::time::Instant;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::*`
[INFO] [stdout]  --> src/bitboard.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use super::*;
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `__bitboard as bitboard`
[INFO] [stdout]    --> src/bitboard.rs:148:9
[INFO] [stdout]     |
[INFO] [stdout] 148 | pub use __bitboard as bitboard;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fs::File`
[INFO] [stdout]  --> src/magic_index_gen.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::fs::File;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io::BufWriter`
[INFO] [stdout]  --> src/magic_index_gen.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::io::BufWriter;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::path::PathBuf`
[INFO] [stdout]  --> src/magic_index_gen.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::path::PathBuf;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::board::Board`
[INFO] [stdout]   --> src/main.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | use crate::board::Board;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `our_occupied`
[INFO] [stdout]   --> src/moves.rs:96:18
[INFO] [stdout]    |
[INFO] [stdout] 96 |             let (our_occupied, their_occupied) = match pawn_color {
[INFO] [stdout]    |                  ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_our_occupied`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `opp`
[INFO] [stdout]    --> src/moves.rs:298:17
[INFO] [stdout]     |
[INFO] [stdout] 298 |             let opp = self.turn.opposite();
[INFO] [stdout]     |                 ^^^ help: if this is intentional, prefix it with an underscore: `_opp`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/moves.rs:515:13
[INFO] [stdout]     |
[INFO] [stdout] 515 |         let mut piece_bitboard = match piece {
[INFO] [stdout]     |             ----^^^^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Color` is never used
[INFO] [stdout]   --> src/board.rs:11:10
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub enum Color {
[INFO] [stdout]    |          ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `opposite` is never used
[INFO] [stdout]   --> src/board.rs:17:12
[INFO] [stdout]    |
[INFO] [stdout] 16 | impl Color {
[INFO] [stdout]    | ---------- method in this implementation
[INFO] [stdout] 17 |     pub fn opposite(self) -> Color {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Piece` is never used
[INFO] [stdout]   --> src/board.rs:26:10
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub enum Piece {
[INFO] [stdout]    |          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `sliding_moves` and `name` are never used
[INFO] [stdout]   --> src/board.rs:36:12
[INFO] [stdout]    |
[INFO] [stdout] 35 | impl Piece {
[INFO] [stdout]    | ---------- methods in this implementation
[INFO] [stdout] 36 |     pub fn sliding_moves(&self, square: Square, blockers: BitBoard) -> BitBoard {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 58 |     pub fn name(&self) -> &'static str {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Undo` is never constructed
[INFO] [stdout]   --> src/board.rs:71:12
[INFO] [stdout]    |
[INFO] [stdout] 71 | pub struct Undo {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Board` is never constructed
[INFO] [stdout]   --> src/board.rs:80:12
[INFO] [stdout]    |
[INFO] [stdout] 80 | pub struct Board {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/board.rs:113:12
[INFO] [stdout]     |
[INFO] [stdout] 112 | impl Board {
[INFO] [stdout]     | ---------- associated items in this implementation
[INFO] [stdout] 113 |     pub fn default() -> Board {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 164 |     pub fn make_move(&mut self, mv: &Move) {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 394 |     pub fn unmake_move(&mut self, mv: &Move) {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 551 |     pub fn add_piece(&mut self, square: Square, piece: Piece, color: Color) {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 585 |     pub fn delete_piece(&mut self, square: Square) {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 624 |     pub fn piece_on_square(&self, square: Square) -> Option<(Piece, Color)> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 664 |     pub fn print(&self) {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Flags` is never used
[INFO] [stdout]   --> src/moves.rs:15:10
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub enum Flags {
[INFO] [stdout]    |          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Move` is never constructed
[INFO] [stdout]   --> src/moves.rs:26:12
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub struct Move {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> src/moves.rs:36:12
[INFO] [stdout]     |
[INFO] [stdout]  35 | impl Board {
[INFO] [stdout]     | ---------- methods in this implementation
[INFO] [stdout]  36 |     pub fn generate_legal_moves_into(&self, moves: &mut Vec<Move>) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  53 |     pub fn generate_legal_moves(&self) -> Vec<Move> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  78 |     fn generate_pawn_moves(&self, moves: &mut Vec<Move>) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 210 |     pub fn generate_knight_moves(&self, moves: &mut Vec<Move>) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 264 |     pub fn generate_king_moves(&self, moves: &mut Vec<Move>) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 391 |     pub fn generate_rook_moves(&self, moves: &mut Vec<Move>) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 432 |     pub fn generate_bishop_moves(&self, moves: &mut Vec<Move>) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 473 |     pub fn generate_queen_moves(&self, moves: &mut Vec<Move>) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 514 |     pub fn generate_sliding_moves(&self, moves: &mut Vec<Move>, piece: Piece) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `KNIGHT_MOVES` is never used
[INFO] [stdout]  --> src/consts.rs:5:11
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub const KNIGHT_MOVES: [i8; 8] = [-17, -15, -10, -6, 6, 10, 15, 17];
[INFO] [stdout]   |           ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `KING_MOVES` is never used
[INFO] [stdout]  --> src/consts.rs:6:11
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub const KING_MOVES: [i8; 8] = [-9, -8, -7, -1, 1, 7, 8, 9];
[INFO] [stdout]   |           ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `NUM`, `ALL`, `try_index`, and `index` are never used
[INFO] [stdout]   --> src/consts.rs:20:23
[INFO] [stdout]    |
[INFO] [stdout] 19 |           impl $name {
[INFO] [stdout]    |           ---------- associated items in this implementation
[INFO] [stdout] 20 |               pub const NUM: usize = [$(Self::$variant),*].len();
[INFO] [stdout]    |                         ^^^
[INFO] [stdout] 21 |               pub const ALL: [Self; Self::NUM] = [$(Self::$variant),*];
[INFO] [stdout]    |                         ^^^
[INFO] [stdout] 22 |
[INFO] [stdout] 23 |               pub fn try_index(index: usize) -> Option<Self> {
[INFO] [stdout]    |                      ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 33 |               pub fn index(index: usize) -> Self {
[INFO] [stdout]    |                      ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 40 | / simple_enum! {
[INFO] [stdout] 41 | |     pub enum File {
[INFO] [stdout] 42 | |         A,
[INFO] [stdout] 43 | |         B,
[INFO] [stdout] ...  |
[INFO] [stdout] 73 | | }
[INFO] [stdout]    | |_- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `simple_enum` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `from_index`, `new`, `file`, `rank`, `bb`, and `try_offset` are never used
[INFO] [stdout]   --> src/consts.rs:76:12
[INFO] [stdout]    |
[INFO] [stdout] 75 | impl Square {
[INFO] [stdout]    | ----------- associated items in this implementation
[INFO] [stdout] 76 |     pub fn from_index(index: u8) -> Square {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 82 |     pub fn new(file: File, rank: Rank) -> Option<Square> {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 86 |     pub fn file(self) -> File {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 90 |     pub fn rank(self) -> Rank {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 94 |     pub fn bb(self) -> BitBoard {
[INFO] [stdout]    |            ^^
[INFO] [stdout] ...
[INFO] [stdout] 98 |     pub fn try_offset(self, file_offset: i8, rank_offset: i8) -> Option<Square> {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Magic` is never constructed
[INFO] [stdout]    --> src/consts.rs:106:12
[INFO] [stdout]     |
[INFO] [stdout] 106 | pub struct Magic {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DIRECTION_OFFSETS` is never used
[INFO] [stdout]    --> src/consts.rs:113:11
[INFO] [stdout]     |
[INFO] [stdout] 113 | pub const DIRECTION_OFFSETS: [i32; 8] = [8, -8, -1, 1, 7, -7, 9, -9];
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ROOK_SHIFTS` is never used
[INFO] [stdout]    --> src/consts.rs:123:11
[INFO] [stdout]     |
[INFO] [stdout] 123 | pub const ROOK_SHIFTS: [u8; 64] = [
[INFO] [stdout]     |           ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BISHOP_SHIFTS` is never used
[INFO] [stdout]    --> src/consts.rs:136:11
[INFO] [stdout]     |
[INFO] [stdout] 136 | pub const BISHOP_SHIFTS: [u8; 64] = [
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `ROOK_MASKS` is never used
[INFO] [stdout]    --> src/consts.rs:149:12
[INFO] [stdout]     |
[INFO] [stdout] 149 | pub static ROOK_MASKS: OnceLock<[u64; 64]> = OnceLock::new();
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `BISHOP_MASKS` is never used
[INFO] [stdout]    --> src/consts.rs:151:12
[INFO] [stdout]     |
[INFO] [stdout] 151 | pub static BISHOP_MASKS: OnceLock<[u64; 64]> = OnceLock::new();
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `ROOK_OFFSETS` is never used
[INFO] [stdout]    --> src/consts.rs:164:12
[INFO] [stdout]     |
[INFO] [stdout] 164 | pub static ROOK_OFFSETS: OnceLock<[usize; 64]> = OnceLock::new();
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `BISHOP_OFFSETS` is never used
[INFO] [stdout]    --> src/consts.rs:165:12
[INFO] [stdout]     |
[INFO] [stdout] 165 | pub static BISHOP_OFFSETS: OnceLock<[usize; 64]> = OnceLock::new();
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `KNIGHT_ATTACKS` is never used
[INFO] [stdout]    --> src/consts.rs:167:11
[INFO] [stdout]     |
[INFO] [stdout] 167 | pub const KNIGHT_ATTACKS: [u64; 64] = [
[INFO] [stdout]     |           ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `init_pawn_attack_masks` is never used
[INFO] [stdout]    --> src/consts.rs:234:10
[INFO] [stdout]     |
[INFO] [stdout] 234 | const fn init_pawn_attack_masks() -> [[u64; 64]; 2] {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PAWN_ATTACKS` is never used
[INFO] [stdout]    --> src/consts.rs:268:11
[INFO] [stdout]     |
[INFO] [stdout] 268 | pub const PAWN_ATTACKS: [[u64; 64]; 2] = init_pawn_attack_masks();
[INFO] [stdout]     |           ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `init_sliding_attack_masks` is never used
[INFO] [stdout]    --> src/consts.rs:270:10
[INFO] [stdout]     |
[INFO] [stdout] 270 | const fn init_sliding_attack_masks() -> [[u64; 64]; 2] {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SLIDING_ATTACKS` is never used
[INFO] [stdout]    --> src/consts.rs:350:7
[INFO] [stdout]     |
[INFO] [stdout] 350 | const SLIDING_ATTACKS: [[u64; 64]; 2] = init_sliding_attack_masks();
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ROOK_ATTACKS` is never used
[INFO] [stdout]    --> src/consts.rs:352:11
[INFO] [stdout]     |
[INFO] [stdout] 352 | pub const ROOK_ATTACKS: [u64; 64] = SLIDING_ATTACKS[0];
[INFO] [stdout]     |           ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BISHOP_ATTACKS` is never used
[INFO] [stdout]    --> src/consts.rs:353:11
[INFO] [stdout]     |
[INFO] [stdout] 353 | pub const BISHOP_ATTACKS: [u64; 64] = SLIDING_ATTACKS[1];
[INFO] [stdout]     |           ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NORTH` is never used
[INFO] [stdout]    --> src/consts.rs:355:7
[INFO] [stdout]     |
[INFO] [stdout] 355 | const NORTH: usize = 0;
[INFO] [stdout]     |       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SOUTH` is never used
[INFO] [stdout]    --> src/consts.rs:356:7
[INFO] [stdout]     |
[INFO] [stdout] 356 | const SOUTH: usize = 1;
[INFO] [stdout]     |       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `EAST` is never used
[INFO] [stdout]    --> src/consts.rs:357:7
[INFO] [stdout]     |
[INFO] [stdout] 357 | const EAST: usize = 2;
[INFO] [stdout]     |       ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `WEST` is never used
[INFO] [stdout]    --> src/consts.rs:358:7
[INFO] [stdout]     |
[INFO] [stdout] 358 | const WEST: usize = 3;
[INFO] [stdout]     |       ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NORTHEAST` is never used
[INFO] [stdout]    --> src/consts.rs:359:7
[INFO] [stdout]     |
[INFO] [stdout] 359 | const NORTHEAST: usize = 4;
[INFO] [stdout]     |       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SOUTHWEST` is never used
[INFO] [stdout]    --> src/consts.rs:360:7
[INFO] [stdout]     |
[INFO] [stdout] 360 | const SOUTHWEST: usize = 5;
[INFO] [stdout]     |       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NORTHWEST` is never used
[INFO] [stdout]    --> src/consts.rs:361:7
[INFO] [stdout]     |
[INFO] [stdout] 361 | const NORTHWEST: usize = 6;
[INFO] [stdout]     |       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SOUTHEAST` is never used
[INFO] [stdout]    --> src/consts.rs:362:7
[INFO] [stdout]     |
[INFO] [stdout] 362 | const SOUTHEAST: usize = 7;
[INFO] [stdout]     |       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `W_KINGSIDE_RIGHTS` is never used
[INFO] [stdout]    --> src/consts.rs:365:11
[INFO] [stdout]     |
[INFO] [stdout] 365 | pub const W_KINGSIDE_RIGHTS: u8 = 0b0001;
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `W_QUEENSIDE_RIGHTS` is never used
[INFO] [stdout]    --> src/consts.rs:366:11
[INFO] [stdout]     |
[INFO] [stdout] 366 | pub const W_QUEENSIDE_RIGHTS: u8 = 0b0010;
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `B_KINGSIDE_RIGHTS` is never used
[INFO] [stdout]    --> src/consts.rs:367:11
[INFO] [stdout]     |
[INFO] [stdout] 367 | pub const B_KINGSIDE_RIGHTS: u8 = 0b0100;
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `B_QUEENSIDE_RIGHTS` is never used
[INFO] [stdout]    --> src/consts.rs:368:11
[INFO] [stdout]     |
[INFO] [stdout] 368 | pub const B_QUEENSIDE_RIGHTS: u8 = 0b1000;
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `KING_ATTACKS` is never used
[INFO] [stdout]    --> src/consts.rs:370:11
[INFO] [stdout]     |
[INFO] [stdout] 370 | pub const KING_ATTACKS: [BitBoard; 64] = generate_king_attacks();
[INFO] [stdout]     |           ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `generate_king_attacks` is never used
[INFO] [stdout]    --> src/consts.rs:372:10
[INFO] [stdout]     |
[INFO] [stdout] 372 | const fn generate_king_attacks() -> [BitBoard; 64] {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `from_fen`, `is_square_attacked`, `is_king_in_check`, and `is_insufficient_material` are never used
[INFO] [stdout]    --> src/utils.rs:11:12
[INFO] [stdout]     |
[INFO] [stdout]  10 | impl Board {
[INFO] [stdout]     | ---------- associated items in this implementation
[INFO] [stdout]  11 |     pub fn from_fen(fen: &str) -> Result<Board, &'static str> {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 159 |     pub fn is_square_attacked(&self, sq: Square, attacking_color: Color) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 206 |     pub fn is_king_in_check(&self, attacking_color: Color) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 228 |     pub fn is_insufficient_material(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `init_sliding_attack_masks` is never used
[INFO] [stdout]  --> src/magic.rs:3:10
[INFO] [stdout]   |
[INFO] [stdout] 3 | const fn init_sliding_attack_masks() -> [[u64; 64]; 2] {
[INFO] [stdout]   |          ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SLIDING_ATTACK_MASKS` is never used
[INFO] [stdout]   --> src/magic.rs:82:7
[INFO] [stdout]    |
[INFO] [stdout] 82 | const SLIDING_ATTACK_MASKS: [[u64; 64]; 2] = init_sliding_attack_masks();
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ROOK_ATTACK_MASKS` is never used
[INFO] [stdout]   --> src/magic.rs:84:11
[INFO] [stdout]    |
[INFO] [stdout] 84 | pub const ROOK_ATTACK_MASKS: [u64; 64] = SLIDING_ATTACK_MASKS[0];
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BISHOP_ATTACK_MASKS` is never used
[INFO] [stdout]   --> src/magic.rs:85:11
[INFO] [stdout]    |
[INFO] [stdout] 85 | pub const BISHOP_ATTACK_MASKS: [u64; 64] = SLIDING_ATTACK_MASKS[1];
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NumSquaresToTheEdge` is never used
[INFO] [stdout]  --> src/precomputed.rs:1:11
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub const NumSquaresToTheEdge: [[i32; 8]; 64] = [[7, 0, 0, 7, 0, 0, 7, 0], 
[INFO] [stdout]   |           ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ROOK_MAGICS` is never used
[INFO] [stdout]   --> src/precomputed.rs:69:11
[INFO] [stdout]    |
[INFO] [stdout] 69 | pub const ROOK_MAGICS: &[MagicEntry; Square::NUM] = &[MagicEntry { mask: 282578800148862, magic: 36029348389584984, shift: 52, offse...
[INFO] [stdout]    |           ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BISHOP_MAGICS` is never used
[INFO] [stdout]   --> src/precomputed.rs:71:11
[INFO] [stdout]    |
[INFO] [stdout] 71 | pub const BISHOP_MAGICS: &[MagicEntry; Square::NUM] = &[MagicEntry { mask: 18049651735527936, magic: 76596383410326272, shift: 58, o...
[INFO] [stdout]    |           ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ROOK_MOVES` is never used
[INFO] [stdout]   --> src/precomputed.rs:74:11
[INFO] [stdout]    |
[INFO] [stdout] 74 | pub const ROOK_MOVES: &[u64; 102400] = &[72340172838076926,258,65794,65794,382,282578800148990,510,65794,66046,382,16843134,510,382,...
[INFO] [stdout]    |           ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BISHOP_MOVES` is never used
[INFO] [stdout]   --> src/precomputed.rs:76:11
[INFO] [stdout]    |
[INFO] [stdout] 76 | pub const BISHOP_MOVES: &[u64; 5248] = &[9241421688590303744,68853957120,134480384,134480384,35253226045952,68853957120,134480384,13...
[INFO] [stdout]    |           ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `perft` is never used
[INFO] [stdout]  --> src/perft.rs:9:8
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub fn perft(board: &Board, depth: u32) -> u64 {
[INFO] [stdout]   |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ROOK_DELTAS` is never used
[INFO] [stdout]  --> src/magic_gen.rs:6:11
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub const ROOK_DELTAS: [(i8, i8); 4] = [(1, 0), (0, -1), (-1, 0), (0, 1)];
[INFO] [stdout]   |           ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BISHOP_DELTAS` is never used
[INFO] [stdout]  --> src/magic_gen.rs:7:11
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub const BISHOP_DELTAS: [(i8, i8); 4] = [(1, 1), (1, -1), (-1, -1), (-1, 1)];
[INFO] [stdout]   |           ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MagicEntry` is never constructed
[INFO] [stdout]  --> src/magic_gen.rs:9:8
[INFO] [stdout]   |
[INFO] [stdout] 9 | struct MagicEntry {
[INFO] [stdout]   |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `relevant_blockers` is never used
[INFO] [stdout]   --> src/magic_gen.rs:15:4
[INFO] [stdout]    |
[INFO] [stdout] 15 | fn relevant_blockers(piece: Piece, square: Square) -> BitBoard {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `magic_index` is never used
[INFO] [stdout]   --> src/magic_gen.rs:36:4
[INFO] [stdout]    |
[INFO] [stdout] 36 | fn magic_index(entry: &MagicEntry, blockers: BitBoard) -> usize {
[INFO] [stdout]    |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `find_magic` is never used
[INFO] [stdout]   --> src/magic_gen.rs:45:4
[INFO] [stdout]    |
[INFO] [stdout] 45 | fn find_magic(
[INFO] [stdout]    |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TableFillError` is never constructed
[INFO] [stdout]   --> src/magic_gen.rs:62:8
[INFO] [stdout]    |
[INFO] [stdout] 62 | struct TableFillError;
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `try_make_table` is never used
[INFO] [stdout]   --> src/magic_gen.rs:64:4
[INFO] [stdout]    |
[INFO] [stdout] 64 | fn try_make_table(
[INFO] [stdout]    |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `find_and_print_all_magics` is never used
[INFO] [stdout]   --> src/magic_gen.rs:95:4
[INFO] [stdout]    |
[INFO] [stdout] 95 | fn find_and_print_all_magics(sliding_piece: Piece, rng: &mut ThreadRng) {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Rng` is never constructed
[INFO] [stdout]  --> src/rng.rs:2:12
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub struct Rng(u128);
[INFO] [stdout]   |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `next_u64` is never used
[INFO] [stdout]   --> src/rng.rs:11:12
[INFO] [stdout]    |
[INFO] [stdout] 10 | impl Rng {
[INFO] [stdout]    | -------- method in this implementation
[INFO] [stdout] 11 |     pub fn next_u64(&mut self) -> u64 {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BitBoard` is never constructed
[INFO] [stdout]  --> src/bitboard.rs:8:12
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub struct BitBoard(pub u64);
[INFO] [stdout]   |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `EMPTY`, `popcnt`, `has`, `is_empty`, `next_square`, and `count` are never used
[INFO] [stdout]   --> src/bitboard.rs:52:15
[INFO] [stdout]    |
[INFO] [stdout] 51 | impl BitBoard {
[INFO] [stdout]    | ------------- associated items in this implementation
[INFO] [stdout] 52 |     pub const EMPTY: Self = Self(0);
[INFO] [stdout]    |               ^^^^^
[INFO] [stdout] 53 |
[INFO] [stdout] 54 |     pub fn popcnt(self) -> u32 {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 58 |     pub fn has(self, square: Square) -> bool {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 62 |     pub fn is_empty(self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 66 |     pub fn next_square(self) -> Option<Square> {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 70 |     pub fn count(self) -> u32 {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BitBoardIter` is never constructed
[INFO] [stdout]   --> src/bitboard.rs:84:12
[INFO] [stdout]    |
[INFO] [stdout] 84 | pub struct BitBoardIter(BitBoard);
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MagicEntry` is never constructed
[INFO] [stdout]  --> src/magics.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub struct MagicEntry {
[INFO] [stdout]   |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ROOK_MAGICS` is never used
[INFO] [stdout]   --> src/magics.rs:10:11
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub const ROOK_MAGICS: &[MagicEntry; Square::NUM] = &[
[INFO] [stdout]    |           ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ROOK_TABLE_SIZE` is never used
[INFO] [stdout]   --> src/magics.rs:76:11
[INFO] [stdout]    |
[INFO] [stdout] 76 | pub const ROOK_TABLE_SIZE: usize = 102400;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BISHOP_MAGICS` is never used
[INFO] [stdout]   --> src/magics.rs:77:11
[INFO] [stdout]    |
[INFO] [stdout] 77 | pub const BISHOP_MAGICS: &[MagicEntry; Square::NUM] = &[
[INFO] [stdout]    |           ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BISHOP_TABLE_SIZE` is never used
[INFO] [stdout]    --> src/magics.rs:143:11
[INFO] [stdout]     |
[INFO] [stdout] 143 | pub const BISHOP_TABLE_SIZE: usize = 5248;
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `magic_index` is never used
[INFO] [stdout]   --> src/magic_index_gen.rs:10:4
[INFO] [stdout]    |
[INFO] [stdout] 10 | fn magic_index(entry: &MagicEntry, blockers: BitBoard) -> usize {
[INFO] [stdout]    |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `slider_moves` is never used
[INFO] [stdout]   --> src/magic_index_gen.rs:17:4
[INFO] [stdout]    |
[INFO] [stdout] 17 | fn slider_moves(slider_deltas: &[(i8, i8)], square: Square, blockers: BitBoard) -> BitBoard {
[INFO] [stdout]    |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `make_table` is never used
[INFO] [stdout]   --> src/magic_index_gen.rs:33:4
[INFO] [stdout]    |
[INFO] [stdout] 33 | fn make_table(
[INFO] [stdout]    |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `write_table` is never used
[INFO] [stdout]   --> src/magic_index_gen.rs:59:4
[INFO] [stdout]    |
[INFO] [stdout] 59 | fn write_table(name: &str, table: &[BitBoard], out: &mut impl Write) -> std::io::Result<()> {
[INFO] [stdout]    |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `write_magics` is never used
[INFO] [stdout]   --> src/magic_index_gen.rs:68:4
[INFO] [stdout]    |
[INFO] [stdout] 68 | fn write_magics(
[INFO] [stdout]    |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `magic_index` is never used
[INFO] [stdout]  --> src/sliding_pieces/mod.rs:3:4
[INFO] [stdout]   |
[INFO] [stdout] 3 | fn magic_index(entry: &MagicEntry, blockers: BitBoard) -> usize {
[INFO] [stdout]   |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_rook_moves` is never used
[INFO] [stdout]   --> src/sliding_pieces/mod.rs:10:8
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub fn get_rook_moves(square: Square, blockers: BitBoard) -> BitBoard {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_bishop_moves` is never used
[INFO] [stdout]   --> src/sliding_pieces/mod.rs:15:8
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub fn get_bishop_moves(square: Square, blockers: BitBoard) -> BitBoard {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_queen_moves` is never used
[INFO] [stdout]   --> src/sliding_pieces/mod.rs:20:8
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub fn get_queen_moves(square: Square, blockers: BitBoard) -> BitBoard {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `GameResult` is never used
[INFO] [stdout]  --> src/game_result.rs:4:10
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub enum GameResult {
[INFO] [stdout]   |          ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `game_result` is never used
[INFO] [stdout]   --> src/game_result.rs:14:10
[INFO] [stdout]    |
[INFO] [stdout] 13 | impl Board {
[INFO] [stdout]    | ---------- method in this implementation
[INFO] [stdout] 14 |   pub fn game_result(&self) -> GameResult {
[INFO] [stdout]    |          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NumSquaresToTheEdge` should have an upper case name
[INFO] [stdout]  --> src/precomputed.rs:1:11
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub const NumSquaresToTheEdge: [[i32; 8]; 64] = [[7, 0, 0, 7, 0, 0, 7, 0], 
[INFO] [stdout]   |           ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(non_upper_case_globals)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] help: convert the identifier to upper case
[INFO] [stdout]   |
[INFO] [stdout] 1 - pub const NumSquaresToTheEdge: [[i32; 8]; 64] = [[7, 0, 0, 7, 0, 0, 7, 0], 
[INFO] [stdout] 1 + pub const NUM_SQUARES_TO_THE_EDGE: [[i32; 8]; 64] = [[7, 0, 0, 7, 0, 0, 7, 0], 
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 5.65s
[INFO] running `Command { std: "docker" "inspect" "536e77812552a47dd9b4404e745908f3a73e6deba225886e159093839079cc43", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "536e77812552a47dd9b4404e745908f3a73e6deba225886e159093839079cc43", kill_on_drop: false }`
[INFO] [stdout] 536e77812552a47dd9b4404e745908f3a73e6deba225886e159093839079cc43
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/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:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+0d162b25edd5bf0dba9a22e83b614f1113e90474" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] bc1228d3e011f96e96cbe1976ceb43a16be633e49d1b87a5a02624e0ebed6a59
[INFO] running `Command { std: "docker" "start" "-a" "bc1228d3e011f96e96cbe1976ceb43a16be633e49d1b87a5a02624e0ebed6a59", kill_on_drop: false }`
[INFO] [stderr]    Compiling better-engine v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `std::cell::RefCell`
[INFO] [stdout]  --> src/moves.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::cell::RefCell;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `File` and `KING_MOVES`
[INFO] [stdout]  --> src/moves.rs:7:9
[INFO] [stdout]   |
[INFO] [stdout] 7 |         File, Rank, Square, B_KINGSIDE_RIGHTS, B_QUEENSIDE_RIGHTS, DIRECTION_OFFSETS, KING_ATTACKS,
[INFO] [stdout]   |         ^^^^
[INFO] [stdout] 8 |         KING_MOVES, KNIGHT_MOVES, PAWN_ATTACKS, W_KINGSIDE_RIGHTS, W_QUEENSIDE_RIGHTS,
[INFO] [stdout]   |         ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `D5`, `E4`, `E5`, and `F6`
[INFO] [stdout]    --> src/moves.rs:606:26
[INFO] [stdout]     |
[INFO] [stdout] 606 |         consts::Square::{D5, E4, E5, F6},
[INFO] [stdout]     |                          ^^  ^^  ^^  ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BISHOP_ATTACKS`, `DIRECTION_OFFSETS`, `KING_MOVES`, and `ROOK_ATTACKS`
[INFO] [stdout]  --> src/utils.rs:5:29
[INFO] [stdout]   |
[INFO] [stdout] 5 |         File, Rank, Square, BISHOP_ATTACKS, DIRECTION_OFFSETS, KING_ATTACKS, KING_MOVES, KNIGHT_ATTACKS, PAWN_ATTACKS, ROOK_ATTACKS
[INFO] [stdout]   |                             ^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^                ^^^^^^^^^^                                ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `board::Piece` and `consts::Square`
[INFO] [stdout]  --> src/magic.rs:1:13
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::{board::Piece, consts::Square};
[INFO] [stdout]   |             ^^^^^^^^^^^^  ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `bitboard::BitBoard`
[INFO] [stdout]   --> src/precomputed.rs:66:13
[INFO] [stdout]    |
[INFO] [stdout] 66 | use crate::{bitboard::BitBoard, consts::Square, magics::MagicEntry};
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `bitboard::BitBoard`, `game_result::GameResult`, and `moves::Flags`
[INFO] [stdout]  --> src/perft.rs:1:13
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::{bitboard::BitBoard, board::Board, game_result::GameResult, moves::Flags};
[INFO] [stdout]   |             ^^^^^^^^^^^^^^^^^^                ^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::time::Instant`
[INFO] [stdout]  --> src/magic_gen.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::time::Instant;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::*`
[INFO] [stdout]  --> src/bitboard.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use super::*;
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `__bitboard as bitboard`
[INFO] [stdout]    --> src/bitboard.rs:148:9
[INFO] [stdout]     |
[INFO] [stdout] 148 | pub use __bitboard as bitboard;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fs::File`
[INFO] [stdout]  --> src/magic_index_gen.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::fs::File;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io::BufWriter`
[INFO] [stdout]  --> src/magic_index_gen.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::io::BufWriter;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::path::PathBuf`
[INFO] [stdout]  --> src/magic_index_gen.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::path::PathBuf;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `env`
[INFO] [stdout]   --> src/magic_index_gen.rs:91:15
[INFO] [stdout]    |
[INFO] [stdout] 91 |     use std::{env, fs::File, io::BufWriter, path::PathBuf};
[INFO] [stdout]    |               ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pre_move_halfmove_clock`
[INFO] [stdout]    --> src/board.rs:771:13
[INFO] [stdout]     |
[INFO] [stdout] 771 |         let pre_move_halfmove_clock = board.halfmove_clock;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pre_move_halfmove_clock`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pre_move_fullmove_number`
[INFO] [stdout]    --> src/board.rs:772:13
[INFO] [stdout]     |
[INFO] [stdout] 772 |         let pre_move_fullmove_number = board.fullmove_number;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pre_move_fullmove_number`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `initial_white_pawns`
[INFO] [stdout]    --> src/board.rs:836:13
[INFO] [stdout]     |
[INFO] [stdout] 836 |         let initial_white_pawns = board.white_pawns;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_initial_white_pawns`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `initial_black_pawns`
[INFO] [stdout]    --> src/board.rs:837:13
[INFO] [stdout]     |
[INFO] [stdout] 837 |         let initial_black_pawns = board.black_pawns;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_initial_black_pawns`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `initial_turn`
[INFO] [stdout]    --> src/board.rs:838:13
[INFO] [stdout]     |
[INFO] [stdout] 838 |         let initial_turn = board.turn;
[INFO] [stdout]     |             ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_initial_turn`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `our_occupied`
[INFO] [stdout]   --> src/moves.rs:96:18
[INFO] [stdout]    |
[INFO] [stdout] 96 |             let (our_occupied, their_occupied) = match pawn_color {
[INFO] [stdout]    |                  ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_our_occupied`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `opp`
[INFO] [stdout]    --> src/moves.rs:298:17
[INFO] [stdout]     |
[INFO] [stdout] 298 |             let opp = self.turn.opposite();
[INFO] [stdout]     |                 ^^^ help: if this is intentional, prefix it with an underscore: `_opp`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/moves.rs:515:13
[INFO] [stdout]     |
[INFO] [stdout] 515 |         let mut piece_bitboard = match piece {
[INFO] [stdout]     |             ----^^^^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/moves.rs:701:13
[INFO] [stdout]     |
[INFO] [stdout] 701 |         let mut moves1: Vec<Move> = board1
[INFO] [stdout]     |             ----^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/moves.rs:731:13
[INFO] [stdout]     |
[INFO] [stdout] 731 |         let mut moves2: Vec<moves::Move> = board2
[INFO] [stdout]     |             ----^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/moves.rs:769:13
[INFO] [stdout]     |
[INFO] [stdout] 769 |         let mut moves1 = board1
[INFO] [stdout]     |             ----^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/moves.rs:835:13
[INFO] [stdout]     |
[INFO] [stdout] 835 |         let mut board2 =
[INFO] [stdout]     |             ----^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/perft.rs:32:13
[INFO] [stdout]    |
[INFO] [stdout] 32 |         let mut board = crate::Board::from_fen("rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR w KQkq - 0 1").unwrap();
[INFO] [stdout]    |             ----^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `sliding_moves` and `name` are never used
[INFO] [stdout]   --> src/board.rs:36:12
[INFO] [stdout]    |
[INFO] [stdout] 35 | impl Piece {
[INFO] [stdout]    | ---------- methods in this implementation
[INFO] [stdout] 36 |     pub fn sliding_moves(&self, square: Square, blockers: BitBoard) -> BitBoard {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 58 |     pub fn name(&self) -> &'static str {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `print` is never used
[INFO] [stdout]    --> src/board.rs:664:12
[INFO] [stdout]     |
[INFO] [stdout] 112 | impl Board {
[INFO] [stdout]     | ---------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 664 |     pub fn print(&self) {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `KING_MOVES` is never used
[INFO] [stdout]  --> src/consts.rs:6:11
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub const KING_MOVES: [i8; 8] = [-9, -8, -7, -1, 1, 7, 8, 9];
[INFO] [stdout]   |           ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Magic` is never constructed
[INFO] [stdout]    --> src/consts.rs:106:12
[INFO] [stdout]     |
[INFO] [stdout] 106 | pub struct Magic {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ROOK_SHIFTS` is never used
[INFO] [stdout]    --> src/consts.rs:123:11
[INFO] [stdout]     |
[INFO] [stdout] 123 | pub const ROOK_SHIFTS: [u8; 64] = [
[INFO] [stdout]     |           ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BISHOP_SHIFTS` is never used
[INFO] [stdout]    --> src/consts.rs:136:11
[INFO] [stdout]     |
[INFO] [stdout] 136 | pub const BISHOP_SHIFTS: [u8; 64] = [
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `ROOK_MASKS` is never used
[INFO] [stdout]    --> src/consts.rs:149:12
[INFO] [stdout]     |
[INFO] [stdout] 149 | pub static ROOK_MASKS: OnceLock<[u64; 64]> = OnceLock::new();
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `BISHOP_MASKS` is never used
[INFO] [stdout]    --> src/consts.rs:151:12
[INFO] [stdout]     |
[INFO] [stdout] 151 | pub static BISHOP_MASKS: OnceLock<[u64; 64]> = OnceLock::new();
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `ROOK_OFFSETS` is never used
[INFO] [stdout]    --> src/consts.rs:164:12
[INFO] [stdout]     |
[INFO] [stdout] 164 | pub static ROOK_OFFSETS: OnceLock<[usize; 64]> = OnceLock::new();
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `BISHOP_OFFSETS` is never used
[INFO] [stdout]    --> src/consts.rs:165:12
[INFO] [stdout]     |
[INFO] [stdout] 165 | pub static BISHOP_OFFSETS: OnceLock<[usize; 64]> = OnceLock::new();
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `init_sliding_attack_masks` is never used
[INFO] [stdout]    --> src/consts.rs:270:10
[INFO] [stdout]     |
[INFO] [stdout] 270 | const fn init_sliding_attack_masks() -> [[u64; 64]; 2] {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SLIDING_ATTACKS` is never used
[INFO] [stdout]    --> src/consts.rs:350:7
[INFO] [stdout]     |
[INFO] [stdout] 350 | const SLIDING_ATTACKS: [[u64; 64]; 2] = init_sliding_attack_masks();
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ROOK_ATTACKS` is never used
[INFO] [stdout]    --> src/consts.rs:352:11
[INFO] [stdout]     |
[INFO] [stdout] 352 | pub const ROOK_ATTACKS: [u64; 64] = SLIDING_ATTACKS[0];
[INFO] [stdout]     |           ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BISHOP_ATTACKS` is never used
[INFO] [stdout]    --> src/consts.rs:353:11
[INFO] [stdout]     |
[INFO] [stdout] 353 | pub const BISHOP_ATTACKS: [u64; 64] = SLIDING_ATTACKS[1];
[INFO] [stdout]     |           ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NORTH` is never used
[INFO] [stdout]    --> src/consts.rs:355:7
[INFO] [stdout]     |
[INFO] [stdout] 355 | const NORTH: usize = 0;
[INFO] [stdout]     |       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SOUTH` is never used
[INFO] [stdout]    --> src/consts.rs:356:7
[INFO] [stdout]     |
[INFO] [stdout] 356 | const SOUTH: usize = 1;
[INFO] [stdout]     |       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `EAST` is never used
[INFO] [stdout]    --> src/consts.rs:357:7
[INFO] [stdout]     |
[INFO] [stdout] 357 | const EAST: usize = 2;
[INFO] [stdout]     |       ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `WEST` is never used
[INFO] [stdout]    --> src/consts.rs:358:7
[INFO] [stdout]     |
[INFO] [stdout] 358 | const WEST: usize = 3;
[INFO] [stdout]     |       ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NORTHEAST` is never used
[INFO] [stdout]    --> src/consts.rs:359:7
[INFO] [stdout]     |
[INFO] [stdout] 359 | const NORTHEAST: usize = 4;
[INFO] [stdout]     |       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SOUTHWEST` is never used
[INFO] [stdout]    --> src/consts.rs:360:7
[INFO] [stdout]     |
[INFO] [stdout] 360 | const SOUTHWEST: usize = 5;
[INFO] [stdout]     |       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NORTHWEST` is never used
[INFO] [stdout]    --> src/consts.rs:361:7
[INFO] [stdout]     |
[INFO] [stdout] 361 | const NORTHWEST: usize = 6;
[INFO] [stdout]     |       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SOUTHEAST` is never used
[INFO] [stdout]    --> src/consts.rs:362:7
[INFO] [stdout]     |
[INFO] [stdout] 362 | const SOUTHEAST: usize = 7;
[INFO] [stdout]     |       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `is_insufficient_material` is never used
[INFO] [stdout]    --> src/utils.rs:228:12
[INFO] [stdout]     |
[INFO] [stdout]  10 | impl Board {
[INFO] [stdout]     | ---------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 228 |     pub fn is_insufficient_material(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `init_sliding_attack_masks` is never used
[INFO] [stdout]  --> src/magic.rs:3:10
[INFO] [stdout]   |
[INFO] [stdout] 3 | const fn init_sliding_attack_masks() -> [[u64; 64]; 2] {
[INFO] [stdout]   |          ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SLIDING_ATTACK_MASKS` is never used
[INFO] [stdout]   --> src/magic.rs:82:7
[INFO] [stdout]    |
[INFO] [stdout] 82 | const SLIDING_ATTACK_MASKS: [[u64; 64]; 2] = init_sliding_attack_masks();
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ROOK_ATTACK_MASKS` is never used
[INFO] [stdout]   --> src/magic.rs:84:11
[INFO] [stdout]    |
[INFO] [stdout] 84 | pub const ROOK_ATTACK_MASKS: [u64; 64] = SLIDING_ATTACK_MASKS[0];
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BISHOP_ATTACK_MASKS` is never used
[INFO] [stdout]   --> src/magic.rs:85:11
[INFO] [stdout]    |
[INFO] [stdout] 85 | pub const BISHOP_ATTACK_MASKS: [u64; 64] = SLIDING_ATTACK_MASKS[1];
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ROOK_DELTAS` is never used
[INFO] [stdout]  --> src/magic_gen.rs:6:11
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub const ROOK_DELTAS: [(i8, i8); 4] = [(1, 0), (0, -1), (-1, 0), (0, 1)];
[INFO] [stdout]   |           ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BISHOP_DELTAS` is never used
[INFO] [stdout]  --> src/magic_gen.rs:7:11
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub const BISHOP_DELTAS: [(i8, i8); 4] = [(1, 1), (1, -1), (-1, -1), (-1, 1)];
[INFO] [stdout]   |           ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MagicEntry` is never constructed
[INFO] [stdout]  --> src/magic_gen.rs:9:8
[INFO] [stdout]   |
[INFO] [stdout] 9 | struct MagicEntry {
[INFO] [stdout]   |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `relevant_blockers` is never used
[INFO] [stdout]   --> src/magic_gen.rs:15:4
[INFO] [stdout]    |
[INFO] [stdout] 15 | fn relevant_blockers(piece: Piece, square: Square) -> BitBoard {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `magic_index` is never used
[INFO] [stdout]   --> src/magic_gen.rs:36:4
[INFO] [stdout]    |
[INFO] [stdout] 36 | fn magic_index(entry: &MagicEntry, blockers: BitBoard) -> usize {
[INFO] [stdout]    |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `find_magic` is never used
[INFO] [stdout]   --> src/magic_gen.rs:45:4
[INFO] [stdout]    |
[INFO] [stdout] 45 | fn find_magic(
[INFO] [stdout]    |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TableFillError` is never constructed
[INFO] [stdout]   --> src/magic_gen.rs:62:8
[INFO] [stdout]    |
[INFO] [stdout] 62 | struct TableFillError;
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `try_make_table` is never used
[INFO] [stdout]   --> src/magic_gen.rs:64:4
[INFO] [stdout]    |
[INFO] [stdout] 64 | fn try_make_table(
[INFO] [stdout]    |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `find_and_print_all_magics` is never used
[INFO] [stdout]   --> src/magic_gen.rs:95:4
[INFO] [stdout]    |
[INFO] [stdout] 95 | fn find_and_print_all_magics(sliding_piece: Piece, rng: &mut ThreadRng) {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Rng` is never constructed
[INFO] [stdout]  --> src/rng.rs:2:12
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub struct Rng(u128);
[INFO] [stdout]   |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `next_u64` is never used
[INFO] [stdout]   --> src/rng.rs:11:12
[INFO] [stdout]    |
[INFO] [stdout] 10 | impl Rng {
[INFO] [stdout]    | -------- method in this implementation
[INFO] [stdout] 11 |     pub fn next_u64(&mut self) -> u64 {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `popcnt` and `count` are never used
[INFO] [stdout]   --> src/bitboard.rs:54:12
[INFO] [stdout]    |
[INFO] [stdout] 51 | impl BitBoard {
[INFO] [stdout]    | ------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 54 |     pub fn popcnt(self) -> u32 {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 70 |     pub fn count(self) -> u32 {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `GameResult` is never used
[INFO] [stdout]  --> src/game_result.rs:4:10
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub enum GameResult {
[INFO] [stdout]   |          ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `game_result` is never used
[INFO] [stdout]   --> src/game_result.rs:14:10
[INFO] [stdout]    |
[INFO] [stdout] 13 | impl Board {
[INFO] [stdout]    | ---------- method in this implementation
[INFO] [stdout] 14 |   pub fn game_result(&self) -> GameResult {
[INFO] [stdout]    |          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NumSquaresToTheEdge` should have an upper case name
[INFO] [stdout]  --> src/precomputed.rs:1:11
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub const NumSquaresToTheEdge: [[i32; 8]; 64] = [[7, 0, 0, 7, 0, 0, 7, 0], 
[INFO] [stdout]   |           ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(non_upper_case_globals)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] help: convert the identifier to upper case
[INFO] [stdout]   |
[INFO] [stdout] 1 - pub const NumSquaresToTheEdge: [[i32; 8]; 64] = [[7, 0, 0, 7, 0, 0, 7, 0], 
[INFO] [stdout] 1 + pub const NUM_SQUARES_TO_THE_EDGE: [[i32; 8]; 64] = [[7, 0, 0, 7, 0, 0, 7, 0], 
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 1.25s
[INFO] running `Command { std: "docker" "inspect" "bc1228d3e011f96e96cbe1976ceb43a16be633e49d1b87a5a02624e0ebed6a59", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "bc1228d3e011f96e96cbe1976ceb43a16be633e49d1b87a5a02624e0ebed6a59", kill_on_drop: false }`
[INFO] [stdout] bc1228d3e011f96e96cbe1976ceb43a16be633e49d1b87a5a02624e0ebed6a59
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/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:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+0d162b25edd5bf0dba9a22e83b614f1113e90474" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 773d8649d330bfbb8c1ae2b8c63da49f7dc25789ba9ab59607288c398a1fdfe8
[INFO] running `Command { std: "docker" "start" "-a" "773d8649d330bfbb8c1ae2b8c63da49f7dc25789ba9ab59607288c398a1fdfe8", kill_on_drop: false }`
[INFO] [stderr] warning: unused import: `std::cell::RefCell`
[INFO] [stderr]  --> src/moves.rs:1:5
[INFO] [stderr]   |
[INFO] [stderr] 1 | use std::cell::RefCell;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `File` and `KING_MOVES`
[INFO] [stderr]  --> src/moves.rs:7:9
[INFO] [stderr]   |
[INFO] [stderr] 7 |         File, Rank, Square, B_KINGSIDE_RIGHTS, B_QUEENSIDE_RIGHTS, DIRECTION_OFFSETS, KING_ATTACKS,
[INFO] [stderr]   |         ^^^^
[INFO] [stderr] 8 |         KING_MOVES, KNIGHT_MOVES, PAWN_ATTACKS, W_KINGSIDE_RIGHTS, W_QUEENSIDE_RIGHTS,
[INFO] [stderr]   |         ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `D5`, `E4`, `E5`, and `F6`
[INFO] [stderr]    --> src/moves.rs:606:26
[INFO] [stderr]     |
[INFO] [stderr] 606 |         consts::Square::{D5, E4, E5, F6},
[INFO] [stderr]     |                          ^^  ^^  ^^  ^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `BISHOP_ATTACKS`, `DIRECTION_OFFSETS`, `KING_MOVES`, and `ROOK_ATTACKS`
[INFO] [stderr]  --> src/utils.rs:5:29
[INFO] [stderr]   |
[INFO] [stderr] 5 |         File, Rank, Square, BISHOP_ATTACKS, DIRECTION_OFFSETS, KING_ATTACKS, KING_MOVES, KNIGHT_ATTACKS, PAWN_ATTACKS, ROOK_ATTACKS
[INFO] [stderr]   |                             ^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^                ^^^^^^^^^^                                ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `board::Piece` and `consts::Square`
[INFO] [stderr]  --> src/magic.rs:1:13
[INFO] [stderr]   |
[INFO] [stderr] 1 | use crate::{board::Piece, consts::Square};
[INFO] [stderr]   |             ^^^^^^^^^^^^  ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `bitboard::BitBoard`
[INFO] [stderr]   --> src/precomputed.rs:66:13
[INFO] [stderr]    |
[INFO] [stderr] 66 | use crate::{bitboard::BitBoard, consts::Square, magics::MagicEntry};
[INFO] [stderr]    |             ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `bitboard::BitBoard`, `game_result::GameResult`, and `moves::Flags`
[INFO] [stderr]  --> src/perft.rs:1:13
[INFO] [stderr]   |
[INFO] [stderr] 1 | use crate::{bitboard::BitBoard, board::Board, game_result::GameResult, moves::Flags};
[INFO] [stderr]   |             ^^^^^^^^^^^^^^^^^^                ^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::time::Instant`
[INFO] [stderr]  --> src/magic_gen.rs:4:5
[INFO] [stderr]   |
[INFO] [stderr] 4 | use std::time::Instant;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `super::*`
[INFO] [stderr]  --> src/bitboard.rs:3:5
[INFO] [stderr]   |
[INFO] [stderr] 3 | use super::*;
[INFO] [stderr]   |     ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `__bitboard as bitboard`
[INFO] [stderr]    --> src/bitboard.rs:148:9
[INFO] [stderr]     |
[INFO] [stderr] 148 | pub use __bitboard as bitboard;
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::fs::File`
[INFO] [stderr]  --> src/magic_index_gen.rs:1:5
[INFO] [stderr]   |
[INFO] [stderr] 1 | use std::fs::File;
[INFO] [stderr]   |     ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::io::BufWriter`
[INFO] [stderr]  --> src/magic_index_gen.rs:3:5
[INFO] [stderr]   |
[INFO] [stderr] 3 | use std::io::BufWriter;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::path::PathBuf`
[INFO] [stderr]  --> src/magic_index_gen.rs:4:5
[INFO] [stderr]   |
[INFO] [stderr] 4 | use std::path::PathBuf;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `env`
[INFO] [stderr]   --> src/magic_index_gen.rs:91:15
[INFO] [stderr]    |
[INFO] [stderr] 91 |     use std::{env, fs::File, io::BufWriter, path::PathBuf};
[INFO] [stderr]    |               ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `pre_move_halfmove_clock`
[INFO] [stderr]    --> src/board.rs:771:13
[INFO] [stderr]     |
[INFO] [stderr] 771 |         let pre_move_halfmove_clock = board.halfmove_clock;
[INFO] [stderr]     |             ^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pre_move_halfmove_clock`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `pre_move_fullmove_number`
[INFO] [stderr]    --> src/board.rs:772:13
[INFO] [stderr]     |
[INFO] [stderr] 772 |         let pre_move_fullmove_number = board.fullmove_number;
[INFO] [stderr]     |             ^^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pre_move_fullmove_number`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `initial_white_pawns`
[INFO] [stderr]    --> src/board.rs:836:13
[INFO] [stderr]     |
[INFO] [stderr] 836 |         let initial_white_pawns = board.white_pawns;
[INFO] [stderr]     |             ^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_initial_white_pawns`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `initial_black_pawns`
[INFO] [stderr]    --> src/board.rs:837:13
[INFO] [stderr]     |
[INFO] [stderr] 837 |         let initial_black_pawns = board.black_pawns;
[INFO] [stderr]     |             ^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_initial_black_pawns`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `initial_turn`
[INFO] [stderr]    --> src/board.rs:838:13
[INFO] [stderr]     |
[INFO] [stderr] 838 |         let initial_turn = board.turn;
[INFO] [stderr]     |             ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_initial_turn`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `our_occupied`
[INFO] [stderr]   --> src/moves.rs:96:18
[INFO] [stderr]    |
[INFO] [stderr] 96 |             let (our_occupied, their_occupied) = match pawn_color {
[INFO] [stderr]    |                  ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_our_occupied`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `opp`
[INFO] [stderr]    --> src/moves.rs:298:17
[INFO] [stderr]     |
[INFO] [stderr] 298 |             let opp = self.turn.opposite();
[INFO] [stderr]     |                 ^^^ help: if this is intentional, prefix it with an underscore: `_opp`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/moves.rs:515:13
[INFO] [stderr]     |
[INFO] [stderr] 515 |         let mut piece_bitboard = match piece {
[INFO] [stderr]     |             ----^^^^^^^^^^^^^^
[INFO] [stderr]     |             |
[INFO] [stderr]     |             help: remove this `mut`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/moves.rs:701:13
[INFO] [stderr]     |
[INFO] [stderr] 701 |         let mut moves1: Vec<Move> = board1
[INFO] [stderr]     |             ----^^^^^^
[INFO] [stderr]     |             |
[INFO] [stderr]     |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/moves.rs:731:13
[INFO] [stderr]     |
[INFO] [stderr] 731 |         let mut moves2: Vec<moves::Move> = board2
[INFO] [stderr]     |             ----^^^^^^
[INFO] [stderr]     |             |
[INFO] [stderr]     |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/moves.rs:769:13
[INFO] [stderr]     |
[INFO] [stderr] 769 |         let mut moves1 = board1
[INFO] [stderr]     |             ----^^^^^^
[INFO] [stderr]     |             |
[INFO] [stderr]     |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/moves.rs:835:13
[INFO] [stderr]     |
[INFO] [stderr] 835 |         let mut board2 =
[INFO] [stderr]     |             ----^^^^^^
[INFO] [stderr]     |             |
[INFO] [stderr]     |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/perft.rs:32:13
[INFO] [stderr]    |
[INFO] [stderr] 32 |         let mut board = crate::Board::from_fen("rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR w KQkq - 0 1").unwrap();
[INFO] [stderr]    |             ----^^^^^
[INFO] [stderr]    |             |
[INFO] [stderr]    |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: methods `sliding_moves` and `name` are never used
[INFO] [stderr]   --> src/board.rs:36:12
[INFO] [stderr]    |
[INFO] [stderr] 35 | impl Piece {
[INFO] [stderr]    | ---------- methods in this implementation
[INFO] [stderr] 36 |     pub fn sliding_moves(&self, square: Square, blockers: BitBoard) -> BitBoard {
[INFO] [stderr]    |            ^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 58 |     pub fn name(&self) -> &'static str {
[INFO] [stderr]    |            ^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: method `print` is never used
[INFO] [stderr]    --> src/board.rs:664:12
[INFO] [stderr]     |
[INFO] [stderr] 112 | impl Board {
[INFO] [stderr]     | ---------- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 664 |     pub fn print(&self) {
[INFO] [stderr]     |            ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `KING_MOVES` is never used
[INFO] [stderr]  --> src/consts.rs:6:11
[INFO] [stderr]   |
[INFO] [stderr] 6 | pub const KING_MOVES: [i8; 8] = [-9, -8, -7, -1, 1, 7, 8, 9];
[INFO] [stderr]   |           ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `Magic` is never constructed
[INFO] [stderr]    --> src/consts.rs:106:12
[INFO] [stderr]     |
[INFO] [stderr] 106 | pub struct Magic {
[INFO] [stderr]     |            ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `ROOK_SHIFTS` is never used
[INFO] [stderr]    --> src/consts.rs:123:11
[INFO] [stderr]     |
[INFO] [stderr] 123 | pub const ROOK_SHIFTS: [u8; 64] = [
[INFO] [stderr]     |           ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `BISHOP_SHIFTS` is never used
[INFO] [stderr]    --> src/consts.rs:136:11
[INFO] [stderr]     |
[INFO] [stderr] 136 | pub const BISHOP_SHIFTS: [u8; 64] = [
[INFO] [stderr]     |           ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: static `ROOK_MASKS` is never used
[INFO] [stderr]    --> src/consts.rs:149:12
[INFO] [stderr]     |
[INFO] [stderr] 149 | pub static ROOK_MASKS: OnceLock<[u64; 64]> = OnceLock::new();
[INFO] [stderr]     |            ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: static `BISHOP_MASKS` is never used
[INFO] [stderr]    --> src/consts.rs:151:12
[INFO] [stderr]     |
[INFO] [stderr] 151 | pub static BISHOP_MASKS: OnceLock<[u64; 64]> = OnceLock::new();
[INFO] [stderr]     |            ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: static `ROOK_OFFSETS` is never used
[INFO] [stderr]    --> src/consts.rs:164:12
[INFO] [stderr]     |
[INFO] [stderr] 164 | pub static ROOK_OFFSETS: OnceLock<[usize; 64]> = OnceLock::new();
[INFO] [stderr]     |            ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: static `BISHOP_OFFSETS` is never used
[INFO] [stderr]    --> src/consts.rs:165:12
[INFO] [stderr]     |
[INFO] [stderr] 165 | pub static BISHOP_OFFSETS: OnceLock<[usize; 64]> = OnceLock::new();
[INFO] [stderr]     |            ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `init_sliding_attack_masks` is never used
[INFO] [stderr]    --> src/consts.rs:270:10
[INFO] [stderr]     |
[INFO] [stderr] 270 | const fn init_sliding_attack_masks() -> [[u64; 64]; 2] {
[INFO] [stderr]     |          ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `SLIDING_ATTACKS` is never used
[INFO] [stderr]    --> src/consts.rs:350:7
[INFO] [stderr]     |
[INFO] [stderr] 350 | const SLIDING_ATTACKS: [[u64; 64]; 2] = init_sliding_attack_masks();
[INFO] [stderr]     |       ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `ROOK_ATTACKS` is never used
[INFO] [stderr]    --> src/consts.rs:352:11
[INFO] [stderr]     |
[INFO] [stderr] 352 | pub const ROOK_ATTACKS: [u64; 64] = SLIDING_ATTACKS[0];
[INFO] [stderr]     |           ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `BISHOP_ATTACKS` is never used
[INFO] [stderr]    --> src/consts.rs:353:11
[INFO] [stderr]     |
[INFO] [stderr] 353 | pub const BISHOP_ATTACKS: [u64; 64] = SLIDING_ATTACKS[1];
[INFO] [stderr]     |           ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `NORTH` is never used
[INFO] [stderr]    --> src/consts.rs:355:7
[INFO] [stderr]     |
[INFO] [stderr] 355 | const NORTH: usize = 0;
[INFO] [stderr]     |       ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `SOUTH` is never used
[INFO] [stderr]    --> src/consts.rs:356:7
[INFO] [stderr]     |
[INFO] [stderr] 356 | const SOUTH: usize = 1;
[INFO] [stderr]     |       ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `EAST` is never used
[INFO] [stderr]    --> src/consts.rs:357:7
[INFO] [stderr]     |
[INFO] [stderr] 357 | const EAST: usize = 2;
[INFO] [stderr]     |       ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `WEST` is never used
[INFO] [stderr]    --> src/consts.rs:358:7
[INFO] [stderr]     |
[INFO] [stderr] 358 | const WEST: usize = 3;
[INFO] [stderr]     |       ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `NORTHEAST` is never used
[INFO] [stderr]    --> src/consts.rs:359:7
[INFO] [stderr]     |
[INFO] [stderr] 359 | const NORTHEAST: usize = 4;
[INFO] [stderr]     |       ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `SOUTHWEST` is never used
[INFO] [stderr]    --> src/consts.rs:360:7
[INFO] [stderr]     |
[INFO] [stderr] 360 | const SOUTHWEST: usize = 5;
[INFO] [stderr]     |       ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `NORTHWEST` is never used
[INFO] [stderr]    --> src/consts.rs:361:7
[INFO] [stderr]     |
[INFO] [stderr] 361 | const NORTHWEST: usize = 6;
[INFO] [stderr]     |       ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `SOUTHEAST` is never used
[INFO] [stderr]    --> src/consts.rs:362:7
[INFO] [stderr]     |
[INFO] [stderr] 362 | const SOUTHEAST: usize = 7;
[INFO] [stderr]     |       ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `is_insufficient_material` is never used
[INFO] [stderr]    --> src/utils.rs:228:12
[INFO] [stderr]     |
[INFO] [stderr]  10 | impl Board {
[INFO] [stderr]     | ---------- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 228 |     pub fn is_insufficient_material(&self) -> bool {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `init_sliding_attack_masks` is never used
[INFO] [stderr]  --> src/magic.rs:3:10
[INFO] [stderr]   |
[INFO] [stderr] 3 | const fn init_sliding_attack_masks() -> [[u64; 64]; 2] {
[INFO] [stderr]   |          ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `SLIDING_ATTACK_MASKS` is never used
[INFO] [stderr]   --> src/magic.rs:82:7
[INFO] [stderr]    |
[INFO] [stderr] 82 | const SLIDING_ATTACK_MASKS: [[u64; 64]; 2] = init_sliding_attack_masks();
[INFO] [stderr]    |       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `ROOK_ATTACK_MASKS` is never used
[INFO] [stderr]   --> src/magic.rs:84:11
[INFO] [stderr]    |
[INFO] [stderr] 84 | pub const ROOK_ATTACK_MASKS: [u64; 64] = SLIDING_ATTACK_MASKS[0];
[INFO] [stderr]    |           ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `BISHOP_ATTACK_MASKS` is never used
[INFO] [stderr]   --> src/magic.rs:85:11
[INFO] [stderr]    |
[INFO] [stderr] 85 | pub const BISHOP_ATTACK_MASKS: [u64; 64] = SLIDING_ATTACK_MASKS[1];
[INFO] [stderr]    |           ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `ROOK_DELTAS` is never used
[INFO] [stderr]  --> src/magic_gen.rs:6:11
[INFO] [stderr]   |
[INFO] [stderr] 6 | pub const ROOK_DELTAS: [(i8, i8); 4] = [(1, 0), (0, -1), (-1, 0), (0, 1)];
[INFO] [stderr]   |           ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `BISHOP_DELTAS` is never used
[INFO] [stderr]  --> src/magic_gen.rs:7:11
[INFO] [stderr]   |
[INFO] [stderr] 7 | pub const BISHOP_DELTAS: [(i8, i8); 4] = [(1, 1), (1, -1), (-1, -1), (-1, 1)];
[INFO] [stderr]   |           ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `MagicEntry` is never constructed
[INFO] [stderr]  --> src/magic_gen.rs:9:8
[INFO] [stderr]   |
[INFO] [stderr] 9 | struct MagicEntry {
[INFO] [stderr]   |        ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `relevant_blockers` is never used
[INFO] [stderr]   --> src/magic_gen.rs:15:4
[INFO] [stderr]    |
[INFO] [stderr] 15 | fn relevant_blockers(piece: Piece, square: Square) -> BitBoard {
[INFO] [stderr]    |    ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `magic_index` is never used
[INFO] [stderr]   --> src/magic_gen.rs:36:4
[INFO] [stderr]    |
[INFO] [stderr] 36 | fn magic_index(entry: &MagicEntry, blockers: BitBoard) -> usize {
[INFO] [stderr]    |    ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `find_magic` is never used
[INFO] [stderr]   --> src/magic_gen.rs:45:4
[INFO] [stderr]    |
[INFO] [stderr] 45 | fn find_magic(
[INFO] [stderr]    |    ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `TableFillError` is never constructed
[INFO] [stderr]   --> src/magic_gen.rs:62:8
[INFO] [stderr]    |
[INFO] [stderr] 62 | struct TableFillError;
[INFO] [stderr]    |        ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `try_make_table` is never used
[INFO] [stderr]   --> src/magic_gen.rs:64:4
[INFO] [stderr]    |
[INFO] [stderr] 64 | fn try_make_table(
[INFO] [stderr]    |    ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `find_and_print_all_magics` is never used
[INFO] [stderr]   --> src/magic_gen.rs:95:4
[INFO] [stderr]    |
[INFO] [stderr] 95 | fn find_and_print_all_magics(sliding_piece: Piece, rng: &mut ThreadRng) {
[INFO] [stderr]    |    ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `Rng` is never constructed
[INFO] [stderr]  --> src/rng.rs:2:12
[INFO] [stderr]   |
[INFO] [stderr] 2 | pub struct Rng(u128);
[INFO] [stderr]   |            ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `next_u64` is never used
[INFO] [stderr]   --> src/rng.rs:11:12
[INFO] [stderr]    |
[INFO] [stderr] 10 | impl Rng {
[INFO] [stderr]    | -------- method in this implementation
[INFO] [stderr] 11 |     pub fn next_u64(&mut self) -> u64 {
[INFO] [stderr]    |            ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: methods `popcnt` and `count` are never used
[INFO] [stderr]   --> src/bitboard.rs:54:12
[INFO] [stderr]    |
[INFO] [stderr] 51 | impl BitBoard {
[INFO] [stderr]    | ------------- methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 54 |     pub fn popcnt(self) -> u32 {
[INFO] [stderr]    |            ^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 70 |     pub fn count(self) -> u32 {
[INFO] [stderr]    |            ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: enum `GameResult` is never used
[INFO] [stderr]  --> src/game_result.rs:4:10
[INFO] [stderr]   |
[INFO] [stderr] 4 | pub enum GameResult {
[INFO] [stderr]   |          ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `game_result` is never used
[INFO] [stderr]   --> src/game_result.rs:14:10
[INFO] [stderr]    |
[INFO] [stderr] 13 | impl Board {
[INFO] [stderr]    | ---------- method in this implementation
[INFO] [stderr] 14 |   pub fn game_result(&self) -> GameResult {
[INFO] [stderr]    |          ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `NumSquaresToTheEdge` should have an upper case name
[INFO] [stderr]  --> src/precomputed.rs:1:11
[INFO] [stderr]   |
[INFO] [stderr] 1 | pub const NumSquaresToTheEdge: [[i32; 8]; 64] = [[7, 0, 0, 7, 0, 0, 7, 0], 
[INFO] [stderr]   |           ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(non_upper_case_globals)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stderr] help: convert the identifier to upper case
[INFO] [stderr]   |
[INFO] [stderr] 1 - pub const NumSquaresToTheEdge: [[i32; 8]; 64] = [[7, 0, 0, 7, 0, 0, 7, 0], 
[INFO] [stderr] 1 + pub const NUM_SQUARES_TO_THE_EDGE: [[i32; 8]; 64] = [[7, 0, 0, 7, 0, 0, 7, 0], 
[INFO] [stderr]   |
[INFO] [stderr] 
[INFO] [stderr] warning: `better-engine` (bin "better-engine" test) generated 69 warnings (run `cargo fix --bin "better-engine" -p better-engine --tests` to apply 28 suggestions)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.04s
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/better_engine-2eb22ce195d94131)
[INFO] [stdout] 
[INFO] [stdout] running 23 tests
[INFO] [stdout] test board::tests::test_make_and_unmake_pawn_move ... ok
[INFO] [stdout] test board::tests::test_make_and_unmake_capture ... ok
[INFO] [stdout] test moves::tests::test_bishop_moves ... ok
[INFO] [stdout] test moves::tests::test_alot_of_pawn_moves ... ok
[INFO] [stdout] test board::tests::test_default_board_setup ... ok
[INFO] [stdout] test board::tests::test_piece_on_square ... ok
[INFO] [stdout] test moves::tests::test_en_passant_capture ... ok
[INFO] [stdout] test moves::tests::test_castling_moves ... ok
[INFO] [stdout] test moves::tests::test_generate_pawn_moves ... ok
[INFO] [stdout] test moves::tests::test_king_in_front_of_king_moves ... ok
[INFO] [stdout] test moves::tests::test_king_moves ... ok
[INFO] [stdout] test moves::tests::test_pawn_capture ... ok
[INFO] [stdout] test moves::tests::test_rook_moves ... ok
[INFO] [stdout] test utils::tests::test_from_fen ... ok
[INFO] [stdout] test utils::tests::test_is_king_in_check_even_tho_its_pined ... ok
[INFO] [stdout] test utils::tests::test_is_black_king_in_check ... ok
[INFO] [stdout] test moves::tests::test_queen_moves ... ok
[INFO] [stdout] test utils::tests::test_is_white_king_in_check ... ok
[INFO] [stdout] test moves::tests::test_centralized_knight_moves ... ok
[INFO] [stdout] test utils::tests::test_king_moves_knight_near ... ok
[INFO] [stdout] test moves::tests::test_initial_knight_moves ... ok
[INFO] [stdout] test magic_index_gen::tests::test_magic_index ... FAILED
[INFO] [stdout] test perft::tests::test_perft has been running for over 60 seconds
[INFO] [stdout] test perft::tests::test_perft ... ok
[INFO] [stderr] error: test failed, to rerun pass `--bin better-engine`
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- magic_index_gen::tests::test_magic_index stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'magic_index_gen::tests::test_magic_index' (29) panicked at src/magic_index_gen.rs:112:56:
[INFO] [stdout] called `Result::unwrap()` on an `Err` value: Os { code: 30, kind: ReadOnlyFilesystem, message: "Read-only file system" }
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x60e1c2c11db2 - std[3b51380354919863]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x60e1c2c11db2 - std[3b51380354919863]::backtrace_rs::backtrace::trace_unsynchronized::<std[3b51380354919863]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x60e1c2c11db2 - std[3b51380354919863]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x60e1c2c11db2 - <<std[3b51380354919863]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[27de1724e4349be2]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x60e1c2c267ca - <core[27de1724e4349be2]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x60e1c2c267ca - core[27de1724e4349be2]::fmt::write
[INFO] [stdout]    6:     0x60e1c2c16c16 - std[3b51380354919863]::io::default_write_fmt::<alloc[a57f19327c0ad893]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/io/mod.rs:639:11
[INFO] [stdout]    7:     0x60e1c2c16c16 - <alloc[a57f19327c0ad893]::vec::Vec<u8> as std[3b51380354919863]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/io/mod.rs:1994:13
[INFO] [stdout]    8:     0x60e1c2bf035f - <std[3b51380354919863]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x60e1c2bf035f - std[3b51380354919863]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x60e1c2c09f89 - std[3b51380354919863]::panicking::default_hook
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x60e1c2ba390e - <alloc[a57f19327c0ad893]::boxed::Box<dyn for<'a, 'b> core[27de1724e4349be2]::ops::function::Fn<(&'a std[3b51380354919863]::panic::PanicHookInfo<'b>,), Output = ()> + core[27de1724e4349be2]::marker::Sync + core[27de1724e4349be2]::marker::Send> as core[27de1724e4349be2]::ops::function::Fn<(&std[3b51380354919863]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/alloc/src/boxed.rs:2220:9
[INFO] [stdout]   12:     0x60e1c2ba390e - test[182b2e79ecd7bbd9]::test_main_with_exit_callback::<test[182b2e79ecd7bbd9]::test_main::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/test/src/lib.rs:145:21
[INFO] [stdout]   13:     0x60e1c2c0a142 - <alloc[a57f19327c0ad893]::boxed::Box<dyn for<'a, 'b> core[27de1724e4349be2]::ops::function::Fn<(&'a std[3b51380354919863]::panic::PanicHookInfo<'b>,), Output = ()> + core[27de1724e4349be2]::marker::Sync + core[27de1724e4349be2]::marker::Send> as core[27de1724e4349be2]::ops::function::Fn<(&std[3b51380354919863]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/alloc/src/boxed.rs:2220:9
[INFO] [stdout]   14:     0x60e1c2c0a142 - std[3b51380354919863]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x60e1c2bf0418 - std[3b51380354919863]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panicking.rs:698:13
[INFO] [stdout]   16:     0x60e1c2be54b9 - std[3b51380354919863]::sys::backtrace::__rust_end_short_backtrace::<std[3b51380354919863]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x60e1c2bf130d - __rustc[d79c0ace40940972]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x60e1c2c26ebc - core[27de1724e4349be2]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x60e1c2c26c52 - core[27de1724e4349be2]::result::unwrap_failed
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/core/src/result.rs:1867:5
[INFO] [stdout]   20:     0x60e1c2b89061 - <core[27de1724e4349be2]::result::Result<std[3b51380354919863]::fs::File, std[3b51380354919863]::io::error::Error>>::unwrap
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/core/src/result.rs:1233:23
[INFO] [stdout]   21:     0x60e1c2b89061 - better_engine[8e47f4b5aac14a3c]::magic_index_gen::tests::test_magic_index
[INFO] [stdout]                                at /opt/rustwide/workdir/src/magic_index_gen.rs:112:56
[INFO] [stdout]   22:     0x60e1c2b87797 - better_engine[8e47f4b5aac14a3c]::magic_index_gen::tests::test_magic_index::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/src/magic_index_gen.rs:96:26
[INFO] [stdout]   23:     0x60e1c2b8b856 - <better_engine[8e47f4b5aac14a3c]::magic_index_gen::tests::test_magic_index::{closure#0} as core[27de1724e4349be2]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   24:     0x60e1c2b97cbb - <fn() -> core[27de1724e4349be2]::result::Result<(), alloc[a57f19327c0ad893]::string::String> as core[27de1724e4349be2]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   25:     0x60e1c2b97cbb - test[182b2e79ecd7bbd9]::__rust_begin_short_backtrace::<core[27de1724e4349be2]::result::Result<(), alloc[a57f19327c0ad893]::string::String>, fn() -> core[27de1724e4349be2]::result::Result<(), alloc[a57f19327c0ad893]::string::String>>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/test/src/lib.rs:663:18
[INFO] [stdout]   26:     0x60e1c2ba451a - test[182b2e79ecd7bbd9]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/test/src/lib.rs:686:74
[INFO] [stdout]   27:     0x60e1c2ba451a - <core[27de1724e4349be2]::panic::unwind_safe::AssertUnwindSafe<test[182b2e79ecd7bbd9]::run_test_in_process::{closure#0}> as core[27de1724e4349be2]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   28:     0x60e1c2ba451a - std[3b51380354919863]::panicking::catch_unwind::do_call::<core[27de1724e4349be2]::panic::unwind_safe::AssertUnwindSafe<test[182b2e79ecd7bbd9]::run_test_in_process::{closure#0}>, core[27de1724e4349be2]::result::Result<(), alloc[a57f19327c0ad893]::string::String>>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panicking.rs:581:40
[INFO] [stdout]   29:     0x60e1c2ba451a - std[3b51380354919863]::panicking::catch_unwind::<core[27de1724e4349be2]::result::Result<(), alloc[a57f19327c0ad893]::string::String>, core[27de1724e4349be2]::panic::unwind_safe::AssertUnwindSafe<test[182b2e79ecd7bbd9]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panicking.rs:544:19
[INFO] [stdout]   30:     0x60e1c2ba451a - std[3b51380354919863]::panic::catch_unwind::<core[27de1724e4349be2]::panic::unwind_safe::AssertUnwindSafe<test[182b2e79ecd7bbd9]::run_test_in_process::{closure#0}>, core[27de1724e4349be2]::result::Result<(), alloc[a57f19327c0ad893]::string::String>>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panic.rs:359:14
[INFO] [stdout]   31:     0x60e1c2ba451a - test[182b2e79ecd7bbd9]::run_test_in_process
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/test/src/lib.rs:686:27
[INFO] [stdout]   32:     0x60e1c2ba451a - test[182b2e79ecd7bbd9]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/test/src/lib.rs:607:43
[INFO] [stdout]   33:     0x60e1c2b9fac4 - test[182b2e79ecd7bbd9]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/test/src/lib.rs:637:41
[INFO] [stdout]   34:     0x60e1c2b9fac4 - std[3b51380354919863]::sys::backtrace::__rust_begin_short_backtrace::<test[182b2e79ecd7bbd9]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   35:     0x60e1c2ba7012 - std[3b51380354919863]::thread::lifecycle::spawn_unchecked::<test[182b2e79ecd7bbd9]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/thread/lifecycle.rs:91:13
[INFO] [stdout]   36:     0x60e1c2ba7012 - <core[27de1724e4349be2]::panic::unwind_safe::AssertUnwindSafe<std[3b51380354919863]::thread::lifecycle::spawn_unchecked<test[182b2e79ecd7bbd9]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[27de1724e4349be2]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   37:     0x60e1c2ba7012 - std[3b51380354919863]::panicking::catch_unwind::do_call::<core[27de1724e4349be2]::panic::unwind_safe::AssertUnwindSafe<std[3b51380354919863]::thread::lifecycle::spawn_unchecked<test[182b2e79ecd7bbd9]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panicking.rs:581:40
[INFO] [stdout]   38:     0x60e1c2ba7012 - std[3b51380354919863]::panicking::catch_unwind::<(), core[27de1724e4349be2]::panic::unwind_safe::AssertUnwindSafe<std[3b51380354919863]::thread::lifecycle::spawn_unchecked<test[182b2e79ecd7bbd9]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panicking.rs:544:19
[INFO] [stdout]   39:     0x60e1c2ba7012 - std[3b51380354919863]::panic::catch_unwind::<core[27de1724e4349be2]::panic::unwind_safe::AssertUnwindSafe<std[3b51380354919863]::thread::lifecycle::spawn_unchecked<test[182b2e79ecd7bbd9]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panic.rs:359:14
[INFO] [stdout]   40:     0x60e1c2ba7012 - std[3b51380354919863]::thread::lifecycle::spawn_unchecked::<test[182b2e79ecd7bbd9]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/thread/lifecycle.rs:89:26
[INFO] [stdout]   41:     0x60e1c2ba7012 - <std[3b51380354919863]::thread::lifecycle::spawn_unchecked<test[182b2e79ecd7bbd9]::run_test::{closure#1}, ()>::{closure#1} as core[27de1724e4349be2]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   42:     0x60e1c2c1165f - <alloc[a57f19327c0ad893]::boxed::Box<dyn core[27de1724e4349be2]::ops::function::FnOnce<(), Output = ()> + core[27de1724e4349be2]::marker::Send> as core[27de1724e4349be2]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/alloc/src/boxed.rs:2206:9
[INFO] [stdout]   43:     0x60e1c2c1165f - <std[3b51380354919863]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/sys/thread/unix.rs:119:17
[INFO] [stdout]   44:     0x773b72e11aa4 - <unknown>
[INFO] [stdout]   45:     0x773b72e9ea64 - clone
[INFO] [stdout]   46:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     magic_index_gen::tests::test_magic_index
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 22 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out; finished in 157.04s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "773d8649d330bfbb8c1ae2b8c63da49f7dc25789ba9ab59607288c398a1fdfe8", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "773d8649d330bfbb8c1ae2b8c63da49f7dc25789ba9ab59607288c398a1fdfe8", kill_on_drop: false }`
[INFO] [stdout] 773d8649d330bfbb8c1ae2b8c63da49f7dc25789ba9ab59607288c398a1fdfe8
