[INFO] cloning repository https://github.com/RudolfVonKrugstein/turn-based-games [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/RudolfVonKrugstein/turn-based-games" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FRudolfVonKrugstein%2Fturn-based-games", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FRudolfVonKrugstein%2Fturn-based-games'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 18527d781495150a6367bcb523e5249e4736b0ff [INFO] testing RudolfVonKrugstein/turn-based-games against master#cdb45c87e2cd43495379f7e867e3cc15dcee9f93 for pr-145838-1 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FRudolfVonKrugstein%2Fturn-based-games" "/workspace/builds/worker-1-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc1/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/RudolfVonKrugstein/turn-based-games [INFO] finished tweaking git repo https://github.com/RudolfVonKrugstein/turn-based-games [INFO] tweaked toml for git repo https://github.com/RudolfVonKrugstein/turn-based-games written to /workspace/builds/worker-1-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/RudolfVonKrugstein/turn-based-games on toolchain cdb45c87e2cd43495379f7e867e3cc15dcee9f93 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+cdb45c87e2cd43495379f7e867e3cc15dcee9f93" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/RudolfVonKrugstein/turn-based-games 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" "+cdb45c87e2cd43495379f7e867e3cc15dcee9f93" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded strum v0.24.1 [INFO] [stderr] Downloaded strum_macros v0.24.2 [INFO] [stderr] Downloaded more-asserts v0.3.0 [INFO] [stderr] Downloaded rustversion v1.0.7 [INFO] [stderr] Downloaded unicode-ident v1.0.1 [INFO] [stderr] Downloaded proc-macro2 v1.0.40 [INFO] [stderr] Downloaded quote v1.0.20 [INFO] [stderr] Downloaded syn v1.0.98 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+cdb45c87e2cd43495379f7e867e3cc15dcee9f93" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] b8a9defdc66739eeb4b95c3187043e3d70aea0215fbc7f369c3276b01ba05233 [INFO] running `Command { std: "docker" "start" "-a" "b8a9defdc66739eeb4b95c3187043e3d70aea0215fbc7f369c3276b01ba05233", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "b8a9defdc66739eeb4b95c3187043e3d70aea0215fbc7f369c3276b01ba05233", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "b8a9defdc66739eeb4b95c3187043e3d70aea0215fbc7f369c3276b01ba05233", kill_on_drop: false }` [INFO] [stdout] b8a9defdc66739eeb4b95c3187043e3d70aea0215fbc7f369c3276b01ba05233 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+cdb45c87e2cd43495379f7e867e3cc15dcee9f93" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 6e91e22a2cd4f62a366ae9bd973b318fe1ff44feaa5db94268527ae969f547e0 [INFO] running `Command { std: "docker" "start" "-a" "6e91e22a2cd4f62a366ae9bd973b318fe1ff44feaa5db94268527ae969f547e0", kill_on_drop: false }` [INFO] [stderr] Compiling proc-macro2 v1.0.40 [INFO] [stderr] Compiling unicode-ident v1.0.1 [INFO] [stderr] Compiling quote v1.0.20 [INFO] [stderr] Compiling rustversion v1.0.7 [INFO] [stderr] Compiling syn v1.0.98 [INFO] [stderr] Compiling heck v0.4.0 [INFO] [stderr] Compiling strum v0.24.1 [INFO] [stderr] Compiling strum_macros v0.24.2 [INFO] [stderr] Compiling turn-based-games v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/tools/grid_board/mod.rs:48:27 [INFO] [stdout] | [INFO] [stdout] 48 | pub fn field_iterator(&self, pos: BoardPosition, row_dir: isize, col_dir: isize) [INFO] [stdout] | ^^^^^ the lifetime is elided here [INFO] [stdout] 49 | -> FieldIterator { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 49 | -> FieldIterator<'_, FieldContent> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/tools/grid_board/mod.rs:58:36 [INFO] [stdout] | [INFO] [stdout] 58 | pub fn sliding_window_iterator(&self, pos: BoardPosition, row_dir: isize, col_dir: isize, window_size: usize) [INFO] [stdout] | ^^^^^ the lifetime is elided here [INFO] [stdout] 59 | -> SlidingWindowIterator { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 59 | -> SlidingWindowIterator<'_, FieldContent> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 6.28s [INFO] running `Command { std: "docker" "inspect" "6e91e22a2cd4f62a366ae9bd973b318fe1ff44feaa5db94268527ae969f547e0", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "6e91e22a2cd4f62a366ae9bd973b318fe1ff44feaa5db94268527ae969f547e0", kill_on_drop: false }` [INFO] [stdout] 6e91e22a2cd4f62a366ae9bd973b318fe1ff44feaa5db94268527ae969f547e0 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+cdb45c87e2cd43495379f7e867e3cc15dcee9f93" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] d2db1aea9e9105970418466e32e5d241de8d5c02e358cc073c894d174d06e373 [INFO] running `Command { std: "docker" "start" "-a" "d2db1aea9e9105970418466e32e5d241de8d5c02e358cc073c894d174d06e373", kill_on_drop: false }` [INFO] [stderr] Compiling more-asserts v0.3.0 [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/tools/grid_board/mod.rs:48:27 [INFO] [stdout] | [INFO] [stdout] 48 | pub fn field_iterator(&self, pos: BoardPosition, row_dir: isize, col_dir: isize) [INFO] [stdout] | ^^^^^ the lifetime is elided here [INFO] [stdout] 49 | -> FieldIterator { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 49 | -> FieldIterator<'_, FieldContent> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/tools/grid_board/mod.rs:58:36 [INFO] [stdout] | [INFO] [stdout] 58 | pub fn sliding_window_iterator(&self, pos: BoardPosition, row_dir: isize, col_dir: isize, window_size: usize) [INFO] [stdout] | ^^^^^ the lifetime is elided here [INFO] [stdout] 59 | -> SlidingWindowIterator { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 59 | -> SlidingWindowIterator<'_, FieldContent> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Compiling turn-based-games v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: enum `ChessPiece` is never used [INFO] [stdout] --> examples/chess.rs:7:6 [INFO] [stdout] | [INFO] [stdout] 7 | enum ChessPiece { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `is_valid`, `is_white`, `is_black`, `is_opposite_color`, and `piece_type` are never used [INFO] [stdout] --> examples/chess.rs:44:8 [INFO] [stdout] | [INFO] [stdout] 43 | impl ChessPiece { [INFO] [stdout] | --------------- methods in this implementation [INFO] [stdout] 44 | fn is_valid(&self) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 47 | fn is_white(&self) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 50 | fn is_black(&self) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 53 | fn is_opposite_color(&self, other: &ChessPiece) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 56 | fn piece_type(&self) -> ChessPieceType { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `ChessPieceType` is never used [INFO] [stdout] --> examples/chess.rs:88:6 [INFO] [stdout] | [INFO] [stdout] 88 | enum ChessPieceType { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `BoardPosition` is never used [INFO] [stdout] --> examples/chess.rs:98:6 [INFO] [stdout] | [INFO] [stdout] 98 | type BoardPosition = usize; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `on_board` is never used [INFO] [stdout] --> examples/chess.rs:100:4 [INFO] [stdout] | [INFO] [stdout] 100 | fn on_board(pos: BoardPosition) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `ChessMoveType` is never used [INFO] [stdout] --> examples/chess.rs:105:6 [INFO] [stdout] | [INFO] [stdout] 105 | enum ChessMoveType { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ChessMove` is never constructed [INFO] [stdout] --> examples/chess.rs:113:8 [INFO] [stdout] | [INFO] [stdout] 113 | struct ChessMove { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `CastlingState` is never constructed [INFO] [stdout] --> examples/chess.rs:119:8 [INFO] [stdout] | [INFO] [stdout] 119 | struct CastlingState { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> examples/chess.rs:125:8 [INFO] [stdout] | [INFO] [stdout] 124 | impl CastlingState { [INFO] [stdout] | ------------------ associated function in this implementation [INFO] [stdout] 125 | fn new() -> CastlingState { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ChessGameState` is never constructed [INFO] [stdout] --> examples/chess.rs:134:8 [INFO] [stdout] | [INFO] [stdout] 134 | struct ChessGameState { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> examples/chess.rs:143:12 [INFO] [stdout] | [INFO] [stdout] 142 | impl ChessGameState { [INFO] [stdout] | ------------------- associated items in this implementation [INFO] [stdout] 143 | pub fn new() -> ChessGameState { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 215 | fn create_move(&self, t: ChessMoveType) -> ChessMove { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 226 | fn create_move_move(&self, s: BoardPosition, e: BoardPosition) -> ChessMove { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 230 | fn create_beat_move(&self, s: BoardPosition, e: BoardPosition) -> ChessMove { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 234 | fn new_with_field(field: [ChessPiece; 64], active_player: Player) -> ChessGameState { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 251 | fn relative_field_pos( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 268 | fn generate_moves_in_directory( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 290 | fn generate_pawn_moves(&self, pos: BoardPosition, moves: &mut Vec) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 323 | fn generate_knight_moves(&self, pos: BoardPosition, moves: &mut Vec) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 345 | fn generate_rook_moves(&self, pos: BoardPosition, moves: &mut Vec) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 352 | fn generate_bishop_moves(&self, pos: BoardPosition, moves: &mut Vec) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 359 | fn generate_queen_moves(&self, pos: BoardPosition, moves: &mut Vec) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 370 | fn generate_king_moves(&self, pos: BoardPosition, moves: &mut Vec) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 392 | fn generate_castling_moves(&self, moves: &mut Vec) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 436 | fn update_castling_from_moved_piece(self: &mut Self, piece: &ChessPiece) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ChessMoveIterator` is never constructed [INFO] [stdout] --> examples/chess.rs:636:8 [INFO] [stdout] | [INFO] [stdout] 636 | struct ChessMoveIterator { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `more_asserts::*` [INFO] [stdout] --> src/tools/grid_board/iterator.rs:36:9 [INFO] [stdout] | [INFO] [stdout] 36 | use more_asserts::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `gs` [INFO] [stdout] --> examples/connect_four/move.rs:19:24 [INFO] [stdout] | [INFO] [stdout] 19 | fn next(&mut self, gs: &Self::GameState) -> Option<&Self::Move> { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_gs` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `count_fields_for_player_in_directory` is never used [INFO] [stdout] --> examples/connect_four/game_state.rs:170:8 [INFO] [stdout] | [INFO] [stdout] 31 | impl ConnectFourGameState { [INFO] [stdout] | ------------------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 170 | fn count_fields_for_player_in_directory( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `step` [INFO] [stdout] --> src/tools/grid_board/sliding_window_iterator.rs:141:15 [INFO] [stdout] | [INFO] [stdout] 141 | |(step, item)| { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_step` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `linear_index` is never used [INFO] [stdout] --> src/tools/grid_board/position.rs:46:8 [INFO] [stdout] | [INFO] [stdout] 46 | fn linear_index() { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `invalid_linear_index` is never used [INFO] [stdout] --> src/tools/grid_board/position.rs:57:8 [INFO] [stdout] | [INFO] [stdout] 57 | fn invalid_linear_index() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/tools/grid_board/mod.rs:48:27 [INFO] [stdout] | [INFO] [stdout] 48 | pub fn field_iterator(&self, pos: BoardPosition, row_dir: isize, col_dir: isize) [INFO] [stdout] | ^^^^^ the lifetime is elided here [INFO] [stdout] 49 | -> FieldIterator { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 49 | -> FieldIterator<'_, FieldContent> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/tools/grid_board/mod.rs:58:36 [INFO] [stdout] | [INFO] [stdout] 58 | pub fn sliding_window_iterator(&self, pos: BoardPosition, row_dir: isize, col_dir: isize, window_size: usize) [INFO] [stdout] | ^^^^^ the lifetime is elided here [INFO] [stdout] 59 | -> SlidingWindowIterator { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 59 | -> SlidingWindowIterator<'_, FieldContent> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.97s [INFO] running `Command { std: "docker" "inspect" "d2db1aea9e9105970418466e32e5d241de8d5c02e358cc073c894d174d06e373", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "d2db1aea9e9105970418466e32e5d241de8d5c02e358cc073c894d174d06e373", kill_on_drop: false }` [INFO] [stdout] d2db1aea9e9105970418466e32e5d241de8d5c02e358cc073c894d174d06e373 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+cdb45c87e2cd43495379f7e867e3cc15dcee9f93" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] f33f1ed5624aeccfb89ffd1caf3d0b2f149912ea6e6915e722d2da5da2009eff [INFO] running `Command { std: "docker" "start" "-a" "f33f1ed5624aeccfb89ffd1caf3d0b2f149912ea6e6915e722d2da5da2009eff", kill_on_drop: false }` [INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stderr] --> src/tools/grid_board/mod.rs:48:27 [INFO] [stderr] | [INFO] [stderr] 48 | pub fn field_iterator(&self, pos: BoardPosition, row_dir: isize, col_dir: isize) [INFO] [stderr] | ^^^^^ the lifetime is elided here [INFO] [stderr] 49 | -> FieldIterator { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stderr] | [INFO] [stderr] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stderr] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stderr] help: use `'_` for type paths [INFO] [stderr] | [INFO] [stderr] 49 | -> FieldIterator<'_, FieldContent> { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stderr] --> src/tools/grid_board/mod.rs:58:36 [INFO] [stderr] | [INFO] [stderr] 58 | pub fn sliding_window_iterator(&self, pos: BoardPosition, row_dir: isize, col_dir: isize, window_size: usize) [INFO] [stderr] | ^^^^^ the lifetime is elided here [INFO] [stderr] 59 | -> SlidingWindowIterator { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stderr] | [INFO] [stderr] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stderr] help: use `'_` for type paths [INFO] [stderr] | [INFO] [stderr] 59 | -> SlidingWindowIterator<'_, FieldContent> { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: unused import: `more_asserts::*` [INFO] [stderr] --> src/tools/grid_board/iterator.rs:36:9 [INFO] [stderr] | [INFO] [stderr] 36 | use more_asserts::*; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `step` [INFO] [stderr] --> src/tools/grid_board/sliding_window_iterator.rs:141:15 [INFO] [stderr] | [INFO] [stderr] 141 | |(step, item)| { [INFO] [stderr] | ^^^^ help: if this is intentional, prefix it with an underscore: `_step` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: function `linear_index` is never used [INFO] [stderr] --> src/tools/grid_board/position.rs:46:8 [INFO] [stderr] | [INFO] [stderr] 46 | fn linear_index() { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: function `invalid_linear_index` is never used [INFO] [stderr] --> src/tools/grid_board/position.rs:57:8 [INFO] [stderr] | [INFO] [stderr] 57 | fn invalid_linear_index() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: `turn-based-games` (lib) generated 2 warnings (run `cargo fix --lib -p turn-based-games` to apply 2 suggestions) [INFO] [stderr] warning: `turn-based-games` (lib test) generated 6 warnings (2 duplicates) (run `cargo fix --lib -p turn-based-games --tests` to apply 1 suggestion) [INFO] [stderr] warning: enum `ChessPiece` is never used [INFO] [stderr] --> examples/chess.rs:7:6 [INFO] [stderr] | [INFO] [stderr] 7 | enum ChessPiece { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: methods `is_valid`, `is_white`, `is_black`, `is_opposite_color`, and `piece_type` are never used [INFO] [stderr] --> examples/chess.rs:44:8 [INFO] [stderr] | [INFO] [stderr] 43 | impl ChessPiece { [INFO] [stderr] | --------------- methods in this implementation [INFO] [stderr] 44 | fn is_valid(&self) -> bool { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 47 | fn is_white(&self) -> bool { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 50 | fn is_black(&self) -> bool { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 53 | fn is_opposite_color(&self, other: &ChessPiece) -> bool { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 56 | fn piece_type(&self) -> ChessPieceType { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: enum `ChessPieceType` is never used [INFO] [stderr] --> examples/chess.rs:88:6 [INFO] [stderr] | [INFO] [stderr] 88 | enum ChessPieceType { [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: type alias `BoardPosition` is never used [INFO] [stderr] --> examples/chess.rs:98:6 [INFO] [stderr] | [INFO] [stderr] 98 | type BoardPosition = usize; [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `on_board` is never used [INFO] [stderr] --> examples/chess.rs:100:4 [INFO] [stderr] | [INFO] [stderr] 100 | fn on_board(pos: BoardPosition) -> bool { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: enum `ChessMoveType` is never used [INFO] [stderr] --> examples/chess.rs:105:6 [INFO] [stderr] | [INFO] [stderr] 105 | enum ChessMoveType { [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct `ChessMove` is never constructed [INFO] [stderr] --> examples/chess.rs:113:8 [INFO] [stderr] | [INFO] [stderr] 113 | struct ChessMove { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct `CastlingState` is never constructed [INFO] [stderr] --> examples/chess.rs:119:8 [INFO] [stderr] | [INFO] [stderr] 119 | struct CastlingState { [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function `new` is never used [INFO] [stderr] --> examples/chess.rs:125:8 [INFO] [stderr] | [INFO] [stderr] 124 | impl CastlingState { [INFO] [stderr] | ------------------ associated function in this implementation [INFO] [stderr] 125 | fn new() -> CastlingState { [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: struct `ChessGameState` is never constructed [INFO] [stderr] --> examples/chess.rs:134:8 [INFO] [stderr] | [INFO] [stderr] 134 | struct ChessGameState { [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: multiple associated items are never used [INFO] [stderr] --> examples/chess.rs:143:12 [INFO] [stderr] | [INFO] [stderr] 142 | impl ChessGameState { [INFO] [stderr] | ------------------- associated items in this implementation [INFO] [stderr] 143 | pub fn new() -> ChessGameState { [INFO] [stderr] | ^^^ [INFO] [stderr] ... [INFO] [stderr] 215 | fn create_move(&self, t: ChessMoveType) -> ChessMove { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 226 | fn create_move_move(&self, s: BoardPosition, e: BoardPosition) -> ChessMove { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 230 | fn create_beat_move(&self, s: BoardPosition, e: BoardPosition) -> ChessMove { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 234 | fn new_with_field(field: [ChessPiece; 64], active_player: Player) -> ChessGameState { [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 251 | fn relative_field_pos( [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 268 | fn generate_moves_in_directory( [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 290 | fn generate_pawn_moves(&self, pos: BoardPosition, moves: &mut Vec) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 323 | fn generate_knight_moves(&self, pos: BoardPosition, moves: &mut Vec) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 345 | fn generate_rook_moves(&self, pos: BoardPosition, moves: &mut Vec) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 352 | fn generate_bishop_moves(&self, pos: BoardPosition, moves: &mut Vec) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 359 | fn generate_queen_moves(&self, pos: BoardPosition, moves: &mut Vec) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 370 | fn generate_king_moves(&self, pos: BoardPosition, moves: &mut Vec) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 392 | fn generate_castling_moves(&self, moves: &mut Vec) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 436 | fn update_castling_from_moved_piece(self: &mut Self, piece: &ChessPiece) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct `ChessMoveIterator` is never constructed [INFO] [stderr] --> examples/chess.rs:636:8 [INFO] [stderr] | [INFO] [stderr] 636 | struct ChessMoveIterator { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused variable: `gs` [INFO] [stderr] --> examples/connect_four/move.rs:19:24 [INFO] [stderr] | [INFO] [stderr] 19 | fn next(&mut self, gs: &Self::GameState) -> Option<&Self::Move> { [INFO] [stderr] | ^^ help: if this is intentional, prefix it with an underscore: `_gs` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: method `count_fields_for_player_in_directory` is never used [INFO] [stderr] --> examples/connect_four/game_state.rs:170:8 [INFO] [stderr] | [INFO] [stderr] 31 | impl ConnectFourGameState { [INFO] [stderr] | ------------------------- method in this implementation [INFO] [stderr] ... [INFO] [stderr] 170 | fn count_fields_for_player_in_directory( [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: `turn-based-games` (example "chess") generated 12 warnings [INFO] [stderr] warning: `turn-based-games` (example "connect_four") generated 2 warnings [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.06s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/turn_based_games-a08bb808b0a3fd7a) [INFO] [stdout] [INFO] [stdout] running 10 tests [INFO] [stdout] test tests::it_works ... ok [INFO] [stdout] test tools::grid_board::iterator::test::iterator_on_empty_field ... ok [INFO] [stdout] test tools::grid_board::position::test::test_step ... ok [INFO] [stdout] test tools::grid_board::iterator::test::iterator_on_field_with_numbers ... ok [INFO] [stdout] test tools::grid_board::sliding_window_iterator::test::slide_over_field_of_zeros ... ok [INFO] [stdout] test tools::grid_board::sliding_window_iterator::test::slide_over_field_with_numbers ... ok [INFO] [stdout] test negamax::tests::choose_winning_move ... ok [INFO] [stdout] test negamax::tests::dont_choose_opponent_winning_move ... ok [INFO] [stdout] test negamax::tests::choose_best_move_no_wins ... ok [INFO] [stdout] test negamax::tests::test_alpha_beta_pruning ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 10 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.12s [INFO] [stdout] [INFO] [stderr] Doc-tests turn_based_games [INFO] [stdout] [INFO] [stdout] running 2 tests [INFO] [stdout] test src/model.rs - model::GameState (line 6) ... ok [INFO] [stdout] test src/model.rs - model::MoveIterator (line 37) ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.32s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "f33f1ed5624aeccfb89ffd1caf3d0b2f149912ea6e6915e722d2da5da2009eff", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "f33f1ed5624aeccfb89ffd1caf3d0b2f149912ea6e6915e722d2da5da2009eff", kill_on_drop: false }` [INFO] [stdout] f33f1ed5624aeccfb89ffd1caf3d0b2f149912ea6e6915e722d2da5da2009eff