[INFO] cloning repository https://github.com/raffimolero/kittytac-board-game [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/raffimolero/kittytac-board-game" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fraffimolero%2Fkittytac-board-game", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fraffimolero%2Fkittytac-board-game'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 95b73af44cb3de62e8351bdfd1309a33a0e03d45 [INFO] checking raffimolero/kittytac-board-game against master#a42d94ebb883116f2867cbe3016d9bde9ca6d3f7 for pr-117593 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fraffimolero%2Fkittytac-board-game" "/workspace/builds/worker-0-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-0-tc1/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/raffimolero/kittytac-board-game on toolchain a42d94ebb883116f2867cbe3016d9bde9ca6d3f7 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+a42d94ebb883116f2867cbe3016d9bde9ca6d3f7" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/raffimolero/kittytac-board-game [INFO] finished tweaking git repo https://github.com/raffimolero/kittytac-board-game [INFO] tweaked toml for git repo https://github.com/raffimolero/kittytac-board-game written to /workspace/builds/worker-0-tc1/source/Cargo.toml [INFO] crate git repo https://github.com/raffimolero/kittytac-board-game 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" "+a42d94ebb883116f2867cbe3016d9bde9ca6d3f7" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [ERROR] error running command: no output for 300 seconds [ERROR] this task or one of its parent failed! [ERROR] no output for 300 seconds [ERROR] note: run with `RUST_BACKTRACE=1` to display a backtrace. [INFO] checking raffimolero/kittytac-board-game against try#031b389f0c31c0f91c9464d26313ae513dbe8d36 for pr-117593 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fraffimolero%2Fkittytac-board-game" "/workspace/builds/worker-0-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-0-tc2/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/raffimolero/kittytac-board-game on toolchain 031b389f0c31c0f91c9464d26313ae513dbe8d36 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+031b389f0c31c0f91c9464d26313ae513dbe8d36" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/raffimolero/kittytac-board-game [INFO] finished tweaking git repo https://github.com/raffimolero/kittytac-board-game [INFO] tweaked toml for git repo https://github.com/raffimolero/kittytac-board-game written to /workspace/builds/worker-0-tc2/source/Cargo.toml [INFO] crate git repo https://github.com/raffimolero/kittytac-board-game 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" "+031b389f0c31c0f91c9464d26313ae513dbe8d36" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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:0c7e0e8312ad82a1bed3696438480b7da990d348377d3754e1cd95b06a8a36c7" "/opt/rustwide/cargo-home/bin/cargo" "+031b389f0c31c0f91c9464d26313ae513dbe8d36" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] ce47dc50c0d47f2a57421a7b715ea62688b3d29f7932f3e9a2f0dc0590990101 [INFO] running `Command { std: "docker" "start" "-a" "ce47dc50c0d47f2a57421a7b715ea62688b3d29f7932f3e9a2f0dc0590990101", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "ce47dc50c0d47f2a57421a7b715ea62688b3d29f7932f3e9a2f0dc0590990101", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "ce47dc50c0d47f2a57421a7b715ea62688b3d29f7932f3e9a2f0dc0590990101", kill_on_drop: false }` [INFO] [stdout] ce47dc50c0d47f2a57421a7b715ea62688b3d29f7932f3e9a2f0dc0590990101 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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:0c7e0e8312ad82a1bed3696438480b7da990d348377d3754e1cd95b06a8a36c7" "/opt/rustwide/cargo-home/bin/cargo" "+031b389f0c31c0f91c9464d26313ae513dbe8d36" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 362e87d8caa0ce30fd6d851398578adfc9cee403853f424cc593e2ed5df370c5 [INFO] running `Command { std: "docker" "start" "-a" "362e87d8caa0ce30fd6d851398578adfc9cee403853f424cc593e2ed5df370c5", kill_on_drop: false }` [INFO] [stderr] Compiling proc-macro2 v1.0.39 [INFO] [stderr] Compiling libc v0.2.126 [INFO] [stderr] Compiling unicode-ident v1.0.1 [INFO] [stderr] Compiling syn v1.0.98 [INFO] [stderr] Checking ppv-lite86 v0.2.16 [INFO] [stderr] Compiling quote v1.0.19 [INFO] [stderr] Checking getrandom v0.2.7 [INFO] [stderr] Checking rand_core v0.6.3 [INFO] [stderr] Checking rand_chacha v0.3.1 [INFO] [stderr] Checking rand v0.8.5 [INFO] [stderr] Compiling thiserror-impl v1.0.31 [INFO] [stderr] Checking thiserror v1.0.31 [INFO] [stderr] Checking kittytac-board-game v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused variable: `destination` [INFO] [stdout] --> src/game/board.rs:34:24 [INFO] [stdout] | [INFO] [stdout] 34 | fn find_push(self, destination: Self) -> Option { [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_destination` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:10:9 [INFO] [stdout] | [INFO] [stdout] 10 | let mut board = Board::<8>::new(); [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `Position` is more private than the item `Move::Move::from` [INFO] [stdout] --> src/game/board.rs:51:9 [INFO] [stdout] | [INFO] [stdout] 51 | from: Position, [INFO] [stdout] | ^^^^^^^^^^^^^^ field `Move::Move::from` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `Position` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/game/board.rs:26:1 [INFO] [stdout] | [INFO] [stdout] 26 | struct Position { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] = note: `#[warn(private_interfaces)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `Position` is more private than the item `Move::Move::to` [INFO] [stdout] --> src/game/board.rs:52:9 [INFO] [stdout] | [INFO] [stdout] 52 | to: Position, [INFO] [stdout] | ^^^^^^^^^^^^ field `Move::Move::to` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `Position` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/game/board.rs:26:1 [INFO] [stdout] | [INFO] [stdout] 26 | struct Position { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `Position` is more private than the item `Move::Push::from` [INFO] [stdout] --> src/game/board.rs:55:9 [INFO] [stdout] | [INFO] [stdout] 55 | from: Position, [INFO] [stdout] | ^^^^^^^^^^^^^^ field `Move::Push::from` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `Position` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/game/board.rs:26:1 [INFO] [stdout] | [INFO] [stdout] 26 | struct Position { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `Position` is more private than the item `Move::Push::to` [INFO] [stdout] --> src/game/board.rs:56:9 [INFO] [stdout] | [INFO] [stdout] 56 | to: Position, [INFO] [stdout] | ^^^^^^^^^^^^ field `Move::Push::to` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `Position` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/game/board.rs:26:1 [INFO] [stdout] | [INFO] [stdout] 26 | struct Position { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `Position` is more private than the item `Move::KnightPush::from` [INFO] [stdout] --> src/game/board.rs:59:9 [INFO] [stdout] | [INFO] [stdout] 59 | from: Position, [INFO] [stdout] | ^^^^^^^^^^^^^^ field `Move::KnightPush::from` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `Position` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/game/board.rs:26:1 [INFO] [stdout] | [INFO] [stdout] 26 | struct Position { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `Position` is more private than the item `Move::KnightPush::to` [INFO] [stdout] --> src/game/board.rs:60:9 [INFO] [stdout] | [INFO] [stdout] 60 | to: Position, [INFO] [stdout] | ^^^^^^^^^^^^ field `Move::KnightPush::to` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `Position` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/game/board.rs:26:1 [INFO] [stdout] | [INFO] [stdout] 26 | struct Position { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `Position` is more private than the item `Move::KnightPush::push` [INFO] [stdout] --> src/game/board.rs:61:9 [INFO] [stdout] | [INFO] [stdout] 61 | push: Position, [INFO] [stdout] | ^^^^^^^^^^^^^^ field `Move::KnightPush::push` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `Position` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/game/board.rs:26:1 [INFO] [stdout] | [INFO] [stdout] 26 | struct Position { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `InvalidMove` is more private than the item `Board::::get_user_move` [INFO] [stdout] --> src/game/board.rs:82:5 [INFO] [stdout] | [INFO] [stdout] 82 | pub fn get_user_move(&self) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `Board::::get_user_move` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `InvalidMove` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/game/board.rs:67:1 [INFO] [stdout] | [INFO] [stdout] 67 | enum InvalidMove { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `InvalidMove` is more private than the item `Board::::make_move` [INFO] [stdout] --> src/game/board.rs:86:5 [INFO] [stdout] | [INFO] [stdout] 86 | pub fn make_move(&mut self) -> Result<(), InvalidMove> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `Board::::make_move` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `InvalidMove` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/game/board.rs:67:1 [INFO] [stdout] | [INFO] [stdout] 67 | enum InvalidMove { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `find_push` is never used [INFO] [stdout] --> src/game/board.rs:34:8 [INFO] [stdout] | [INFO] [stdout] 30 | impl Position { [INFO] [stdout] | ------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 34 | fn find_push(self, destination: Self) -> Option { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Move` is never used [INFO] [stdout] --> src/game/board.rs:49:10 [INFO] [stdout] | [INFO] [stdout] 49 | pub enum Move { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `OutOfBounds` is never constructed [INFO] [stdout] --> src/game/board.rs:72:5 [INFO] [stdout] | [INFO] [stdout] 67 | enum InvalidMove { [INFO] [stdout] | ----------- variant in this enum [INFO] [stdout] ... [INFO] [stdout] 72 | OutOfBounds(usize, Position), [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `InvalidMove` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `get_user_move`, `make_move`, and `get_legal_moves` are never used [INFO] [stdout] --> src/game/board.rs:82:12 [INFO] [stdout] | [INFO] [stdout] 81 | impl Board { [INFO] [stdout] | ----------------------------- associated items in this implementation [INFO] [stdout] 82 | pub fn get_user_move(&self) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 86 | pub fn make_move(&mut self) -> Result<(), InvalidMove> { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 90 | pub fn get_legal_moves() -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `White` is never constructed [INFO] [stdout] --> src/helpers.rs:15:5 [INFO] [stdout] | [INFO] [stdout] 7 | pub enum Color { [INFO] [stdout] | ----- variant in this enum [INFO] [stdout] ... [INFO] [stdout] 15 | White, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Color` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 16 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `destination` [INFO] [stdout] --> src/game/board.rs:34:24 [INFO] [stdout] | [INFO] [stdout] 34 | fn find_push(self, destination: Self) -> Option { [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_destination` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:10:9 [INFO] [stdout] | [INFO] [stdout] 10 | let mut board = Board::<8>::new(); [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `Position` is more private than the item `Move::Move::from` [INFO] [stdout] --> src/game/board.rs:51:9 [INFO] [stdout] | [INFO] [stdout] 51 | from: Position, [INFO] [stdout] | ^^^^^^^^^^^^^^ field `Move::Move::from` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `Position` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/game/board.rs:26:1 [INFO] [stdout] | [INFO] [stdout] 26 | struct Position { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] = note: `#[warn(private_interfaces)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `Position` is more private than the item `Move::Move::to` [INFO] [stdout] --> src/game/board.rs:52:9 [INFO] [stdout] | [INFO] [stdout] 52 | to: Position, [INFO] [stdout] | ^^^^^^^^^^^^ field `Move::Move::to` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `Position` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/game/board.rs:26:1 [INFO] [stdout] | [INFO] [stdout] 26 | struct Position { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `Position` is more private than the item `Move::Push::from` [INFO] [stdout] --> src/game/board.rs:55:9 [INFO] [stdout] | [INFO] [stdout] 55 | from: Position, [INFO] [stdout] | ^^^^^^^^^^^^^^ field `Move::Push::from` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `Position` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/game/board.rs:26:1 [INFO] [stdout] | [INFO] [stdout] 26 | struct Position { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `Position` is more private than the item `Move::Push::to` [INFO] [stdout] --> src/game/board.rs:56:9 [INFO] [stdout] | [INFO] [stdout] 56 | to: Position, [INFO] [stdout] | ^^^^^^^^^^^^ field `Move::Push::to` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `Position` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/game/board.rs:26:1 [INFO] [stdout] | [INFO] [stdout] 26 | struct Position { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `Position` is more private than the item `Move::KnightPush::from` [INFO] [stdout] --> src/game/board.rs:59:9 [INFO] [stdout] | [INFO] [stdout] 59 | from: Position, [INFO] [stdout] | ^^^^^^^^^^^^^^ field `Move::KnightPush::from` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `Position` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/game/board.rs:26:1 [INFO] [stdout] | [INFO] [stdout] 26 | struct Position { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `Position` is more private than the item `Move::KnightPush::to` [INFO] [stdout] --> src/game/board.rs:60:9 [INFO] [stdout] | [INFO] [stdout] 60 | to: Position, [INFO] [stdout] | ^^^^^^^^^^^^ field `Move::KnightPush::to` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `Position` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/game/board.rs:26:1 [INFO] [stdout] | [INFO] [stdout] 26 | struct Position { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `Position` is more private than the item `Move::KnightPush::push` [INFO] [stdout] --> src/game/board.rs:61:9 [INFO] [stdout] | [INFO] [stdout] 61 | push: Position, [INFO] [stdout] | ^^^^^^^^^^^^^^ field `Move::KnightPush::push` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `Position` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/game/board.rs:26:1 [INFO] [stdout] | [INFO] [stdout] 26 | struct Position { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `InvalidMove` is more private than the item `Board::::get_user_move` [INFO] [stdout] --> src/game/board.rs:82:5 [INFO] [stdout] | [INFO] [stdout] 82 | pub fn get_user_move(&self) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `Board::::get_user_move` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `InvalidMove` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/game/board.rs:67:1 [INFO] [stdout] | [INFO] [stdout] 67 | enum InvalidMove { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `InvalidMove` is more private than the item `Board::::make_move` [INFO] [stdout] --> src/game/board.rs:86:5 [INFO] [stdout] | [INFO] [stdout] 86 | pub fn make_move(&mut self) -> Result<(), InvalidMove> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `Board::::make_move` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `InvalidMove` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/game/board.rs:67:1 [INFO] [stdout] | [INFO] [stdout] 67 | enum InvalidMove { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `find_push` is never used [INFO] [stdout] --> src/game/board.rs:34:8 [INFO] [stdout] | [INFO] [stdout] 30 | impl Position { [INFO] [stdout] | ------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 34 | fn find_push(self, destination: Self) -> Option { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Move` is never used [INFO] [stdout] --> src/game/board.rs:49:10 [INFO] [stdout] | [INFO] [stdout] 49 | pub enum Move { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `OutOfBounds` is never constructed [INFO] [stdout] --> src/game/board.rs:72:5 [INFO] [stdout] | [INFO] [stdout] 67 | enum InvalidMove { [INFO] [stdout] | ----------- variant in this enum [INFO] [stdout] ... [INFO] [stdout] 72 | OutOfBounds(usize, Position), [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `InvalidMove` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `get_user_move`, `make_move`, and `get_legal_moves` are never used [INFO] [stdout] --> src/game/board.rs:82:12 [INFO] [stdout] | [INFO] [stdout] 81 | impl Board { [INFO] [stdout] | ----------------------------- associated items in this implementation [INFO] [stdout] 82 | pub fn get_user_move(&self) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 86 | pub fn make_move(&mut self) -> Result<(), InvalidMove> { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 90 | pub fn get_legal_moves() -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `White` is never constructed [INFO] [stdout] --> src/helpers.rs:15:5 [INFO] [stdout] | [INFO] [stdout] 7 | pub enum Color { [INFO] [stdout] | ----- variant in this enum [INFO] [stdout] ... [INFO] [stdout] 15 | White, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Color` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 16 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 7.77s [INFO] running `Command { std: "docker" "inspect" "362e87d8caa0ce30fd6d851398578adfc9cee403853f424cc593e2ed5df370c5", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "362e87d8caa0ce30fd6d851398578adfc9cee403853f424cc593e2ed5df370c5", kill_on_drop: false }` [INFO] [stdout] 362e87d8caa0ce30fd6d851398578adfc9cee403853f424cc593e2ed5df370c5