[INFO] cloning repository https://github.com/colinthatcher/checkers-engine-rs
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/colinthatcher/checkers-engine-rs" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fcolinthatcher%2Fcheckers-engine-rs", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fcolinthatcher%2Fcheckers-engine-rs'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 76a1523e4daa42c027267615eb20a5b033f6ba55
[INFO] checking colinthatcher/checkers-engine-rs against try#53f0b05ecbcf011a1f77f1c627304e87ebd05801 for pr-154492
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fcolinthatcher%2Fcheckers-engine-rs" "/workspace/builds/worker-0-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-0-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/colinthatcher/checkers-engine-rs
[INFO] finished tweaking git repo https://github.com/colinthatcher/checkers-engine-rs
[INFO] tweaked toml for git repo https://github.com/colinthatcher/checkers-engine-rs written to /workspace/builds/worker-0-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/colinthatcher/checkers-engine-rs on toolchain 53f0b05ecbcf011a1f77f1c627304e87ebd05801
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+53f0b05ecbcf011a1f77f1c627304e87ebd05801" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/colinthatcher/checkers-engine-rs 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" "+53f0b05ecbcf011a1f77f1c627304e87ebd05801" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded thiserror-impl v1.0.34
[INFO] [stderr]   Downloaded thiserror v1.0.34
[INFO] [stderr]   Downloaded url v2.3.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+53f0b05ecbcf011a1f77f1c627304e87ebd05801" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 5e195ef28bfb030d729b0e96d67863829adb5cb5dc700acceef4946fcc4dab30
[INFO] running `Command { std: "docker" "start" "-a" "5e195ef28bfb030d729b0e96d67863829adb5cb5dc700acceef4946fcc4dab30", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "5e195ef28bfb030d729b0e96d67863829adb5cb5dc700acceef4946fcc4dab30", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "5e195ef28bfb030d729b0e96d67863829adb5cb5dc700acceef4946fcc4dab30", kill_on_drop: false }`
[INFO] [stdout] 5e195ef28bfb030d729b0e96d67863829adb5cb5dc700acceef4946fcc4dab30
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+53f0b05ecbcf011a1f77f1c627304e87ebd05801" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 1362b81d6d8392f66aeb7d16ce68856fac425c21b9963ddcfeb88e5afd39b996
[INFO] running `Command { std: "docker" "start" "-a" "1362b81d6d8392f66aeb7d16ce68856fac425c21b9963ddcfeb88e5afd39b996", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.132
[INFO] [stderr]    Compiling unicode-ident v1.0.3
[INFO] [stderr]    Compiling syn v1.0.99
[INFO] [stderr]     Checking matches v0.1.9
[INFO] [stderr]     Checking sha-1 v0.10.0
[INFO] [stderr]     Checking idna v0.2.3
[INFO] [stderr]     Checking form_urlencoded v1.0.1
[INFO] [stderr]    Compiling proc-macro2 v1.0.43
[INFO] [stderr]     Checking url v2.3.0
[INFO] [stderr]    Compiling quote v1.0.21
[INFO] [stderr]     Checking getrandom v0.2.7
[INFO] [stderr]     Checking rand_core v0.6.3
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]    Compiling thiserror-impl v1.0.34
[INFO] [stderr]     Checking thiserror v1.0.34
[INFO] [stderr]     Checking tungstenite v0.17.3
[INFO] [stderr]     Checking checkers-engine-rs v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `std::borrow::BorrowMut`
[INFO] [stdout]  --> src/game.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::borrow::BorrowMut;
[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 imports: `Arc`, `MutexGuard`, and `Mutex`
[INFO] [stdout]  --> src/game.rs:7:17
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::sync::{Arc, Mutex, MutexGuard};
[INFO] [stdout]   |                 ^^^  ^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::game::EMPTY_POS`
[INFO] [stdout]  --> src/main.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::game::EMPTY_POS;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::borrow::BorrowMut`
[INFO] [stdout]  --> src/game.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::borrow::BorrowMut;
[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 imports: `Arc`, `MutexGuard`, and `Mutex`
[INFO] [stdout]  --> src/game.rs:7:17
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::sync::{Arc, Mutex, MutexGuard};
[INFO] [stdout]   |                 ^^^  ^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::game::EMPTY_POS`
[INFO] [stdout]  --> src/main.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::game::EMPTY_POS;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/game.rs:62:13
[INFO] [stdout]    |
[INFO] [stdout] 62 |         let mut checkers: Checkers = Checkers::init();
[INFO] [stdout]    |             ----^^^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `checkers`
[INFO] [stdout]   --> src/game.rs:62:13
[INFO] [stdout]    |
[INFO] [stdout] 62 |         let mut checkers: Checkers = Checkers::init();
[INFO] [stdout]    |             ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_checkers`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `all_jumpable_pieces2`
[INFO] [stdout]    --> src/game.rs:214:22
[INFO] [stdout]     |
[INFO] [stdout] 214 |                 let (all_jumpable_pieces2, all_available_jumps2) =
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_all_jumpable_pieces2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/main.rs:51:21
[INFO] [stdout]    |
[INFO] [stdout] 51 |                 let mut checkers = &mut checkers_arc.lock().unwrap();
[INFO] [stdout]    |                     ----^^^^^^^^
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `init_with_players` and `set_completed` are never used
[INFO] [stdout]    --> src/game.rs:61:12
[INFO] [stdout]     |
[INFO] [stdout]  23 | impl Checkers {
[INFO] [stdout]     | ------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  61 |     pub fn init_with_players(&mut self, player1: String, player2: String) -> Option<bool> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 102 |     fn set_completed(&mut self, completed: bool) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `move_piece` is never used
[INFO] [stdout]    --> src/game/checkers_board.rs:313:12
[INFO] [stdout]     |
[INFO] [stdout]  17 | impl CheckersBoard {
[INFO] [stdout]     | ------------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 313 |     pub fn move_piece(
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `init` is never used
[INFO] [stdout]   --> src/game/checkers_board/checkers_piece.rs:12:8
[INFO] [stdout]    |
[INFO] [stdout] 11 | impl CheckerPiece {
[INFO] [stdout]    | ----------------- associated function in this implementation
[INFO] [stdout] 12 |     fn init() -> CheckerPiece {
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/main.rs:176:9
[INFO] [stdout]     |
[INFO] [stdout] 176 | /         websocket.write_message(Message::Text(String::from(
[INFO] [stdout] 177 | |             "SERVER ERROR: Please notify dumb admin that checker board failed to setup!",
[INFO] [stdout] 178 | |         )));
[INFO] [stdout]     | |___________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 176 |         let _ = websocket.write_message(Message::Text(String::from(
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/game.rs:62:13
[INFO] [stdout]    |
[INFO] [stdout] 62 |         let mut checkers: Checkers = Checkers::init();
[INFO] [stdout]    |             ----^^^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `checkers`
[INFO] [stdout]   --> src/game.rs:62:13
[INFO] [stdout]    |
[INFO] [stdout] 62 |         let mut checkers: Checkers = Checkers::init();
[INFO] [stdout]    |             ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_checkers`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `all_jumpable_pieces2`
[INFO] [stdout]    --> src/game.rs:214:22
[INFO] [stdout]     |
[INFO] [stdout] 214 |                 let (all_jumpable_pieces2, all_available_jumps2) =
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_all_jumpable_pieces2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/main.rs:51:21
[INFO] [stdout]    |
[INFO] [stdout] 51 |                 let mut checkers = &mut checkers_arc.lock().unwrap();
[INFO] [stdout]    |                     ----^^^^^^^^
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/main.rs:210:13
[INFO] [stdout]     |
[INFO] [stdout] 210 |         let mut checkers = game::Checkers::init();
[INFO] [stdout]     |             ----^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `option`
[INFO] [stdout]    --> src/main.rs:221:13
[INFO] [stdout]     |
[INFO] [stdout] 221 |         let option = checkers.init_with_players("test1".to_string(), "test2".to_string());
[INFO] [stdout]     |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_option`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `set_completed` is never used
[INFO] [stdout]    --> src/game.rs:102:8
[INFO] [stdout]     |
[INFO] [stdout]  23 | impl Checkers {
[INFO] [stdout]     | ------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 102 |     fn set_completed(&mut self, completed: bool) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `move_piece` is never used
[INFO] [stdout]    --> src/game/checkers_board.rs:313:12
[INFO] [stdout]     |
[INFO] [stdout]  17 | impl CheckersBoard {
[INFO] [stdout]     | ------------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 313 |     pub fn move_piece(
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `init` is never used
[INFO] [stdout]   --> src/game/checkers_board/checkers_piece.rs:12:8
[INFO] [stdout]    |
[INFO] [stdout] 11 | impl CheckerPiece {
[INFO] [stdout]    | ----------------- associated function in this implementation
[INFO] [stdout] 12 |     fn init() -> CheckerPiece {
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/main.rs:176:9
[INFO] [stdout]     |
[INFO] [stdout] 176 | /         websocket.write_message(Message::Text(String::from(
[INFO] [stdout] 177 | |             "SERVER ERROR: Please notify dumb admin that checker board failed to setup!",
[INFO] [stdout] 178 | |         )));
[INFO] [stdout]     | |___________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 176 |         let _ = websocket.write_message(Message::Text(String::from(
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 3.16s
[INFO] running `Command { std: "docker" "inspect" "1362b81d6d8392f66aeb7d16ce68856fac425c21b9963ddcfeb88e5afd39b996", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "1362b81d6d8392f66aeb7d16ce68856fac425c21b9963ddcfeb88e5afd39b996", kill_on_drop: false }`
[INFO] [stdout] 1362b81d6d8392f66aeb7d16ce68856fac425c21b9963ddcfeb88e5afd39b996
