[INFO] cloning repository https://github.com/pranav-bot/rust-chess-computer [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/pranav-bot/rust-chess-computer" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fpranav-bot%2Frust-chess-computer", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fpranav-bot%2Frust-chess-computer'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 75bd84fd78f09cfcbd150fca8ef999416fbfa595 [INFO] testing pranav-bot/rust-chess-computer against try#b83b707f97d809763b7861afa7638871f3339a33 for pr-145838-1 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fpranav-bot%2Frust-chess-computer" "/workspace/builds/worker-6-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc2/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/pranav-bot/rust-chess-computer [INFO] finished tweaking git repo https://github.com/pranav-bot/rust-chess-computer [INFO] tweaked toml for git repo https://github.com/pranav-bot/rust-chess-computer written to /workspace/builds/worker-6-tc2/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/pranav-bot/rust-chess-computer on toolchain b83b707f97d809763b7861afa7638871f3339a33 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b83b707f97d809763b7861afa7638871f3339a33" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/pranav-bot/rust-chess-computer 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" "+b83b707f97d809763b7861afa7638871f3339a33" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [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:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+b83b707f97d809763b7861afa7638871f3339a33" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 349a06e38159c3b80decf1c515bb111554f926b5554de842a5c0601ccf82cefc [INFO] running `Command { std: "docker" "start" "-a" "349a06e38159c3b80decf1c515bb111554f926b5554de842a5c0601ccf82cefc", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "349a06e38159c3b80decf1c515bb111554f926b5554de842a5c0601ccf82cefc", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "349a06e38159c3b80decf1c515bb111554f926b5554de842a5c0601ccf82cefc", kill_on_drop: false }` [INFO] [stdout] 349a06e38159c3b80decf1c515bb111554f926b5554de842a5c0601ccf82cefc [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:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+b83b707f97d809763b7861afa7638871f3339a33" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] e4fa1860903e0e7a1f91fac11097111a35d8dc12ff8e35d26a0aca6034630b56 [INFO] running `Command { std: "docker" "start" "-a" "e4fa1860903e0e7a1f91fac11097111a35d8dc12ff8e35d26a0aca6034630b56", kill_on_drop: false }` [INFO] [stderr] Compiling bitflags v2.5.0 [INFO] [stderr] Compiling rust-chess-computer v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `print_bitboard_to_string` [INFO] [stdout] --> src/rayattacks.rs:1:62 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::utils::{_bit_scan, _bit_scan_backwards, BitBoard, print_bitboard_to_string, set_bit_ray}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `print_bitboard` [INFO] [stdout] --> src/knightattacks.rs:1:39 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::utils::{BitBoard, set_bit, print_bitboard}; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `fen_string` [INFO] [stdout] --> src/main.rs:36:9 [INFO] [stdout] | [INFO] [stdout] 36 | let fen_string = "rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR w KQkq - 0 1"; [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_fen_string` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `not_alot` [INFO] [stdout] --> src/main.rs:37:9 [INFO] [stdout] | [INFO] [stdout] 37 | let not_alot = "5k2/8/8/4N3/8/8/8/5K2 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` and `knight_attacks` are never read [INFO] [stdout] --> src/main.rs:16:5 [INFO] [stdout] | [INFO] [stdout] 15 | pub struct Game { [INFO] [stdout] | ---- fields in this struct [INFO] [stdout] 16 | position: Position, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 17 | knight_attacks: KnightAttacks [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Game` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `new` and `read_fen` are never used [INFO] [stdout] --> src/main.rs:21:8 [INFO] [stdout] | [INFO] [stdout] 20 | impl Game { [INFO] [stdout] | --------- associated functions in this implementation [INFO] [stdout] 21 | fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 27 | fn read_fen(fen: &str) -> Self { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `bit_to_position` is never used [INFO] [stdout] --> src/position.rs:8:4 [INFO] [stdout] | [INFO] [stdout] 8 | 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:43:8 [INFO] [stdout] | [INFO] [stdout] 43 | 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:45:4 [INFO] [stdout] | [INFO] [stdout] 45 | fn index_to_position(index: usize) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `push_piece_and_square`, `push_empty_square`, `new`, and `move_piece` are never used [INFO] [stdout] --> src/position.rs:130:8 [INFO] [stdout] | [INFO] [stdout] 128 | impl Position { [INFO] [stdout] | ------------- associated items in this implementation [INFO] [stdout] 129 | [INFO] [stdout] 130 | fn push_piece_and_square(&mut self, position: usize, color: Color, piece_type: PieceType, index: &mut usize) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 141 | fn push_empty_square(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 145 | pub fn new() -> Position { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 246 | pub fn move_piece(self: &mut Self, piece_position: BitBoard, new_position: usize) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `extract_bits` is never used [INFO] [stdout] --> src/utils.rs:22:8 [INFO] [stdout] | [INFO] [stdout] 22 | pub fn extract_bits(mut bits: u64) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `print_bitboard_to_string` is never used [INFO] [stdout] --> src/utils.rs:53:8 [INFO] [stdout] | [INFO] [stdout] 53 | pub fn print_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:81:8 [INFO] [stdout] | [INFO] [stdout] 81 | pub fn print_bitboard(bitboard: BitBoard, marker: Option) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `set_bit_ray` is never used [INFO] [stdout] --> src/utils.rs:85:8 [INFO] [stdout] | [INFO] [stdout] 85 | pub fn set_bit_ray(bitboard: BitBoard, row_col: (i64, i64)) -> BitBoard { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `set_bit` is never used [INFO] [stdout] --> src/utils.rs:94:8 [INFO] [stdout] | [INFO] [stdout] 94 | pub fn set_bit( row: i32, col: i32) -> BitBoard { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Rays` is never constructed [INFO] [stdout] --> src/rayattacks.rs:3:12 [INFO] [stdout] | [INFO] [stdout] 3 | pub struct Rays { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `n_ray` is never used [INFO] [stdout] --> src/rayattacks.rs:39:13 [INFO] [stdout] | [INFO] [stdout] 39 | 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:40:13 [INFO] [stdout] | [INFO] [stdout] 40 | 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:41:13 [INFO] [stdout] | [INFO] [stdout] 41 | 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:42:13 [INFO] [stdout] | [INFO] [stdout] 42 | 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:43:13 [INFO] [stdout] | [INFO] [stdout] 43 | 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:44:13 [INFO] [stdout] | [INFO] [stdout] 44 | 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:45:13 [INFO] [stdout] | [INFO] [stdout] 45 | 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:46:13 [INFO] [stdout] | [INFO] [stdout] 46 | 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: associated function `initialize` is never used [INFO] [stdout] --> src/rayattacks.rs:49:8 [INFO] [stdout] | [INFO] [stdout] 48 | impl Rays { [INFO] [stdout] | --------- associated function in this implementation [INFO] [stdout] 49 | fn initialize() -> Self { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `blocked_ray_attack` is never used [INFO] [stdout] --> src/rayattacks.rs:71:4 [INFO] [stdout] | [INFO] [stdout] 71 | fn blocked_ray_attack(ray: BitBoard, ray_family: &Vec, forward_ray: bool, occupancy: BitBoard) -> BitBoard { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/knightattacks.rs:4:26 [INFO] [stdout] | [INFO] [stdout] 4 | 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] = note: `KnightAttacks` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/knightattacks.rs:7:12 [INFO] [stdout] | [INFO] [stdout] 6 | impl KnightAttacks { [INFO] [stdout] | ------------------ associated function in this implementation [INFO] [stdout] 7 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `knight_attacks` is never used [INFO] [stdout] --> src/knightattacks.rs:20:4 [INFO] [stdout] | [INFO] [stdout] 20 | fn knight_attacks(row: i32, col: i32) -> BitBoard { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `PawnAttacks` is never constructed [INFO] [stdout] --> src/pawnattacks.rs:5:12 [INFO] [stdout] | [INFO] [stdout] 5 | pub struct PawnAttacks { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `initialize` is never used [INFO] [stdout] --> src/pawnattacks.rs:13:8 [INFO] [stdout] | [INFO] [stdout] 12 | impl PawnAttacks { [INFO] [stdout] | ---------------- associated function in this implementation [INFO] [stdout] 13 | fn initialize() -> Self { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `forward_move` is never used [INFO] [stdout] --> src/pawnattacks.rs:49:4 [INFO] [stdout] | [INFO] [stdout] 49 | 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:74:4 [INFO] [stdout] | [INFO] [stdout] 74 | fn diagonal_move(row: i32, col: i32, color: Color) -> BitBoard { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `generate_moves` is never used [INFO] [stdout] --> src/movegeneration.rs:3:4 [INFO] [stdout] | [INFO] [stdout] 3 | fn generate_moves(game: &Game) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `generate_knight_moves` is never used [INFO] [stdout] --> src/movegeneration.rs:19:4 [INFO] [stdout] | [INFO] [stdout] 19 | fn generate_knight_moves(piece: &Piece, game: &Game) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused comparison that must be used [INFO] [stdout] --> src/position.rs:135:30 [INFO] [stdout] | [INFO] [stdout] 135 | Color::Black => {self.black_occupancy != bitboard;}, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the comparison produces a value [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 135 | Color::Black => {let _ = self.black_occupancy != bitboard;}, [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused comparison that must be used [INFO] [stdout] --> src/position.rs:136:30 [INFO] [stdout] | [INFO] [stdout] 136 | Color::White => {self.white_occupancy != bitboard;} [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the comparison produces a value [INFO] [stdout] | [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 136 | Color::White => {let _ = self.white_occupancy != bitboard;} [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.61s [INFO] running `Command { std: "docker" "inspect" "e4fa1860903e0e7a1f91fac11097111a35d8dc12ff8e35d26a0aca6034630b56", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "e4fa1860903e0e7a1f91fac11097111a35d8dc12ff8e35d26a0aca6034630b56", kill_on_drop: false }` [INFO] [stdout] e4fa1860903e0e7a1f91fac11097111a35d8dc12ff8e35d26a0aca6034630b56 [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:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+b83b707f97d809763b7861afa7638871f3339a33" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 865ca76bd5d8fee603073eac24a8c3f2729b54f50304fc14614c048412608b98 [INFO] running `Command { std: "docker" "start" "-a" "865ca76bd5d8fee603073eac24a8c3f2729b54f50304fc14614c048412608b98", kill_on_drop: false }` [INFO] [stderr] Compiling rust-chess-computer v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused variable: `knight_attacks` [INFO] [stdout] --> src/knightattacks.rs:40:13 [INFO] [stdout] | [INFO] [stdout] 40 | 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)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `pawn_attacks` [INFO] [stdout] --> src/pawnattacks.rs:238:17 [INFO] [stdout] | [INFO] [stdout] 238 | let pawn_attacks = PawnAttacks::initialize(); [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pawn_attacks` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `fen_string` [INFO] [stdout] --> src/main.rs:36:9 [INFO] [stdout] | [INFO] [stdout] 36 | let fen_string = "rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR w KQkq - 0 1"; [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_fen_string` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `not_alot` [INFO] [stdout] --> src/main.rs:37:9 [INFO] [stdout] | [INFO] [stdout] 37 | let not_alot = "5k2/8/8/4N3/8/8/8/5K2 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:21:8 [INFO] [stdout] | [INFO] [stdout] 20 | impl Game { [INFO] [stdout] | --------- associated function in this implementation [INFO] [stdout] 21 | fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `bit_to_position` is never used [INFO] [stdout] --> src/position.rs:8:4 [INFO] [stdout] | [INFO] [stdout] 8 | 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:43:8 [INFO] [stdout] | [INFO] [stdout] 43 | 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:45:4 [INFO] [stdout] | [INFO] [stdout] 45 | fn index_to_position(index: usize) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [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:6:5 [INFO] [stdout] | [INFO] [stdout] 5 | pub struct PawnAttacks { [INFO] [stdout] | ----------- fields in this struct [INFO] [stdout] 6 | white_forward_moves: Vec, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 7 | white_diagonal_moves: Vec, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 8 | black_forward_moves: Vec, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 9 | black_diagonal_moves: Vec [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `generate_moves` is never used [INFO] [stdout] --> src/movegeneration.rs:3:4 [INFO] [stdout] | [INFO] [stdout] 3 | fn generate_moves(game: &Game) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused comparison that must be used [INFO] [stdout] --> src/position.rs:135:30 [INFO] [stdout] | [INFO] [stdout] 135 | Color::Black => {self.black_occupancy != bitboard;}, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the comparison produces a value [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 135 | Color::Black => {let _ = self.black_occupancy != bitboard;}, [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused comparison that must be used [INFO] [stdout] --> src/position.rs:136:30 [INFO] [stdout] | [INFO] [stdout] 136 | Color::White => {self.white_occupancy != bitboard;} [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the comparison produces a value [INFO] [stdout] | [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 136 | Color::White => {let _ = self.white_occupancy != bitboard;} [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.70s [INFO] running `Command { std: "docker" "inspect" "865ca76bd5d8fee603073eac24a8c3f2729b54f50304fc14614c048412608b98", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "865ca76bd5d8fee603073eac24a8c3f2729b54f50304fc14614c048412608b98", kill_on_drop: false }` [INFO] [stdout] 865ca76bd5d8fee603073eac24a8c3f2729b54f50304fc14614c048412608b98 [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:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+b83b707f97d809763b7861afa7638871f3339a33" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] e38d91a35ab9e7b4a94d1813f7e2ad4eb3a8340e4fc91c289031cf25a8f28984 [INFO] running `Command { std: "docker" "start" "-a" "e38d91a35ab9e7b4a94d1813f7e2ad4eb3a8340e4fc91c289031cf25a8f28984", kill_on_drop: false }` [INFO] [stderr] warning: unused variable: `knight_attacks` [INFO] [stderr] --> src/knightattacks.rs:40:13 [INFO] [stderr] | [INFO] [stderr] 40 | let knight_attacks = KnightAttacks::new(); [INFO] [stderr] | ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_knight_attacks` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `pawn_attacks` [INFO] [stderr] --> src/pawnattacks.rs:238:17 [INFO] [stderr] | [INFO] [stderr] 238 | let pawn_attacks = PawnAttacks::initialize(); [INFO] [stderr] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pawn_attacks` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `fen_string` [INFO] [stderr] --> src/main.rs:36:9 [INFO] [stderr] | [INFO] [stderr] 36 | let fen_string = "rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR w KQkq - 0 1"; [INFO] [stderr] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_fen_string` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `not_alot` [INFO] [stderr] --> src/main.rs:37:9 [INFO] [stderr] | [INFO] [stderr] 37 | let not_alot = "5k2/8/8/4N3/8/8/8/5K2 w - - 0 1"; [INFO] [stderr] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_not_alot` [INFO] [stderr] [INFO] [stderr] warning: associated function `new` is never used [INFO] [stderr] --> src/main.rs:21:8 [INFO] [stderr] | [INFO] [stderr] 20 | impl Game { [INFO] [stderr] | --------- associated function in this implementation [INFO] [stderr] 21 | fn new() -> Self { [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: function `bit_to_position` is never used [INFO] [stderr] --> src/position.rs:8:4 [INFO] [stderr] | [INFO] [stderr] 8 | fn bit_to_position(bit: PiecePosition) -> Result{ [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: static `COL_MAP` is never used [INFO] [stderr] --> src/position.rs:43:8 [INFO] [stderr] | [INFO] [stderr] 43 | static COL_MAP: [char;8] = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h']; [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `index_to_position` is never used [INFO] [stderr] --> src/position.rs:45:4 [INFO] [stderr] | [INFO] [stderr] 45 | fn index_to_position(index: usize) -> String { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: fields `white_forward_moves`, `white_diagonal_moves`, `black_forward_moves`, and `black_diagonal_moves` are never read [INFO] [stderr] --> src/pawnattacks.rs:6:5 [INFO] [stderr] | [INFO] [stderr] 5 | pub struct PawnAttacks { [INFO] [stderr] | ----------- fields in this struct [INFO] [stderr] 6 | white_forward_moves: Vec, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] 7 | white_diagonal_moves: Vec, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] 8 | black_forward_moves: Vec, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] 9 | black_diagonal_moves: Vec [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `generate_moves` is never used [INFO] [stderr] --> src/movegeneration.rs:3:4 [INFO] [stderr] | [INFO] [stderr] 3 | fn generate_moves(game: &Game) -> Vec { [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused comparison that must be used [INFO] [stderr] --> src/position.rs:135:30 [INFO] [stderr] | [INFO] [stderr] 135 | Color::Black => {self.black_occupancy != bitboard;}, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the comparison produces a value [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 135 | Color::Black => {let _ = self.black_occupancy != bitboard;}, [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: unused comparison that must be used [INFO] [stderr] --> src/position.rs:136:30 [INFO] [stderr] | [INFO] [stderr] 136 | Color::White => {self.white_occupancy != bitboard;} [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the comparison produces a value [INFO] [stderr] | [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 136 | Color::White => {let _ = self.white_occupancy != bitboard;} [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: `rust-chess-computer` (bin "rust-chess-computer" test) generated 12 warnings [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.02s [INFO] [stderr] Running unittests src/main.rs (/opt/rustwide/target/debug/deps/rust_chess_computer-db7eace7956fc1fb) [INFO] [stdout] [INFO] [stdout] running 39 tests [INFO] [stdout] test knightattacks::tests::print_knight_attacks ... ok [INFO] [stdout] test knightattacks::tests::test_knight_attacks_can_initialize ... ok [INFO] [stdout] test movegeneration::tests::generate_three_knight_moves_one_black_test ... ok [INFO] [stdout] test movegeneration::tests::generate_knight_moves_test ... ok [INFO] [stdout] test movegeneration::tests::generate_three_knight_moves_test ... ok [INFO] [stdout] test movegeneration::tests::generate_three_knight_moves_two_black_test ... ok [INFO] [stdout] test pawnattacks::tests::test_daigonal_edge_black ... ok [INFO] [stdout] test pawnattacks::tests::test_daigonal_edge_white ... ok [INFO] [stdout] test pawnattacks::tests::test_diagonal_blac ... ok [INFO] [stdout] test pawnattacks::tests::test_diagonal_white ... ok [INFO] [stdout] test pawnattacks::tests::test_edges ... ok [INFO] [stdout] test pawnattacks::tests::test_middle_rows_black_pawn ... ok [INFO] [stdout] test pawnattacks::tests::test_middle_rows_white_pawn ... ok [INFO] [stdout] test pawnattacks::tests::test_pawn_attacks_init ... ok [INFO] [stdout] test pawnattacks::tests::test_seccond_row_black_pawn ... ok [INFO] [stdout] test pawnattacks::tests::test_seccond_row_white_pawn ... ok [INFO] [stdout] test position::test::read_fen_black_active ... ok [INFO] [stdout] test position::test::read_all_possible_castling_rights ... ok [INFO] [stdout] test position::test::read_initial_position ... ok [INFO] [stdout] test position::test::read_fen_no_castling ... ok [INFO] [stdout] test position::test::read_fen_en_passant_allowed ... ok [INFO] [stdout] test position::test::test_move_piece ... ok [INFO] [stdout] test rayattacks::tests::make_n_ray ... ok [INFO] [stdout] test rayattacks::tests::make_s_ray ... ok [INFO] [stdout] test rayattacks::tests::make_sw_ray ... ok [INFO] [stdout] test rayattacks::tests::make_nw_ray ... ok [INFO] [stdout] test position::test::read_fen_moveclocks ... ok [INFO] [stdout] test utils::tests::test_bit_scan_backwards_with_multiple_bits ... ok [INFO] [stdout] test rayattacks::tests::make_se_ray ... ok [INFO] [stdout] test rayattacks::tests::make_w_ray ... ok [INFO] [stdout] test position::test::test_occupancy_start_position ... ok [INFO] [stdout] test rayattacks::tests::make_ne_ray ... ok [INFO] [stdout] test rayattacks::tests::make_e_ray ... ok [INFO] [stdout] test utils::tests::bit_scan_works ... ok [INFO] [stdout] test utils::tests::split_on_space_works ... ok [INFO] [stdout] test rayattacks::tests::test_blocked_ray ... ok [INFO] [stdout] test utils::tests::test_extract_bits ... ok [INFO] [stdout] test utils::tests::split_on_ascii_works ... ok [INFO] [stdout] test utils::tests::test_bit_scan_with_multiple_bits ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 39 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "e38d91a35ab9e7b4a94d1813f7e2ad4eb3a8340e4fc91c289031cf25a8f28984", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "e38d91a35ab9e7b4a94d1813f7e2ad4eb3a8340e4fc91c289031cf25a8f28984", kill_on_drop: false }` [INFO] [stdout] e38d91a35ab9e7b4a94d1813f7e2ad4eb3a8340e4fc91c289031cf25a8f28984