[INFO] cloning repository https://github.com/jojo2504/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/jojo2504/chess-engine" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjojo2504%2Fchess-engine", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjojo2504%2Fchess-engine'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 1cc96f24fa4dc953b3fcd3670d12fb50b2a27d61
[INFO] testing jojo2504/chess-engine against master#2fd6efc32704647e64d3d646d21c4c68eae100e4 for pr-149852-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjojo2504%2Fchess-engine" "/workspace/builds/worker-2-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/jojo2504/chess-engine
[INFO] removed 0 missing tests
[INFO] finished tweaking git repo https://github.com/jojo2504/chess-engine
[INFO] tweaked toml for git repo https://github.com/jojo2504/chess-engine written to /workspace/builds/worker-2-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/jojo2504/chess-engine on toolchain 2fd6efc32704647e64d3d646d21c4c68eae100e4
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+2fd6efc32704647e64d3d646d21c4c68eae100e4" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/jojo2504/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" "+2fd6efc32704647e64d3d646d21c4c68eae100e4" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded zmij v1.0.1
[INFO] [stderr]   Downloaded stats_alloc v0.1.10
[INFO] [stderr]   Downloaded tinytemplate v1.2.1
[INFO] [stderr]   Downloaded plotters-svg v0.3.7
[INFO] [stderr]   Downloaded alloca v0.4.0
[INFO] [stderr]   Downloaded ciborium-io v0.2.2
[INFO] [stderr]   Downloaded page_size v0.6.0
[INFO] [stderr]   Downloaded proc-macro2 v1.0.104
[INFO] [stderr]   Downloaded plotters-backend v0.3.7
[INFO] [stderr]   Downloaded cast v0.3.0
[INFO] [stderr]   Downloaded anes v0.1.6
[INFO] [stderr]   Downloaded find-msvc-tools v0.1.6
[INFO] [stderr]   Downloaded ciborium-ll v0.2.2
[INFO] [stderr]   Downloaded oorandom v11.1.5
[INFO] [stderr]   Downloaded console v0.16.2
[INFO] [stderr]   Downloaded ciborium v0.2.2
[INFO] [stderr]   Downloaded criterion-plot v0.8.1
[INFO] [stderr]   Downloaded zerocopy-derive v0.8.31
[INFO] [stderr]   Downloaded cc v1.2.51
[INFO] [stderr]   Downloaded serde_json v1.0.148
[INFO] [stderr]   Downloaded criterion v0.8.1
[INFO] [stderr]   Downloaded plotters v0.3.7
[INFO] [stderr]   Downloaded zerocopy v0.8.31
[INFO] [stderr]   Downloaded web-sys v0.3.83
[INFO] [stderr]   Downloaded libc v0.2.178
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+2fd6efc32704647e64d3d646d21c4c68eae100e4" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 53a933aa9ef30434fecf18410032e375d4ad02eee3849c9d4bcdf50d82bb8baa
[INFO] running `Command { std: "docker" "start" "-a" "53a933aa9ef30434fecf18410032e375d4ad02eee3849c9d4bcdf50d82bb8baa", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "53a933aa9ef30434fecf18410032e375d4ad02eee3849c9d4bcdf50d82bb8baa", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "53a933aa9ef30434fecf18410032e375d4ad02eee3849c9d4bcdf50d82bb8baa", kill_on_drop: false }`
[INFO] [stdout] 53a933aa9ef30434fecf18410032e375d4ad02eee3849c9d4bcdf50d82bb8baa
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+2fd6efc32704647e64d3d646d21c4c68eae100e4" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] f152f24e2de53f5b8058cf0c0939facecf7c1fb89135592873ffde22cbb69ff3
[INFO] running `Command { std: "docker" "start" "-a" "f152f24e2de53f5b8058cf0c0939facecf7c1fb89135592873ffde22cbb69ff3", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.178
[INFO] [stderr]    Compiling proc-macro2 v1.0.104
[INFO] [stderr]    Compiling quote v1.0.42
[INFO] [stderr]    Compiling zerocopy v0.8.31
[INFO] [stderr]    Compiling getrandom v0.3.4
[INFO] [stderr]    Compiling zmij v1.0.1
[INFO] [stderr]    Compiling serde_json v1.0.148
[INFO] [stderr]    Compiling unicode-width v0.2.2
[INFO] [stderr]    Compiling memchr v2.7.6
[INFO] [stderr]    Compiling lazy_static v1.5.0
[INFO] [stderr]    Compiling stats_alloc v0.1.10
[INFO] [stderr]    Compiling syn v2.0.111
[INFO] [stderr]    Compiling console v0.16.2
[INFO] [stderr]    Compiling rand_core v0.9.3
[INFO] [stderr]    Compiling ppv-lite86 v0.2.21
[INFO] [stderr]    Compiling rand_chacha v0.9.0
[INFO] [stderr]    Compiling rand v0.9.2
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling chess-engine v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]    --> src/engine/models/board.rs:403:16
[INFO] [stdout]     |
[INFO] [stdout] 403 |             Ok(value) => {
[INFO] [stdout]     |                ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `Rank` is more private than the item `Square::rank`
[INFO] [stdout]    --> src/engine/models/board.rs:242:5
[INFO] [stdout]     |
[INFO] [stdout] 242 |     pub fn rank(self) -> Rank {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^ method `Square::rank` is reachable at visibility `pub`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `Rank` is only usable at visibility `pub(crate)`
[INFO] [stdout]    --> src/engine/models/board.rs:15:1
[INFO] [stdout]     |
[INFO] [stdout]  15 | pub(crate) enum Rank {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#[warn(private_interfaces)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `compute_possible_attacks` is never used
[INFO] [stdout]    --> src/engine/models/piece.rs:135:19
[INFO] [stdout]     |
[INFO] [stdout]  84 | impl Pawn {
[INFO] [stdout]     | --------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 135 |     pub(crate) fn compute_possible_attacks(location: u64, chessboard: &Chessboard, turn_color: Color) -> u64 {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated constants `WHITE_CASTLING_MASK` and `BLACK_CASTLING_MASK` are never used
[INFO] [stdout]    --> src/engine/models/piece.rs:508:22
[INFO] [stdout]     |
[INFO] [stdout] 507 | impl Rook {
[INFO] [stdout]     | --------- associated constants in this implementation
[INFO] [stdout] 508 |     pub(crate) const WHITE_CASTLING_MASK: u64 = 0x81;  // A1 | H1
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 509 |     pub(crate) const BLACK_CASTLING_MASK: u64 = 0x8100000000000000; // A8 | H8
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `clear` is never used
[INFO] [stdout]   --> src/engine/models/board.rs:36:19
[INFO] [stdout]    |
[INFO] [stdout] 19 | impl Rank {
[INFO] [stdout]    | --------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 36 |     pub(crate) fn clear(self) -> u64 {
[INFO] [stdout]    |                   ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `EMPTY` and `FULL` are never constructed
[INFO] [stdout]    --> src/engine/models/board.rs:189:5
[INFO] [stdout]     |
[INFO] [stdout] 187 | pub(crate) enum Board {
[INFO] [stdout]     |                 ----- variants in this enum
[INFO] [stdout] 188 |     /// Constant value to a empty board (only `0`s).
[INFO] [stdout] 189 |     EMPTY = 0u64,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 190 |     /// Constant value to a full board (only `1`s).
[INFO] [stdout] 191 |     FULL = u64::MAX
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `get_corner_mask` is never used
[INFO] [stdout]    --> src/engine/models/board.rs:201:19
[INFO] [stdout]     |
[INFO] [stdout] 194 | impl Board {
[INFO] [stdout]     | ---------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 201 |     pub(crate) fn get_corner_mask() -> u64 {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `set_piece` is never used
[INFO] [stdout]    --> src/engine/models/board.rs:486:19
[INFO] [stdout]     |
[INFO] [stdout] 330 | impl Chessboard {
[INFO] [stdout]     | --------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 486 |     pub(crate) fn set_piece(&mut self, color: Color, piece: Piece, bitboard: u64) {
[INFO] [stdout]     |                   ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `get_ucis` is never used
[INFO] [stdout]    --> src/engine/models/move.rs:198:19
[INFO] [stdout]     |
[INFO] [stdout] 102 | impl Move {
[INFO] [stdout]     | --------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 198 |     pub(crate) fn get_ucis() -> Vec<String> {
[INFO] [stdout]     |                   ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] note: the lint level is defined here
[INFO] [stdout]    --> src/engine/models/move.rs:1:23
[INFO] [stdout]     |
[INFO] [stdout]   1 | #![warn(missing_docs, dead_code)]
[INFO] [stdout]     |                       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Zobrist` is never constructed
[INFO] [stdout]  --> src/engine/models/zobrist.rs:5:8
[INFO] [stdout]   |
[INFO] [stdout] 5 | struct Zobrist {
[INFO] [stdout]   |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `compute_castling_rights_hash` and `get_piece_square_index` are never used
[INFO] [stdout]   --> src/engine/models/zobrist.rs:37:12
[INFO] [stdout]    |
[INFO] [stdout] 36 | impl Zobrist {
[INFO] [stdout]    | ------------ associated functions in this implementation
[INFO] [stdout] 37 |     pub fn compute_castling_rights_hash(state: State) -> u64 {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 56 |     pub fn get_piece_square_index(color: Color, piece: Piece, square: u8) -> usize {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `zobrist` is never used
[INFO] [stdout]   --> src/engine/models/zobrist.rs:62:4
[INFO] [stdout]    |
[INFO] [stdout] 62 | fn zobrist() -> &'static Zobrist {
[INFO] [stdout]    |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `square` is never read
[INFO] [stdout]   --> src/engine/magic/magic.rs:14:16
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub(crate) struct Magic {
[INFO] [stdout]    |                   ----- field in this struct
[INFO] [stdout] 13 |     /// Square the piece is on during the move-bitboard generation technique.
[INFO] [stdout] 14 |     pub(crate) square: Square,
[INFO] [stdout]    |                ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Magic` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] note: the lint level is defined here
[INFO] [stdout]   --> src/engine/magic/magic.rs:1:23
[INFO] [stdout]    |
[INFO] [stdout]  1 | #![warn(missing_docs, dead_code)]
[INFO] [stdout]    |                       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/lib.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 |     console::Term::stdout().read_char();
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[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] 11 |     let _ = console::Term::stdout().read_char();
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/engine/models/state.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 25 |     pub fn can_white_king_castle(&self) -> bool {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] note: the lint level is defined here
[INFO] [stdout]   --> src/engine/models/state.rs:1:9
[INFO] [stdout]    |
[INFO] [stdout]  1 | #![warn(missing_docs, dead_code)]
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/engine/models/state.rs:30:5
[INFO] [stdout]    |
[INFO] [stdout] 30 |     pub fn can_white_queen_castle(&self) -> bool {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/engine/models/state.rs:35:5
[INFO] [stdout]    |
[INFO] [stdout] 35 |     pub fn can_black_king_castle(&self) -> bool {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/engine/models/state.rs:40:5
[INFO] [stdout]    |
[INFO] [stdout] 40 |     pub fn can_black_queen_castle(&self) -> bool {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a type alias
[INFO] [stdout]  --> src/engine/engine.rs:7:1
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub type UciInput<'a> = Lines<StdinLock<'a>>;
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout] note: the lint level is defined here
[INFO] [stdout]  --> src/engine/engine.rs:1:9
[INFO] [stdout]   |
[INFO] [stdout] 1 | #![warn(missing_docs, dead_code)]
[INFO] [stdout]   |         ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]    --> src/engine/engine.rs:120:5
[INFO] [stdout]     |
[INFO] [stdout] 120 |     pub fn play_against_player(&mut self) {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]    --> src/engine/engine.rs:224:1
[INFO] [stdout]     |
[INFO] [stdout] 224 | pub struct EngineBuilder {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an associated function
[INFO] [stdout]    --> src/engine/engine.rs:230:5
[INFO] [stdout]     |
[INFO] [stdout] 230 |     pub fn new() -> Self {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]    --> src/engine/engine.rs:234:5
[INFO] [stdout]     |
[INFO] [stdout] 234 |     pub fn default_fen(mut self) -> Self {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]    --> src/engine/engine.rs:239:5
[INFO] [stdout]     |
[INFO] [stdout] 239 |     pub fn from_fen(mut self, fen: &str) -> Result<Self, &str> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]    --> src/engine/engine.rs:244:5
[INFO] [stdout]     |
[INFO] [stdout] 244 |     pub fn search(mut self, depth: i32) -> Self {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]    --> src/engine/engine.rs:249:5
[INFO] [stdout]     |
[INFO] [stdout] 249 |     pub fn build(self, ) -> Result<Engine<NotConnected>, String> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for the crate
[INFO] [stdout]   --> src/main.rs:1:1
[INFO] [stdout]    |
[INFO] [stdout]  1 | / #![warn(missing_docs, dead_code)]
[INFO] [stdout]  2 | | #![warn(unused_imports, unused_mut)]
[INFO] [stdout]  3 | | #![warn(clippy::missing_docs_in_private_items)]
[INFO] [stdout]  4 | | #![deny(clippy::unwrap_used, clippy::expect_used)]
[INFO] [stdout] ...  |
[INFO] [stdout] 39 | |     Ok(())
[INFO] [stdout] 40 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout] note: the lint level is defined here
[INFO] [stdout]   --> src/main.rs:1:9
[INFO] [stdout]    |
[INFO] [stdout]  1 | #![warn(missing_docs, dead_code)]
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 19.29s
[INFO] running `Command { std: "docker" "inspect" "f152f24e2de53f5b8058cf0c0939facecf7c1fb89135592873ffde22cbb69ff3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "f152f24e2de53f5b8058cf0c0939facecf7c1fb89135592873ffde22cbb69ff3", kill_on_drop: false }`
[INFO] [stdout] f152f24e2de53f5b8058cf0c0939facecf7c1fb89135592873ffde22cbb69ff3
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+2fd6efc32704647e64d3d646d21c4c68eae100e4" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 27435ae6b24d8bd19ff8b74871fffe291a81e1184fafa145c120f54fe26f605e
[INFO] running `Command { std: "docker" "start" "-a" "27435ae6b24d8bd19ff8b74871fffe291a81e1184fafa145c120f54fe26f605e", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.104
[INFO] [stderr]    Compiling quote v1.0.42
[INFO] [stderr]    Compiling zerocopy v0.8.31
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling either v1.15.0
[INFO] [stderr]    Compiling find-msvc-tools v0.1.6
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling ciborium-io v0.2.2
[INFO] [stderr]    Compiling cc v1.2.51
[INFO] [stderr]    Compiling rayon v1.11.0
[INFO] [stderr]    Compiling plotters-backend v0.3.7
[INFO] [stderr]    Compiling regex-syntax v0.8.8
[INFO] [stderr]    Compiling anstyle v1.0.13
[INFO] [stderr]    Compiling clap_lex v0.7.6
[INFO] [stderr]    Compiling plotters-svg v0.3.7
[INFO] [stderr]    Compiling clap_builder v4.5.53
[INFO] [stderr]    Compiling itertools v0.13.0
[INFO] [stderr]    Compiling syn v2.0.111
[INFO] [stderr]    Compiling cast v0.3.0
[INFO] [stderr]    Compiling alloca v0.4.0
[INFO] [stderr]    Compiling same-file v1.0.6
[INFO] [stderr]    Compiling regex-automata v0.4.13
[INFO] [stderr]    Compiling walkdir v2.5.0
[INFO] [stderr]    Compiling plotters v0.3.7
[INFO] [stderr]    Compiling serde_json v1.0.148
[INFO] [stderr]    Compiling page_size v0.6.0
[INFO] [stderr]    Compiling criterion-plot v0.8.1
[INFO] [stderr]    Compiling anes v0.1.6
[INFO] [stderr]    Compiling oorandom v11.1.5
[INFO] [stderr]    Compiling clap v4.5.53
[INFO] [stderr]    Compiling regex v1.12.2
[INFO] [stderr]    Compiling zerocopy-derive v0.8.31
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling tinytemplate v1.2.1
[INFO] [stderr]    Compiling ppv-lite86 v0.2.21
[INFO] [stderr]    Compiling half v2.7.1
[INFO] [stderr]    Compiling rand_chacha v0.9.0
[INFO] [stderr]    Compiling ciborium-ll v0.2.2
[INFO] [stderr]    Compiling rand v0.9.2
[INFO] [stderr]    Compiling ciborium v0.2.2
[INFO] [stderr]    Compiling chess-engine v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr]    Compiling criterion v0.8.1
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]    --> src/engine/models/board.rs:403:16
[INFO] [stdout]     |
[INFO] [stdout] 403 |             Ok(value) => {
[INFO] [stdout]     |                ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `Rank` is more private than the item `Square::rank`
[INFO] [stdout]    --> src/engine/models/board.rs:242:5
[INFO] [stdout]     |
[INFO] [stdout] 242 |     pub fn rank(self) -> Rank {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^ method `Square::rank` is reachable at visibility `pub`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `Rank` is only usable at visibility `pub(crate)`
[INFO] [stdout]    --> src/engine/models/board.rs:15:1
[INFO] [stdout]     |
[INFO] [stdout]  15 | pub(crate) enum Rank {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#[warn(private_interfaces)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `compute_possible_attacks` is never used
[INFO] [stdout]    --> src/engine/models/piece.rs:135:19
[INFO] [stdout]     |
[INFO] [stdout]  84 | impl Pawn {
[INFO] [stdout]     | --------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 135 |     pub(crate) fn compute_possible_attacks(location: u64, chessboard: &Chessboard, turn_color: Color) -> u64 {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated constants `WHITE_CASTLING_MASK` and `BLACK_CASTLING_MASK` are never used
[INFO] [stdout]    --> src/engine/models/piece.rs:508:22
[INFO] [stdout]     |
[INFO] [stdout] 507 | impl Rook {
[INFO] [stdout]     | --------- associated constants in this implementation
[INFO] [stdout] 508 |     pub(crate) const WHITE_CASTLING_MASK: u64 = 0x81;  // A1 | H1
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 509 |     pub(crate) const BLACK_CASTLING_MASK: u64 = 0x8100000000000000; // A8 | H8
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `clear` is never used
[INFO] [stdout]   --> src/engine/models/board.rs:36:19
[INFO] [stdout]    |
[INFO] [stdout] 19 | impl Rank {
[INFO] [stdout]    | --------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 36 |     pub(crate) fn clear(self) -> u64 {
[INFO] [stdout]    |                   ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `EMPTY` and `FULL` are never constructed
[INFO] [stdout]    --> src/engine/models/board.rs:189:5
[INFO] [stdout]     |
[INFO] [stdout] 187 | pub(crate) enum Board {
[INFO] [stdout]     |                 ----- variants in this enum
[INFO] [stdout] 188 |     /// Constant value to a empty board (only `0`s).
[INFO] [stdout] 189 |     EMPTY = 0u64,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 190 |     /// Constant value to a full board (only `1`s).
[INFO] [stdout] 191 |     FULL = u64::MAX
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `get_corner_mask` is never used
[INFO] [stdout]    --> src/engine/models/board.rs:201:19
[INFO] [stdout]     |
[INFO] [stdout] 194 | impl Board {
[INFO] [stdout]     | ---------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 201 |     pub(crate) fn get_corner_mask() -> u64 {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `set_piece` is never used
[INFO] [stdout]    --> src/engine/models/board.rs:486:19
[INFO] [stdout]     |
[INFO] [stdout] 330 | impl Chessboard {
[INFO] [stdout]     | --------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 486 |     pub(crate) fn set_piece(&mut self, color: Color, piece: Piece, bitboard: u64) {
[INFO] [stdout]     |                   ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `get_ucis` is never used
[INFO] [stdout]    --> src/engine/models/move.rs:198:19
[INFO] [stdout]     |
[INFO] [stdout] 102 | impl Move {
[INFO] [stdout]     | --------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 198 |     pub(crate) fn get_ucis() -> Vec<String> {
[INFO] [stdout]     |                   ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] note: the lint level is defined here
[INFO] [stdout]    --> src/engine/models/move.rs:1:23
[INFO] [stdout]     |
[INFO] [stdout]   1 | #![warn(missing_docs, dead_code)]
[INFO] [stdout]     |                       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Zobrist` is never constructed
[INFO] [stdout]  --> src/engine/models/zobrist.rs:5:8
[INFO] [stdout]   |
[INFO] [stdout] 5 | struct Zobrist {
[INFO] [stdout]   |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `compute_castling_rights_hash` and `get_piece_square_index` are never used
[INFO] [stdout]   --> src/engine/models/zobrist.rs:37:12
[INFO] [stdout]    |
[INFO] [stdout] 36 | impl Zobrist {
[INFO] [stdout]    | ------------ associated functions in this implementation
[INFO] [stdout] 37 |     pub fn compute_castling_rights_hash(state: State) -> u64 {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 56 |     pub fn get_piece_square_index(color: Color, piece: Piece, square: u8) -> usize {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `zobrist` is never used
[INFO] [stdout]   --> src/engine/models/zobrist.rs:62:4
[INFO] [stdout]    |
[INFO] [stdout] 62 | fn zobrist() -> &'static Zobrist {
[INFO] [stdout]    |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `square` is never read
[INFO] [stdout]   --> src/engine/magic/magic.rs:14:16
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub(crate) struct Magic {
[INFO] [stdout]    |                   ----- field in this struct
[INFO] [stdout] 13 |     /// Square the piece is on during the move-bitboard generation technique.
[INFO] [stdout] 14 |     pub(crate) square: Square,
[INFO] [stdout]    |                ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Magic` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] note: the lint level is defined here
[INFO] [stdout]   --> src/engine/magic/magic.rs:1:23
[INFO] [stdout]    |
[INFO] [stdout]  1 | #![warn(missing_docs, dead_code)]
[INFO] [stdout]    |                       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/lib.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 |     console::Term::stdout().read_char();
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[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] 11 |     let _ = console::Term::stdout().read_char();
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/engine/models/state.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 25 |     pub fn can_white_king_castle(&self) -> bool {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] note: the lint level is defined here
[INFO] [stdout]   --> src/engine/models/state.rs:1:9
[INFO] [stdout]    |
[INFO] [stdout]  1 | #![warn(missing_docs, dead_code)]
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/engine/models/state.rs:30:5
[INFO] [stdout]    |
[INFO] [stdout] 30 |     pub fn can_white_queen_castle(&self) -> bool {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/engine/models/state.rs:35:5
[INFO] [stdout]    |
[INFO] [stdout] 35 |     pub fn can_black_king_castle(&self) -> bool {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/engine/models/state.rs:40:5
[INFO] [stdout]    |
[INFO] [stdout] 40 |     pub fn can_black_queen_castle(&self) -> bool {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a type alias
[INFO] [stdout]  --> src/engine/engine.rs:7:1
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub type UciInput<'a> = Lines<StdinLock<'a>>;
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout] note: the lint level is defined here
[INFO] [stdout]  --> src/engine/engine.rs:1:9
[INFO] [stdout]   |
[INFO] [stdout] 1 | #![warn(missing_docs, dead_code)]
[INFO] [stdout]   |         ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]    --> src/engine/engine.rs:120:5
[INFO] [stdout]     |
[INFO] [stdout] 120 |     pub fn play_against_player(&mut self) {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]    --> src/engine/engine.rs:224:1
[INFO] [stdout]     |
[INFO] [stdout] 224 | pub struct EngineBuilder {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an associated function
[INFO] [stdout]    --> src/engine/engine.rs:230:5
[INFO] [stdout]     |
[INFO] [stdout] 230 |     pub fn new() -> Self {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]    --> src/engine/engine.rs:234:5
[INFO] [stdout]     |
[INFO] [stdout] 234 |     pub fn default_fen(mut self) -> Self {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]    --> src/engine/engine.rs:239:5
[INFO] [stdout]     |
[INFO] [stdout] 239 |     pub fn from_fen(mut self, fen: &str) -> Result<Self, &str> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]    --> src/engine/engine.rs:244:5
[INFO] [stdout]     |
[INFO] [stdout] 244 |     pub fn search(mut self, depth: i32) -> Self {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]    --> src/engine/engine.rs:249:5
[INFO] [stdout]     |
[INFO] [stdout] 249 |     pub fn build(self, ) -> Result<Engine<NotConnected>, String> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for the crate
[INFO] [stdout]   --> src/main.rs:1:1
[INFO] [stdout]    |
[INFO] [stdout]  1 | / #![warn(missing_docs, dead_code)]
[INFO] [stdout]  2 | | #![warn(unused_imports, unused_mut)]
[INFO] [stdout]  3 | | #![warn(clippy::missing_docs_in_private_items)]
[INFO] [stdout]  4 | | #![deny(clippy::unwrap_used, clippy::expect_used)]
[INFO] [stdout] ...  |
[INFO] [stdout] 39 | |     Ok(())
[INFO] [stdout] 40 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout] note: the lint level is defined here
[INFO] [stdout]   --> src/main.rs:1:9
[INFO] [stdout]    |
[INFO] [stdout]  1 | #![warn(missing_docs, dead_code)]
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::*`
[INFO] [stdout]  --> tests/perft.rs:6:9
[INFO] [stdout]   |
[INFO] [stdout] 6 |     use super::*;
[INFO] [stdout]   |         ^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for the crate
[INFO] [stdout]   --> src/main.rs:1:1
[INFO] [stdout]    |
[INFO] [stdout]  1 | / #![warn(missing_docs, dead_code)]
[INFO] [stdout]  2 | | #![warn(unused_imports, unused_mut)]
[INFO] [stdout]  3 | | #![warn(clippy::missing_docs_in_private_items)]
[INFO] [stdout]  4 | | #![deny(clippy::unwrap_used, clippy::expect_used)]
[INFO] [stdout] ...  |
[INFO] [stdout] 39 | |     Ok(())
[INFO] [stdout] 40 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout] note: the lint level is defined here
[INFO] [stdout]   --> src/main.rs:1:9
[INFO] [stdout]    |
[INFO] [stdout]  1 | #![warn(missing_docs, dead_code)]
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]    --> src/engine/models/board.rs:403:16
[INFO] [stdout]     |
[INFO] [stdout] 403 |             Ok(value) => {
[INFO] [stdout]     |                ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `Rank` is more private than the item `Square::rank`
[INFO] [stdout]    --> src/engine/models/board.rs:242:5
[INFO] [stdout]     |
[INFO] [stdout] 242 |     pub fn rank(self) -> Rank {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^ method `Square::rank` is reachable at visibility `pub`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `Rank` is only usable at visibility `pub(crate)`
[INFO] [stdout]    --> src/engine/models/board.rs:15:1
[INFO] [stdout]     |
[INFO] [stdout]  15 | pub(crate) enum Rank {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#[warn(private_interfaces)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `compute_possible_attacks` is never used
[INFO] [stdout]    --> src/engine/models/piece.rs:135:19
[INFO] [stdout]     |
[INFO] [stdout]  84 | impl Pawn {
[INFO] [stdout]     | --------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 135 |     pub(crate) fn compute_possible_attacks(location: u64, chessboard: &Chessboard, turn_color: Color) -> u64 {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated constants `WHITE_CASTLING_MASK` and `BLACK_CASTLING_MASK` are never used
[INFO] [stdout]    --> src/engine/models/piece.rs:508:22
[INFO] [stdout]     |
[INFO] [stdout] 507 | impl Rook {
[INFO] [stdout]     | --------- associated constants in this implementation
[INFO] [stdout] 508 |     pub(crate) const WHITE_CASTLING_MASK: u64 = 0x81;  // A1 | H1
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 509 |     pub(crate) const BLACK_CASTLING_MASK: u64 = 0x8100000000000000; // A8 | H8
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `clear` is never used
[INFO] [stdout]   --> src/engine/models/board.rs:36:19
[INFO] [stdout]    |
[INFO] [stdout] 19 | impl Rank {
[INFO] [stdout]    | --------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 36 |     pub(crate) fn clear(self) -> u64 {
[INFO] [stdout]    |                   ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `EMPTY` and `FULL` are never constructed
[INFO] [stdout]    --> src/engine/models/board.rs:189:5
[INFO] [stdout]     |
[INFO] [stdout] 187 | pub(crate) enum Board {
[INFO] [stdout]     |                 ----- variants in this enum
[INFO] [stdout] 188 |     /// Constant value to a empty board (only `0`s).
[INFO] [stdout] 189 |     EMPTY = 0u64,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 190 |     /// Constant value to a full board (only `1`s).
[INFO] [stdout] 191 |     FULL = u64::MAX
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `get_corner_mask` is never used
[INFO] [stdout]    --> src/engine/models/board.rs:201:19
[INFO] [stdout]     |
[INFO] [stdout] 194 | impl Board {
[INFO] [stdout]     | ---------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 201 |     pub(crate) fn get_corner_mask() -> u64 {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `set_piece` is never used
[INFO] [stdout]    --> src/engine/models/board.rs:486:19
[INFO] [stdout]     |
[INFO] [stdout] 330 | impl Chessboard {
[INFO] [stdout]     | --------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 486 |     pub(crate) fn set_piece(&mut self, color: Color, piece: Piece, bitboard: u64) {
[INFO] [stdout]     |                   ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `get_ucis` is never used
[INFO] [stdout]    --> src/engine/models/move.rs:198:19
[INFO] [stdout]     |
[INFO] [stdout] 102 | impl Move {
[INFO] [stdout]     | --------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 198 |     pub(crate) fn get_ucis() -> Vec<String> {
[INFO] [stdout]     |                   ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] note: the lint level is defined here
[INFO] [stdout]    --> src/engine/models/move.rs:1:23
[INFO] [stdout]     |
[INFO] [stdout]   1 | #![warn(missing_docs, dead_code)]
[INFO] [stdout]     |                       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Zobrist` is never constructed
[INFO] [stdout]  --> src/engine/models/zobrist.rs:5:8
[INFO] [stdout]   |
[INFO] [stdout] 5 | struct Zobrist {
[INFO] [stdout]   |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `compute_castling_rights_hash` and `get_piece_square_index` are never used
[INFO] [stdout]   --> src/engine/models/zobrist.rs:37:12
[INFO] [stdout]    |
[INFO] [stdout] 36 | impl Zobrist {
[INFO] [stdout]    | ------------ associated functions in this implementation
[INFO] [stdout] 37 |     pub fn compute_castling_rights_hash(state: State) -> u64 {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 56 |     pub fn get_piece_square_index(color: Color, piece: Piece, square: u8) -> usize {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `zobrist` is never used
[INFO] [stdout]   --> src/engine/models/zobrist.rs:62:4
[INFO] [stdout]    |
[INFO] [stdout] 62 | fn zobrist() -> &'static Zobrist {
[INFO] [stdout]    |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `square` is never read
[INFO] [stdout]   --> src/engine/magic/magic.rs:14:16
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub(crate) struct Magic {
[INFO] [stdout]    |                   ----- field in this struct
[INFO] [stdout] 13 |     /// Square the piece is on during the move-bitboard generation technique.
[INFO] [stdout] 14 |     pub(crate) square: Square,
[INFO] [stdout]    |                ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Magic` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] note: the lint level is defined here
[INFO] [stdout]   --> src/engine/magic/magic.rs:1:23
[INFO] [stdout]    |
[INFO] [stdout]  1 | #![warn(missing_docs, dead_code)]
[INFO] [stdout]    |                       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/lib.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 |     console::Term::stdout().read_char();
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[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] 11 |     let _ = console::Term::stdout().read_char();
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/engine/models/state.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 25 |     pub fn can_white_king_castle(&self) -> bool {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] note: the lint level is defined here
[INFO] [stdout]   --> src/engine/models/state.rs:1:9
[INFO] [stdout]    |
[INFO] [stdout]  1 | #![warn(missing_docs, dead_code)]
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/engine/models/state.rs:30:5
[INFO] [stdout]    |
[INFO] [stdout] 30 |     pub fn can_white_queen_castle(&self) -> bool {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/engine/models/state.rs:35:5
[INFO] [stdout]    |
[INFO] [stdout] 35 |     pub fn can_black_king_castle(&self) -> bool {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/engine/models/state.rs:40:5
[INFO] [stdout]    |
[INFO] [stdout] 40 |     pub fn can_black_queen_castle(&self) -> bool {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a type alias
[INFO] [stdout]  --> src/engine/engine.rs:7:1
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub type UciInput<'a> = Lines<StdinLock<'a>>;
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout] note: the lint level is defined here
[INFO] [stdout]  --> src/engine/engine.rs:1:9
[INFO] [stdout]   |
[INFO] [stdout] 1 | #![warn(missing_docs, dead_code)]
[INFO] [stdout]   |         ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]    --> src/engine/engine.rs:120:5
[INFO] [stdout]     |
[INFO] [stdout] 120 |     pub fn play_against_player(&mut self) {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]    --> src/engine/engine.rs:224:1
[INFO] [stdout]     |
[INFO] [stdout] 224 | pub struct EngineBuilder {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an associated function
[INFO] [stdout]    --> src/engine/engine.rs:230:5
[INFO] [stdout]     |
[INFO] [stdout] 230 |     pub fn new() -> Self {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]    --> src/engine/engine.rs:234:5
[INFO] [stdout]     |
[INFO] [stdout] 234 |     pub fn default_fen(mut self) -> Self {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]    --> src/engine/engine.rs:239:5
[INFO] [stdout]     |
[INFO] [stdout] 239 |     pub fn from_fen(mut self, fen: &str) -> Result<Self, &str> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]    --> src/engine/engine.rs:244:5
[INFO] [stdout]     |
[INFO] [stdout] 244 |     pub fn search(mut self, depth: i32) -> Self {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]    --> src/engine/engine.rs:249:5
[INFO] [stdout]     |
[INFO] [stdout] 249 |     pub fn build(self, ) -> Result<Engine<NotConnected>, String> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 52.48s
[INFO] running `Command { std: "docker" "inspect" "27435ae6b24d8bd19ff8b74871fffe291a81e1184fafa145c120f54fe26f605e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "27435ae6b24d8bd19ff8b74871fffe291a81e1184fafa145c120f54fe26f605e", kill_on_drop: false }`
[INFO] [stdout] 27435ae6b24d8bd19ff8b74871fffe291a81e1184fafa145c120f54fe26f605e
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+2fd6efc32704647e64d3d646d21c4c68eae100e4" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 4616f87448719815deaafa53f4039593013d102f5c9ad98aa7cdc7f4fb73df1a
[INFO] running `Command { std: "docker" "start" "-a" "4616f87448719815deaafa53f4039593013d102f5c9ad98aa7cdc7f4fb73df1a", kill_on_drop: false }`
[INFO] [stderr] warning: unused variable: `value`
[INFO] [stderr]    --> src/engine/models/board.rs:403:16
[INFO] [stderr]     |
[INFO] [stderr] 403 |             Ok(value) => {
[INFO] [stderr]     |                ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: type `Rank` is more private than the item `Square::rank`
[INFO] [stderr]    --> src/engine/models/board.rs:242:5
[INFO] [stderr]     |
[INFO] [stderr] 242 |     pub fn rank(self) -> Rank {
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^ method `Square::rank` is reachable at visibility `pub`
[INFO] [stderr]     |
[INFO] [stderr] note: but type `Rank` is only usable at visibility `pub(crate)`
[INFO] [stderr]    --> src/engine/models/board.rs:15:1
[INFO] [stderr]     |
[INFO] [stderr]  15 | pub(crate) enum Rank {
[INFO] [stderr]     | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     = note: `#[warn(private_interfaces)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `compute_possible_attacks` is never used
[INFO] [stderr]    --> src/engine/models/piece.rs:135:19
[INFO] [stderr]     |
[INFO] [stderr]  84 | impl Pawn {
[INFO] [stderr]     | --------- associated function in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 135 |     pub(crate) fn compute_possible_attacks(location: u64, chessboard: &Chessboard, turn_color: Color) -> u64 {
[INFO] [stderr]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: associated constants `WHITE_CASTLING_MASK` and `BLACK_CASTLING_MASK` are never used
[INFO] [stderr]    --> src/engine/models/piece.rs:508:22
[INFO] [stderr]     |
[INFO] [stderr] 507 | impl Rook {
[INFO] [stderr]     | --------- associated constants in this implementation
[INFO] [stderr] 508 |     pub(crate) const WHITE_CASTLING_MASK: u64 = 0x81;  // A1 | H1
[INFO] [stderr]     |                      ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 509 |     pub(crate) const BLACK_CASTLING_MASK: u64 = 0x8100000000000000; // A8 | H8
[INFO] [stderr]     |                      ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `clear` is never used
[INFO] [stderr]   --> src/engine/models/board.rs:36:19
[INFO] [stderr]    |
[INFO] [stderr] 19 | impl Rank {
[INFO] [stderr]    | --------- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 36 |     pub(crate) fn clear(self) -> u64 {
[INFO] [stderr]    |                   ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variants `EMPTY` and `FULL` are never constructed
[INFO] [stderr]    --> src/engine/models/board.rs:189:5
[INFO] [stderr]     |
[INFO] [stderr] 187 | pub(crate) enum Board {
[INFO] [stderr]     |                 ----- variants in this enum
[INFO] [stderr] 188 |     /// Constant value to a empty board (only `0`s).
[INFO] [stderr] 189 |     EMPTY = 0u64,
[INFO] [stderr]     |     ^^^^^
[INFO] [stderr] 190 |     /// Constant value to a full board (only `1`s).
[INFO] [stderr] 191 |     FULL = u64::MAX
[INFO] [stderr]     |     ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `get_corner_mask` is never used
[INFO] [stderr]    --> src/engine/models/board.rs:201:19
[INFO] [stderr]     |
[INFO] [stderr] 194 | impl Board {
[INFO] [stderr]     | ---------- associated function in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 201 |     pub(crate) fn get_corner_mask() -> u64 {
[INFO] [stderr]     |                   ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `set_piece` is never used
[INFO] [stderr]    --> src/engine/models/board.rs:486:19
[INFO] [stderr]     |
[INFO] [stderr] 330 | impl Chessboard {
[INFO] [stderr]     | --------------- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 486 |     pub(crate) fn set_piece(&mut self, color: Color, piece: Piece, bitboard: u64) {
[INFO] [stderr]     |                   ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `get_ucis` is never used
[INFO] [stderr]    --> src/engine/models/move.rs:198:19
[INFO] [stderr]     |
[INFO] [stderr] 102 | impl Move {
[INFO] [stderr]     | --------- associated function in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 198 |     pub(crate) fn get_ucis() -> Vec<String> {
[INFO] [stderr]     |                   ^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr] note: the lint level is defined here
[INFO] [stderr]    --> src/engine/models/move.rs:1:23
[INFO] [stderr]     |
[INFO] [stderr]   1 | #![warn(missing_docs, dead_code)]
[INFO] [stderr]     |                       ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `Zobrist` is never constructed
[INFO] [stderr]  --> src/engine/models/zobrist.rs:5:8
[INFO] [stderr]   |
[INFO] [stderr] 5 | struct Zobrist {
[INFO] [stderr]   |        ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated functions `compute_castling_rights_hash` and `get_piece_square_index` are never used
[INFO] [stderr]   --> src/engine/models/zobrist.rs:37:12
[INFO] [stderr]    |
[INFO] [stderr] 36 | impl Zobrist {
[INFO] [stderr]    | ------------ associated functions in this implementation
[INFO] [stderr] 37 |     pub fn compute_castling_rights_hash(state: State) -> u64 {
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 56 |     pub fn get_piece_square_index(color: Color, piece: Piece, square: u8) -> usize {
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `zobrist` is never used
[INFO] [stderr]   --> src/engine/models/zobrist.rs:62:4
[INFO] [stderr]    |
[INFO] [stderr] 62 | fn zobrist() -> &'static Zobrist {
[INFO] [stderr]    |    ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `square` is never read
[INFO] [stderr]   --> src/engine/magic/magic.rs:14:16
[INFO] [stderr]    |
[INFO] [stderr] 12 | pub(crate) struct Magic {
[INFO] [stderr]    |                   ----- field in this struct
[INFO] [stderr] 13 |     /// Square the piece is on during the move-bitboard generation technique.
[INFO] [stderr] 14 |     pub(crate) square: Square,
[INFO] [stderr]    |                ^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `Magic` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] note: the lint level is defined here
[INFO] [stderr]   --> src/engine/magic/magic.rs:1:23
[INFO] [stderr]    |
[INFO] [stderr]  1 | #![warn(missing_docs, dead_code)]
[INFO] [stderr]    |                       ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]   --> src/lib.rs:11:5
[INFO] [stderr]    |
[INFO] [stderr] 11 |     console::Term::stdout().read_char();
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: this `Result` may be an `Err` variant, which should be handled
[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] 11 |     let _ = console::Term::stdout().read_char();
[INFO] [stderr]    |     +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a method
[INFO] [stderr]   --> src/engine/models/state.rs:25:5
[INFO] [stderr]    |
[INFO] [stderr] 25 |     pub fn can_white_king_castle(&self) -> bool {
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr] note: the lint level is defined here
[INFO] [stderr]   --> src/engine/models/state.rs:1:9
[INFO] [stderr]    |
[INFO] [stderr]  1 | #![warn(missing_docs, dead_code)]
[INFO] [stderr]    |         ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a method
[INFO] [stderr]   --> src/engine/models/state.rs:30:5
[INFO] [stderr]    |
[INFO] [stderr] 30 |     pub fn can_white_queen_castle(&self) -> bool {
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a method
[INFO] [stderr]   --> src/engine/models/state.rs:35:5
[INFO] [stderr]    |
[INFO] [stderr] 35 |     pub fn can_black_king_castle(&self) -> bool {
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a method
[INFO] [stderr]   --> src/engine/models/state.rs:40:5
[INFO] [stderr]    |
[INFO] [stderr] 40 |     pub fn can_black_queen_castle(&self) -> bool {
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a type alias
[INFO] [stderr]  --> src/engine/engine.rs:7:1
[INFO] [stderr]   |
[INFO] [stderr] 7 | pub type UciInput<'a> = Lines<StdinLock<'a>>;
[INFO] [stderr]   | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr] note: the lint level is defined here
[INFO] [stderr]  --> src/engine/engine.rs:1:9
[INFO] [stderr]   |
[INFO] [stderr] 1 | #![warn(missing_docs, dead_code)]
[INFO] [stderr]   |         ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a method
[INFO] [stderr]    --> src/engine/engine.rs:120:5
[INFO] [stderr]     |
[INFO] [stderr] 120 |     pub fn play_against_player(&mut self) {
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct
[INFO] [stderr]    --> src/engine/engine.rs:224:1
[INFO] [stderr]     |
[INFO] [stderr] 224 | pub struct EngineBuilder {
[INFO] [stderr]     | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for an associated function
[INFO] [stderr]    --> src/engine/engine.rs:230:5
[INFO] [stderr]     |
[INFO] [stderr] 230 |     pub fn new() -> Self {
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a method
[INFO] [stderr]    --> src/engine/engine.rs:234:5
[INFO] [stderr]     |
[INFO] [stderr] 234 |     pub fn default_fen(mut self) -> Self {
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a method
[INFO] [stderr]    --> src/engine/engine.rs:239:5
[INFO] [stderr]     |
[INFO] [stderr] 239 |     pub fn from_fen(mut self, fen: &str) -> Result<Self, &str> {
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a method
[INFO] [stderr]    --> src/engine/engine.rs:244:5
[INFO] [stderr]     |
[INFO] [stderr] 244 |     pub fn search(mut self, depth: i32) -> Self {
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a method
[INFO] [stderr]    --> src/engine/engine.rs:249:5
[INFO] [stderr]     |
[INFO] [stderr] 249 |     pub fn build(self, ) -> Result<Engine<NotConnected>, String> {
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: `chess-engine` (lib) generated 26 warnings (run `cargo fix --lib -p chess-engine` to apply 1 suggestion)
[INFO] [stderr] warning: missing documentation for the crate
[INFO] [stderr]   --> src/main.rs:1:1
[INFO] [stderr]    |
[INFO] [stderr]  1 | / #![warn(missing_docs, dead_code)]
[INFO] [stderr]  2 | | #![warn(unused_imports, unused_mut)]
[INFO] [stderr]  3 | | #![warn(clippy::missing_docs_in_private_items)]
[INFO] [stderr]  4 | | #![deny(clippy::unwrap_used, clippy::expect_used)]
[INFO] [stderr] ...  |
[INFO] [stderr] 39 | |     Ok(())
[INFO] [stderr] 40 | | }
[INFO] [stderr]    | |_^
[INFO] [stderr]    |
[INFO] [stderr] note: the lint level is defined here
[INFO] [stderr]   --> src/main.rs:1:9
[INFO] [stderr]    |
[INFO] [stderr]  1 | #![warn(missing_docs, dead_code)]
[INFO] [stderr]    |         ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `super::*`
[INFO] [stderr]  --> tests/perft.rs:6:9
[INFO] [stderr]   |
[INFO] [stderr] 6 |     use super::*;
[INFO] [stderr]   |         ^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: `chess-engine` (lib test) generated 26 warnings (26 duplicates)
[INFO] [stderr] warning: `chess-engine` (bin "chess-engine" test) generated 1 warning
[INFO] [stderr] warning: `chess-engine` (test "tests") generated 1 warning (run `cargo fix --test "tests" -p chess-engine` to apply 1 suggestion)
[INFO] [stderr] warning: `chess-engine` (bin "chess-engine") generated 1 warning (1 duplicate)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.16s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/lib-586d21c03a013db9)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/chess_engine-332a15de2e7931ea)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/perft.rs (/opt/rustwide/target/debug/deps/tests-3ce9f328f8d26ef2)
[INFO] [stdout] 
[INFO] [stdout] running 20 tests
[INFO] [stderr] 
[INFO] [stderr] thread 'tests::test_perft_2_custom_1' (22) has overflowed its stack
[INFO] [stderr] fatal runtime error: stack overflow, aborting
[INFO] [stderr] error: test failed, to rerun pass `--test tests`
[INFO] [stderr] 
[INFO] [stderr] Caused by:
[INFO] [stderr]   process didn't exit successfully: `/opt/rustwide/target/debug/deps/tests-3ce9f328f8d26ef2` (signal: 6, SIGABRT: process abort signal)
[INFO] running `Command { std: "docker" "inspect" "4616f87448719815deaafa53f4039593013d102f5c9ad98aa7cdc7f4fb73df1a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "4616f87448719815deaafa53f4039593013d102f5c9ad98aa7cdc7f4fb73df1a", kill_on_drop: false }`
[INFO] [stdout] 4616f87448719815deaafa53f4039593013d102f5c9ad98aa7cdc7f4fb73df1a
