[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#733b47ea4b1b86216f14ef56e49440c33933f230+rustflags=-Copt-level=3 for pr-138759
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fsantinzz%2Fbetter-engine" "/workspace/builds/worker-3-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc2/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-3-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/santinzz/better-engine on toolchain 733b47ea4b1b86216f14ef56e49440c33933f230
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+733b47ea4b1b86216f14ef56e49440c33933f230" "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" "+733b47ea4b1b86216f14ef56e49440c33933f230" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+733b47ea4b1b86216f14ef56e49440c33933f230" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] c4a113e4ea9910d40611202f56a6afb8f305d3e925cc9d50fdc622f115b29e81
[INFO] running `Command { std: "docker" "start" "-a" "c4a113e4ea9910d40611202f56a6afb8f305d3e925cc9d50fdc622f115b29e81", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "c4a113e4ea9910d40611202f56a6afb8f305d3e925cc9d50fdc622f115b29e81", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "c4a113e4ea9910d40611202f56a6afb8f305d3e925cc9d50fdc622f115b29e81", kill_on_drop: false }`
[INFO] [stdout] c4a113e4ea9910d40611202f56a6afb8f305d3e925cc9d50fdc622f115b29e81
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid -Copt-level=3" "-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+733b47ea4b1b86216f14ef56e49440c33933f230" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 767b42b7e33775afbf9b181f71e30da15fd49a6ca1b5a925b7728fb6c5d29524
[INFO] running `Command { std: "docker" "start" "-a" "767b42b7e33775afbf9b181f71e30da15fd49a6ca1b5a925b7728fb6c5d29524", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.174
[INFO] [stderr]    Compiling getrandom v0.3.3
[INFO] [stderr]    Compiling rand_core v0.9.3
[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)]` 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: `__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)]` 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)]` 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)]` 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 functions `try_index` and `index` are never used
[INFO] [stdout]   --> src/consts.rs:23:20
[INFO] [stdout]    |
[INFO] [stdout] 19 |           impl $name {
[INFO] [stdout]    |           ---------- associated functions in this implementation
[INFO] [stdout] ...
[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 constants `NUM` and `ALL` are never used
[INFO] [stdout]   --> src/consts.rs:20:23
[INFO] [stdout]    |
[INFO] [stdout] 19 |           impl $name {
[INFO] [stdout]    |           ---------- associated constants 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] ...
[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`, `file`, `rank`, 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] 86 |     pub fn file(self) -> File {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 90 |     pub fn rank(self) -> Rank {
[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, offset: 0 ...
[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, offset...
[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,66046...
[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,1344803...
[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: 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: 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)]` 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 4.53s
[INFO] running `Command { std: "docker" "inspect" "767b42b7e33775afbf9b181f71e30da15fd49a6ca1b5a925b7728fb6c5d29524", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "767b42b7e33775afbf9b181f71e30da15fd49a6ca1b5a925b7728fb6c5d29524", kill_on_drop: false }`
[INFO] [stdout] 767b42b7e33775afbf9b181f71e30da15fd49a6ca1b5a925b7728fb6c5d29524
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid -Copt-level=3" "-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+733b47ea4b1b86216f14ef56e49440c33933f230" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] aa380d8642b1d37f69e4656f347e37c119bd9e4d7dcdd768baab748de85273e0
[INFO] running `Command { std: "docker" "start" "-a" "aa380d8642b1d37f69e4656f347e37c119bd9e4d7dcdd768baab748de85273e0", 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)]` 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: `__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)]` 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)]` 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)]` 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)]` 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 2.19s
[INFO] running `Command { std: "docker" "inspect" "aa380d8642b1d37f69e4656f347e37c119bd9e4d7dcdd768baab748de85273e0", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "aa380d8642b1d37f69e4656f347e37c119bd9e4d7dcdd768baab748de85273e0", kill_on_drop: false }`
[INFO] [stdout] aa380d8642b1d37f69e4656f347e37c119bd9e4d7dcdd768baab748de85273e0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid -Copt-level=3" "-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+733b47ea4b1b86216f14ef56e49440c33933f230" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 9157630deff19eb8a397e1b47cddf96f4446c450eb742c037021fd04e5a0a2da
[INFO] running `Command { std: "docker" "start" "-a" "9157630deff19eb8a397e1b47cddf96f4446c450eb742c037021fd04e5a0a2da", 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)]` 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: `__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)]` 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)]` 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)]` 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)]` 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 68 warnings (run `cargo fix --bin "better-engine" --tests` to apply 20 suggestions)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.05s
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/better_engine-92774c7eb6259710)
[INFO] [stdout] 
[INFO] [stdout] running 23 tests
[INFO] [stdout] test board::tests::test_make_and_unmake_capture ... ok
[INFO] [stdout] test board::tests::test_make_and_unmake_pawn_move ... ok
[INFO] [stdout] test board::tests::test_piece_on_square ... 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 moves::tests::test_bishop_moves ... ok
[INFO] [stdout] test moves::tests::test_castling_moves ... ok
[INFO] [stdout] test moves::tests::test_initial_knight_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_generate_pawn_moves ... ok
[INFO] [stdout] test moves::tests::test_king_in_front_of_king_moves ... ok
[INFO] [stdout] test moves::tests::test_rook_moves ... ok
[INFO] [stdout] test moves::tests::test_queen_moves ... ok
[INFO] [stdout] test utils::tests::test_is_black_king_in_check ... ok
[INFO] [stdout] test utils::tests::test_is_king_in_check_even_tho_its_pined ... ok
[INFO] [stdout] test utils::tests::test_from_fen ... ok
[INFO] [stdout] test utils::tests::test_king_moves_knight_near ... ok
[INFO] [stdout] test moves::tests::test_centralized_knight_moves ... ok
[INFO] [stdout] test moves::tests::test_en_passant_capture ... ok
[INFO] [stdout] test utils::tests::test_is_white_king_in_check ... ok
[INFO] [stdout] test magic_index_gen::tests::test_magic_index ... FAILED
[INFO] [stdout] test perft::tests::test_perft ... ok
[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' 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:     0x6024aaf0bcb2 - std::backtrace_rs::backtrace::libunwind::trace::h73a647620bf1c49d
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x6024aaf0bcb2 - std::backtrace_rs::backtrace::trace_unsynchronized::hd4d513ed96cb3cb1
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x6024aaf0bcb2 - std::sys::backtrace::_print_fmt::h61bb95f7476aafa5
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/std/src/sys/backtrace.rs:66:9
[INFO] [stdout]    3:     0x6024aaf0bcb2 - <std::sys::backtrace::BacktraceLock::print::DisplayBacktrace as core::fmt::Display>::fmt::ha2e7e3a01df69042
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/std/src/sys/backtrace.rs:39:26
[INFO] [stdout]    4:     0x6024aaf31083 - core::fmt::rt::Argument::fmt::hf14163372f0f9a76
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/core/src/fmt/rt.rs:173:76
[INFO] [stdout]    5:     0x6024aaf31083 - core::fmt::write::h7cb8f63788cd01d2
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/core/src/fmt/mod.rs:1465:25
[INFO] [stdout]    6:     0x6024aaf08b93 - std::io::default_write_fmt::h9ed739ccee8a150c
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/std/src/io/mod.rs:639:11
[INFO] [stdout]    7:     0x6024aaf08b93 - std::io::Write::write_fmt::h1c0a32da913b32f1
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/std/src/io/mod.rs:1954:13
[INFO] [stdout]    8:     0x6024aaf0bb02 - std::sys::backtrace::BacktraceLock::print::h3ec4d7883eb25e61
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/std/src/sys/backtrace.rs:42:9
[INFO] [stdout]    9:     0x6024aaf0d21c - std::panicking::default_hook::{{closure}}::h29548987efd832cb
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/std/src/panicking.rs:300:27
[INFO] [stdout]   10:     0x6024aaf0d072 - std::panicking::default_hook::ha25170a15c643514
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/std/src/panicking.rs:324:9
[INFO] [stdout]   11:     0x6024aaed5054 - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h562adeecbf43c420
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/alloc/src/boxed.rs:1985:9
[INFO] [stdout]   12:     0x6024aaed5054 - test::test_main_with_exit_callback::{{closure}}::h97dd2a879d27e0e4
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/test/src/lib.rs:145:21
[INFO] [stdout]   13:     0x6024aaf0dbfb - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h7e85cbdbda26fdb7
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/alloc/src/boxed.rs:1985:9
[INFO] [stdout]   14:     0x6024aaf0dbfb - std::panicking::rust_panic_with_hook::h0d81afcd829aa24b
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/std/src/panicking.rs:841:13
[INFO] [stdout]   15:     0x6024aaf0d9ca - std::panicking::begin_panic_handler::{{closure}}::hc84a33f1202346cf
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/std/src/panicking.rs:706:13
[INFO] [stdout]   16:     0x6024aaf0c1a9 - std::sys::backtrace::__rust_end_short_backtrace::h373067a14f6c59aa
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/std/src/sys/backtrace.rs:168:18
[INFO] [stdout]   17:     0x6024aaf0d65d - __rustc[beb0385846a06d21]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/std/src/panicking.rs:697:5
[INFO] [stdout]   18:     0x6024aaf2fbd0 - core::panicking::panic_fmt::ha33fa2ae772efba9
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/core/src/panicking.rs:75:14
[INFO] [stdout]   19:     0x6024aaf2ff76 - core::result::unwrap_failed::hfbbd3c78a73fea3d
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/core/src/result.rs:1761:5
[INFO] [stdout]   20:     0x6024aae9982d - core::result::Result<T,E>::unwrap::hdc5fe0a9fa8c6e45
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/core/src/result.rs:1167:23
[INFO] [stdout]   21:     0x6024aae9982d - better_engine::magic_index_gen::tests::test_magic_index::h57fcecbdeb9be42c
[INFO] [stdout]                                at /opt/rustwide/workdir/src/magic_index_gen.rs:112:56
[INFO] [stdout]   22:     0x6024aae9b5a9 - better_engine::magic_index_gen::tests::test_magic_index::{{closure}}::h50685bb273767c43
[INFO] [stdout]                                at /opt/rustwide/workdir/src/magic_index_gen.rs:96:26
[INFO] [stdout]   23:     0x6024aae9b5a9 - core::ops::function::FnOnce::call_once::h238ec37a1976ae7c
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   24:     0x6024aaeda78b - core::ops::function::FnOnce::call_once::hf84b9c3d864a6959
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   25:     0x6024aaeda78b - test::__rust_begin_short_backtrace::h5724e31441c16fcb
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/test/src/lib.rs:648:18
[INFO] [stdout]   26:     0x6024aaed99ce - test::run_test_in_process::{{closure}}::hbc28c9aa91793d7d
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/test/src/lib.rs:671:74
[INFO] [stdout]   27:     0x6024aaed99ce - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::hc17b0e238c0f8f3e
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/core/src/panic/unwind_safe.rs:272:9
[INFO] [stdout]   28:     0x6024aaed99ce - std::panicking::catch_unwind::do_call::hcdbce0d6dd6c83ce
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/std/src/panicking.rs:589:40
[INFO] [stdout]   29:     0x6024aaed99ce - std::panicking::catch_unwind::h9477967ceea044e8
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/std/src/panicking.rs:552:19
[INFO] [stdout]   30:     0x6024aaed99ce - std::panic::catch_unwind::h616a2e249da12e16
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/std/src/panic.rs:359:14
[INFO] [stdout]   31:     0x6024aaed99ce - test::run_test_in_process::h2758deb0f2e54430
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/test/src/lib.rs:671:27
[INFO] [stdout]   32:     0x6024aaed99ce - test::run_test::{{closure}}::habe5cd2564b18aaa
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/test/src/lib.rs:592:43
[INFO] [stdout]   33:     0x6024aae9d574 - test::run_test::{{closure}}::h9a0a6928f1a15421
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/test/src/lib.rs:622:41
[INFO] [stdout]   34:     0x6024aae9d574 - std::sys::backtrace::__rust_begin_short_backtrace::hd68b5332434a22ca
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/std/src/sys/backtrace.rs:152:18
[INFO] [stdout]   35:     0x6024aaea0f1a - std::thread::Builder::spawn_unchecked_::{{closure}}::{{closure}}::h264ddcc3098eacae
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/std/src/thread/mod.rs:559:17
[INFO] [stdout]   36:     0x6024aaea0f1a - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h9fa39489749d6f3c
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/core/src/panic/unwind_safe.rs:272:9
[INFO] [stdout]   37:     0x6024aaea0f1a - std::panicking::catch_unwind::do_call::hb9a1944b9f85100f
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/std/src/panicking.rs:589:40
[INFO] [stdout]   38:     0x6024aaea0f1a - std::panicking::catch_unwind::h0c6f100786c0dad8
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/std/src/panicking.rs:552:19
[INFO] [stdout]   39:     0x6024aaea0f1a - std::panic::catch_unwind::hf6084e2723385823
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/std/src/panic.rs:359:14
[INFO] [stdout]   40:     0x6024aaea0f1a - std::thread::Builder::spawn_unchecked_::{{closure}}::hf0af58ce658143ad
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/std/src/thread/mod.rs:557:30
[INFO] [stdout]   41:     0x6024aaea0f1a - core::ops::function::FnOnce::call_once{{vtable.shim}}::h88a14f9b2e79f9de
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   42:     0x6024aaf10b57 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::hf31256ba38644b65
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/alloc/src/boxed.rs:1971:9
[INFO] [stdout]   43:     0x6024aaf10b57 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h100ad77f3448041b
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/alloc/src/boxed.rs:1971:9
[INFO] [stdout]   44:     0x6024aaf10b57 - std::sys::pal::unix::thread::Thread::new::thread_start::h1a22ded422ce395b
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/std/src/sys/pal/unix/thread.rs:97:17
[INFO] [stdout]   45:     0x76983769faa4 - <unknown>
[INFO] [stdout]   46:     0x76983772ca34 - clone
[INFO] [stdout]   47:                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 33.66s
[INFO] [stdout] 
[INFO] [stderr] error: test failed, to rerun pass `--bin better-engine`
[INFO] running `Command { std: "docker" "inspect" "9157630deff19eb8a397e1b47cddf96f4446c450eb742c037021fd04e5a0a2da", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "9157630deff19eb8a397e1b47cddf96f4446c450eb742c037021fd04e5a0a2da", kill_on_drop: false }`
[INFO] [stdout] 9157630deff19eb8a397e1b47cddf96f4446c450eb742c037021fd04e5a0a2da
