[INFO] cloning repository https://github.com/BigBadE/ChessBotBattle [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/BigBadE/ChessBotBattle" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FBigBadE%2FChessBotBattle", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FBigBadE%2FChessBotBattle'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] e50a6a049e3cdcd4a0cde68f740176d0443c19e4 [INFO] checking BigBadE/ChessBotBattle/e50a6a049e3cdcd4a0cde68f740176d0443c19e4 against master#f609b7e0586f81fefb3523e3e17adf779ac416be for pr-129466-2 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FBigBadE%2FChessBotBattle" "/workspace/builds/worker-2-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc1/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/BigBadE/ChessBotBattle on toolchain f609b7e0586f81fefb3523e3e17adf779ac416be [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+f609b7e0586f81fefb3523e3e17adf779ac416be" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/BigBadE/ChessBotBattle [INFO] finished tweaking git repo https://github.com/BigBadE/ChessBotBattle [INFO] tweaked toml for git repo https://github.com/BigBadE/ChessBotBattle written to /workspace/builds/worker-2-tc1/source/Cargo.toml [INFO] crate git repo https://github.com/BigBadE/ChessBotBattle 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" "+f609b7e0586f81fefb3523e3e17adf779ac416be" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] warning: virtual workspace defaulting to `resolver = "1"` despite one or more workspace members being on edition 2021 which implies `resolver = "2"` [INFO] [stderr] note: to keep the current resolver, specify `workspace.resolver = "1"` in the workspace root's manifest [INFO] [stderr] note: to use the edition 2021 resolver, specify `workspace.resolver = "2"` in the workspace root's manifest [INFO] [stderr] note: for more details see https://doc.rust-lang.org/cargo/reference/resolver.html#resolver-versions [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:ceb6ea022f8a89cebbe621bb4987e73a935bd40dfbb726f832cfff4742a5b95a" "/opt/rustwide/cargo-home/bin/cargo" "+f609b7e0586f81fefb3523e3e17adf779ac416be" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] fe15b7be34e57a6d78bf96d3335c5584339c854ce4e88ef7e38785b070bdd845 [INFO] running `Command { std: "docker" "start" "-a" "fe15b7be34e57a6d78bf96d3335c5584339c854ce4e88ef7e38785b070bdd845", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "fe15b7be34e57a6d78bf96d3335c5584339c854ce4e88ef7e38785b070bdd845", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "fe15b7be34e57a6d78bf96d3335c5584339c854ce4e88ef7e38785b070bdd845", kill_on_drop: false }` [INFO] [stdout] fe15b7be34e57a6d78bf96d3335c5584339c854ce4e88ef7e38785b070bdd845 [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:ceb6ea022f8a89cebbe621bb4987e73a935bd40dfbb726f832cfff4742a5b95a" "/opt/rustwide/cargo-home/bin/cargo" "+f609b7e0586f81fefb3523e3e17adf779ac416be" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] ea0687570558e382c80589020e092006257a2d5fb46785cbd9762f631d955ef4 [INFO] running `Command { std: "docker" "start" "-a" "ea0687570558e382c80589020e092006257a2d5fb46785cbd9762f631d955ef4", kill_on_drop: false }` [INFO] [stderr] warning: virtual workspace defaulting to `resolver = "1"` despite one or more workspace members being on edition 2021 which implies `resolver = "2"` [INFO] [stderr] note: to keep the current resolver, specify `workspace.resolver = "1"` in the workspace root's manifest [INFO] [stderr] note: to use the edition 2021 resolver, specify `workspace.resolver = "2"` in the workspace root's manifest [INFO] [stderr] note: for more details see https://doc.rust-lang.org/cargo/reference/resolver.html#resolver-versions [INFO] [stderr] Checking json v0.12.4 [INFO] [stderr] Checking chess-engine v0.1.0 (/opt/rustwide/workdir/engine) [INFO] [stdout] error[E0583]: file not found for module `attacks` [INFO] [stdout] --> engine/src/lib.rs:7:1 [INFO] [stdout] | [INFO] [stdout] 7 | pub mod attacks; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: to create the module `attacks`, create file "engine/src/attacks.rs" or "engine/src/attacks/mod.rs" [INFO] [stdout] = note: if there is a `mod attacks` elsewhere in the crate already, import it with `use crate::...` instead [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0583]: file not found for module `attacks` [INFO] [stdout] --> engine/src/lib.rs:7:1 [INFO] [stdout] | [INFO] [stdout] 7 | pub mod attacks; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: to create the module `attacks`, create file "engine/src/attacks.rs" or "engine/src/attacks/mod.rs" [INFO] [stdout] = note: if there is a `mod attacks` elsewhere in the crate already, import it with `use crate::...` instead [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0412]: cannot find type `Directions` in this scope [INFO] [stdout] --> engine/src/pieces.rs:215:111 [INFO] [stdout] | [INFO] [stdout] 215 | fn move_piece(output: &mut Vec, position: Position, team: Teams, board: &ChessBoard, direction: Directions) { [INFO] [stdout] | ^^^^^^^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: consider importing this enum through its public re-export [INFO] [stdout] | [INFO] [stdout] 1 + use crate::Directions; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0412]: cannot find type `Directions` in this scope [INFO] [stdout] --> engine/src/pieces.rs:215:111 [INFO] [stdout] | [INFO] [stdout] 215 | fn move_piece(output: &mut Vec, position: Position, team: Teams, board: &ChessBoard, direction: Directions) { [INFO] [stdout] | ^^^^^^^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: consider importing this enum through its public re-export [INFO] [stdout] | [INFO] [stdout] 1 + use crate::Directions; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find function `is_in_check` in this scope [INFO] [stdout] --> engine/src/lib.rs:154:31 [INFO] [stdout] | [INFO] [stdout] 154 | let win_if_no_moves = is_in_check(&self, self.board[Pieces::King as usize + team as usize], team); [INFO] [stdout] | ^^^^^^^^^^^---------------------------------------------------------------- [INFO] [stdout] | | [INFO] [stdout] | help: try calling `is_in_check` as a method: `self.is_in_check(self.board[Pieces::King as usize + team as usize], team)` [INFO] [stdout] | [INFO] [stdout] note: function `crate::util::is_in_check` exists but is inaccessible [INFO] [stdout] --> engine/src/util.rs:82:1 [INFO] [stdout] | [INFO] [stdout] 82 | fn is_in_check(board: &ChessBoard, position: &Position, team: Teams) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not accessible [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find function `is_in_check` in this scope [INFO] [stdout] --> engine/src/lib.rs:154:31 [INFO] [stdout] | [INFO] [stdout] 154 | let win_if_no_moves = is_in_check(&self, self.board[Pieces::King as usize + team as usize], team); [INFO] [stdout] | ^^^^^^^^^^^---------------------------------------------------------------- [INFO] [stdout] | | [INFO] [stdout] | help: try calling `is_in_check` as a method: `self.is_in_check(self.board[Pieces::King as usize + team as usize], team)` [INFO] [stdout] | [INFO] [stdout] note: function `crate::util::is_in_check` exists but is inaccessible [INFO] [stdout] --> engine/src/util.rs:82:1 [INFO] [stdout] | [INFO] [stdout] 82 | fn is_in_check(board: &ChessBoard, position: &Position, team: Teams) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not accessible [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Not` and `Range` [INFO] [stdout] --> engine/src/lib.rs:3:16 [INFO] [stdout] | [INFO] [stdout] 3 | use std::ops::{Not, Range}; [INFO] [stdout] | ^^^ ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `FIRST_SQUARE` [INFO] [stdout] --> engine/src/lib.rs:4:33 [INFO] [stdout] | [INFO] [stdout] 4 | use crate::pieces::{BOTTOM_ROW, FIRST_SQUARE, Pieces, TOP_ROW}; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Directions` [INFO] [stdout] --> engine/src/lib.rs:5:26 [INFO] [stdout] | [INFO] [stdout] 5 | use crate::util::{Board, Directions, GameStatus, Position, Teams}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Not` and `Range` [INFO] [stdout] --> engine/src/lib.rs:3:16 [INFO] [stdout] | [INFO] [stdout] 3 | use std::ops::{Not, Range}; [INFO] [stdout] | ^^^ ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `PiecePositions` [INFO] [stdout] --> engine/src/pieces.rs:3:19 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::util::{PiecePositions, Position, Row, Teams}; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `FIRST_SQUARE` [INFO] [stdout] --> engine/src/lib.rs:4:33 [INFO] [stdout] | [INFO] [stdout] 4 | use crate::pieces::{BOTTOM_ROW, FIRST_SQUARE, Pieces, TOP_ROW}; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Directions` [INFO] [stdout] --> engine/src/lib.rs:5:26 [INFO] [stdout] | [INFO] [stdout] 5 | use crate::util::{Board, Directions, GameStatus, Position, Teams}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `PiecePositions` [INFO] [stdout] --> engine/src/pieces.rs:3:19 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::util::{PiecePositions, Position, Row, Teams}; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0608]: cannot index into a value of type `Board` [INFO] [stdout] --> engine/src/pieces.rs:29:35 [INFO] [stdout] | [INFO] [stdout] 29 | if board.board[12] & (position >> 8) == 0 { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0608]: cannot index into a value of type `Board` [INFO] [stdout] --> engine/src/pieces.rs:29:35 [INFO] [stdout] | [INFO] [stdout] 29 | if board.board[12] & (position >> 8) == 0 { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0369]: no implementation for `Position >> {integer}` [INFO] [stdout] --> engine/src/pieces.rs:29:52 [INFO] [stdout] | [INFO] [stdout] 29 | if board.board[12] & (position >> 8) == 0 { [INFO] [stdout] | -------- ^^ - {integer} [INFO] [stdout] | | [INFO] [stdout] | Position [INFO] [stdout] | [INFO] [stdout] note: an implementation of `Shr<{integer}>` might be missing for `Position` [INFO] [stdout] --> engine/src/util.rs:7:1 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct Position(pub u64); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ must implement `Shr<{integer}>` [INFO] [stdout] note: the trait `Shr` must be implemented [INFO] [stdout] --> /rustc/f609b7e0586f81fefb3523e3e17adf779ac416be/library/core/src/ops/bit.rs:561:1 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0369]: no implementation for `Position >> {integer}` [INFO] [stdout] --> engine/src/pieces.rs:29:52 [INFO] [stdout] | [INFO] [stdout] 29 | if board.board[12] & (position >> 8) == 0 { [INFO] [stdout] | -------- ^^ - {integer} [INFO] [stdout] | | [INFO] [stdout] | Position [INFO] [stdout] | [INFO] [stdout] note: an implementation of `Shr<{integer}>` might be missing for `Position` [INFO] [stdout] --> engine/src/util.rs:7:1 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct Position(pub u64); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ must implement `Shr<{integer}>` [INFO] [stdout] note: the trait `Shr` must be implemented [INFO] [stdout] --> /rustc/f609b7e0586f81fefb3523e3e17adf779ac416be/library/core/src/ops/bit.rs:561:1 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0369]: no implementation for `Position >> {integer}` [INFO] [stdout] --> engine/src/pieces.rs:30:45 [INFO] [stdout] | [INFO] [stdout] 30 | found.push(position >> 8); [INFO] [stdout] | -------- ^^ - {integer} [INFO] [stdout] | | [INFO] [stdout] | Position [INFO] [stdout] | [INFO] [stdout] note: an implementation of `Shr<{integer}>` might be missing for `Position` [INFO] [stdout] --> engine/src/util.rs:7:1 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct Position(pub u64); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ must implement `Shr<{integer}>` [INFO] [stdout] note: the trait `Shr` must be implemented [INFO] [stdout] --> /rustc/f609b7e0586f81fefb3523e3e17adf779ac416be/library/core/src/ops/bit.rs:561:1 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0369]: no implementation for `Position >> {integer}` [INFO] [stdout] --> engine/src/pieces.rs:30:45 [INFO] [stdout] | [INFO] [stdout] 30 | found.push(position >> 8); [INFO] [stdout] | -------- ^^ - {integer} [INFO] [stdout] | | [INFO] [stdout] | Position [INFO] [stdout] | [INFO] [stdout] note: an implementation of `Shr<{integer}>` might be missing for `Position` [INFO] [stdout] --> engine/src/util.rs:7:1 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct Position(pub u64); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ must implement `Shr<{integer}>` [INFO] [stdout] note: the trait `Shr` must be implemented [INFO] [stdout] --> /rustc/f609b7e0586f81fefb3523e3e17adf779ac416be/library/core/src/ops/bit.rs:561:1 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0369]: no implementation for `Position & Row` [INFO] [stdout] --> engine/src/pieces.rs:33:37 [INFO] [stdout] | [INFO] [stdout] 33 | if position & SECOND_ROW != 0 && board.board[12] & (position >> 16) == 0 { [INFO] [stdout] | -------- ^ ---------- Row [INFO] [stdout] | | [INFO] [stdout] | Position [INFO] [stdout] | [INFO] [stdout] note: an implementation of `BitAnd` might be missing for `Position` [INFO] [stdout] --> engine/src/util.rs:7:1 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct Position(pub u64); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ must implement `BitAnd` [INFO] [stdout] note: the trait `BitAnd` must be implemented [INFO] [stdout] --> /rustc/f609b7e0586f81fefb3523e3e17adf779ac416be/library/core/src/ops/bit.rs:144:1 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0608]: cannot index into a value of type `Board` [INFO] [stdout] --> engine/src/pieces.rs:33:69 [INFO] [stdout] | [INFO] [stdout] 33 | if position & SECOND_ROW != 0 && board.board[12] & (position >> 16) == 0 { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0369]: no implementation for `Position & Row` [INFO] [stdout] --> engine/src/pieces.rs:33:37 [INFO] [stdout] | [INFO] [stdout] 33 | if position & SECOND_ROW != 0 && board.board[12] & (position >> 16) == 0 { [INFO] [stdout] | -------- ^ ---------- Row [INFO] [stdout] | | [INFO] [stdout] | Position [INFO] [stdout] | [INFO] [stdout] note: an implementation of `BitAnd` might be missing for `Position` [INFO] [stdout] --> engine/src/util.rs:7:1 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct Position(pub u64); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ must implement `BitAnd` [INFO] [stdout] note: the trait `BitAnd` must be implemented [INFO] [stdout] --> /rustc/f609b7e0586f81fefb3523e3e17adf779ac416be/library/core/src/ops/bit.rs:144:1 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0369]: no implementation for `Position >> {integer}` [INFO] [stdout] --> engine/src/pieces.rs:33:86 [INFO] [stdout] | [INFO] [stdout] 33 | if position & SECOND_ROW != 0 && board.board[12] & (position >> 16) == 0 { [INFO] [stdout] | -------- ^^ -- {integer} [INFO] [stdout] | | [INFO] [stdout] | Position [INFO] [stdout] | [INFO] [stdout] note: an implementation of `Shr<{integer}>` might be missing for `Position` [INFO] [stdout] --> engine/src/util.rs:7:1 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct Position(pub u64); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ must implement `Shr<{integer}>` [INFO] [stdout] note: the trait `Shr` must be implemented [INFO] [stdout] --> /rustc/f609b7e0586f81fefb3523e3e17adf779ac416be/library/core/src/ops/bit.rs:561:1 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0608]: cannot index into a value of type `Board` [INFO] [stdout] --> engine/src/pieces.rs:33:69 [INFO] [stdout] | [INFO] [stdout] 33 | if position & SECOND_ROW != 0 && board.board[12] & (position >> 16) == 0 { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0369]: no implementation for `Position >> {integer}` [INFO] [stdout] --> engine/src/pieces.rs:33:86 [INFO] [stdout] | [INFO] [stdout] 33 | if position & SECOND_ROW != 0 && board.board[12] & (position >> 16) == 0 { [INFO] [stdout] | -------- ^^ -- {integer} [INFO] [stdout] | | [INFO] [stdout] | Position [INFO] [stdout] | [INFO] [stdout] note: an implementation of `Shr<{integer}>` might be missing for `Position` [INFO] [stdout] --> engine/src/util.rs:7:1 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct Position(pub u64); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ must implement `Shr<{integer}>` [INFO] [stdout] note: the trait `Shr` must be implemented [INFO] [stdout] --> /rustc/f609b7e0586f81fefb3523e3e17adf779ac416be/library/core/src/ops/bit.rs:561:1 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0369]: no implementation for `Position >> {integer}` [INFO] [stdout] --> engine/src/pieces.rs:34:49 [INFO] [stdout] | [INFO] [stdout] 34 | ... found.push(position >> 16); [INFO] [stdout] | -------- ^^ -- {integer} [INFO] [stdout] | | [INFO] [stdout] | Position [INFO] [stdout] | [INFO] [stdout] note: an implementation of `Shr<{integer}>` might be missing for `Position` [INFO] [stdout] --> engine/src/util.rs:7:1 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct Position(pub u64); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ must implement `Shr<{integer}>` [INFO] [stdout] note: the trait `Shr` must be implemented [INFO] [stdout] --> /rustc/f609b7e0586f81fefb3523e3e17adf779ac416be/library/core/src/ops/bit.rs:561:1 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0608]: cannot index into a value of type `Board` [INFO] [stdout] --> engine/src/pieces.rs:39:35 [INFO] [stdout] | [INFO] [stdout] 39 | if board.board[12] & (position >> 7) != 0 { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0369]: no implementation for `Position >> {integer}` [INFO] [stdout] --> engine/src/pieces.rs:39:52 [INFO] [stdout] | [INFO] [stdout] 39 | if board.board[12] & (position >> 7) != 0 { [INFO] [stdout] | -------- ^^ - {integer} [INFO] [stdout] | | [INFO] [stdout] | Position [INFO] [stdout] | [INFO] [stdout] note: an implementation of `Shr<{integer}>` might be missing for `Position` [INFO] [stdout] --> engine/src/util.rs:7:1 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct Position(pub u64); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ must implement `Shr<{integer}>` [INFO] [stdout] note: the trait `Shr` must be implemented [INFO] [stdout] --> /rustc/f609b7e0586f81fefb3523e3e17adf779ac416be/library/core/src/ops/bit.rs:561:1 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0608]: cannot index into a value of type `Board` [INFO] [stdout] --> engine/src/pieces.rs:42:43 [INFO] [stdout] | [INFO] [stdout] 42 | ... if board.board[piece] & (position >> 7) != 0 { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0369]: no implementation for `Position >> {integer}` [INFO] [stdout] --> engine/src/pieces.rs:42:63 [INFO] [stdout] | [INFO] [stdout] 42 | ... if board.board[piece] & (position >> 7) != 0 { [INFO] [stdout] | -------- ^^ - {integer} [INFO] [stdout] | | [INFO] [stdout] | Position [INFO] [stdout] | [INFO] [stdout] note: an implementation of `Shr<{integer}>` might be missing for `Position` [INFO] [stdout] --> engine/src/util.rs:7:1 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct Position(pub u64); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ must implement `Shr<{integer}>` [INFO] [stdout] note: the trait `Shr` must be implemented [INFO] [stdout] --> /rustc/f609b7e0586f81fefb3523e3e17adf779ac416be/library/core/src/ops/bit.rs:561:1 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0369]: no implementation for `Position >> {integer}` [INFO] [stdout] --> engine/src/pieces.rs:34:49 [INFO] [stdout] | [INFO] [stdout] 34 | ... found.push(position >> 16); [INFO] [stdout] | -------- ^^ -- {integer} [INFO] [stdout] | | [INFO] [stdout] | Position [INFO] [stdout] | [INFO] [stdout] note: an implementation of `Shr<{integer}>` might be missing for `Position` [INFO] [stdout] --> engine/src/util.rs:7:1 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct Position(pub u64); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ must implement `Shr<{integer}>` [INFO] [stdout] note: the trait `Shr` must be implemented [INFO] [stdout] --> /rustc/f609b7e0586f81fefb3523e3e17adf779ac416be/library/core/src/ops/bit.rs:561:1 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0608]: cannot index into a value of type `Board` [INFO] [stdout] --> engine/src/pieces.rs:39:35 [INFO] [stdout] | [INFO] [stdout] 39 | if board.board[12] & (position >> 7) != 0 { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0369]: no implementation for `Position >> {integer}` [INFO] [stdout] --> engine/src/pieces.rs:39:52 [INFO] [stdout] | [INFO] [stdout] 39 | if board.board[12] & (position >> 7) != 0 { [INFO] [stdout] | -------- ^^ - {integer} [INFO] [stdout] | | [INFO] [stdout] | Position [INFO] [stdout] | [INFO] [stdout] note: an implementation of `Shr<{integer}>` might be missing for `Position` [INFO] [stdout] --> engine/src/util.rs:7:1 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct Position(pub u64); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ must implement `Shr<{integer}>` [INFO] [stdout] note: the trait `Shr` must be implemented [INFO] [stdout] --> /rustc/f609b7e0586f81fefb3523e3e17adf779ac416be/library/core/src/ops/bit.rs:561:1 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0608]: cannot index into a value of type `Board` [INFO] [stdout] --> engine/src/pieces.rs:42:43 [INFO] [stdout] | [INFO] [stdout] 42 | ... if board.board[piece] & (position >> 7) != 0 { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0369]: no implementation for `Position >> {integer}` [INFO] [stdout] --> engine/src/pieces.rs:42:63 [INFO] [stdout] | [INFO] [stdout] 42 | ... if board.board[piece] & (position >> 7) != 0 { [INFO] [stdout] | -------- ^^ - {integer} [INFO] [stdout] | | [INFO] [stdout] | Position [INFO] [stdout] | [INFO] [stdout] note: an implementation of `Shr<{integer}>` might be missing for `Position` [INFO] [stdout] --> engine/src/util.rs:7:1 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct Position(pub u64); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ must implement `Shr<{integer}>` [INFO] [stdout] note: the trait `Shr` must be implemented [INFO] [stdout] --> /rustc/f609b7e0586f81fefb3523e3e17adf779ac416be/library/core/src/ops/bit.rs:561:1 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0369]: no implementation for `Position >> {integer}` [INFO] [stdout] --> engine/src/pieces.rs:47:49 [INFO] [stdout] | [INFO] [stdout] 47 | ... found.push(position >> 7); [INFO] [stdout] | -------- ^^ - {integer} [INFO] [stdout] | | [INFO] [stdout] | Position [INFO] [stdout] | [INFO] [stdout] note: an implementation of `Shr<{integer}>` might be missing for `Position` [INFO] [stdout] --> engine/src/util.rs:7:1 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct Position(pub u64); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ must implement `Shr<{integer}>` [INFO] [stdout] note: the trait `Shr` must be implemented [INFO] [stdout] --> /rustc/f609b7e0586f81fefb3523e3e17adf779ac416be/library/core/src/ops/bit.rs:561:1 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0608]: cannot index into a value of type `Board` [INFO] [stdout] --> engine/src/pieces.rs:52:35 [INFO] [stdout] | [INFO] [stdout] 52 | if board.board[12] & (position >> 9) != 0 { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0369]: no implementation for `Position >> {integer}` [INFO] [stdout] --> engine/src/pieces.rs:52:52 [INFO] [stdout] | [INFO] [stdout] 52 | if board.board[12] & (position >> 9) != 0 { [INFO] [stdout] | -------- ^^ - {integer} [INFO] [stdout] | | [INFO] [stdout] | Position [INFO] [stdout] | [INFO] [stdout] note: an implementation of `Shr<{integer}>` might be missing for `Position` [INFO] [stdout] --> engine/src/util.rs:7:1 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct Position(pub u64); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ must implement `Shr<{integer}>` [INFO] [stdout] note: the trait `Shr` must be implemented [INFO] [stdout] --> /rustc/f609b7e0586f81fefb3523e3e17adf779ac416be/library/core/src/ops/bit.rs:561:1 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0608]: cannot index into a value of type `Board` [INFO] [stdout] --> engine/src/pieces.rs:55:43 [INFO] [stdout] | [INFO] [stdout] 55 | ... if board.board[piece] & (position >> 9) != 0 { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0369]: no implementation for `Position >> {integer}` [INFO] [stdout] --> engine/src/pieces.rs:55:63 [INFO] [stdout] | [INFO] [stdout] 55 | ... if board.board[piece] & (position >> 9) != 0 { [INFO] [stdout] | -------- ^^ - {integer} [INFO] [stdout] | | [INFO] [stdout] | Position [INFO] [stdout] | [INFO] [stdout] note: an implementation of `Shr<{integer}>` might be missing for `Position` [INFO] [stdout] --> engine/src/util.rs:7:1 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct Position(pub u64); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ must implement `Shr<{integer}>` [INFO] [stdout] note: the trait `Shr` must be implemented [INFO] [stdout] --> /rustc/f609b7e0586f81fefb3523e3e17adf779ac416be/library/core/src/ops/bit.rs:561:1 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0369]: no implementation for `Position >> {integer}` [INFO] [stdout] --> engine/src/pieces.rs:47:49 [INFO] [stdout] | [INFO] [stdout] 47 | ... found.push(position >> 7); [INFO] [stdout] | -------- ^^ - {integer} [INFO] [stdout] | | [INFO] [stdout] | Position [INFO] [stdout] | [INFO] [stdout] note: an implementation of `Shr<{integer}>` might be missing for `Position` [INFO] [stdout] --> engine/src/util.rs:7:1 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct Position(pub u64); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ must implement `Shr<{integer}>` [INFO] [stdout] note: the trait `Shr` must be implemented [INFO] [stdout] --> /rustc/f609b7e0586f81fefb3523e3e17adf779ac416be/library/core/src/ops/bit.rs:561:1 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0608]: cannot index into a value of type `Board` [INFO] [stdout] --> engine/src/pieces.rs:52:35 [INFO] [stdout] | [INFO] [stdout] 52 | if board.board[12] & (position >> 9) != 0 { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0369]: no implementation for `Position >> {integer}` [INFO] [stdout] --> engine/src/pieces.rs:52:52 [INFO] [stdout] | [INFO] [stdout] 52 | if board.board[12] & (position >> 9) != 0 { [INFO] [stdout] | -------- ^^ - {integer} [INFO] [stdout] | | [INFO] [stdout] | Position [INFO] [stdout] | [INFO] [stdout] note: an implementation of `Shr<{integer}>` might be missing for `Position` [INFO] [stdout] --> engine/src/util.rs:7:1 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct Position(pub u64); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ must implement `Shr<{integer}>` [INFO] [stdout] note: the trait `Shr` must be implemented [INFO] [stdout] --> /rustc/f609b7e0586f81fefb3523e3e17adf779ac416be/library/core/src/ops/bit.rs:561:1 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0608]: cannot index into a value of type `Board` [INFO] [stdout] --> engine/src/pieces.rs:55:43 [INFO] [stdout] | [INFO] [stdout] 55 | ... if board.board[piece] & (position >> 9) != 0 { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0369]: no implementation for `Position >> {integer}` [INFO] [stdout] --> engine/src/pieces.rs:55:63 [INFO] [stdout] | [INFO] [stdout] 55 | ... if board.board[piece] & (position >> 9) != 0 { [INFO] [stdout] | -------- ^^ - {integer} [INFO] [stdout] | | [INFO] [stdout] | Position [INFO] [stdout] | [INFO] [stdout] note: an implementation of `Shr<{integer}>` might be missing for `Position` [INFO] [stdout] --> engine/src/util.rs:7:1 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct Position(pub u64); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ must implement `Shr<{integer}>` [INFO] [stdout] note: the trait `Shr` must be implemented [INFO] [stdout] --> /rustc/f609b7e0586f81fefb3523e3e17adf779ac416be/library/core/src/ops/bit.rs:561:1 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0369]: no implementation for `Position >> {integer}` [INFO] [stdout] --> engine/src/pieces.rs:60:49 [INFO] [stdout] | [INFO] [stdout] 60 | ... found.push(position >> 9); [INFO] [stdout] | -------- ^^ - {integer} [INFO] [stdout] | | [INFO] [stdout] | Position [INFO] [stdout] | [INFO] [stdout] note: an implementation of `Shr<{integer}>` might be missing for `Position` [INFO] [stdout] --> engine/src/util.rs:7:1 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct Position(pub u64); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ must implement `Shr<{integer}>` [INFO] [stdout] note: the trait `Shr` must be implemented [INFO] [stdout] --> /rustc/f609b7e0586f81fefb3523e3e17adf779ac416be/library/core/src/ops/bit.rs:561:1 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0608]: cannot index into a value of type `Board` [INFO] [stdout] --> engine/src/pieces.rs:66:36 [INFO] [stdout] | [INFO] [stdout] 66 | board.board[!team as usize + Pieces::Pawn as usize] & board.last_pawn.unwrap() != 0 && [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0369]: no implementation for `Position >> {integer}` [INFO] [stdout] --> engine/src/pieces.rs:67:64 [INFO] [stdout] | [INFO] [stdout] 67 | (board.last_pawn.unwrap() == (position >> 1) || board.last_pawn.unwrap() == (position << 1)) { [INFO] [stdout] | -------- ^^ - {integer} [INFO] [stdout] | | [INFO] [stdout] | Position [INFO] [stdout] | [INFO] [stdout] note: an implementation of `Shr<{integer}>` might be missing for `Position` [INFO] [stdout] --> engine/src/util.rs:7:1 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct Position(pub u64); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ must implement `Shr<{integer}>` [INFO] [stdout] note: the trait `Shr` must be implemented [INFO] [stdout] --> /rustc/f609b7e0586f81fefb3523e3e17adf779ac416be/library/core/src/ops/bit.rs:561:1 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0369]: no implementation for `Position << {integer}` [INFO] [stdout] --> engine/src/pieces.rs:67:111 [INFO] [stdout] | [INFO] [stdout] 67 | (board.last_pawn.unwrap() == (position >> 1) || board.last_pawn.unwrap() == (position << 1)) { [INFO] [stdout] | -------- ^^ - {integer} [INFO] [stdout] | | [INFO] [stdout] | Position [INFO] [stdout] | [INFO] [stdout] note: an implementation of `Shl<{integer}>` might be missing for `Position` [INFO] [stdout] --> engine/src/util.rs:7:1 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct Position(pub u64); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ must implement `Shl<{integer}>` [INFO] [stdout] note: the trait `Shl` must be implemented [INFO] [stdout] --> /rustc/f609b7e0586f81fefb3523e3e17adf779ac416be/library/core/src/ops/bit.rs:443:1 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0369]: no implementation for `Position >> {integer}` [INFO] [stdout] --> engine/src/pieces.rs:60:49 [INFO] [stdout] | [INFO] [stdout] 60 | ... found.push(position >> 9); [INFO] [stdout] | -------- ^^ - {integer} [INFO] [stdout] | | [INFO] [stdout] | Position [INFO] [stdout] | [INFO] [stdout] note: an implementation of `Shr<{integer}>` might be missing for `Position` [INFO] [stdout] --> engine/src/util.rs:7:1 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct Position(pub u64); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ must implement `Shr<{integer}>` [INFO] [stdout] note: the trait `Shr` must be implemented [INFO] [stdout] --> /rustc/f609b7e0586f81fefb3523e3e17adf779ac416be/library/core/src/ops/bit.rs:561:1 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0608]: cannot index into a value of type `Board` [INFO] [stdout] --> engine/src/pieces.rs:66:36 [INFO] [stdout] | [INFO] [stdout] 66 | board.board[!team as usize + Pieces::Pawn as usize] & board.last_pawn.unwrap() != 0 && [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0369]: no implementation for `Position >> {integer}` [INFO] [stdout] --> engine/src/pieces.rs:67:64 [INFO] [stdout] | [INFO] [stdout] 67 | (board.last_pawn.unwrap() == (position >> 1) || board.last_pawn.unwrap() == (position << 1)) { [INFO] [stdout] | -------- ^^ - {integer} [INFO] [stdout] | | [INFO] [stdout] | Position [INFO] [stdout] | [INFO] [stdout] note: an implementation of `Shr<{integer}>` might be missing for `Position` [INFO] [stdout] --> engine/src/util.rs:7:1 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct Position(pub u64); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ must implement `Shr<{integer}>` [INFO] [stdout] note: the trait `Shr` must be implemented [INFO] [stdout] --> /rustc/f609b7e0586f81fefb3523e3e17adf779ac416be/library/core/src/ops/bit.rs:561:1 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0369]: no implementation for `Position >> {integer}` [INFO] [stdout] --> engine/src/pieces.rs:68:61 [INFO] [stdout] | [INFO] [stdout] 68 | found.push(board.last_pawn.unwrap() >> 9); [INFO] [stdout] | ------------------------ ^^ - {integer} [INFO] [stdout] | | [INFO] [stdout] | Position [INFO] [stdout] | [INFO] [stdout] note: an implementation of `Shr<{integer}>` might be missing for `Position` [INFO] [stdout] --> engine/src/util.rs:7:1 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct Position(pub u64); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ must implement `Shr<{integer}>` [INFO] [stdout] note: the trait `Shr` must be implemented [INFO] [stdout] --> /rustc/f609b7e0586f81fefb3523e3e17adf779ac416be/library/core/src/ops/bit.rs:561:1 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0608]: cannot index into a value of type `Board` [INFO] [stdout] --> engine/src/pieces.rs:74:35 [INFO] [stdout] | [INFO] [stdout] 74 | if board.board[12] & (position << 8) == 0 { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0369]: no implementation for `Position << {integer}` [INFO] [stdout] --> engine/src/pieces.rs:67:111 [INFO] [stdout] | [INFO] [stdout] 67 | (board.last_pawn.unwrap() == (position >> 1) || board.last_pawn.unwrap() == (position << 1)) { [INFO] [stdout] | -------- ^^ - {integer} [INFO] [stdout] | | [INFO] [stdout] | Position [INFO] [stdout] | [INFO] [stdout] note: an implementation of `Shl<{integer}>` might be missing for `Position` [INFO] [stdout] --> engine/src/util.rs:7:1 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct Position(pub u64); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ must implement `Shl<{integer}>` [INFO] [stdout] note: the trait `Shl` must be implemented [INFO] [stdout] --> /rustc/f609b7e0586f81fefb3523e3e17adf779ac416be/library/core/src/ops/bit.rs:443:1 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0369]: no implementation for `Position << {integer}` [INFO] [stdout] --> engine/src/pieces.rs:74:52 [INFO] [stdout] | [INFO] [stdout] 74 | if board.board[12] & (position << 8) == 0 { [INFO] [stdout] | -------- ^^ - {integer} [INFO] [stdout] | | [INFO] [stdout] | Position [INFO] [stdout] | [INFO] [stdout] note: an implementation of `Shl<{integer}>` might be missing for `Position` [INFO] [stdout] --> engine/src/util.rs:7:1 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct Position(pub u64); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ must implement `Shl<{integer}>` [INFO] [stdout] note: the trait `Shl` must be implemented [INFO] [stdout] --> /rustc/f609b7e0586f81fefb3523e3e17adf779ac416be/library/core/src/ops/bit.rs:443:1 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0369]: no implementation for `Position << {integer}` [INFO] [stdout] --> engine/src/pieces.rs:75:45 [INFO] [stdout] | [INFO] [stdout] 75 | found.push(position << 8); [INFO] [stdout] | -------- ^^ - {integer} [INFO] [stdout] | | [INFO] [stdout] | Position [INFO] [stdout] | [INFO] [stdout] note: an implementation of `Shl<{integer}>` might be missing for `Position` [INFO] [stdout] --> engine/src/util.rs:7:1 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct Position(pub u64); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ must implement `Shl<{integer}>` [INFO] [stdout] note: the trait `Shl` must be implemented [INFO] [stdout] --> /rustc/f609b7e0586f81fefb3523e3e17adf779ac416be/library/core/src/ops/bit.rs:443:1 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0369]: no implementation for `Position & Row` [INFO] [stdout] --> engine/src/pieces.rs:78:37 [INFO] [stdout] | [INFO] [stdout] 78 | if position & SEVENTH_ROW != 0 && board.board[12] & (position << 16) == 0 { [INFO] [stdout] | -------- ^ ----------- Row [INFO] [stdout] | | [INFO] [stdout] | Position [INFO] [stdout] | [INFO] [stdout] note: an implementation of `BitAnd` might be missing for `Position` [INFO] [stdout] --> engine/src/util.rs:7:1 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct Position(pub u64); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ must implement `BitAnd` [INFO] [stdout] note: the trait `BitAnd` must be implemented [INFO] [stdout] --> /rustc/f609b7e0586f81fefb3523e3e17adf779ac416be/library/core/src/ops/bit.rs:144:1 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0608]: cannot index into a value of type `Board` [INFO] [stdout] --> engine/src/pieces.rs:78:70 [INFO] [stdout] | [INFO] [stdout] 78 | if position & SEVENTH_ROW != 0 && board.board[12] & (position << 16) == 0 { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0369]: no implementation for `Position << {integer}` [INFO] [stdout] --> engine/src/pieces.rs:78:87 [INFO] [stdout] | [INFO] [stdout] 78 | if position & SEVENTH_ROW != 0 && board.board[12] & (position << 16) == 0 { [INFO] [stdout] | -------- ^^ -- {integer} [INFO] [stdout] | | [INFO] [stdout] | Position [INFO] [stdout] | [INFO] [stdout] note: an implementation of `Shl<{integer}>` might be missing for `Position` [INFO] [stdout] --> engine/src/util.rs:7:1 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct Position(pub u64); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ must implement `Shl<{integer}>` [INFO] [stdout] note: the trait `Shl` must be implemented [INFO] [stdout] --> /rustc/f609b7e0586f81fefb3523e3e17adf779ac416be/library/core/src/ops/bit.rs:443:1 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0369]: no implementation for `Position >> {integer}` [INFO] [stdout] --> engine/src/pieces.rs:68:61 [INFO] [stdout] | [INFO] [stdout] 68 | found.push(board.last_pawn.unwrap() >> 9); [INFO] [stdout] | ------------------------ ^^ - {integer} [INFO] [stdout] | | [INFO] [stdout] | Position [INFO] [stdout] | [INFO] [stdout] note: an implementation of `Shr<{integer}>` might be missing for `Position` [INFO] [stdout] --> engine/src/util.rs:7:1 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct Position(pub u64); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ must implement `Shr<{integer}>` [INFO] [stdout] note: the trait `Shr` must be implemented [INFO] [stdout] --> /rustc/f609b7e0586f81fefb3523e3e17adf779ac416be/library/core/src/ops/bit.rs:561:1 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0608]: cannot index into a value of type `Board` [INFO] [stdout] --> engine/src/pieces.rs:74:35 [INFO] [stdout] | [INFO] [stdout] 74 | if board.board[12] & (position << 8) == 0 { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0369]: no implementation for `Position << {integer}` [INFO] [stdout] --> engine/src/pieces.rs:79:49 [INFO] [stdout] | [INFO] [stdout] 79 | ... found.push(position << 16); [INFO] [stdout] | -------- ^^ -- {integer} [INFO] [stdout] | | [INFO] [stdout] | Position [INFO] [stdout] | [INFO] [stdout] note: an implementation of `Shl<{integer}>` might be missing for `Position` [INFO] [stdout] --> engine/src/util.rs:7:1 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct Position(pub u64); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ must implement `Shl<{integer}>` [INFO] [stdout] note: the trait `Shl` must be implemented [INFO] [stdout] --> /rustc/f609b7e0586f81fefb3523e3e17adf779ac416be/library/core/src/ops/bit.rs:443:1 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0369]: no implementation for `Position << {integer}` [INFO] [stdout] --> engine/src/pieces.rs:74:52 [INFO] [stdout] | [INFO] [stdout] 74 | if board.board[12] & (position << 8) == 0 { [INFO] [stdout] | -------- ^^ - {integer} [INFO] [stdout] | | [INFO] [stdout] | Position [INFO] [stdout] | [INFO] [stdout] note: an implementation of `Shl<{integer}>` might be missing for `Position` [INFO] [stdout] --> engine/src/util.rs:7:1 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct Position(pub u64); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ must implement `Shl<{integer}>` [INFO] [stdout] note: the trait `Shl` must be implemented [INFO] [stdout] --> /rustc/f609b7e0586f81fefb3523e3e17adf779ac416be/library/core/src/ops/bit.rs:443:1 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0608]: cannot index into a value of type `Board` [INFO] [stdout] --> engine/src/pieces.rs:84:35 [INFO] [stdout] | [INFO] [stdout] 84 | if board.board[12] & (position << 7) != 0 { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0369]: no implementation for `Position << {integer}` [INFO] [stdout] --> engine/src/pieces.rs:75:45 [INFO] [stdout] | [INFO] [stdout] 75 | found.push(position << 8); [INFO] [stdout] | -------- ^^ - {integer} [INFO] [stdout] | | [INFO] [stdout] | Position [INFO] [stdout] | [INFO] [stdout] note: an implementation of `Shl<{integer}>` might be missing for `Position` [INFO] [stdout] --> engine/src/util.rs:7:1 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct Position(pub u64); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ must implement `Shl<{integer}>` [INFO] [stdout] note: the trait `Shl` must be implemented [INFO] [stdout] --> /rustc/f609b7e0586f81fefb3523e3e17adf779ac416be/library/core/src/ops/bit.rs:443:1 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0369]: no implementation for `Position << {integer}` [INFO] [stdout] --> engine/src/pieces.rs:84:52 [INFO] [stdout] | [INFO] [stdout] 84 | if board.board[12] & (position << 7) != 0 { [INFO] [stdout] | -------- ^^ - {integer} [INFO] [stdout] | | [INFO] [stdout] | Position [INFO] [stdout] | [INFO] [stdout] note: an implementation of `Shl<{integer}>` might be missing for `Position` [INFO] [stdout] --> engine/src/util.rs:7:1 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct Position(pub u64); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ must implement `Shl<{integer}>` [INFO] [stdout] note: the trait `Shl` must be implemented [INFO] [stdout] --> /rustc/f609b7e0586f81fefb3523e3e17adf779ac416be/library/core/src/ops/bit.rs:443:1 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0608]: cannot index into a value of type `Board` [INFO] [stdout] --> engine/src/pieces.rs:87:43 [INFO] [stdout] | [INFO] [stdout] 87 | ... if board.board[piece] & (position << 7) != 0 { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0369]: no implementation for `Position & Row` [INFO] [stdout] --> engine/src/pieces.rs:78:37 [INFO] [stdout] | [INFO] [stdout] 78 | if position & SEVENTH_ROW != 0 && board.board[12] & (position << 16) == 0 { [INFO] [stdout] | -------- ^ ----------- Row [INFO] [stdout] | | [INFO] [stdout] | Position [INFO] [stdout] | [INFO] [stdout] note: an implementation of `BitAnd` might be missing for `Position` [INFO] [stdout] --> engine/src/util.rs:7:1 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct Position(pub u64); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ must implement `BitAnd` [INFO] [stdout] note: the trait `BitAnd` must be implemented [INFO] [stdout] --> /rustc/f609b7e0586f81fefb3523e3e17adf779ac416be/library/core/src/ops/bit.rs:144:1 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0369]: no implementation for `Position << {integer}` [INFO] [stdout] --> engine/src/pieces.rs:87:63 [INFO] [stdout] | [INFO] [stdout] 87 | ... if board.board[piece] & (position << 7) != 0 { [INFO] [stdout] | -------- ^^ - {integer} [INFO] [stdout] | | [INFO] [stdout] | Position [INFO] [stdout] | [INFO] [stdout] note: an implementation of `Shl<{integer}>` might be missing for `Position` [INFO] [stdout] --> engine/src/util.rs:7:1 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct Position(pub u64); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ must implement `Shl<{integer}>` [INFO] [stdout] note: the trait `Shl` must be implemented [INFO] [stdout] --> /rustc/f609b7e0586f81fefb3523e3e17adf779ac416be/library/core/src/ops/bit.rs:443:1 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0608]: cannot index into a value of type `Board` [INFO] [stdout] --> engine/src/pieces.rs:78:70 [INFO] [stdout] | [INFO] [stdout] 78 | if position & SEVENTH_ROW != 0 && board.board[12] & (position << 16) == 0 { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0369]: no implementation for `Position << {integer}` [INFO] [stdout] --> engine/src/pieces.rs:78:87 [INFO] [stdout] | [INFO] [stdout] 78 | if position & SEVENTH_ROW != 0 && board.board[12] & (position << 16) == 0 { [INFO] [stdout] | -------- ^^ -- {integer} [INFO] [stdout] | | [INFO] [stdout] | Position [INFO] [stdout] | [INFO] [stdout] note: an implementation of `Shl<{integer}>` might be missing for `Position` [INFO] [stdout] --> engine/src/util.rs:7:1 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct Position(pub u64); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ must implement `Shl<{integer}>` [INFO] [stdout] note: the trait `Shl` must be implemented [INFO] [stdout] --> /rustc/f609b7e0586f81fefb3523e3e17adf779ac416be/library/core/src/ops/bit.rs:443:1 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0369]: no implementation for `Position << {integer}` [INFO] [stdout] --> engine/src/pieces.rs:92:49 [INFO] [stdout] | [INFO] [stdout] 92 | ... found.push(position << 7); [INFO] [stdout] | -------- ^^ - {integer} [INFO] [stdout] | | [INFO] [stdout] | Position [INFO] [stdout] | [INFO] [stdout] note: an implementation of `Shl<{integer}>` might be missing for `Position` [INFO] [stdout] --> engine/src/util.rs:7:1 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct Position(pub u64); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ must implement `Shl<{integer}>` [INFO] [stdout] note: the trait `Shl` must be implemented [INFO] [stdout] --> /rustc/f609b7e0586f81fefb3523e3e17adf779ac416be/library/core/src/ops/bit.rs:443:1 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0608]: cannot index into a value of type `Board` [INFO] [stdout] --> engine/src/pieces.rs:97:35 [INFO] [stdout] | [INFO] [stdout] 97 | if board.board[12] & (position << 9) != 0 { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0369]: no implementation for `Position << {integer}` [INFO] [stdout] --> engine/src/pieces.rs:97:52 [INFO] [stdout] | [INFO] [stdout] 97 | if board.board[12] & (position << 9) != 0 { [INFO] [stdout] | -------- ^^ - {integer} [INFO] [stdout] | | [INFO] [stdout] | Position [INFO] [stdout] | [INFO] [stdout] note: an implementation of `Shl<{integer}>` might be missing for `Position` [INFO] [stdout] --> engine/src/util.rs:7:1 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct Position(pub u64); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ must implement `Shl<{integer}>` [INFO] [stdout] note: the trait `Shl` must be implemented [INFO] [stdout] --> /rustc/f609b7e0586f81fefb3523e3e17adf779ac416be/library/core/src/ops/bit.rs:443:1 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0608]: cannot index into a value of type `Board` [INFO] [stdout] --> engine/src/pieces.rs:100:43 [INFO] [stdout] | [INFO] [stdout] 100 | ... if board.board[piece] & (position << 9) != 0 { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0369]: no implementation for `Position << {integer}` [INFO] [stdout] --> engine/src/pieces.rs:79:49 [INFO] [stdout] | [INFO] [stdout] 79 | ... found.push(position << 16); [INFO] [stdout] | -------- ^^ -- {integer} [INFO] [stdout] | | [INFO] [stdout] | Position [INFO] [stdout] | [INFO] [stdout] note: an implementation of `Shl<{integer}>` might be missing for `Position` [INFO] [stdout] --> engine/src/util.rs:7:1 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct Position(pub u64); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ must implement `Shl<{integer}>` [INFO] [stdout] note: the trait `Shl` must be implemented [INFO] [stdout] --> /rustc/f609b7e0586f81fefb3523e3e17adf779ac416be/library/core/src/ops/bit.rs:443:1 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0608]: cannot index into a value of type `Board` [INFO] [stdout] --> engine/src/pieces.rs:84:35 [INFO] [stdout] | [INFO] [stdout] 84 | if board.board[12] & (position << 7) != 0 { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0369]: no implementation for `Position << {integer}` [INFO] [stdout] --> engine/src/pieces.rs:100:63 [INFO] [stdout] | [INFO] [stdout] 100 | ... if board.board[piece] & (position << 9) != 0 { [INFO] [stdout] | -------- ^^ - {integer} [INFO] [stdout] | | [INFO] [stdout] | Position [INFO] [stdout] | [INFO] [stdout] note: an implementation of `Shl<{integer}>` might be missing for `Position` [INFO] [stdout] --> engine/src/util.rs:7:1 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct Position(pub u64); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ must implement `Shl<{integer}>` [INFO] [stdout] note: the trait `Shl` must be implemented [INFO] [stdout] --> /rustc/f609b7e0586f81fefb3523e3e17adf779ac416be/library/core/src/ops/bit.rs:443:1 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0369]: no implementation for `Position << {integer}` [INFO] [stdout] --> engine/src/pieces.rs:84:52 [INFO] [stdout] | [INFO] [stdout] 84 | if board.board[12] & (position << 7) != 0 { [INFO] [stdout] | -------- ^^ - {integer} [INFO] [stdout] | | [INFO] [stdout] | Position [INFO] [stdout] | [INFO] [stdout] note: an implementation of `Shl<{integer}>` might be missing for `Position` [INFO] [stdout] --> engine/src/util.rs:7:1 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct Position(pub u64); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ must implement `Shl<{integer}>` [INFO] [stdout] note: the trait `Shl` must be implemented [INFO] [stdout] --> /rustc/f609b7e0586f81fefb3523e3e17adf779ac416be/library/core/src/ops/bit.rs:443:1 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0608]: cannot index into a value of type `Board` [INFO] [stdout] --> engine/src/pieces.rs:87:43 [INFO] [stdout] | [INFO] [stdout] 87 | ... if board.board[piece] & (position << 7) != 0 { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0369]: no implementation for `Position << {integer}` [INFO] [stdout] --> engine/src/pieces.rs:87:63 [INFO] [stdout] | [INFO] [stdout] 87 | ... if board.board[piece] & (position << 7) != 0 { [INFO] [stdout] | -------- ^^ - {integer} [INFO] [stdout] | | [INFO] [stdout] | Position [INFO] [stdout] | [INFO] [stdout] note: an implementation of `Shl<{integer}>` might be missing for `Position` [INFO] [stdout] --> engine/src/util.rs:7:1 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct Position(pub u64); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ must implement `Shl<{integer}>` [INFO] [stdout] note: the trait `Shl` must be implemented [INFO] [stdout] --> /rustc/f609b7e0586f81fefb3523e3e17adf779ac416be/library/core/src/ops/bit.rs:443:1 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0369]: no implementation for `Position << {integer}` [INFO] [stdout] --> engine/src/pieces.rs:105:49 [INFO] [stdout] | [INFO] [stdout] 105 | ... found.push(position << 9); [INFO] [stdout] | -------- ^^ - {integer} [INFO] [stdout] | | [INFO] [stdout] | Position [INFO] [stdout] | [INFO] [stdout] note: an implementation of `Shl<{integer}>` might be missing for `Position` [INFO] [stdout] --> engine/src/util.rs:7:1 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct Position(pub u64); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ must implement `Shl<{integer}>` [INFO] [stdout] note: the trait `Shl` must be implemented [INFO] [stdout] --> /rustc/f609b7e0586f81fefb3523e3e17adf779ac416be/library/core/src/ops/bit.rs:443:1 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0608]: cannot index into a value of type `Board` [INFO] [stdout] --> engine/src/pieces.rs:111:36 [INFO] [stdout] | [INFO] [stdout] 111 | board.board[!team as usize + Pieces::Pawn as usize] & board.last_pawn.unwrap() != 0 && [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0369]: no implementation for `Position >> {integer}` [INFO] [stdout] --> engine/src/pieces.rs:112:64 [INFO] [stdout] | [INFO] [stdout] 112 | (board.last_pawn.unwrap() == (position >> 1) || board.last_pawn.unwrap() == (position << 1)) { [INFO] [stdout] | -------- ^^ - {integer} [INFO] [stdout] | | [INFO] [stdout] | Position [INFO] [stdout] | [INFO] [stdout] note: an implementation of `Shr<{integer}>` might be missing for `Position` [INFO] [stdout] --> engine/src/util.rs:7:1 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct Position(pub u64); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ must implement `Shr<{integer}>` [INFO] [stdout] note: the trait `Shr` must be implemented [INFO] [stdout] --> /rustc/f609b7e0586f81fefb3523e3e17adf779ac416be/library/core/src/ops/bit.rs:561:1 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0369]: no implementation for `Position << {integer}` [INFO] [stdout] --> engine/src/pieces.rs:112:111 [INFO] [stdout] | [INFO] [stdout] 112 | (board.last_pawn.unwrap() == (position >> 1) || board.last_pawn.unwrap() == (position << 1)) { [INFO] [stdout] | -------- ^^ - {integer} [INFO] [stdout] | | [INFO] [stdout] | Position [INFO] [stdout] | [INFO] [stdout] note: an implementation of `Shl<{integer}>` might be missing for `Position` [INFO] [stdout] --> engine/src/util.rs:7:1 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct Position(pub u64); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ must implement `Shl<{integer}>` [INFO] [stdout] note: the trait `Shl` must be implemented [INFO] [stdout] --> /rustc/f609b7e0586f81fefb3523e3e17adf779ac416be/library/core/src/ops/bit.rs:443:1 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0369]: no implementation for `Position << {integer}` [INFO] [stdout] --> engine/src/pieces.rs:92:49 [INFO] [stdout] | [INFO] [stdout] 92 | ... found.push(position << 7); [INFO] [stdout] | -------- ^^ - {integer} [INFO] [stdout] | | [INFO] [stdout] | Position [INFO] [stdout] | [INFO] [stdout] note: an implementation of `Shl<{integer}>` might be missing for `Position` [INFO] [stdout] --> engine/src/util.rs:7:1 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct Position(pub u64); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ must implement `Shl<{integer}>` [INFO] [stdout] note: the trait `Shl` must be implemented [INFO] [stdout] --> /rustc/f609b7e0586f81fefb3523e3e17adf779ac416be/library/core/src/ops/bit.rs:443:1 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0608]: cannot index into a value of type `Board` [INFO] [stdout] --> engine/src/pieces.rs:97:35 [INFO] [stdout] | [INFO] [stdout] 97 | if board.board[12] & (position << 9) != 0 { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0369]: no implementation for `Position << {integer}` [INFO] [stdout] --> engine/src/pieces.rs:97:52 [INFO] [stdout] | [INFO] [stdout] 97 | if board.board[12] & (position << 9) != 0 { [INFO] [stdout] | -------- ^^ - {integer} [INFO] [stdout] | | [INFO] [stdout] | Position [INFO] [stdout] | [INFO] [stdout] note: an implementation of `Shl<{integer}>` might be missing for `Position` [INFO] [stdout] --> engine/src/util.rs:7:1 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct Position(pub u64); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ must implement `Shl<{integer}>` [INFO] [stdout] note: the trait `Shl` must be implemented [INFO] [stdout] --> /rustc/f609b7e0586f81fefb3523e3e17adf779ac416be/library/core/src/ops/bit.rs:443:1 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0608]: cannot index into a value of type `Board` [INFO] [stdout] --> engine/src/pieces.rs:100:43 [INFO] [stdout] | [INFO] [stdout] 100 | ... if board.board[piece] & (position << 9) != 0 { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0369]: no implementation for `Position << {integer}` [INFO] [stdout] --> engine/src/pieces.rs:100:63 [INFO] [stdout] | [INFO] [stdout] 100 | ... if board.board[piece] & (position << 9) != 0 { [INFO] [stdout] | -------- ^^ - {integer} [INFO] [stdout] | | [INFO] [stdout] | Position [INFO] [stdout] | [INFO] [stdout] note: an implementation of `Shl<{integer}>` might be missing for `Position` [INFO] [stdout] --> engine/src/util.rs:7:1 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct Position(pub u64); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ must implement `Shl<{integer}>` [INFO] [stdout] note: the trait `Shl` must be implemented [INFO] [stdout] --> /rustc/f609b7e0586f81fefb3523e3e17adf779ac416be/library/core/src/ops/bit.rs:443:1 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0369]: no implementation for `Position << {integer}` [INFO] [stdout] --> engine/src/pieces.rs:113:61 [INFO] [stdout] | [INFO] [stdout] 113 | found.push(board.last_pawn.unwrap() << 9); [INFO] [stdout] | ------------------------ ^^ - {integer} [INFO] [stdout] | | [INFO] [stdout] | Position [INFO] [stdout] | [INFO] [stdout] note: an implementation of `Shl<{integer}>` might be missing for `Position` [INFO] [stdout] --> engine/src/util.rs:7:1 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct Position(pub u64); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ must implement `Shl<{integer}>` [INFO] [stdout] note: the trait `Shl` must be implemented [INFO] [stdout] --> /rustc/f609b7e0586f81fefb3523e3e17adf779ac416be/library/core/src/ops/bit.rs:443:1 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0369]: no implementation for `Position << {integer}` [INFO] [stdout] --> engine/src/pieces.rs:105:49 [INFO] [stdout] | [INFO] [stdout] 105 | ... found.push(position << 9); [INFO] [stdout] | -------- ^^ - {integer} [INFO] [stdout] | | [INFO] [stdout] | Position [INFO] [stdout] | [INFO] [stdout] note: an implementation of `Shl<{integer}>` might be missing for `Position` [INFO] [stdout] --> engine/src/util.rs:7:1 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct Position(pub u64); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ must implement `Shl<{integer}>` [INFO] [stdout] note: the trait `Shl` must be implemented [INFO] [stdout] --> /rustc/f609b7e0586f81fefb3523e3e17adf779ac416be/library/core/src/ops/bit.rs:443:1 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0608]: cannot index into a value of type `Board` [INFO] [stdout] --> engine/src/pieces.rs:111:36 [INFO] [stdout] | [INFO] [stdout] 111 | board.board[!team as usize + Pieces::Pawn as usize] & board.last_pawn.unwrap() != 0 && [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0369]: no implementation for `Position >> {integer}` [INFO] [stdout] --> engine/src/pieces.rs:112:64 [INFO] [stdout] | [INFO] [stdout] 112 | (board.last_pawn.unwrap() == (position >> 1) || board.last_pawn.unwrap() == (position << 1)) { [INFO] [stdout] | -------- ^^ - {integer} [INFO] [stdout] | | [INFO] [stdout] | Position [INFO] [stdout] | [INFO] [stdout] note: an implementation of `Shr<{integer}>` might be missing for `Position` [INFO] [stdout] --> engine/src/util.rs:7:1 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct Position(pub u64); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ must implement `Shr<{integer}>` [INFO] [stdout] note: the trait `Shr` must be implemented [INFO] [stdout] --> /rustc/f609b7e0586f81fefb3523e3e17adf779ac416be/library/core/src/ops/bit.rs:561:1 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0369]: no implementation for `Position << {integer}` [INFO] [stdout] --> engine/src/pieces.rs:112:111 [INFO] [stdout] | [INFO] [stdout] 112 | (board.last_pawn.unwrap() == (position >> 1) || board.last_pawn.unwrap() == (position << 1)) { [INFO] [stdout] | -------- ^^ - {integer} [INFO] [stdout] | | [INFO] [stdout] | Position [INFO] [stdout] | [INFO] [stdout] note: an implementation of `Shl<{integer}>` might be missing for `Position` [INFO] [stdout] --> engine/src/util.rs:7:1 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct Position(pub u64); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ must implement `Shl<{integer}>` [INFO] [stdout] note: the trait `Shl` must be implemented [INFO] [stdout] --> /rustc/f609b7e0586f81fefb3523e3e17adf779ac416be/library/core/src/ops/bit.rs:443:1 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0061]: this function takes 5 arguments but 6 arguments were supplied [INFO] [stdout] --> engine/src/pieces.rs:121:17 [INFO] [stdout] | [INFO] [stdout] 121 | Self::move_piece(&mut output, position, team, board, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] 122 | |position| position & BOTTOM_ROW != 0 || position & RIGHT_SIDE != 0, [INFO] [stdout] 123 | |position| position >> 9); [INFO] [stdout] | ------------------------ unexpected argument #6 of type `{closure@engine/src/pieces.rs:123:34: 123:44}` [INFO] [stdout] | [INFO] [stdout] note: associated function defined here [INFO] [stdout] --> engine/src/pieces.rs:215:8 [INFO] [stdout] | [INFO] [stdout] 215 | fn move_piece(output: &mut Vec, position: Position, team: Teams, board: &ChessBoard, direction: Directions) { [INFO] [stdout] | ^^^^^^^^^^ -------------------------- ------------------ ----------- ------------------ --------------------- [INFO] [stdout] help: remove the extra argument [INFO] [stdout] | [INFO] [stdout] 122 - |position| position & BOTTOM_ROW != 0 || position & RIGHT_SIDE != 0, [INFO] [stdout] 123 - |position| position >> 9); [INFO] [stdout] 122 + |position| position & BOTTOM_ROW != 0 || position & RIGHT_SIDE != 0); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0061]: this function takes 5 arguments but 6 arguments were supplied [INFO] [stdout] --> engine/src/pieces.rs:125:17 [INFO] [stdout] | [INFO] [stdout] 125 | Self::move_piece(&mut output, position, team, board, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] 126 | |position| position & BOTTOM_ROW != 0 || position & LEFT_SIDE != 0, [INFO] [stdout] 127 | |position| position >> 7); [INFO] [stdout] | ------------------------ unexpected argument #6 of type `{closure@engine/src/pieces.rs:127:34: 127:44}` [INFO] [stdout] | [INFO] [stdout] note: associated function defined here [INFO] [stdout] --> engine/src/pieces.rs:215:8 [INFO] [stdout] | [INFO] [stdout] 215 | fn move_piece(output: &mut Vec, position: Position, team: Teams, board: &ChessBoard, direction: Directions) { [INFO] [stdout] | ^^^^^^^^^^ -------------------------- ------------------ ----------- ------------------ --------------------- [INFO] [stdout] help: remove the extra argument [INFO] [stdout] | [INFO] [stdout] 126 - |position| position & BOTTOM_ROW != 0 || position & LEFT_SIDE != 0, [INFO] [stdout] 127 - |position| position >> 7); [INFO] [stdout] 126 + |position| position & BOTTOM_ROW != 0 || position & LEFT_SIDE != 0); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0369]: no implementation for `Position << {integer}` [INFO] [stdout] --> engine/src/pieces.rs:113:61 [INFO] [stdout] | [INFO] [stdout] 113 | found.push(board.last_pawn.unwrap() << 9); [INFO] [stdout] | ------------------------ ^^ - {integer} [INFO] [stdout] | | [INFO] [stdout] | Position [INFO] [stdout] | [INFO] [stdout] note: an implementation of `Shl<{integer}>` might be missing for `Position` [INFO] [stdout] --> engine/src/util.rs:7:1 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct Position(pub u64); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ must implement `Shl<{integer}>` [INFO] [stdout] note: the trait `Shl` must be implemented [INFO] [stdout] --> /rustc/f609b7e0586f81fefb3523e3e17adf779ac416be/library/core/src/ops/bit.rs:443:1 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0061]: this function takes 5 arguments but 6 arguments were supplied [INFO] [stdout] --> engine/src/pieces.rs:129:17 [INFO] [stdout] | [INFO] [stdout] 129 | Self::move_piece(&mut output, position, team, board, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] 130 | |position| position & TOP_ROW != 0 || position & LEFT_SIDE != 0, [INFO] [stdout] 131 | |position| -> u64 { position << 9 }); [INFO] [stdout] | ----------------------------------- unexpected argument #6 of type `{closure@engine/src/pieces.rs:131:34: 131:51}` [INFO] [stdout] | [INFO] [stdout] note: associated function defined here [INFO] [stdout] --> engine/src/pieces.rs:215:8 [INFO] [stdout] | [INFO] [stdout] 215 | fn move_piece(output: &mut Vec, position: Position, team: Teams, board: &ChessBoard, direction: Directions) { [INFO] [stdout] | ^^^^^^^^^^ -------------------------- ------------------ ----------- ------------------ --------------------- [INFO] [stdout] help: remove the extra argument [INFO] [stdout] | [INFO] [stdout] 130 - |position| position & TOP_ROW != 0 || position & LEFT_SIDE != 0, [INFO] [stdout] 131 - |position| -> u64 { position << 9 }); [INFO] [stdout] 130 + |position| position & TOP_ROW != 0 || position & LEFT_SIDE != 0); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0061]: this function takes 5 arguments but 6 arguments were supplied [INFO] [stdout] --> engine/src/pieces.rs:133:17 [INFO] [stdout] | [INFO] [stdout] 133 | Self::move_piece(&mut output, position, team, board, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] 134 | |position| position & TOP_ROW != 0 || position & RIGHT_SIDE != 0, [INFO] [stdout] 135 | |position| -> u64 { position << 7 }); [INFO] [stdout] | ----------------------------------- unexpected argument #6 of type `{closure@engine/src/pieces.rs:135:34: 135:51}` [INFO] [stdout] | [INFO] [stdout] note: associated function defined here [INFO] [stdout] --> engine/src/pieces.rs:215:8 [INFO] [stdout] | [INFO] [stdout] 215 | fn move_piece(output: &mut Vec, position: Position, team: Teams, board: &ChessBoard, direction: Directions) { [INFO] [stdout] | ^^^^^^^^^^ -------------------------- ------------------ ----------- ------------------ --------------------- [INFO] [stdout] help: remove the extra argument [INFO] [stdout] | [INFO] [stdout] 134 - |position| position & TOP_ROW != 0 || position & RIGHT_SIDE != 0, [INFO] [stdout] 135 - |position| -> u64 { position << 7 }); [INFO] [stdout] 134 + |position| position & TOP_ROW != 0 || position & RIGHT_SIDE != 0); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0061]: this function takes 5 arguments but 6 arguments were supplied [INFO] [stdout] --> engine/src/pieces.rs:121:17 [INFO] [stdout] | [INFO] [stdout] 121 | Self::move_piece(&mut output, position, team, board, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] 122 | |position| position & BOTTOM_ROW != 0 || position & RIGHT_SIDE != 0, [INFO] [stdout] 123 | |position| position >> 9); [INFO] [stdout] | ------------------------ unexpected argument #6 of type `{closure@engine/src/pieces.rs:123:34: 123:44}` [INFO] [stdout] | [INFO] [stdout] note: associated function defined here [INFO] [stdout] --> engine/src/pieces.rs:215:8 [INFO] [stdout] | [INFO] [stdout] 215 | fn move_piece(output: &mut Vec, position: Position, team: Teams, board: &ChessBoard, direction: Directions) { [INFO] [stdout] | ^^^^^^^^^^ -------------------------- ------------------ ----------- ------------------ --------------------- [INFO] [stdout] help: remove the extra argument [INFO] [stdout] | [INFO] [stdout] 122 - |position| position & BOTTOM_ROW != 0 || position & RIGHT_SIDE != 0, [INFO] [stdout] 123 - |position| position >> 9); [INFO] [stdout] 122 + |position| position & BOTTOM_ROW != 0 || position & RIGHT_SIDE != 0); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0061]: this function takes 5 arguments but 6 arguments were supplied [INFO] [stdout] --> engine/src/pieces.rs:141:17 [INFO] [stdout] | [INFO] [stdout] 141 | Self::move_piece(&mut output, position, team, board, |position| position & BOTTOM_ROW != 0, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] 142 | |position| position >> 8); [INFO] [stdout] | ------------------------ unexpected argument #6 of type `{closure@engine/src/pieces.rs:142:34: 142:44}` [INFO] [stdout] | [INFO] [stdout] note: associated function defined here [INFO] [stdout] --> engine/src/pieces.rs:215:8 [INFO] [stdout] | [INFO] [stdout] 215 | fn move_piece(output: &mut Vec, position: Position, team: Teams, board: &ChessBoard, direction: Directions) { [INFO] [stdout] | ^^^^^^^^^^ -------------------------- ------------------ ----------- ------------------ --------------------- [INFO] [stdout] help: remove the extra argument [INFO] [stdout] | [INFO] [stdout] 141 - Self::move_piece(&mut output, position, team, board, |position| position & BOTTOM_ROW != 0, [INFO] [stdout] 142 - |position| position >> 8); [INFO] [stdout] 141 + Self::move_piece(&mut output, position, team, board, |position| position & BOTTOM_ROW != 0); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0061]: this function takes 5 arguments but 6 arguments were supplied [INFO] [stdout] --> engine/src/pieces.rs:125:17 [INFO] [stdout] | [INFO] [stdout] 125 | Self::move_piece(&mut output, position, team, board, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] 126 | |position| position & BOTTOM_ROW != 0 || position & LEFT_SIDE != 0, [INFO] [stdout] 127 | |position| position >> 7); [INFO] [stdout] | ------------------------ unexpected argument #6 of type `{closure@engine/src/pieces.rs:127:34: 127:44}` [INFO] [stdout] | [INFO] [stdout] note: associated function defined here [INFO] [stdout] --> engine/src/pieces.rs:215:8 [INFO] [stdout] | [INFO] [stdout] 215 | fn move_piece(output: &mut Vec, position: Position, team: Teams, board: &ChessBoard, direction: Directions) { [INFO] [stdout] | ^^^^^^^^^^ -------------------------- ------------------ ----------- ------------------ --------------------- [INFO] [stdout] help: remove the extra argument [INFO] [stdout] | [INFO] [stdout] 126 - |position| position & BOTTOM_ROW != 0 || position & LEFT_SIDE != 0, [INFO] [stdout] 127 - |position| position >> 7); [INFO] [stdout] 126 + |position| position & BOTTOM_ROW != 0 || position & LEFT_SIDE != 0); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0061]: this function takes 5 arguments but 6 arguments were supplied [INFO] [stdout] --> engine/src/pieces.rs:144:17 [INFO] [stdout] | [INFO] [stdout] 144 | Self::move_piece(&mut output, position, team, board, |position| position & RIGHT_SIDE != 0, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] 145 | |position| position >> 1); [INFO] [stdout] | ------------------------ unexpected argument #6 of type `{closure@engine/src/pieces.rs:145:34: 145:44}` [INFO] [stdout] | [INFO] [stdout] note: associated function defined here [INFO] [stdout] --> engine/src/pieces.rs:215:8 [INFO] [stdout] | [INFO] [stdout] 215 | fn move_piece(output: &mut Vec, position: Position, team: Teams, board: &ChessBoard, direction: Directions) { [INFO] [stdout] | ^^^^^^^^^^ -------------------------- ------------------ ----------- ------------------ --------------------- [INFO] [stdout] help: remove the extra argument [INFO] [stdout] | [INFO] [stdout] 144 - Self::move_piece(&mut output, position, team, board, |position| position & RIGHT_SIDE != 0, [INFO] [stdout] 145 - |position| position >> 1); [INFO] [stdout] 144 + Self::move_piece(&mut output, position, team, board, |position| position & RIGHT_SIDE != 0); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0061]: this function takes 5 arguments but 6 arguments were supplied [INFO] [stdout] --> engine/src/pieces.rs:147:17 [INFO] [stdout] | [INFO] [stdout] 147 | Self::move_piece(&mut output, position, team, board, |position| position & TOP_ROW != 0, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] 148 | |position| -> u64 { position << 8 }); [INFO] [stdout] | ----------------------------------- unexpected argument #6 of type `{closure@engine/src/pieces.rs:148:34: 148:51}` [INFO] [stdout] | [INFO] [stdout] note: associated function defined here [INFO] [stdout] --> engine/src/pieces.rs:215:8 [INFO] [stdout] | [INFO] [stdout] 215 | fn move_piece(output: &mut Vec, position: Position, team: Teams, board: &ChessBoard, direction: Directions) { [INFO] [stdout] | ^^^^^^^^^^ -------------------------- ------------------ ----------- ------------------ --------------------- [INFO] [stdout] help: remove the extra argument [INFO] [stdout] | [INFO] [stdout] 147 - Self::move_piece(&mut output, position, team, board, |position| position & TOP_ROW != 0, [INFO] [stdout] 148 - |position| -> u64 { position << 8 }); [INFO] [stdout] 147 + Self::move_piece(&mut output, position, team, board, |position| position & TOP_ROW != 0); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0061]: this function takes 5 arguments but 6 arguments were supplied [INFO] [stdout] --> engine/src/pieces.rs:129:17 [INFO] [stdout] | [INFO] [stdout] 129 | Self::move_piece(&mut output, position, team, board, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] 130 | |position| position & TOP_ROW != 0 || position & LEFT_SIDE != 0, [INFO] [stdout] 131 | |position| -> u64 { position << 9 }); [INFO] [stdout] | ----------------------------------- unexpected argument #6 of type `{closure@engine/src/pieces.rs:131:34: 131:51}` [INFO] [stdout] | [INFO] [stdout] note: associated function defined here [INFO] [stdout] --> engine/src/pieces.rs:215:8 [INFO] [stdout] | [INFO] [stdout] 215 | fn move_piece(output: &mut Vec, position: Position, team: Teams, board: &ChessBoard, direction: Directions) { [INFO] [stdout] | ^^^^^^^^^^ -------------------------- ------------------ ----------- ------------------ --------------------- [INFO] [stdout] help: remove the extra argument [INFO] [stdout] | [INFO] [stdout] 130 - |position| position & TOP_ROW != 0 || position & LEFT_SIDE != 0, [INFO] [stdout] 131 - |position| -> u64 { position << 9 }); [INFO] [stdout] 130 + |position| position & TOP_ROW != 0 || position & LEFT_SIDE != 0); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0061]: this function takes 5 arguments but 6 arguments were supplied [INFO] [stdout] --> engine/src/pieces.rs:150:17 [INFO] [stdout] | [INFO] [stdout] 150 | Self::move_piece(&mut output, position, team, board, |position| position & LEFT_SIDE != 0, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] 151 | |position| -> u64 { position << 1 }); [INFO] [stdout] | ----------------------------------- unexpected argument #6 of type `{closure@engine/src/pieces.rs:151:34: 151:51}` [INFO] [stdout] | [INFO] [stdout] note: associated function defined here [INFO] [stdout] --> engine/src/pieces.rs:215:8 [INFO] [stdout] | [INFO] [stdout] 215 | fn move_piece(output: &mut Vec, position: Position, team: Teams, board: &ChessBoard, direction: Directions) { [INFO] [stdout] | ^^^^^^^^^^ -------------------------- ------------------ ----------- ------------------ --------------------- [INFO] [stdout] help: remove the extra argument [INFO] [stdout] | [INFO] [stdout] 150 - Self::move_piece(&mut output, position, team, board, |position| position & LEFT_SIDE != 0, [INFO] [stdout] 151 - |position| -> u64 { position << 1 }); [INFO] [stdout] 150 + Self::move_piece(&mut output, position, team, board, |position| position & LEFT_SIDE != 0); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0061]: this function takes 5 arguments but 6 arguments were supplied [INFO] [stdout] --> engine/src/pieces.rs:133:17 [INFO] [stdout] | [INFO] [stdout] 133 | Self::move_piece(&mut output, position, team, board, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] 134 | |position| position & TOP_ROW != 0 || position & RIGHT_SIDE != 0, [INFO] [stdout] 135 | |position| -> u64 { position << 7 }); [INFO] [stdout] | ----------------------------------- unexpected argument #6 of type `{closure@engine/src/pieces.rs:135:34: 135:51}` [INFO] [stdout] | [INFO] [stdout] note: associated function defined here [INFO] [stdout] --> engine/src/pieces.rs:215:8 [INFO] [stdout] | [INFO] [stdout] 215 | fn move_piece(output: &mut Vec, position: Position, team: Teams, board: &ChessBoard, direction: Directions) { [INFO] [stdout] | ^^^^^^^^^^ -------------------------- ------------------ ----------- ------------------ --------------------- [INFO] [stdout] help: remove the extra argument [INFO] [stdout] | [INFO] [stdout] 134 - |position| position & TOP_ROW != 0 || position & RIGHT_SIDE != 0, [INFO] [stdout] 135 - |position| -> u64 { position << 7 }); [INFO] [stdout] 134 + |position| position & TOP_ROW != 0 || position & RIGHT_SIDE != 0); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0369]: no implementation for `Position & Row` [INFO] [stdout] --> engine/src/pieces.rs:161:29 [INFO] [stdout] | [INFO] [stdout] 161 | if position & BOTTOM_ROW != 0 { [INFO] [stdout] | -------- ^ ---------- Row [INFO] [stdout] | | [INFO] [stdout] | Position [INFO] [stdout] | [INFO] [stdout] note: an implementation of `BitAnd` might be missing for `Position` [INFO] [stdout] --> engine/src/util.rs:7:1 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct Position(pub u64); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ must implement `BitAnd` [INFO] [stdout] note: the trait `BitAnd` must be implemented [INFO] [stdout] --> /rustc/f609b7e0586f81fefb3523e3e17adf779ac416be/library/core/src/ops/bit.rs:144:1 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0369]: no implementation for `Position >> {integer}` [INFO] [stdout] --> engine/src/pieces.rs:162:44 [INFO] [stdout] | [INFO] [stdout] 162 | possible.push(position >> 17); [INFO] [stdout] | -------- ^^ -- {integer} [INFO] [stdout] | | [INFO] [stdout] | Position [INFO] [stdout] | [INFO] [stdout] note: an implementation of `Shr<{integer}>` might be missing for `Position` [INFO] [stdout] --> engine/src/util.rs:7:1 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct Position(pub u64); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ must implement `Shr<{integer}>` [INFO] [stdout] note: the trait `Shr` must be implemented [INFO] [stdout] --> /rustc/f609b7e0586f81fefb3523e3e17adf779ac416be/library/core/src/ops/bit.rs:561:1 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0061]: this function takes 5 arguments but 6 arguments were supplied [INFO] [stdout] --> engine/src/pieces.rs:141:17 [INFO] [stdout] | [INFO] [stdout] 141 | Self::move_piece(&mut output, position, team, board, |position| position & BOTTOM_ROW != 0, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] 142 | |position| position >> 8); [INFO] [stdout] | ------------------------ unexpected argument #6 of type `{closure@engine/src/pieces.rs:142:34: 142:44}` [INFO] [stdout] | [INFO] [stdout] note: associated function defined here [INFO] [stdout] --> engine/src/pieces.rs:215:8 [INFO] [stdout] | [INFO] [stdout] 215 | fn move_piece(output: &mut Vec, position: Position, team: Teams, board: &ChessBoard, direction: Directions) { [INFO] [stdout] | ^^^^^^^^^^ -------------------------- ------------------ ----------- ------------------ --------------------- [INFO] [stdout] help: remove the extra argument [INFO] [stdout] | [INFO] [stdout] 141 - Self::move_piece(&mut output, position, team, board, |position| position & BOTTOM_ROW != 0, [INFO] [stdout] 142 - |position| position >> 8); [INFO] [stdout] 141 + Self::move_piece(&mut output, position, team, board, |position| position & BOTTOM_ROW != 0); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0061]: this function takes 5 arguments but 6 arguments were supplied [INFO] [stdout] --> engine/src/pieces.rs:144:17 [INFO] [stdout] | [INFO] [stdout] 144 | Self::move_piece(&mut output, position, team, board, |position| position & RIGHT_SIDE != 0, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] 145 | |position| position >> 1); [INFO] [stdout] | ------------------------ unexpected argument #6 of type `{closure@engine/src/pieces.rs:145:34: 145:44}` [INFO] [stdout] | [INFO] [stdout] note: associated function defined here [INFO] [stdout] --> engine/src/pieces.rs:215:8 [INFO] [stdout] | [INFO] [stdout] 215 | fn move_piece(output: &mut Vec, position: Position, team: Teams, board: &ChessBoard, direction: Directions) { [INFO] [stdout] | ^^^^^^^^^^ -------------------------- ------------------ ----------- ------------------ --------------------- [INFO] [stdout] help: remove the extra argument [INFO] [stdout] | [INFO] [stdout] 144 - Self::move_piece(&mut output, position, team, board, |position| position & RIGHT_SIDE != 0, [INFO] [stdout] 145 - |position| position >> 1); [INFO] [stdout] 144 + Self::move_piece(&mut output, position, team, board, |position| position & RIGHT_SIDE != 0); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0369]: no implementation for `Position >> {integer}` [INFO] [stdout] --> engine/src/pieces.rs:163:44 [INFO] [stdout] | [INFO] [stdout] 163 | possible.push(position >> 15); [INFO] [stdout] | -------- ^^ -- {integer} [INFO] [stdout] | | [INFO] [stdout] | Position [INFO] [stdout] | [INFO] [stdout] note: an implementation of `Shr<{integer}>` might be missing for `Position` [INFO] [stdout] --> engine/src/util.rs:7:1 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct Position(pub u64); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ must implement `Shr<{integer}>` [INFO] [stdout] note: the trait `Shr` must be implemented [INFO] [stdout] --> /rustc/f609b7e0586f81fefb3523e3e17adf779ac416be/library/core/src/ops/bit.rs:561:1 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0061]: this function takes 5 arguments but 6 arguments were supplied [INFO] [stdout] --> engine/src/pieces.rs:147:17 [INFO] [stdout] | [INFO] [stdout] 147 | Self::move_piece(&mut output, position, team, board, |position| position & TOP_ROW != 0, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] 148 | |position| -> u64 { position << 8 }); [INFO] [stdout] | ----------------------------------- unexpected argument #6 of type `{closure@engine/src/pieces.rs:148:34: 148:51}` [INFO] [stdout] | [INFO] [stdout] note: associated function defined here [INFO] [stdout] --> engine/src/pieces.rs:215:8 [INFO] [stdout] | [INFO] [stdout] 215 | fn move_piece(output: &mut Vec, position: Position, team: Teams, board: &ChessBoard, direction: Directions) { [INFO] [stdout] | ^^^^^^^^^^ -------------------------- ------------------ ----------- ------------------ --------------------- [INFO] [stdout] help: remove the extra argument [INFO] [stdout] | [INFO] [stdout] 147 - Self::move_piece(&mut output, position, team, board, |position| position & TOP_ROW != 0, [INFO] [stdout] 148 - |position| -> u64 { position << 8 }); [INFO] [stdout] 147 + Self::move_piece(&mut output, position, team, board, |position| position & TOP_ROW != 0); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0369]: cannot add `Row` to `Row` [INFO] [stdout] --> engine/src/pieces.rs:165:43 [INFO] [stdout] | [INFO] [stdout] 165 | if position & (BOTTOM_ROW + SEVENTH_ROW) != 0 { [INFO] [stdout] | ---------- ^ ----------- Row [INFO] [stdout] | | [INFO] [stdout] | Row [INFO] [stdout] | [INFO] [stdout] note: an implementation of `Add` might be missing for `Row` [INFO] [stdout] --> engine/src/util.rs:11:1 [INFO] [stdout] | [INFO] [stdout] 11 | pub struct Row(pub u64); [INFO] [stdout] | ^^^^^^^^^^^^^^ must implement `Add` [INFO] [stdout] note: the trait `Add` must be implemented [INFO] [stdout] --> /rustc/f609b7e0586f81fefb3523e3e17adf779ac416be/library/core/src/ops/arith.rs:76:1 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0061]: this function takes 5 arguments but 6 arguments were supplied [INFO] [stdout] --> engine/src/pieces.rs:150:17 [INFO] [stdout] | [INFO] [stdout] 150 | Self::move_piece(&mut output, position, team, board, |position| position & LEFT_SIDE != 0, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] 151 | |position| -> u64 { position << 1 }); [INFO] [stdout] | ----------------------------------- unexpected argument #6 of type `{closure@engine/src/pieces.rs:151:34: 151:51}` [INFO] [stdout] | [INFO] [stdout] note: associated function defined here [INFO] [stdout] --> engine/src/pieces.rs:215:8 [INFO] [stdout] | [INFO] [stdout] 215 | fn move_piece(output: &mut Vec, position: Position, team: Teams, board: &ChessBoard, direction: Directions) { [INFO] [stdout] | ^^^^^^^^^^ -------------------------- ------------------ ----------- ------------------ --------------------- [INFO] [stdout] help: remove the extra argument [INFO] [stdout] | [INFO] [stdout] 150 - Self::move_piece(&mut output, position, team, board, |position| position & LEFT_SIDE != 0, [INFO] [stdout] 151 - |position| -> u64 { position << 1 }); [INFO] [stdout] 150 + Self::move_piece(&mut output, position, team, board, |position| position & LEFT_SIDE != 0); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0369]: no implementation for `Position & Row` [INFO] [stdout] --> engine/src/pieces.rs:161:29 [INFO] [stdout] | [INFO] [stdout] 161 | if position & BOTTOM_ROW != 0 { [INFO] [stdout] | -------- ^ ---------- Row [INFO] [stdout] | | [INFO] [stdout] | Position [INFO] [stdout] | [INFO] [stdout] note: an implementation of `BitAnd` might be missing for `Position` [INFO] [stdout] --> engine/src/util.rs:7:1 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct Position(pub u64); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ must implement `BitAnd` [INFO] [stdout] note: the trait `BitAnd` must be implemented [INFO] [stdout] --> /rustc/f609b7e0586f81fefb3523e3e17adf779ac416be/library/core/src/ops/bit.rs:144:1 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0369]: no implementation for `Position >> {integer}` [INFO] [stdout] --> engine/src/pieces.rs:162:44 [INFO] [stdout] | [INFO] [stdout] 162 | possible.push(position >> 17); [INFO] [stdout] | -------- ^^ -- {integer} [INFO] [stdout] | | [INFO] [stdout] | Position [INFO] [stdout] | [INFO] [stdout] note: an implementation of `Shr<{integer}>` might be missing for `Position` [INFO] [stdout] --> engine/src/util.rs:7:1 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct Position(pub u64); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ must implement `Shr<{integer}>` [INFO] [stdout] note: the trait `Shr` must be implemented [INFO] [stdout] --> /rustc/f609b7e0586f81fefb3523e3e17adf779ac416be/library/core/src/ops/bit.rs:561:1 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0369]: no implementation for `Position >> {integer}` [INFO] [stdout] --> engine/src/pieces.rs:163:44 [INFO] [stdout] | [INFO] [stdout] 163 | possible.push(position >> 15); [INFO] [stdout] | -------- ^^ -- {integer} [INFO] [stdout] | | [INFO] [stdout] | Position [INFO] [stdout] | [INFO] [stdout] note: an implementation of `Shr<{integer}>` might be missing for `Position` [INFO] [stdout] --> engine/src/util.rs:7:1 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct Position(pub u64); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ must implement `Shr<{integer}>` [INFO] [stdout] note: the trait `Shr` must be implemented [INFO] [stdout] --> /rustc/f609b7e0586f81fefb3523e3e17adf779ac416be/library/core/src/ops/bit.rs:561:1 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0369]: cannot add `Row` to `Row` [INFO] [stdout] --> engine/src/pieces.rs:165:43 [INFO] [stdout] | [INFO] [stdout] 165 | if position & (BOTTOM_ROW + SEVENTH_ROW) != 0 { [INFO] [stdout] | ---------- ^ ----------- Row [INFO] [stdout] | | [INFO] [stdout] | Row [INFO] [stdout] | [INFO] [stdout] note: an implementation of `Add` might be missing for `Row` [INFO] [stdout] --> engine/src/util.rs:11:1 [INFO] [stdout] | [INFO] [stdout] 11 | pub struct Row(pub u64); [INFO] [stdout] | ^^^^^^^^^^^^^^ must implement `Add` [INFO] [stdout] note: the trait `Add` must be implemented [INFO] [stdout] --> /rustc/f609b7e0586f81fefb3523e3e17adf779ac416be/library/core/src/ops/arith.rs:76:1 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> engine/src/pieces.rs:165:61 [INFO] [stdout] | [INFO] [stdout] 165 | if position & (BOTTOM_ROW + SEVENTH_ROW) != 0 { [INFO] [stdout] | ------------------------------------- ^ expected `Position`, found integer [INFO] [stdout] | | [INFO] [stdout] | expected because this is `Position` [INFO] [stdout] | [INFO] [stdout] help: try wrapping the expression in `util::Position` [INFO] [stdout] | [INFO] [stdout] 165 | if position & (BOTTOM_ROW + SEVENTH_ROW) != util::Position(0) { [INFO] [stdout] | +++++++++++++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0369]: no implementation for `Position >> {integer}` [INFO] [stdout] --> engine/src/pieces.rs:166:44 [INFO] [stdout] | [INFO] [stdout] 166 | possible.push(position >> 10); [INFO] [stdout] | -------- ^^ -- {integer} [INFO] [stdout] | | [INFO] [stdout] | Position [INFO] [stdout] | [INFO] [stdout] note: an implementation of `Shr<{integer}>` might be missing for `Position` [INFO] [stdout] --> engine/src/util.rs:7:1 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct Position(pub u64); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ must implement `Shr<{integer}>` [INFO] [stdout] note: the trait `Shr` must be implemented [INFO] [stdout] --> /rustc/f609b7e0586f81fefb3523e3e17adf779ac416be/library/core/src/ops/bit.rs:561:1 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0369]: no implementation for `Position >> {integer}` [INFO] [stdout] --> engine/src/pieces.rs:167:44 [INFO] [stdout] | [INFO] [stdout] 167 | possible.push(position >> 6); [INFO] [stdout] | -------- ^^ - {integer} [INFO] [stdout] | | [INFO] [stdout] | Position [INFO] [stdout] | [INFO] [stdout] note: an implementation of `Shr<{integer}>` might be missing for `Position` [INFO] [stdout] --> engine/src/util.rs:7:1 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct Position(pub u64); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ must implement `Shr<{integer}>` [INFO] [stdout] note: the trait `Shr` must be implemented [INFO] [stdout] --> /rustc/f609b7e0586f81fefb3523e3e17adf779ac416be/library/core/src/ops/bit.rs:561:1 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0369]: no implementation for `Position & Row` [INFO] [stdout] --> engine/src/pieces.rs:169:29 [INFO] [stdout] | [INFO] [stdout] 169 | if position & (TOP_ROW) != 0 { [INFO] [stdout] | -------- ^ --------- Row [INFO] [stdout] | | [INFO] [stdout] | Position [INFO] [stdout] | [INFO] [stdout] note: an implementation of `BitAnd` might be missing for `Position` [INFO] [stdout] --> engine/src/util.rs:7:1 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct Position(pub u64); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ must implement `BitAnd` [INFO] [stdout] note: the trait `BitAnd` must be implemented [INFO] [stdout] --> /rustc/f609b7e0586f81fefb3523e3e17adf779ac416be/library/core/src/ops/bit.rs:144:1 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0369]: no implementation for `Position << {integer}` [INFO] [stdout] --> engine/src/pieces.rs:170:44 [INFO] [stdout] | [INFO] [stdout] 170 | possible.push(position << 10); [INFO] [stdout] | -------- ^^ -- {integer} [INFO] [stdout] | | [INFO] [stdout] | Position [INFO] [stdout] | [INFO] [stdout] note: an implementation of `Shl<{integer}>` might be missing for `Position` [INFO] [stdout] --> engine/src/util.rs:7:1 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct Position(pub u64); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ must implement `Shl<{integer}>` [INFO] [stdout] note: the trait `Shl` must be implemented [INFO] [stdout] --> /rustc/f609b7e0586f81fefb3523e3e17adf779ac416be/library/core/src/ops/bit.rs:443:1 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0369]: no implementation for `Position << {integer}` [INFO] [stdout] --> engine/src/pieces.rs:171:44 [INFO] [stdout] | [INFO] [stdout] 171 | possible.push(position << 6); [INFO] [stdout] | -------- ^^ - {integer} [INFO] [stdout] | | [INFO] [stdout] | Position [INFO] [stdout] | [INFO] [stdout] note: an implementation of `Shl<{integer}>` might be missing for `Position` [INFO] [stdout] --> engine/src/util.rs:7:1 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct Position(pub u64); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ must implement `Shl<{integer}>` [INFO] [stdout] note: the trait `Shl` must be implemented [INFO] [stdout] --> /rustc/f609b7e0586f81fefb3523e3e17adf779ac416be/library/core/src/ops/bit.rs:443:1 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0369]: cannot add `Row` to `Row` [INFO] [stdout] --> engine/src/pieces.rs:173:40 [INFO] [stdout] | [INFO] [stdout] 173 | if position & (TOP_ROW + SECOND_ROW) != 0 { [INFO] [stdout] | ------- ^ ---------- Row [INFO] [stdout] | | [INFO] [stdout] | Row [INFO] [stdout] | [INFO] [stdout] note: an implementation of `Add` might be missing for `Row` [INFO] [stdout] --> engine/src/util.rs:11:1 [INFO] [stdout] | [INFO] [stdout] 11 | pub struct Row(pub u64); [INFO] [stdout] | ^^^^^^^^^^^^^^ must implement `Add` [INFO] [stdout] note: the trait `Add` must be implemented [INFO] [stdout] --> /rustc/f609b7e0586f81fefb3523e3e17adf779ac416be/library/core/src/ops/arith.rs:76:1 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> engine/src/pieces.rs:173:57 [INFO] [stdout] | [INFO] [stdout] 173 | if position & (TOP_ROW + SECOND_ROW) != 0 { [INFO] [stdout] | --------------------------------- ^ expected `Position`, found integer [INFO] [stdout] | | [INFO] [stdout] | expected because this is `Position` [INFO] [stdout] | [INFO] [stdout] help: try wrapping the expression in `util::Position` [INFO] [stdout] | [INFO] [stdout] 173 | if position & (TOP_ROW + SECOND_ROW) != util::Position(0) { [INFO] [stdout] | +++++++++++++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> engine/src/pieces.rs:165:61 [INFO] [stdout] | [INFO] [stdout] 165 | if position & (BOTTOM_ROW + SEVENTH_ROW) != 0 { [INFO] [stdout] | ------------------------------------- ^ expected `Position`, found integer [INFO] [stdout] | | [INFO] [stdout] | expected because this is `Position` [INFO] [stdout] | [INFO] [stdout] help: try wrapping the expression in `util::Position` [INFO] [stdout] | [INFO] [stdout] 165 | if position & (BOTTOM_ROW + SEVENTH_ROW) != util::Position(0) { [INFO] [stdout] | +++++++++++++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0369]: no implementation for `Position << {integer}` [INFO] [stdout] --> engine/src/pieces.rs:174:44 [INFO] [stdout] | [INFO] [stdout] 174 | possible.push(position << 10); [INFO] [stdout] | -------- ^^ -- {integer} [INFO] [stdout] | | [INFO] [stdout] | Position [INFO] [stdout] | [INFO] [stdout] note: an implementation of `Shl<{integer}>` might be missing for `Position` [INFO] [stdout] --> engine/src/util.rs:7:1 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct Position(pub u64); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ must implement `Shl<{integer}>` [INFO] [stdout] note: the trait `Shl` must be implemented [INFO] [stdout] --> /rustc/f609b7e0586f81fefb3523e3e17adf779ac416be/library/core/src/ops/bit.rs:443:1 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0369]: no implementation for `Position << {integer}` [INFO] [stdout] --> engine/src/pieces.rs:175:44 [INFO] [stdout] | [INFO] [stdout] 175 | possible.push(position << 6); [INFO] [stdout] | -------- ^^ - {integer} [INFO] [stdout] | | [INFO] [stdout] | Position [INFO] [stdout] | [INFO] [stdout] note: an implementation of `Shl<{integer}>` might be missing for `Position` [INFO] [stdout] --> engine/src/util.rs:7:1 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct Position(pub u64); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ must implement `Shl<{integer}>` [INFO] [stdout] note: the trait `Shl` must be implemented [INFO] [stdout] --> /rustc/f609b7e0586f81fefb3523e3e17adf779ac416be/library/core/src/ops/bit.rs:443:1 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0608]: cannot index into a value of type `Board` [INFO] [stdout] --> engine/src/pieces.rs:180:39 [INFO] [stdout] | [INFO] [stdout] 180 | if board.board[piece] & position == 0 { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0369]: no implementation for `Position >> {integer}` [INFO] [stdout] --> engine/src/pieces.rs:166:44 [INFO] [stdout] | [INFO] [stdout] 166 | possible.push(position >> 10); [INFO] [stdout] | -------- ^^ -- {integer} [INFO] [stdout] | | [INFO] [stdout] | Position [INFO] [stdout] | [INFO] [stdout] note: an implementation of `Shr<{integer}>` might be missing for `Position` [INFO] [stdout] --> engine/src/util.rs:7:1 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct Position(pub u64); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ must implement `Shr<{integer}>` [INFO] [stdout] note: the trait `Shr` must be implemented [INFO] [stdout] --> /rustc/f609b7e0586f81fefb3523e3e17adf779ac416be/library/core/src/ops/bit.rs:561:1 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0369]: no implementation for `Position << {integer}` [INFO] [stdout] --> engine/src/pieces.rs:188:42 [INFO] [stdout] | [INFO] [stdout] 188 | ... let possible = [position << 9, position << 8, position << 7, position << 1, position >> 1, position >> 7, position >> 8, position >... [INFO] [stdout] | -------- ^^ - {integer} [INFO] [stdout] | | [INFO] [stdout] | Position [INFO] [stdout] | [INFO] [stdout] note: an implementation of `Shl<{integer}>` might be missing for `Position` [INFO] [stdout] --> engine/src/util.rs:7:1 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct Position(pub u64); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ must implement `Shl<{integer}>` [INFO] [stdout] note: the trait `Shl` must be implemented [INFO] [stdout] --> /rustc/f609b7e0586f81fefb3523e3e17adf779ac416be/library/core/src/ops/bit.rs:443:1 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0369]: no implementation for `Position << {integer}` [INFO] [stdout] --> engine/src/pieces.rs:188:57 [INFO] [stdout] | [INFO] [stdout] 188 | ... let possible = [position << 9, position << 8, position << 7, position << 1, position >> 1, position >> 7, position >> 8, position >... [INFO] [stdout] | -------- ^^ - {integer} [INFO] [stdout] | | [INFO] [stdout] | Position [INFO] [stdout] | [INFO] [stdout] note: an implementation of `Shl<{integer}>` might be missing for `Position` [INFO] [stdout] --> engine/src/util.rs:7:1 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct Position(pub u64); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ must implement `Shl<{integer}>` [INFO] [stdout] note: the trait `Shl` must be implemented [INFO] [stdout] --> /rustc/f609b7e0586f81fefb3523e3e17adf779ac416be/library/core/src/ops/bit.rs:443:1 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0369]: no implementation for `Position << {integer}` [INFO] [stdout] --> engine/src/pieces.rs:188:72 [INFO] [stdout] | [INFO] [stdout] 188 | ... let possible = [position << 9, position << 8, position << 7, position << 1, position >> 1, position >> 7, position >> 8, position >... [INFO] [stdout] | -------- ^^ - {integer} [INFO] [stdout] | | [INFO] [stdout] | Position [INFO] [stdout] | [INFO] [stdout] note: an implementation of `Shl<{integer}>` might be missing for `Position` [INFO] [stdout] --> engine/src/util.rs:7:1 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct Position(pub u64); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ must implement `Shl<{integer}>` [INFO] [stdout] note: the trait `Shl` must be implemented [INFO] [stdout] --> /rustc/f609b7e0586f81fefb3523e3e17adf779ac416be/library/core/src/ops/bit.rs:443:1 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0369]: no implementation for `Position << {integer}` [INFO] [stdout] --> engine/src/pieces.rs:188:87 [INFO] [stdout] | [INFO] [stdout] 188 | ... let possible = [position << 9, position << 8, position << 7, position << 1, position >> 1, position >> 7, position >> 8, position >... [INFO] [stdout] | -------- ^^ - {integer} [INFO] [stdout] | | [INFO] [stdout] | Position [INFO] [stdout] | [INFO] [stdout] note: an implementation of `Shl<{integer}>` might be missing for `Position` [INFO] [stdout] --> engine/src/util.rs:7:1 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct Position(pub u64); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ must implement `Shl<{integer}>` [INFO] [stdout] note: the trait `Shl` must be implemented [INFO] [stdout] --> /rustc/f609b7e0586f81fefb3523e3e17adf779ac416be/library/core/src/ops/bit.rs:443:1 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0369]: no implementation for `Position >> {integer}` [INFO] [stdout] --> engine/src/pieces.rs:188:102 [INFO] [stdout] | [INFO] [stdout] 188 | ... let possible = [position << 9, position << 8, position << 7, position << 1, position >> 1, position >> 7, position >> 8, position >... [INFO] [stdout] | -------- ^^ - {integer} [INFO] [stdout] | | [INFO] [stdout] | Position [INFO] [stdout] | [INFO] [stdout] note: an implementation of `Shr<{integer}>` might be missing for `Position` [INFO] [stdout] --> engine/src/util.rs:7:1 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct Position(pub u64); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ must implement `Shr<{integer}>` [INFO] [stdout] note: the trait `Shr` must be implemented [INFO] [stdout] --> /rustc/f609b7e0586f81fefb3523e3e17adf779ac416be/library/core/src/ops/bit.rs:561:1 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0369]: no implementation for `Position >> {integer}` [INFO] [stdout] --> engine/src/pieces.rs:167:44 [INFO] [stdout] | [INFO] [stdout] 167 | possible.push(position >> 6); [INFO] [stdout] | -------- ^^ - {integer} [INFO] [stdout] | | [INFO] [stdout] | Position [INFO] [stdout] | [INFO] [stdout] note: an implementation of `Shr<{integer}>` might be missing for `Position` [INFO] [stdout] --> engine/src/util.rs:7:1 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct Position(pub u64); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ must implement `Shr<{integer}>` [INFO] [stdout] note: the trait `Shr` must be implemented [INFO] [stdout] --> /rustc/f609b7e0586f81fefb3523e3e17adf779ac416be/library/core/src/ops/bit.rs:561:1 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0369]: no implementation for `Position >> {integer}` [INFO] [stdout] --> engine/src/pieces.rs:188:117 [INFO] [stdout] | [INFO] [stdout] 188 | ... let possible = [position << 9, position << 8, position << 7, position << 1, position >> 1, position >> 7, position >> 8, position >... [INFO] [stdout] | -------- ^^ - {integer} [INFO] [stdout] | | [INFO] [stdout] | Position [INFO] [stdout] | [INFO] [stdout] note: an implementation of `Shr<{integer}>` might be missing for `Position` [INFO] [stdout] --> engine/src/util.rs:7:1 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct Position(pub u64); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ must implement `Shr<{integer}>` [INFO] [stdout] note: the trait `Shr` must be implemented [INFO] [stdout] --> /rustc/f609b7e0586f81fefb3523e3e17adf779ac416be/library/core/src/ops/bit.rs:561:1 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0369]: no implementation for `Position >> {integer}` [INFO] [stdout] --> engine/src/pieces.rs:188:132 [INFO] [stdout] | [INFO] [stdout] 188 | ...ion << 7, position << 1, position >> 1, position >> 7, position >> 8, position >> 9]; [INFO] [stdout] | -------- ^^ - {integer} [INFO] [stdout] | | [INFO] [stdout] | Position [INFO] [stdout] | [INFO] [stdout] note: an implementation of `Shr<{integer}>` might be missing for `Position` [INFO] [stdout] --> engine/src/util.rs:7:1 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct Position(pub u64); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ must implement `Shr<{integer}>` [INFO] [stdout] note: the trait `Shr` must be implemented [INFO] [stdout] --> /rustc/f609b7e0586f81fefb3523e3e17adf779ac416be/library/core/src/ops/bit.rs:561:1 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0369]: no implementation for `Position & Row` [INFO] [stdout] --> engine/src/pieces.rs:169:29 [INFO] [stdout] | [INFO] [stdout] 169 | if position & (TOP_ROW) != 0 { [INFO] [stdout] | -------- ^ --------- Row [INFO] [stdout] | | [INFO] [stdout] | Position [INFO] [stdout] | [INFO] [stdout] note: an implementation of `BitAnd` might be missing for `Position` [INFO] [stdout] --> engine/src/util.rs:7:1 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct Position(pub u64); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ must implement `BitAnd` [INFO] [stdout] note: the trait `BitAnd` must be implemented [INFO] [stdout] --> /rustc/f609b7e0586f81fefb3523e3e17adf779ac416be/library/core/src/ops/bit.rs:144:1 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0369]: no implementation for `Position >> {integer}` [INFO] [stdout] --> engine/src/pieces.rs:188:147 [INFO] [stdout] | [INFO] [stdout] 188 | ...ion << 1, position >> 1, position >> 7, position >> 8, position >> 9]; [INFO] [stdout] | -------- ^^ - {integer} [INFO] [stdout] | | [INFO] [stdout] | Position [INFO] [stdout] | [INFO] [stdout] note: an implementation of `Shr<{integer}>` might be missing for `Position` [INFO] [stdout] --> engine/src/util.rs:7:1 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct Position(pub u64); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ must implement `Shr<{integer}>` [INFO] [stdout] note: the trait `Shr` must be implemented [INFO] [stdout] --> /rustc/f609b7e0586f81fefb3523e3e17adf779ac416be/library/core/src/ops/bit.rs:561:1 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0608]: cannot index into a value of type `Board` [INFO] [stdout] --> engine/src/pieces.rs:192:39 [INFO] [stdout] | [INFO] [stdout] 192 | if board.board[piece] & position == 0 { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find function `creates_check` in this scope [INFO] [stdout] --> engine/src/pieces.rs:207:17 [INFO] [stdout] | [INFO] [stdout] 207 | if !creates_check(board.clone(), team, position, *checking) { [INFO] [stdout] | ^^^^^^^^^^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0369]: no implementation for `Position << {integer}` [INFO] [stdout] --> engine/src/pieces.rs:170:44 [INFO] [stdout] | [INFO] [stdout] 170 | possible.push(position << 10); [INFO] [stdout] | -------- ^^ -- {integer} [INFO] [stdout] | | [INFO] [stdout] | Position [INFO] [stdout] | [INFO] [stdout] note: an implementation of `Shl<{integer}>` might be missing for `Position` [INFO] [stdout] --> engine/src/util.rs:7:1 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct Position(pub u64); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ must implement `Shl<{integer}>` [INFO] [stdout] note: the trait `Shl` must be implemented [INFO] [stdout] --> /rustc/f609b7e0586f81fefb3523e3e17adf779ac416be/library/core/src/ops/bit.rs:443:1 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0369]: no implementation for `Position << {integer}` [INFO] [stdout] --> engine/src/pieces.rs:171:44 [INFO] [stdout] | [INFO] [stdout] 171 | possible.push(position << 6); [INFO] [stdout] | -------- ^^ - {integer} [INFO] [stdout] | | [INFO] [stdout] | Position [INFO] [stdout] | [INFO] [stdout] note: an implementation of `Shl<{integer}>` might be missing for `Position` [INFO] [stdout] --> engine/src/util.rs:7:1 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct Position(pub u64); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ must implement `Shl<{integer}>` [INFO] [stdout] note: the trait `Shl` must be implemented [INFO] [stdout] --> /rustc/f609b7e0586f81fefb3523e3e17adf779ac416be/library/core/src/ops/bit.rs:443:1 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0369]: cannot add `Row` to `Row` [INFO] [stdout] --> engine/src/pieces.rs:173:40 [INFO] [stdout] | [INFO] [stdout] 173 | if position & (TOP_ROW + SECOND_ROW) != 0 { [INFO] [stdout] | ------- ^ ---------- Row [INFO] [stdout] | | [INFO] [stdout] | Row [INFO] [stdout] | [INFO] [stdout] note: an implementation of `Add` might be missing for `Row` [INFO] [stdout] --> engine/src/util.rs:11:1 [INFO] [stdout] | [INFO] [stdout] 11 | pub struct Row(pub u64); [INFO] [stdout] | ^^^^^^^^^^^^^^ must implement `Add` [INFO] [stdout] note: the trait `Add` must be implemented [INFO] [stdout] --> /rustc/f609b7e0586f81fefb3523e3e17adf779ac416be/library/core/src/ops/arith.rs:76:1 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> engine/src/pieces.rs:219:28 [INFO] [stdout] | [INFO] [stdout] 219 | if position == 0 { [INFO] [stdout] | -------- ^ expected `Position`, found integer [INFO] [stdout] | | [INFO] [stdout] | expected because this is `Position` [INFO] [stdout] | [INFO] [stdout] help: try wrapping the expression in `util::Position` [INFO] [stdout] | [INFO] [stdout] 219 | if position == util::Position(0) { [INFO] [stdout] | +++++++++++++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> engine/src/pieces.rs:173:57 [INFO] [stdout] | [INFO] [stdout] 173 | if position & (TOP_ROW + SECOND_ROW) != 0 { [INFO] [stdout] | --------------------------------- ^ expected `Position`, found integer [INFO] [stdout] | | [INFO] [stdout] | expected because this is `Position` [INFO] [stdout] | [INFO] [stdout] help: try wrapping the expression in `util::Position` [INFO] [stdout] | [INFO] [stdout] 173 | if position & (TOP_ROW + SECOND_ROW) != util::Position(0) { [INFO] [stdout] | +++++++++++++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0369]: no implementation for `Position << {integer}` [INFO] [stdout] --> engine/src/pieces.rs:174:44 [INFO] [stdout] | [INFO] [stdout] 174 | possible.push(position << 10); [INFO] [stdout] | -------- ^^ -- {integer} [INFO] [stdout] | | [INFO] [stdout] | Position [INFO] [stdout] | [INFO] [stdout] note: an implementation of `Shl<{integer}>` might be missing for `Position` [INFO] [stdout] --> engine/src/util.rs:7:1 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct Position(pub u64); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ must implement `Shl<{integer}>` [INFO] [stdout] note: the trait `Shl` must be implemented [INFO] [stdout] --> /rustc/f609b7e0586f81fefb3523e3e17adf779ac416be/library/core/src/ops/bit.rs:443:1 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0369]: no implementation for `Position << {integer}` [INFO] [stdout] --> engine/src/pieces.rs:175:44 [INFO] [stdout] | [INFO] [stdout] 175 | possible.push(position << 6); [INFO] [stdout] | -------- ^^ - {integer} [INFO] [stdout] | | [INFO] [stdout] | Position [INFO] [stdout] | [INFO] [stdout] note: an implementation of `Shl<{integer}>` might be missing for `Position` [INFO] [stdout] --> engine/src/util.rs:7:1 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct Position(pub u64); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ must implement `Shl<{integer}>` [INFO] [stdout] note: the trait `Shl` must be implemented [INFO] [stdout] --> /rustc/f609b7e0586f81fefb3523e3e17adf779ac416be/library/core/src/ops/bit.rs:443:1 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0608]: cannot index into a value of type `Board` [INFO] [stdout] --> engine/src/pieces.rs:180:39 [INFO] [stdout] | [INFO] [stdout] 180 | if board.board[piece] & position == 0 { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0369]: no implementation for `Position << {integer}` [INFO] [stdout] --> engine/src/pieces.rs:188:42 [INFO] [stdout] | [INFO] [stdout] 188 | ... let possible = [position << 9, position << 8, position << 7, position << 1, position >> 1, position >> 7, position >> 8, position >... [INFO] [stdout] | -------- ^^ - {integer} [INFO] [stdout] | | [INFO] [stdout] | Position [INFO] [stdout] | [INFO] [stdout] note: an implementation of `Shl<{integer}>` might be missing for `Position` [INFO] [stdout] --> engine/src/util.rs:7:1 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct Position(pub u64); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ must implement `Shl<{integer}>` [INFO] [stdout] note: the trait `Shl` must be implemented [INFO] [stdout] --> /rustc/f609b7e0586f81fefb3523e3e17adf779ac416be/library/core/src/ops/bit.rs:443:1 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0369]: no implementation for `Position << {integer}` [INFO] [stdout] --> engine/src/pieces.rs:188:57 [INFO] [stdout] | [INFO] [stdout] 188 | ... let possible = [position << 9, position << 8, position << 7, position << 1, position >> 1, position >> 7, position >> 8, position >... [INFO] [stdout] | -------- ^^ - {integer} [INFO] [stdout] | | [INFO] [stdout] | Position [INFO] [stdout] | [INFO] [stdout] note: an implementation of `Shl<{integer}>` might be missing for `Position` [INFO] [stdout] --> engine/src/util.rs:7:1 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct Position(pub u64); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ must implement `Shl<{integer}>` [INFO] [stdout] note: the trait `Shl` must be implemented [INFO] [stdout] --> /rustc/f609b7e0586f81fefb3523e3e17adf779ac416be/library/core/src/ops/bit.rs:443:1 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0369]: no implementation for `Position << {integer}` [INFO] [stdout] --> engine/src/pieces.rs:188:72 [INFO] [stdout] | [INFO] [stdout] 188 | ... let possible = [position << 9, position << 8, position << 7, position << 1, position >> 1, position >> 7, position >> 8, position >... [INFO] [stdout] | -------- ^^ - {integer} [INFO] [stdout] | | [INFO] [stdout] | Position [INFO] [stdout] | [INFO] [stdout] note: an implementation of `Shl<{integer}>` might be missing for `Position` [INFO] [stdout] --> engine/src/util.rs:7:1 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct Position(pub u64); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ must implement `Shl<{integer}>` [INFO] [stdout] note: the trait `Shl` must be implemented [INFO] [stdout] --> /rustc/f609b7e0586f81fefb3523e3e17adf779ac416be/library/core/src/ops/bit.rs:443:1 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0369]: no implementation for `Position << {integer}` [INFO] [stdout] --> engine/src/pieces.rs:188:87 [INFO] [stdout] | [INFO] [stdout] 188 | ... let possible = [position << 9, position << 8, position << 7, position << 1, position >> 1, position >> 7, position >> 8, position >... [INFO] [stdout] | -------- ^^ - {integer} [INFO] [stdout] | | [INFO] [stdout] | Position [INFO] [stdout] | [INFO] [stdout] note: an implementation of `Shl<{integer}>` might be missing for `Position` [INFO] [stdout] --> engine/src/util.rs:7:1 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct Position(pub u64); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ must implement `Shl<{integer}>` [INFO] [stdout] note: the trait `Shl` must be implemented [INFO] [stdout] --> /rustc/f609b7e0586f81fefb3523e3e17adf779ac416be/library/core/src/ops/bit.rs:443:1 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0369]: no implementation for `Position >> {integer}` [INFO] [stdout] --> engine/src/pieces.rs:188:102 [INFO] [stdout] | [INFO] [stdout] 188 | ... let possible = [position << 9, position << 8, position << 7, position << 1, position >> 1, position >> 7, position >> 8, position >... [INFO] [stdout] | -------- ^^ - {integer} [INFO] [stdout] | | [INFO] [stdout] | Position [INFO] [stdout] | [INFO] [stdout] note: an implementation of `Shr<{integer}>` might be missing for `Position` [INFO] [stdout] --> engine/src/util.rs:7:1 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct Position(pub u64); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ must implement `Shr<{integer}>` [INFO] [stdout] note: the trait `Shr` must be implemented [INFO] [stdout] --> /rustc/f609b7e0586f81fefb3523e3e17adf779ac416be/library/core/src/ops/bit.rs:561:1 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0369]: no implementation for `Position >> {integer}` [INFO] [stdout] --> engine/src/pieces.rs:188:117 [INFO] [stdout] | [INFO] [stdout] 188 | ... let possible = [position << 9, position << 8, position << 7, position << 1, position >> 1, position >> 7, position >> 8, position >... [INFO] [stdout] | -------- ^^ - {integer} [INFO] [stdout] | | [INFO] [stdout] | Position [INFO] [stdout] | [INFO] [stdout] note: an implementation of `Shr<{integer}>` might be missing for `Position` [INFO] [stdout] --> engine/src/util.rs:7:1 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct Position(pub u64); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ must implement `Shr<{integer}>` [INFO] [stdout] note: the trait `Shr` must be implemented [INFO] [stdout] --> /rustc/f609b7e0586f81fefb3523e3e17adf779ac416be/library/core/src/ops/bit.rs:561:1 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0369]: no implementation for `Position >> {integer}` [INFO] [stdout] --> engine/src/pieces.rs:188:132 [INFO] [stdout] | [INFO] [stdout] 188 | ...ion << 7, position << 1, position >> 1, position >> 7, position >> 8, position >> 9]; [INFO] [stdout] | -------- ^^ - {integer} [INFO] [stdout] | | [INFO] [stdout] | Position [INFO] [stdout] | [INFO] [stdout] note: an implementation of `Shr<{integer}>` might be missing for `Position` [INFO] [stdout] --> engine/src/util.rs:7:1 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct Position(pub u64); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ must implement `Shr<{integer}>` [INFO] [stdout] note: the trait `Shr` must be implemented [INFO] [stdout] --> /rustc/f609b7e0586f81fefb3523e3e17adf779ac416be/library/core/src/ops/bit.rs:561:1 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0369]: no implementation for `Position >> {integer}` [INFO] [stdout] --> engine/src/pieces.rs:188:147 [INFO] [stdout] | [INFO] [stdout] 188 | ...ion << 1, position >> 1, position >> 7, position >> 8, position >> 9]; [INFO] [stdout] | -------- ^^ - {integer} [INFO] [stdout] | | [INFO] [stdout] | Position [INFO] [stdout] | [INFO] [stdout] note: an implementation of `Shr<{integer}>` might be missing for `Position` [INFO] [stdout] --> engine/src/util.rs:7:1 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct Position(pub u64); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ must implement `Shr<{integer}>` [INFO] [stdout] note: the trait `Shr` must be implemented [INFO] [stdout] --> /rustc/f609b7e0586f81fefb3523e3e17adf779ac416be/library/core/src/ops/bit.rs:561:1 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0608]: cannot index into a value of type `Board` [INFO] [stdout] --> engine/src/pieces.rs:192:39 [INFO] [stdout] | [INFO] [stdout] 192 | if board.board[piece] & position == 0 { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> engine/src/pieces.rs:224:37 [INFO] [stdout] | [INFO] [stdout] 224 | if position.is_occupied(&board) { [INFO] [stdout] | ----------- ^^^^^^ expected `&Board`, found `&&ChessBoard` [INFO] [stdout] | | [INFO] [stdout] | arguments to this method are incorrect [INFO] [stdout] | [INFO] [stdout] = note: expected reference `&Board` [INFO] [stdout] found reference `&&ChessBoard` [INFO] [stdout] note: method defined here [INFO] [stdout] --> engine/src/util.rs:50:12 [INFO] [stdout] | [INFO] [stdout] 50 | pub fn is_occupied(&self, board: &Board) -> bool { [INFO] [stdout] | ^^^^^^^^^^^ ------------- [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find function `creates_check` in this scope [INFO] [stdout] --> engine/src/pieces.rs:207:17 [INFO] [stdout] | [INFO] [stdout] 207 | if !creates_check(board.clone(), team, position, *checking) { [INFO] [stdout] | ^^^^^^^^^^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> engine/src/pieces.rs:219:28 [INFO] [stdout] | [INFO] [stdout] 219 | if position == 0 { [INFO] [stdout] | -------- ^ expected `Position`, found integer [INFO] [stdout] | | [INFO] [stdout] | expected because this is `Position` [INFO] [stdout] | [INFO] [stdout] help: try wrapping the expression in `util::Position` [INFO] [stdout] | [INFO] [stdout] 219 | if position == util::Position(0) { [INFO] [stdout] | +++++++++++++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> engine/src/pieces.rs:226:46 [INFO] [stdout] | [INFO] [stdout] 226 | if position.occupied_by_team(&board, !team) { [INFO] [stdout] | ---------------- ^^^^^^ expected `&Board`, found `&&ChessBoard` [INFO] [stdout] | | [INFO] [stdout] | arguments to this method are incorrect [INFO] [stdout] | [INFO] [stdout] = note: expected reference `&Board` [INFO] [stdout] found reference `&&ChessBoard` [INFO] [stdout] note: method defined here [INFO] [stdout] --> engine/src/util.rs:60:12 [INFO] [stdout] | [INFO] [stdout] 60 | pub fn occupied_by_team(&self, board: &Board, team: Teams) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ ------------- [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> engine/src/pieces.rs:224:37 [INFO] [stdout] | [INFO] [stdout] 224 | if position.is_occupied(&board) { [INFO] [stdout] | ----------- ^^^^^^ expected `&Board`, found `&&ChessBoard` [INFO] [stdout] | | [INFO] [stdout] | arguments to this method are incorrect [INFO] [stdout] | [INFO] [stdout] = note: expected reference `&Board` [INFO] [stdout] found reference `&&ChessBoard` [INFO] [stdout] note: method defined here [INFO] [stdout] --> engine/src/util.rs:50:12 [INFO] [stdout] | [INFO] [stdout] 50 | pub fn is_occupied(&self, board: &Board) -> bool { [INFO] [stdout] | ^^^^^^^^^^^ ------------- [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `Board: Clone` is not satisfied [INFO] [stdout] --> engine/src/lib.rs:32:5 [INFO] [stdout] | [INFO] [stdout] 30 | #[derive(Clone)] [INFO] [stdout] | ----- in this derive macro expansion [INFO] [stdout] 31 | pub struct ChessBoard { [INFO] [stdout] 32 | pub board: Board, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ the trait `Clone` is not implemented for `Board` [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the derive macro `Clone` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: consider annotating `Board` with `#[derive(Clone)]` [INFO] [stdout] --> engine/src/util.rs:14:1 [INFO] [stdout] | [INFO] [stdout] 14 + #[derive(Clone)] [INFO] [stdout] 15 | pub struct Board(pub [u64; 13]); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `Board: Clone` is not satisfied [INFO] [stdout] --> engine/src/lib.rs:44:5 [INFO] [stdout] | [INFO] [stdout] 30 | #[derive(Clone)] [INFO] [stdout] | ----- in this derive macro expansion [INFO] [stdout] ... [INFO] [stdout] 44 | pub significant_boards: HashMap, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Clone` is not implemented for `Board`, which is required by `HashMap: Clone` [INFO] [stdout] | [INFO] [stdout] = note: required for `HashMap` to implement `Clone` [INFO] [stdout] = note: this error originates in the derive macro `Clone` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: consider annotating `Board` with `#[derive(Clone)]` [INFO] [stdout] --> engine/src/util.rs:14:1 [INFO] [stdout] | [INFO] [stdout] 14 + #[derive(Clone)] [INFO] [stdout] 15 | pub struct Board(pub [u64; 13]); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0608]: cannot index into a value of type `Board` [INFO] [stdout] --> engine/src/lib.rs:62:23 [INFO] [stdout] | [INFO] [stdout] 62 | if (self.board[piece as usize + team as usize] & location) == 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> engine/src/pieces.rs:226:46 [INFO] [stdout] | [INFO] [stdout] 226 | if position.occupied_by_team(&board, !team) { [INFO] [stdout] | ---------------- ^^^^^^ expected `&Board`, found `&&ChessBoard` [INFO] [stdout] | | [INFO] [stdout] | arguments to this method are incorrect [INFO] [stdout] | [INFO] [stdout] = note: expected reference `&Board` [INFO] [stdout] found reference `&&ChessBoard` [INFO] [stdout] note: method defined here [INFO] [stdout] --> engine/src/util.rs:60:12 [INFO] [stdout] | [INFO] [stdout] 60 | pub fn occupied_by_team(&self, board: &Board, team: Teams) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ ------------- [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> engine/src/lib.rs:73:51 [INFO] [stdout] | [INFO] [stdout] 73 | if target.is_occupied_by(&self.board, piece, team) { [INFO] [stdout] | -------------- ^^^^^ expected `Pieces`, found `usize` [INFO] [stdout] | | [INFO] [stdout] | arguments to this method are incorrect [INFO] [stdout] | [INFO] [stdout] note: method defined here [INFO] [stdout] --> engine/src/util.rs:55:12 [INFO] [stdout] | [INFO] [stdout] 55 | pub fn is_occupied_by(&self, board: &Board, piece: Pieces, team: Teams) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^ ------------- [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0608]: cannot index into a value of type `Board` [INFO] [stdout] --> engine/src/lib.rs:74:27 [INFO] [stdout] | [INFO] [stdout] 74 | self.board[12] ^= target; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0608]: cannot index into a value of type `Board` [INFO] [stdout] --> engine/src/lib.rs:75:27 [INFO] [stdout] | [INFO] [stdout] 75 | self.board[piece] ^= target; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0608]: cannot index into a value of type `Board` [INFO] [stdout] --> engine/src/lib.rs:81:19 [INFO] [stdout] | [INFO] [stdout] 81 | self.board[12] = (self.board[12] ^ location) + target; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0608]: cannot index into a value of type `Board` [INFO] [stdout] --> engine/src/lib.rs:81:37 [INFO] [stdout] | [INFO] [stdout] 81 | self.board[12] = (self.board[12] ^ location) + target; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0608]: cannot index into a value of type `Board` [INFO] [stdout] --> engine/src/lib.rs:92:35 [INFO] [stdout] | [INFO] [stdout] 92 | self.board[promoting as usize + team as usize] += target; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0608]: cannot index into a value of type `Board` [INFO] [stdout] --> engine/src/lib.rs:93:35 [INFO] [stdout] | [INFO] [stdout] 93 | self.board[piece as usize + team as usize] ^= location; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0608]: cannot index into a value of type `Board` [INFO] [stdout] --> engine/src/lib.rs:113:19 [INFO] [stdout] | [INFO] [stdout] 113 | self.board[piece] = (self.board[piece] ^ location) + target; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0608]: cannot index into a value of type `Board` [INFO] [stdout] --> engine/src/lib.rs:113:40 [INFO] [stdout] | [INFO] [stdout] 113 | self.board[piece] = (self.board[piece] ^ location) + target; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `Board: Clone` is not satisfied [INFO] [stdout] --> engine/src/lib.rs:32:5 [INFO] [stdout] | [INFO] [stdout] 30 | #[derive(Clone)] [INFO] [stdout] | ----- in this derive macro expansion [INFO] [stdout] 31 | pub struct ChessBoard { [INFO] [stdout] 32 | pub board: Board, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ the trait `Clone` is not implemented for `Board` [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the derive macro `Clone` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: consider annotating `Board` with `#[derive(Clone)]` [INFO] [stdout] --> engine/src/util.rs:14:1 [INFO] [stdout] | [INFO] [stdout] 14 + #[derive(Clone)] [INFO] [stdout] 15 | pub struct Board(pub [u64; 13]); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: the method `get_mut` exists for struct `HashMap`, but its trait bounds were not satisfied [INFO] [stdout] --> engine/src/lib.rs:126:39 [INFO] [stdout] | [INFO] [stdout] 126 | match self.significant_boards.get_mut(&self.board[0..12]) { [INFO] [stdout] | ^^^^^^^ method cannot be called on `HashMap` due to unsatisfied trait bounds [INFO] [stdout] | [INFO] [stdout] ::: engine/src/util.rs:14:1 [INFO] [stdout] | [INFO] [stdout] 14 | pub struct Board(pub [u64; 13]); [INFO] [stdout] | ---------------- doesn't satisfy `Board: Eq` or `Board: Hash` [INFO] [stdout] | [INFO] [stdout] = note: the following trait bounds were not satisfied: [INFO] [stdout] `Board: Eq` [INFO] [stdout] `Board: Hash` [INFO] [stdout] help: consider annotating `Board` with `#[derive(Eq, Hash, PartialEq)]` [INFO] [stdout] --> engine/src/util.rs:14:1 [INFO] [stdout] | [INFO] [stdout] 14 + #[derive(Eq, Hash, PartialEq)] [INFO] [stdout] 15 | pub struct Board(pub [u64; 13]); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0608]: cannot index into a value of type `Board` [INFO] [stdout] --> engine/src/lib.rs:126:58 [INFO] [stdout] | [INFO] [stdout] 126 | match self.significant_boards.get_mut(&self.board[0..12]) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0608]: cannot index into a value of type `Board` [INFO] [stdout] --> engine/src/lib.rs:136:52 [INFO] [stdout] | [INFO] [stdout] 136 | adding.clone_from_slice(&self.board[0..12]); [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `Board: Clone` is not satisfied [INFO] [stdout] --> engine/src/lib.rs:44:5 [INFO] [stdout] | [INFO] [stdout] 30 | #[derive(Clone)] [INFO] [stdout] | ----- in this derive macro expansion [INFO] [stdout] ... [INFO] [stdout] 44 | pub significant_boards: HashMap, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Clone` is not implemented for `Board`, which is required by `HashMap: Clone` [INFO] [stdout] | [INFO] [stdout] = note: required for `HashMap` to implement `Clone` [INFO] [stdout] = note: this error originates in the derive macro `Clone` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: consider annotating `Board` with `#[derive(Clone)]` [INFO] [stdout] --> engine/src/util.rs:14:1 [INFO] [stdout] | [INFO] [stdout] 14 + #[derive(Clone)] [INFO] [stdout] 15 | pub struct Board(pub [u64; 13]); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0608]: cannot index into a value of type `Board` [INFO] [stdout] --> engine/src/lib.rs:62:23 [INFO] [stdout] | [INFO] [stdout] 62 | if (self.board[piece as usize + team as usize] & location) == 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: the method `insert` exists for struct `HashMap`, but its trait bounds were not satisfied [INFO] [stdout] --> engine/src/lib.rs:137:41 [INFO] [stdout] | [INFO] [stdout] 137 | self.significant_boards.insert(adding, 1); [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: engine/src/util.rs:14:1 [INFO] [stdout] | [INFO] [stdout] 14 | pub struct Board(pub [u64; 13]); [INFO] [stdout] | ---------------- doesn't satisfy `Board: Eq` or `Board: Hash` [INFO] [stdout] | [INFO] [stdout] = note: the following trait bounds were not satisfied: [INFO] [stdout] `Board: Eq` [INFO] [stdout] `Board: Hash` [INFO] [stdout] help: consider annotating `Board` with `#[derive(Eq, Hash, PartialEq)]` [INFO] [stdout] --> engine/src/util.rs:14:1 [INFO] [stdout] | [INFO] [stdout] 14 + #[derive(Eq, Hash, PartialEq)] [INFO] [stdout] 15 | pub struct Board(pub [u64; 13]); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0608]: cannot index into a value of type `Board` [INFO] [stdout] --> engine/src/lib.rs:150:46 [INFO] [stdout] | [INFO] [stdout] 150 | if !Pieces::King.get_moves(self.board[Pieces::King as usize], Teams::White, &self, false).is_empty() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0608]: cannot index into a value of type `Board` [INFO] [stdout] --> engine/src/lib.rs:154:60 [INFO] [stdout] | [INFO] [stdout] 154 | let win_if_no_moves = is_in_check(&self, self.board[Pieces::King as usize + team as usize], team); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0608]: cannot index into a value of type `Board` [INFO] [stdout] --> engine/src/lib.rs:178:27 [INFO] [stdout] | [INFO] [stdout] 178 | if (self.board[piece] & index) != 0 { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0608]: cannot index into a value of type `Board` [INFO] [stdout] --> engine/src/lib.rs:196:30 [INFO] [stdout] | [INFO] [stdout] 196 | if self.board[j] & index != 0 { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> engine/src/lib.rs:73:51 [INFO] [stdout] | [INFO] [stdout] 73 | if target.is_occupied_by(&self.board, piece, team) { [INFO] [stdout] | -------------- ^^^^^ expected `Pieces`, found `usize` [INFO] [stdout] | | [INFO] [stdout] | arguments to this method are incorrect [INFO] [stdout] | [INFO] [stdout] note: method defined here [INFO] [stdout] --> engine/src/util.rs:55:12 [INFO] [stdout] | [INFO] [stdout] 55 | pub fn is_occupied_by(&self, board: &Board, piece: Pieces, team: Teams) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^ ------------- [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0608]: cannot index into a value of type `Board` [INFO] [stdout] --> engine/src/lib.rs:74:27 [INFO] [stdout] | [INFO] [stdout] 74 | self.board[12] ^= target; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0608]: cannot index into a value of type `Board` [INFO] [stdout] --> engine/src/lib.rs:75:27 [INFO] [stdout] | [INFO] [stdout] 75 | self.board[piece] ^= target; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0608]: cannot index into a value of type `Board` [INFO] [stdout] --> engine/src/lib.rs:81:19 [INFO] [stdout] | [INFO] [stdout] 81 | self.board[12] = (self.board[12] ^ location) + target; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0608]: cannot index into a value of type `Board` [INFO] [stdout] --> engine/src/lib.rs:81:37 [INFO] [stdout] | [INFO] [stdout] 81 | self.board[12] = (self.board[12] ^ location) + target; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0608]: cannot index into a value of type `Board` [INFO] [stdout] --> engine/src/lib.rs:92:35 [INFO] [stdout] | [INFO] [stdout] 92 | self.board[promoting as usize + team as usize] += target; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0608]: cannot index into a value of type `Board` [INFO] [stdout] --> engine/src/lib.rs:93:35 [INFO] [stdout] | [INFO] [stdout] 93 | self.board[piece as usize + team as usize] ^= location; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0608]: cannot index into a value of type `Board` [INFO] [stdout] --> engine/src/lib.rs:113:19 [INFO] [stdout] | [INFO] [stdout] 113 | self.board[piece] = (self.board[piece] ^ location) + target; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0608]: cannot index into a value of type `Board` [INFO] [stdout] --> engine/src/lib.rs:113:40 [INFO] [stdout] | [INFO] [stdout] 113 | self.board[piece] = (self.board[piece] ^ location) + target; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `position` [INFO] [stdout] --> engine/src/util.rs:77:30 [INFO] [stdout] | [INFO] [stdout] 77 | pub fn move_piece(&self, position: Position, target: Position, team: Teams) { [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_position` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `target` [INFO] [stdout] --> engine/src/util.rs:77:50 [INFO] [stdout] | [INFO] [stdout] 77 | pub fn move_piece(&self, position: Position, target: Position, team: Teams) { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_target` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `team` [INFO] [stdout] --> engine/src/util.rs:77:68 [INFO] [stdout] | [INFO] [stdout] 77 | pub fn move_piece(&self, position: Position, target: Position, team: Teams) { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_team` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: the method `get_mut` exists for struct `HashMap`, but its trait bounds were not satisfied [INFO] [stdout] --> engine/src/lib.rs:126:39 [INFO] [stdout] | [INFO] [stdout] 126 | match self.significant_boards.get_mut(&self.board[0..12]) { [INFO] [stdout] | ^^^^^^^ method cannot be called on `HashMap` due to unsatisfied trait bounds [INFO] [stdout] | [INFO] [stdout] ::: engine/src/util.rs:14:1 [INFO] [stdout] | [INFO] [stdout] 14 | pub struct Board(pub [u64; 13]); [INFO] [stdout] | ---------------- doesn't satisfy `Board: Eq` or `Board: Hash` [INFO] [stdout] | [INFO] [stdout] = note: the following trait bounds were not satisfied: [INFO] [stdout] `Board: Eq` [INFO] [stdout] `Board: Hash` [INFO] [stdout] help: consider annotating `Board` with `#[derive(Eq, Hash, PartialEq)]` [INFO] [stdout] --> engine/src/util.rs:14:1 [INFO] [stdout] | [INFO] [stdout] 14 + #[derive(Eq, Hash, PartialEq)] [INFO] [stdout] 15 | pub struct Board(pub [u64; 13]); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0608]: cannot index into a value of type `Board` [INFO] [stdout] --> engine/src/lib.rs:126:58 [INFO] [stdout] | [INFO] [stdout] 126 | match self.significant_boards.get_mut(&self.board[0..12]) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 101 previous errors; 7 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0061, E0277, E0308, E0369, E0412, E0425, E0583, E0599, E0608. [INFO] [stdout] [INFO] [stdout] For more information about an error, try `rustc --explain E0061`. [INFO] [stdout] [INFO] [stdout] error[E0608]: cannot index into a value of type `Board` [INFO] [stdout] --> engine/src/lib.rs:136:52 [INFO] [stdout] | [INFO] [stdout] 136 | adding.clone_from_slice(&self.board[0..12]); [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: the method `insert` exists for struct `HashMap`, but its trait bounds were not satisfied [INFO] [stdout] --> engine/src/lib.rs:137:41 [INFO] [stdout] | [INFO] [stdout] 137 | self.significant_boards.insert(adding, 1); [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: engine/src/util.rs:14:1 [INFO] [stdout] | [INFO] [stdout] 14 | pub struct Board(pub [u64; 13]); [INFO] [stdout] | ---------------- doesn't satisfy `Board: Eq` or `Board: Hash` [INFO] [stdout] | [INFO] [stdout] = note: the following trait bounds were not satisfied: [INFO] [stdout] `Board: Eq` [INFO] [stdout] `Board: Hash` [INFO] [stdout] help: consider annotating `Board` with `#[derive(Eq, Hash, PartialEq)]` [INFO] [stdout] --> engine/src/util.rs:14:1 [INFO] [stdout] | [INFO] [stdout] 14 + #[derive(Eq, Hash, PartialEq)] [INFO] [stdout] 15 | pub struct Board(pub [u64; 13]); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0608]: cannot index into a value of type `Board` [INFO] [stdout] --> engine/src/lib.rs:150:46 [INFO] [stdout] | [INFO] [stdout] 150 | if !Pieces::King.get_moves(self.board[Pieces::King as usize], Teams::White, &self, false).is_empty() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0608]: cannot index into a value of type `Board` [INFO] [stdout] --> engine/src/lib.rs:154:60 [INFO] [stdout] | [INFO] [stdout] 154 | let win_if_no_moves = is_in_check(&self, self.board[Pieces::King as usize + team as usize], team); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `chess-engine` (lib) due to 102 previous errors; 7 warnings emitted [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stdout] error[E0608]: cannot index into a value of type `Board` [INFO] [stdout] --> engine/src/lib.rs:178:27 [INFO] [stdout] | [INFO] [stdout] 178 | if (self.board[piece] & index) != 0 { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0608]: cannot index into a value of type `Board` [INFO] [stdout] --> engine/src/lib.rs:196:30 [INFO] [stdout] | [INFO] [stdout] 196 | if self.board[j] & index != 0 { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `position` [INFO] [stdout] --> engine/src/util.rs:77:30 [INFO] [stdout] | [INFO] [stdout] 77 | pub fn move_piece(&self, position: Position, target: Position, team: Teams) { [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_position` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `target` [INFO] [stdout] --> engine/src/util.rs:77:50 [INFO] [stdout] | [INFO] [stdout] 77 | pub fn move_piece(&self, position: Position, target: Position, team: Teams) { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_target` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `team` [INFO] [stdout] --> engine/src/util.rs:77:68 [INFO] [stdout] | [INFO] [stdout] 77 | pub fn move_piece(&self, position: Position, target: Position, team: Teams) { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_team` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 101 previous errors; 7 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0061, E0277, E0308, E0369, E0412, E0425, E0583, E0599, E0608. [INFO] [stdout] [INFO] [stdout] For more information about an error, try `rustc --explain E0061`. [INFO] [stdout] [INFO] [stderr] error: could not compile `chess-engine` (lib test) due to 102 previous errors; 7 warnings emitted [INFO] running `Command { std: "docker" "inspect" "ea0687570558e382c80589020e092006257a2d5fb46785cbd9762f631d955ef4", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "ea0687570558e382c80589020e092006257a2d5fb46785cbd9762f631d955ef4", kill_on_drop: false }` [INFO] [stdout] ea0687570558e382c80589020e092006257a2d5fb46785cbd9762f631d955ef4