[INFO] updating cached repository https://github.com/craigfay/chess-engine [INFO] running `"git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "-c" "remote.origin.fetch=refs/heads/*:refs/heads/*" "fetch" "origin" "--force" "--prune"` [INFO] [stderr] From https://github.com/craigfay/chess-engine [INFO] [stderr] c5f9e49..386828c master -> master [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] 386828c95c76a7efe3d1e3565c4d80ff0172584f [INFO] checking craigfay/chess-engine against master#b1f395de642e8be7bcbbd2bd8aaadab715851f49 for pr-69410 [INFO] running `"git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fcraigfay%2Fchess-engine" "/workspace/builds/worker-11/source"` [INFO] [stderr] Cloning into '/workspace/builds/worker-11/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/craigfay/chess-engine on toolchain b1f395de642e8be7bcbbd2bd8aaadab715851f49 [INFO] running `"/workspace/cargo-home/bin/cargo" "+b1f395de642e8be7bcbbd2bd8aaadab715851f49" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] started tweaking git repo https://github.com/craigfay/chess-engine [INFO] finished tweaking git repo https://github.com/craigfay/chess-engine [INFO] tweaked toml for git repo https://github.com/craigfay/chess-engine written to /workspace/builds/worker-11/source/Cargo.toml [INFO] crate git repo https://github.com/craigfay/chess-engine already has a lockfile, it will not be regenerated [INFO] running `"/workspace/cargo-home/bin/cargo" "+b1f395de642e8be7bcbbd2bd8aaadab715851f49" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] running `"docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-11/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-11/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" "MAP_USER_ID=0" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--network" "none" "rustops/crates-build-env" "/opt/rustwide/cargo-home/bin/cargo" "+b1f395de642e8be7bcbbd2bd8aaadab715851f49" "check" "--frozen" "--all" "--all-targets"` [INFO] [stdout] bbb267017b64237a4a958018a0bc4dd6a991c4957ef929282cfe43641cc8535d [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] running `"docker" "start" "-a" "bbb267017b64237a4a958018a0bc4dd6a991c4957ef929282cfe43641cc8535d"` [INFO] [stderr] Checking chess-engine v0.1.0 (/opt/rustwide/workdir) [INFO] [stderr] warning: unused import: `Duration` [INFO] [stderr] --> src/main.rs:1:17 [INFO] [stderr] | [INFO] [stderr] 1 | use std::time::{Duration, Instant}; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `algebraic` [INFO] [stderr] --> src/rules.rs:25:23 [INFO] [stderr] | [INFO] [stderr] 25 | use crate::notation::{algebraic}; [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unnecessary trailing semicolon [INFO] [stderr] --> src/rules.rs:320:66 [INFO] [stderr] | [INFO] [stderr] 320 | let m = Move { from, to, piece: piece.name };; [INFO] [stderr] | ^ help: remove this semicolon [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(redundant_semicolon)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `Black` [INFO] [stderr] --> src/notation.rs:10:19 [INFO] [stderr] | [INFO] [stderr] 10 | Color::{White,Black}, [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Piece` [INFO] [stderr] --> src/main.rs:18:5 [INFO] [stderr] | [INFO] [stderr] 18 | Piece, [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Duration` [INFO] [stderr] --> src/main.rs:1:17 [INFO] [stderr] | [INFO] [stderr] 1 | use std::time::{Duration, Instant}; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `algebraic` [INFO] [stderr] --> src/rules.rs:25:23 [INFO] [stderr] | [INFO] [stderr] 25 | use crate::notation::{algebraic}; [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unnecessary trailing semicolon [INFO] [stderr] --> src/rules.rs:320:66 [INFO] [stderr] | [INFO] [stderr] 320 | let m = Move { from, to, piece: piece.name };; [INFO] [stderr] | ^ help: remove this semicolon [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(redundant_semicolon)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `Black` [INFO] [stderr] --> src/notation.rs:10:19 [INFO] [stderr] | [INFO] [stderr] 10 | Color::{White,Black}, [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Piece` [INFO] [stderr] --> src/main.rs:18:5 [INFO] [stderr] | [INFO] [stderr] 18 | Piece, [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused variable: `to` [INFO] [stderr] --> src/rules.rs:351:9 [INFO] [stderr] | [INFO] [stderr] 351 | let to = state.squares[m.to]; [INFO] [stderr] | ^^ help: consider prefixing with an underscore: `_to` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `delta_x` [INFO] [stderr] --> src/rules.rs:35:14 [INFO] [stderr] | [INFO] [stderr] 35 | let (delta_x, delta_y) = position_delta(self.from, self.to); [INFO] [stderr] | ^^^^^^^ help: consider prefixing with an underscore: `_delta_x` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `dummy_move` [INFO] [stderr] --> src/notation.rs:16:9 [INFO] [stderr] | [INFO] [stderr] 16 | let dummy_move = Move { piece: Pawn, from: 0 as usize, [INFO] [stderr] | ^^^^^^^^^^ help: consider prefixing with an underscore: `_dummy_move` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `file` [INFO] [stderr] --> src/notation.rs:26:10 [INFO] [stderr] | [INFO] [stderr] 26 | [file, rank] => { [INFO] [stderr] | ^^^^ help: consider prefixing with an underscore: `_file` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `rank` [INFO] [stderr] --> src/notation.rs:26:16 [INFO] [stderr] | [INFO] [stderr] 26 | [file, rank] => { [INFO] [stderr] | ^^^^ help: consider prefixing with an underscore: `_rank` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/main.rs:390:9 [INFO] [stderr] | [INFO] [stderr] 390 | let mut state = GameState::with_placements(vec![ [INFO] [stderr] | ----^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_mut)]` on by default [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/main.rs:409:9 [INFO] [stderr] | [INFO] [stderr] 409 | let mut state = GameState::with_placements(vec![ [INFO] [stderr] | ----^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/main.rs:429:9 [INFO] [stderr] | [INFO] [stderr] 429 | let mut state = GameState::with_placements(vec![ [INFO] [stderr] | ----^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/main.rs:438:9 [INFO] [stderr] | [INFO] [stderr] 438 | let mut state = GameState::with_placements(vec![ [INFO] [stderr] | ----^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/main.rs:498:9 [INFO] [stderr] | [INFO] [stderr] 498 | let mut state = GameState::with_placements(vec![ [INFO] [stderr] | ----^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/main.rs:509:9 [INFO] [stderr] | [INFO] [stderr] 509 | let mut state = GameState::with_placements(vec![ [INFO] [stderr] | ----^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/main.rs:811:9 [INFO] [stderr] | [INFO] [stderr] 811 | let mut state = GameState::with_placements(vec![ [INFO] [stderr] | ----^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: function is never used: `relative_material_values` [INFO] [stderr] --> src/rules.rs:227:8 [INFO] [stderr] | [INFO] [stderr] 227 | pub fn relative_material_values(state: &GameState) -> (usize, usize) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: function is never used: `piece_value` [INFO] [stderr] --> src/rules.rs:246:8 [INFO] [stderr] | [INFO] [stderr] 246 | pub fn piece_value(name: &PieceName) -> usize { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `vertical_path_is_obstructed` [INFO] [stderr] --> src/rules.rs:435:4 [INFO] [stderr] | [INFO] [stderr] 435 | fn vertical_path_is_obstructed(from: usize, delta_y: i32, state: &GameState) -> bool { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `castle_is_legal` [INFO] [stderr] --> src/rules.rs:509:4 [INFO] [stderr] | [INFO] [stderr] 509 | fn castle_is_legal(m: &Move, state: &GameState) -> bool { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `empty` [INFO] [stderr] --> src/entities.rs:17:5 [INFO] [stderr] | [INFO] [stderr] 17 | pub fn empty() -> GameState { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `index` [INFO] [stderr] --> src/notation.rs:73:8 [INFO] [stderr] | [INFO] [stderr] 73 | pub fn index(square: usize) -> String { [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused variable: `to` [INFO] [stderr] --> src/rules.rs:351:9 [INFO] [stderr] | [INFO] [stderr] 351 | let to = state.squares[m.to]; [INFO] [stderr] | ^^ help: consider prefixing with an underscore: `_to` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `delta_x` [INFO] [stderr] --> src/rules.rs:35:14 [INFO] [stderr] | [INFO] [stderr] 35 | let (delta_x, delta_y) = position_delta(self.from, self.to); [INFO] [stderr] | ^^^^^^^ help: consider prefixing with an underscore: `_delta_x` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `dummy_move` [INFO] [stderr] --> src/notation.rs:16:9 [INFO] [stderr] | [INFO] [stderr] 16 | let dummy_move = Move { piece: Pawn, from: 0 as usize, [INFO] [stderr] | ^^^^^^^^^^ help: consider prefixing with an underscore: `_dummy_move` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `file` [INFO] [stderr] --> src/notation.rs:26:10 [INFO] [stderr] | [INFO] [stderr] 26 | [file, rank] => { [INFO] [stderr] | ^^^^ help: consider prefixing with an underscore: `_file` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `rank` [INFO] [stderr] --> src/notation.rs:26:16 [INFO] [stderr] | [INFO] [stderr] 26 | [file, rank] => { [INFO] [stderr] | ^^^^ help: consider prefixing with an underscore: `_rank` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/main.rs:390:9 [INFO] [stderr] | [INFO] [stderr] 390 | let mut state = GameState::with_placements(vec![ [INFO] [stderr] | ----^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_mut)]` on by default [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/main.rs:409:9 [INFO] [stderr] | [INFO] [stderr] 409 | let mut state = GameState::with_placements(vec![ [INFO] [stderr] | ----^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/main.rs:429:9 [INFO] [stderr] | [INFO] [stderr] 429 | let mut state = GameState::with_placements(vec![ [INFO] [stderr] | ----^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/main.rs:438:9 [INFO] [stderr] | [INFO] [stderr] 438 | let mut state = GameState::with_placements(vec![ [INFO] [stderr] | ----^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/main.rs:498:9 [INFO] [stderr] | [INFO] [stderr] 498 | let mut state = GameState::with_placements(vec![ [INFO] [stderr] | ----^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/main.rs:509:9 [INFO] [stderr] | [INFO] [stderr] 509 | let mut state = GameState::with_placements(vec![ [INFO] [stderr] | ----^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/main.rs:811:9 [INFO] [stderr] | [INFO] [stderr] 811 | let mut state = GameState::with_placements(vec![ [INFO] [stderr] | ----^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: function is never used: `relative_material_values` [INFO] [stderr] --> src/rules.rs:227:8 [INFO] [stderr] | [INFO] [stderr] 227 | pub fn relative_material_values(state: &GameState) -> (usize, usize) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: function is never used: `piece_value` [INFO] [stderr] --> src/rules.rs:246:8 [INFO] [stderr] | [INFO] [stderr] 246 | pub fn piece_value(name: &PieceName) -> usize { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `vertical_path_is_obstructed` [INFO] [stderr] --> src/rules.rs:435:4 [INFO] [stderr] | [INFO] [stderr] 435 | fn vertical_path_is_obstructed(from: usize, delta_y: i32, state: &GameState) -> bool { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `castle_is_legal` [INFO] [stderr] --> src/rules.rs:509:4 [INFO] [stderr] | [INFO] [stderr] 509 | fn castle_is_legal(m: &Move, state: &GameState) -> bool { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `empty` [INFO] [stderr] --> src/entities.rs:17:5 [INFO] [stderr] | [INFO] [stderr] 17 | pub fn empty() -> GameState { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `index` [INFO] [stderr] --> src/notation.rs:73:8 [INFO] [stderr] | [INFO] [stderr] 73 | pub fn index(square: usize) -> String { [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 1.50s [INFO] running `"docker" "inspect" "bbb267017b64237a4a958018a0bc4dd6a991c4957ef929282cfe43641cc8535d"` [INFO] running `"docker" "rm" "-f" "bbb267017b64237a4a958018a0bc4dd6a991c4957ef929282cfe43641cc8535d"` [INFO] [stdout] bbb267017b64237a4a958018a0bc4dd6a991c4957ef929282cfe43641cc8535d