[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 try#bd7d74411512a3dd3b35d2f699c51dd2557c7e7e+cargoflags=-Zbuild-dir-new-layout 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-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc2/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-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/jojo2504/chess-engine on toolchain bd7d74411512a3dd3b35d2f699c51dd2557c7e7e
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+bd7d74411512a3dd3b35d2f699c51dd2557c7e7e" "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" "+bd7d74411512a3dd3b35d2f699c51dd2557c7e7e" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+bd7d74411512a3dd3b35d2f699c51dd2557c7e7e" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 7c1e68ecbf970c91d59752ee7faa7156d2bdf87713acab6084daad1e5239a538
[INFO] running `Command { std: "docker" "start" "-a" "7c1e68ecbf970c91d59752ee7faa7156d2bdf87713acab6084daad1e5239a538", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "7c1e68ecbf970c91d59752ee7faa7156d2bdf87713acab6084daad1e5239a538", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "7c1e68ecbf970c91d59752ee7faa7156d2bdf87713acab6084daad1e5239a538", kill_on_drop: false }`
[INFO] [stdout] 7c1e68ecbf970c91d59752ee7faa7156d2bdf87713acab6084daad1e5239a538
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+bd7d74411512a3dd3b35d2f699c51dd2557c7e7e" "build" "--frozen" "--message-format=json" "-Zbuild-dir-new-layout", kill_on_drop: false }`
[INFO] [stdout] 5ad745ca85ad999f6fc1a91218b7c9b1a47fbeb75b14119f027390b4d161203d
[INFO] running `Command { std: "docker" "start" "-a" "5ad745ca85ad999f6fc1a91218b7c9b1a47fbeb75b14119f027390b4d161203d", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.178
[INFO] [stderr]    Compiling proc-macro2 v1.0.104
[INFO] [stderr]    Compiling zerocopy v0.8.31
[INFO] [stderr]    Compiling quote v1.0.42
[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 serde_derive v1.0.228
[INFO] [stderr]    Compiling rand_chacha v0.9.0
[INFO] [stderr]    Compiling rand v0.9.2
[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.66s
[INFO] running `Command { std: "docker" "inspect" "5ad745ca85ad999f6fc1a91218b7c9b1a47fbeb75b14119f027390b4d161203d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "5ad745ca85ad999f6fc1a91218b7c9b1a47fbeb75b14119f027390b4d161203d", kill_on_drop: false }`
[INFO] [stdout] 5ad745ca85ad999f6fc1a91218b7c9b1a47fbeb75b14119f027390b4d161203d
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+bd7d74411512a3dd3b35d2f699c51dd2557c7e7e" "test" "--frozen" "--no-run" "--message-format=json" "-Zbuild-dir-new-layout", kill_on_drop: false }`
[INFO] [stdout] 81b5ef2fa2e74cd8286b3cb3ecf9599848ca7170ac27f870489a95d1fab52476
[INFO] running `Command { std: "docker" "start" "-a" "81b5ef2fa2e74cd8286b3cb3ecf9599848ca7170ac27f870489a95d1fab52476", 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 clap_lex v0.7.6
[INFO] [stderr]    Compiling ciborium-io v0.2.2
[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 cc v1.2.51
[INFO] [stderr]    Compiling anstyle v1.0.13
[INFO] [stderr]    Compiling plotters-svg v0.3.7
[INFO] [stderr]    Compiling itertools v0.13.0
[INFO] [stderr]    Compiling clap_builder v4.5.53
[INFO] [stderr]    Compiling syn v2.0.111
[INFO] [stderr]    Compiling cast v0.3.0
[INFO] [stderr]    Compiling same-file v1.0.6
[INFO] [stderr]    Compiling walkdir v2.5.0
[INFO] [stderr]    Compiling alloca v0.4.0
[INFO] [stderr]    Compiling regex-automata v0.4.13
[INFO] [stderr]    Compiling criterion-plot v0.8.1
[INFO] [stderr]    Compiling plotters v0.3.7
[INFO] [stderr]    Compiling page_size v0.6.0
[INFO] [stderr]    Compiling oorandom v11.1.5
[INFO] [stderr]    Compiling anes v0.1.6
[INFO] [stderr]    Compiling clap v4.5.53
[INFO] [stderr]    Compiling serde_json v1.0.148
[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 ciborium v0.2.2
[INFO] [stderr]    Compiling rand v0.9.2
[INFO] [stderr]    Compiling criterion v0.8.1
[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] [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 53.82s
[INFO] running `Command { std: "docker" "inspect" "81b5ef2fa2e74cd8286b3cb3ecf9599848ca7170ac27f870489a95d1fab52476", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "81b5ef2fa2e74cd8286b3cb3ecf9599848ca7170ac27f870489a95d1fab52476", kill_on_drop: false }`
[INFO] [stdout] 81b5ef2fa2e74cd8286b3cb3ecf9599848ca7170ac27f870489a95d1fab52476
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+bd7d74411512a3dd3b35d2f699c51dd2557c7e7e" "test" "--frozen" "-Zbuild-dir-new-layout", kill_on_drop: false }`
[INFO] [stdout] 238bc0b103084e5f5add387dc671f1506d69f72a6a024838079ba87b5eb86ec7
[INFO] running `Command { std: "docker" "start" "-a" "238bc0b103084e5f5add387dc671f1506d69f72a6a024838079ba87b5eb86ec7", 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: `chess-engine` (bin "chess-engine") generated 1 warning
[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` (test "tests") generated 1 warning (run `cargo fix --test "tests" -p chess-engine` to apply 1 suggestion)
[INFO] [stderr] warning: `chess-engine` (lib test) generated 26 warnings (26 duplicates)
[INFO] [stderr] warning: `chess-engine` (bin "chess-engine" test) generated 1 warning (1 duplicate)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.17s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/build/chess-engine/586d21c03a013db9/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/build/chess-engine/332a15de2e7931ea/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/build/chess-engine/3ce9f328f8d26ef2/deps/tests-3ce9f328f8d26ef2)
[INFO] [stdout] 
[INFO] [stdout] running 20 tests
[INFO] [stderr] 
[INFO] [stderr] thread 'tests::test_perft_2' (21) 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/build/chess-engine/3ce9f328f8d26ef2/deps/tests-3ce9f328f8d26ef2` (signal: 6, SIGABRT: process abort signal)
[INFO] running `Command { std: "docker" "inspect" "238bc0b103084e5f5add387dc671f1506d69f72a6a024838079ba87b5eb86ec7", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "238bc0b103084e5f5add387dc671f1506d69f72a6a024838079ba87b5eb86ec7", kill_on_drop: false }`
[INFO] [stdout] 238bc0b103084e5f5add387dc671f1506d69f72a6a024838079ba87b5eb86ec7
