[INFO] cloning repository https://github.com/ojowwalker77/chess_engine [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/ojowwalker77/chess_engine" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fojowwalker77%2Fchess_engine", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fojowwalker77%2Fchess_engine'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] cb851af0cb58e1a9051c6ec316271ccd3ac260e1 [INFO] checking ojowwalker77/chess_engine against try#4797991aa2efb6d658150f10425b3f3b5d10eceb for pr-143193 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fojowwalker77%2Fchess_engine" "/workspace/builds/worker-6-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc2/source'... [INFO] [stderr] done. [INFO] removed /workspace/builds/worker-6-tc2/source/.cargo/config.toml [INFO] started tweaking git repo https://github.com/ojowwalker77/chess_engine [INFO] finished tweaking git repo https://github.com/ojowwalker77/chess_engine [INFO] tweaked toml for git repo https://github.com/ojowwalker77/chess_engine written to /workspace/builds/worker-6-tc2/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/ojowwalker77/chess_engine on toolchain 4797991aa2efb6d658150f10425b3f3b5d10eceb [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+4797991aa2efb6d658150f10425b3f3b5d10eceb" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/ojowwalker77/chess_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" "+4797991aa2efb6d658150f10425b3f3b5d10eceb" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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:cf8efcab8866f2cf4285301c7418e2f4f2a9b088c91ba69c40d5b659f81557f7" "/opt/rustwide/cargo-home/bin/cargo" "+4797991aa2efb6d658150f10425b3f3b5d10eceb" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 375f4e4d2be0d06bd46a3711ae16df0a8cb3cb0680b1f1283605f3900152e20a [INFO] running `Command { std: "docker" "start" "-a" "375f4e4d2be0d06bd46a3711ae16df0a8cb3cb0680b1f1283605f3900152e20a", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "375f4e4d2be0d06bd46a3711ae16df0a8cb3cb0680b1f1283605f3900152e20a", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "375f4e4d2be0d06bd46a3711ae16df0a8cb3cb0680b1f1283605f3900152e20a", kill_on_drop: false }` [INFO] [stdout] 375f4e4d2be0d06bd46a3711ae16df0a8cb3cb0680b1f1283605f3900152e20a [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:cf8efcab8866f2cf4285301c7418e2f4f2a9b088c91ba69c40d5b659f81557f7" "/opt/rustwide/cargo-home/bin/cargo" "+4797991aa2efb6d658150f10425b3f3b5d10eceb" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 37d44650a340a2759da2cb31893a46d9b3de1a720ccb58e9c0216eca6feaa682 [INFO] running `Command { std: "docker" "start" "-a" "37d44650a340a2759da2cb31893a46d9b3de1a720ccb58e9c0216eca6feaa682", kill_on_drop: false }` [INFO] [stderr] Checking chess_engine v1.0.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused variable: `enemy_color` [INFO] [stdout] --> src/movegeneration.rs:104:9 [INFO] [stdout] | [INFO] [stdout] 104 | let enemy_color = color.opposite(); [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_enemy_color` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `position` [INFO] [stdout] --> src/movegeneration.rs:241:9 [INFO] [stdout] | [INFO] [stdout] 241 | let position = &game.position; [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_position` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `own_occupancy` [INFO] [stdout] --> src/movegeneration.rs:256:10 [INFO] [stdout] | [INFO] [stdout] 256 | let (own_occupancy, enemy_occupancy) = match piece.color { [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_own_occupancy` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `enemy_occupancy` [INFO] [stdout] --> src/movegeneration.rs:256:25 [INFO] [stdout] | [INFO] [stdout] 256 | let (own_occupancy, enemy_occupancy) = match piece.color { [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_enemy_occupancy` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `moves_looked_at` is assigned to, but never used [INFO] [stdout] --> src/movegeneration.rs:290:13 [INFO] [stdout] | [INFO] [stdout] 290 | let mut moves_looked_at = 0; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: consider using `_moves_looked_at` instead [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `own_occupancy` [INFO] [stdout] --> src/movegeneration.rs:326:10 [INFO] [stdout] | [INFO] [stdout] 326 | let (own_occupancy, enemy_occupancy) = match piece.color { [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_own_occupancy` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `rest` [INFO] [stdout] --> src/position.rs:301:31 [INFO] [stdout] | [INFO] [stdout] 301 | let (fullmove_number, rest) = split_on(rest, ' '); [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_rest` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `old_col` [INFO] [stdout] --> src/position.rs:388:23 [INFO] [stdout] | [INFO] [stdout] 388 | let (old_row, old_col) = rowcol(square_index); [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_old_col` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> src/position.rs:519:25 [INFO] [stdout] | [INFO] [stdout] 519 | for i in 0..number { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `not_alot` [INFO] [stdout] --> src/main.rs:53:9 [INFO] [stdout] | [INFO] [stdout] 53 | let not_alot = "8/8/8/4N3/8/8/8/8 w - - 0 1"; [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_not_alot` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `position`, `knight_attacks`, and `ray_attacks` are never read [INFO] [stdout] --> src/main.rs:14:5 [INFO] [stdout] | [INFO] [stdout] 13 | pub struct Game { [INFO] [stdout] | ---- fields in this struct [INFO] [stdout] 14 | position: Position, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 15 | knight_attacks: KnightAttacks, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 16 | ray_attacks: Rays, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `read_FEN`, `empty`, and `add` are never used [INFO] [stdout] --> src/main.rs:20:8 [INFO] [stdout] | [INFO] [stdout] 19 | impl Game { [INFO] [stdout] | --------- associated items in this implementation [INFO] [stdout] 20 | fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 29 | fn read_FEN(fen: &str) -> Self { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 37 | fn empty() -> Self { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 45 | fn add(mut self, piece_color: Color, piece_type: PieceType, square: &str) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/knightattacks.rs:5:26 [INFO] [stdout] | [INFO] [stdout] 5 | pub struct KnightAttacks(pub Vec); [INFO] [stdout] | ------------- ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this struct [INFO] [stdout] | [INFO] [stdout] = help: consider removing this field [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/knightattacks.rs:8:12 [INFO] [stdout] | [INFO] [stdout] 7 | impl KnightAttacks { [INFO] [stdout] | ------------------ associated function in this implementation [INFO] [stdout] 8 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `knight_attacks` is never used [INFO] [stdout] --> src/knightattacks.rs:22:4 [INFO] [stdout] | [INFO] [stdout] 22 | fn knight_attacks(row: i32, col: i32) -> Bitboard { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `generate_moves` is never used [INFO] [stdout] --> src/movegeneration.rs:9:4 [INFO] [stdout] | [INFO] [stdout] 9 | fn generate_moves(game: &Game) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `king_is_in_check` is never used [INFO] [stdout] --> src/movegeneration.rs:98:4 [INFO] [stdout] | [INFO] [stdout] 98 | fn king_is_in_check( [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `generate_knight_moves` is never used [INFO] [stdout] --> src/movegeneration.rs:188:4 [INFO] [stdout] | [INFO] [stdout] 188 | fn generate_knight_moves(piece: &Piece, game: &Game) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `generate_bishop_moves` is never used [INFO] [stdout] --> src/movegeneration.rs:239:4 [INFO] [stdout] | [INFO] [stdout] 239 | fn generate_bishop_moves(piece: &Piece, game: &Game) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `generate_rook_moves` is never used [INFO] [stdout] --> src/movegeneration.rs:252:4 [INFO] [stdout] | [INFO] [stdout] 252 | fn generate_rook_moves(piece: &Piece, game: &Game) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `generate_queen_moves` is never used [INFO] [stdout] --> src/movegeneration.rs:270:4 [INFO] [stdout] | [INFO] [stdout] 270 | fn generate_queen_moves(piece: &Piece, game: &Game) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `generate_king_moves` is never used [INFO] [stdout] --> src/movegeneration.rs:279:4 [INFO] [stdout] | [INFO] [stdout] 279 | fn generate_king_moves(piece: &Piece, game: &Game) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `generate_pawn_moves` is never used [INFO] [stdout] --> src/movegeneration.rs:321:4 [INFO] [stdout] | [INFO] [stdout] 321 | fn generate_pawn_moves(piece: &Piece, game: &Game) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `PawnAttacks` is never constructed [INFO] [stdout] --> src/pawnattacks.rs:4:12 [INFO] [stdout] | [INFO] [stdout] 4 | pub struct PawnAttacks { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `initialize` is never used [INFO] [stdout] --> src/pawnattacks.rs:12:8 [INFO] [stdout] | [INFO] [stdout] 11 | impl PawnAttacks { [INFO] [stdout] | ---------------- associated function in this implementation [INFO] [stdout] 12 | fn initialize() -> Self { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `forward_move` is never used [INFO] [stdout] --> src/pawnattacks.rs:43:4 [INFO] [stdout] | [INFO] [stdout] 43 | fn forward_move(row: i32, col: i32, color: Color) -> Bitboard { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `diagonal_move` is never used [INFO] [stdout] --> src/pawnattacks.rs:67:4 [INFO] [stdout] | [INFO] [stdout] 67 | fn diagonal_move(row: i32, col: i32, color: Color) -> Bitboard { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `bit_to_position` is never used [INFO] [stdout] --> src/position.rs:7:8 [INFO] [stdout] | [INFO] [stdout] 7 | pub fn bit_to_position(bit: PiecePosition) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `position_to_index` is never used [INFO] [stdout] --> src/position.rs:16:8 [INFO] [stdout] | [INFO] [stdout] 16 | pub fn position_to_index(position: &str) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `COL_MAP` is never used [INFO] [stdout] --> src/position.rs:70:8 [INFO] [stdout] | [INFO] [stdout] 70 | static COL_MAP: [char; 8] = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h']; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `index_to_position` is never used [INFO] [stdout] --> src/position.rs:72:8 [INFO] [stdout] | [INFO] [stdout] 72 | pub fn index_to_position(index: usize) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `opposite` is never used [INFO] [stdout] --> src/position.rs:86:12 [INFO] [stdout] | [INFO] [stdout] 85 | impl Color { [INFO] [stdout] | ---------- method in this implementation [INFO] [stdout] 86 | pub fn opposite(&self) -> Self { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/position.rs:168:8 [INFO] [stdout] | [INFO] [stdout] 167 | impl Position { [INFO] [stdout] | ------------- associated items in this implementation [INFO] [stdout] 168 | fn push_piece_and_square( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 192 | fn push_empty_square(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 196 | pub fn new() -> Position { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 221 | pub fn empty() -> Self { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 310 | pub fn count_pieces(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 314 | pub fn move_piece(self: &mut Self, piece_position: PiecePosition, new_position: usize) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 358 | fn has_pawn(&self, row: i32, col: i32) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 370 | pub fn take_en_passant( [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 405 | pub fn perform_promotion( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 448 | pub fn add(self: &mut Self, piece_color: Color, piece_type: PieceType, square: &str) { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `square_to_index` is never used [INFO] [stdout] --> src/position.rs:471:8 [INFO] [stdout] | [INFO] [stdout] 471 | pub fn square_to_index(square: &str) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple fields are never read [INFO] [stdout] --> src/rayattacks.rs:6:9 [INFO] [stdout] | [INFO] [stdout] 5 | pub struct Rays { [INFO] [stdout] | ---- fields in this struct [INFO] [stdout] 6 | pub n_rays: Vec, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 7 | pub e_rays: Vec, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 8 | pub nw_rays: Vec, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 9 | pub ne_rays: Vec, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 10 | pub w_rays: Vec, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 11 | pub s_rays: Vec, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 12 | pub sw_rays: Vec, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 13 | pub se_rays: Vec, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/rayattacks.rs:30:12 [INFO] [stdout] | [INFO] [stdout] 29 | impl Rays { [INFO] [stdout] | --------- associated function in this implementation [INFO] [stdout] 30 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `n_ray` is never used [INFO] [stdout] --> src/rayattacks.rs:66:13 [INFO] [stdout] | [INFO] [stdout] 66 | define_ray!(n_ray, |row, col, offset| (row + offset, col)); [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `define_ray` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `e_ray` is never used [INFO] [stdout] --> src/rayattacks.rs:67:13 [INFO] [stdout] | [INFO] [stdout] 67 | define_ray!(e_ray, |row, col, offset| (row, col + offset)); [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `define_ray` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `nw_ray` is never used [INFO] [stdout] --> src/rayattacks.rs:68:13 [INFO] [stdout] | [INFO] [stdout] 68 | define_ray!(nw_ray, |row, col, offset| (row + offset, col - offset)); [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `define_ray` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `ne_ray` is never used [INFO] [stdout] --> src/rayattacks.rs:69:13 [INFO] [stdout] | [INFO] [stdout] 69 | define_ray!(ne_ray, |row, col, offset| (row + offset, col + offset)); [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `define_ray` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `w_ray` is never used [INFO] [stdout] --> src/rayattacks.rs:70:13 [INFO] [stdout] | [INFO] [stdout] 70 | define_ray!(w_ray, |row, col, offset| (row, col - offset)); [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `define_ray` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `s_ray` is never used [INFO] [stdout] --> src/rayattacks.rs:71:13 [INFO] [stdout] | [INFO] [stdout] 71 | define_ray!(s_ray, |row, col, offset| (row - offset, col)); [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `define_ray` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `sw_ray` is never used [INFO] [stdout] --> src/rayattacks.rs:72:13 [INFO] [stdout] | [INFO] [stdout] 72 | define_ray!(sw_ray, |row, col, offset| (row - offset, col - offset)); [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `define_ray` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `se_ray` is never used [INFO] [stdout] --> src/rayattacks.rs:73:13 [INFO] [stdout] | [INFO] [stdout] 73 | define_ray!(se_ray, |row, col, offset| (row - offset, col + offset)); [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `define_ray` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `set_bit` is never used [INFO] [stdout] --> src/rayattacks.rs:75:4 [INFO] [stdout] | [INFO] [stdout] 75 | fn set_bit(bitboard: Bitboard, row_col: (i64, i64)) -> Bitboard { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `first_hit` is never used [INFO] [stdout] --> src/rayattacks.rs:84:4 [INFO] [stdout] | [INFO] [stdout] 84 | fn first_hit(ray: Bitboard, forward_ray: bool, occupancy: Bitboard) -> Option { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `blocked_ray_attack` is never used [INFO] [stdout] --> src/rayattacks.rs:97:8 [INFO] [stdout] | [INFO] [stdout] 97 | pub fn blocked_ray_attack( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `MOD67TABLE` is never used [INFO] [stdout] --> src/utils.rs:1:8 [INFO] [stdout] | [INFO] [stdout] 1 | static MOD67TABLE: [usize; 67] = [ [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `bit_scan` is never used [INFO] [stdout] --> src/utils.rs:7:8 [INFO] [stdout] | [INFO] [stdout] 7 | pub fn bit_scan(bit: u64) -> usize { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `bit_scan_backwards` is never used [INFO] [stdout] --> src/utils.rs:14:8 [INFO] [stdout] | [INFO] [stdout] 14 | pub fn bit_scan_backwards(bit: u64) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `extract_bits` is never used [INFO] [stdout] --> src/utils.rs:18:8 [INFO] [stdout] | [INFO] [stdout] 18 | pub fn extract_bits(mut bits: u64) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `index` is never used [INFO] [stdout] --> src/utils.rs:29:8 [INFO] [stdout] | [INFO] [stdout] 29 | pub fn index(row: i32, col: i32) -> Option { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `rowcol` is never used [INFO] [stdout] --> src/utils.rs:37:8 [INFO] [stdout] | [INFO] [stdout] 37 | pub fn rowcol(index: usize) -> (i32, i32) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `bitboard_to_string` is never used [INFO] [stdout] --> src/utils.rs:55:8 [INFO] [stdout] | [INFO] [stdout] 55 | pub fn bitboard_to_string(bitboard: Bitboard, mark: Option) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `print_bitboard` is never used [INFO] [stdout] --> src/utils.rs:88:8 [INFO] [stdout] | [INFO] [stdout] 88 | pub fn print_bitboard(bitboard: Bitboard, marker: Option) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `set_bit` is never used [INFO] [stdout] --> src/utils.rs:92:8 [INFO] [stdout] | [INFO] [stdout] 92 | pub fn set_bit(row: i32, col: i32) -> Bitboard { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `knight_attacks` [INFO] [stdout] --> src/knightattacks.rs:49:13 [INFO] [stdout] | [INFO] [stdout] 49 | let knight_attacks = KnightAttacks::new(); [INFO] [stdout] | ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_knight_attacks` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `enemy_color` [INFO] [stdout] --> src/movegeneration.rs:104:9 [INFO] [stdout] | [INFO] [stdout] 104 | let enemy_color = color.opposite(); [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_enemy_color` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `position` [INFO] [stdout] --> src/movegeneration.rs:241:9 [INFO] [stdout] | [INFO] [stdout] 241 | let position = &game.position; [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_position` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `own_occupancy` [INFO] [stdout] --> src/movegeneration.rs:256:10 [INFO] [stdout] | [INFO] [stdout] 256 | let (own_occupancy, enemy_occupancy) = match piece.color { [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_own_occupancy` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `enemy_occupancy` [INFO] [stdout] --> src/movegeneration.rs:256:25 [INFO] [stdout] | [INFO] [stdout] 256 | let (own_occupancy, enemy_occupancy) = match piece.color { [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_enemy_occupancy` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `moves_looked_at` is assigned to, but never used [INFO] [stdout] --> src/movegeneration.rs:290:13 [INFO] [stdout] | [INFO] [stdout] 290 | let mut moves_looked_at = 0; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: consider using `_moves_looked_at` instead [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `own_occupancy` [INFO] [stdout] --> src/movegeneration.rs:326:10 [INFO] [stdout] | [INFO] [stdout] 326 | let (own_occupancy, enemy_occupancy) = match piece.color { [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_own_occupancy` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `pawnattacks` [INFO] [stdout] --> src/pawnattacks.rs:237:13 [INFO] [stdout] | [INFO] [stdout] 237 | let pawnattacks = PawnAttacks::initialize(); [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pawnattacks` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `rest` [INFO] [stdout] --> src/position.rs:301:31 [INFO] [stdout] | [INFO] [stdout] 301 | let (fullmove_number, rest) = split_on(rest, ' '); [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_rest` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `old_col` [INFO] [stdout] --> src/position.rs:388:23 [INFO] [stdout] | [INFO] [stdout] 388 | let (old_row, old_col) = rowcol(square_index); [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_old_col` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> src/position.rs:519:25 [INFO] [stdout] | [INFO] [stdout] 519 | for i in 0..number { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> src/position.rs:565:13 [INFO] [stdout] | [INFO] [stdout] 565 | for i in 16..48 { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `position` [INFO] [stdout] --> src/position.rs:706:13 [INFO] [stdout] | [INFO] [stdout] 706 | let position = Position::empty(); [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_position` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `not_alot` [INFO] [stdout] --> src/main.rs:53:9 [INFO] [stdout] | [INFO] [stdout] 53 | let not_alot = "8/8/8/4N3/8/8/8/8 w - - 0 1"; [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_not_alot` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/main.rs:20:8 [INFO] [stdout] | [INFO] [stdout] 19 | impl Game { [INFO] [stdout] | --------- associated function in this implementation [INFO] [stdout] 20 | fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `white_forward_moves`, `white_diagonal_moves`, `black_forward_moves`, and `black_diagonal_moves` are never read [INFO] [stdout] --> src/pawnattacks.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 4 | pub struct PawnAttacks { [INFO] [stdout] | ----------- fields in this struct [INFO] [stdout] 5 | white_forward_moves: Vec, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 6 | white_diagonal_moves: Vec, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 7 | black_forward_moves: Vec, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 8 | black_diagonal_moves: Vec, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `bit_to_position` is never used [INFO] [stdout] --> src/position.rs:7:8 [INFO] [stdout] | [INFO] [stdout] 7 | pub fn bit_to_position(bit: PiecePosition) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `COL_MAP` is never used [INFO] [stdout] --> src/position.rs:70:8 [INFO] [stdout] | [INFO] [stdout] 70 | static COL_MAP: [char; 8] = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h']; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `index_to_position` is never used [INFO] [stdout] --> src/position.rs:72:8 [INFO] [stdout] | [INFO] [stdout] 72 | pub fn index_to_position(index: usize) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `bitboard_to_string` is never used [INFO] [stdout] --> src/utils.rs:55:8 [INFO] [stdout] | [INFO] [stdout] 55 | pub fn bitboard_to_string(bitboard: Bitboard, mark: Option) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `print_bitboard` is never used [INFO] [stdout] --> src/utils.rs:88:8 [INFO] [stdout] | [INFO] [stdout] 88 | pub fn print_bitboard(bitboard: Bitboard, marker: Option) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.48s [INFO] running `Command { std: "docker" "inspect" "37d44650a340a2759da2cb31893a46d9b3de1a720ccb58e9c0216eca6feaa682", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "37d44650a340a2759da2cb31893a46d9b3de1a720ccb58e9c0216eca6feaa682", kill_on_drop: false }` [INFO] [stdout] 37d44650a340a2759da2cb31893a46d9b3de1a720ccb58e9c0216eca6feaa682