[INFO] cloning repository https://github.com/logancostello/Connect4-Rustbot
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/logancostello/Connect4-Rustbot" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Flogancostello%2FConnect4-Rustbot", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Flogancostello%2FConnect4-Rustbot'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 660c30228520f46fdca60a4343709009fcb7f16e
[INFO] testing logancostello/Connect4-Rustbot against try#db823df02fd0c2cf67b43025ac3fef3f2d743245 for pr-150681
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Flogancostello%2FConnect4-Rustbot" "/workspace/builds/worker-7-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/logancostello/Connect4-Rustbot
[INFO] finished tweaking git repo https://github.com/logancostello/Connect4-Rustbot
[INFO] tweaked toml for git repo https://github.com/logancostello/Connect4-Rustbot written to /workspace/builds/worker-7-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/logancostello/Connect4-Rustbot on toolchain db823df02fd0c2cf67b43025ac3fef3f2d743245
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+db823df02fd0c2cf67b43025ac3fef3f2d743245" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/logancostello/Connect4-Rustbot 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" "+db823df02fd0c2cf67b43025ac3fef3f2d743245" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+db823df02fd0c2cf67b43025ac3fef3f2d743245" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 7dc65edfcc9ad3f7cf0f5e4927e116b9012de953273489b189a45f3cc2d02efb
[INFO] running `Command { std: "docker" "start" "-a" "7dc65edfcc9ad3f7cf0f5e4927e116b9012de953273489b189a45f3cc2d02efb", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "7dc65edfcc9ad3f7cf0f5e4927e116b9012de953273489b189a45f3cc2d02efb", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "7dc65edfcc9ad3f7cf0f5e4927e116b9012de953273489b189a45f3cc2d02efb", kill_on_drop: false }`
[INFO] [stdout] 7dc65edfcc9ad3f7cf0f5e4927e116b9012de953273489b189a45f3cc2d02efb
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+db823df02fd0c2cf67b43025ac3fef3f2d743245" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] ad46050092df071b9ae959a3607d2b1d6189719e0bdff62b690da047c69d6e52
[INFO] running `Command { std: "docker" "start" "-a" "ad46050092df071b9ae959a3607d2b1d6189719e0bdff62b690da047c69d6e52", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.158
[INFO] [stderr]    Compiling byteorder v1.5.0
[INFO] [stderr]    Compiling syn v2.0.75
[INFO] [stderr]    Compiling getrandom v0.2.15
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]    Compiling zerocopy-derive v0.7.35
[INFO] [stderr]    Compiling zerocopy v0.7.35
[INFO] [stderr]    Compiling ppv-lite86 v0.2.20
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling rand v0.8.5
[INFO] [stderr]    Compiling connect4-rustbot v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `std::path::Path`
[INFO] [stdout]  --> src/lib.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::path::Path;
[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 import: `std::fs`
[INFO] [stdout]  --> src/lib.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::fs;
[INFO] [stdout]   |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Duration` and `SystemTime`
[INFO] [stdout]  --> src/lib.rs:3:17
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::time::{Duration, SystemTime};
[INFO] [stdout]   |                 ^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cmp::Ordering`
[INFO] [stdout]  --> src/lib.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::cmp::Ordering;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rand::prelude`
[INFO] [stdout]  --> src/lib.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use rand::prelude::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/lib.rs:215:9
[INFO] [stdout]     |
[INFO] [stdout] 215 |     let mut move_options = [3, 2, 4, 1, 5, 0, 6];
[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: struct `Position` is never constructed
[INFO] [stdout]  --> src/lib.rs:7:8
[INFO] [stdout]   |
[INFO] [stdout] 7 | struct Position {
[INFO] [stdout]   |        ^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]   --> src/lib.rs:17:12
[INFO] [stdout]    |
[INFO] [stdout] 14 | impl Position {
[INFO] [stdout]    | ------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 17 |     pub fn get_col_height_mask(&self, col: usize) -> u64 {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 23 |     pub fn is_legal_move(&self, col: usize) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 29 |     pub fn make_move(&mut self, col: usize) {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 38 |     pub fn make_moves(&mut self, cols: Vec<usize>) {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 45 |     pub fn undo_move(&mut self) {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 54 |     pub fn is_winning_move(&self, col: usize) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 66 |     pub fn is_losing_move(&self, col: usize, threats: u64) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 71 |     pub fn must_play_move(&self, live_threats: u64) -> usize {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 77 |     pub fn is_losing_position(&self, threats: u64, live_threats: u64) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 86 |     pub fn get_live_threats(&self, threats: u64) -> u64 {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 91 |     pub fn hash(&self) -> u64 {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_threats` is never used
[INFO] [stdout]    --> src/lib.rs:115:4
[INFO] [stdout]     |
[INFO] [stdout] 115 | fn get_threats(board: [u64; 2], player: usize) -> u64 {
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `create_tt` is never used
[INFO] [stdout]    --> src/lib.rs:146:4
[INFO] [stdout]     |
[INFO] [stdout] 146 | fn create_tt() -> Box<[u64; 1000003]> {
[INFO] [stdout]     |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `score` is never used
[INFO] [stdout]    --> src/lib.rs:157:4
[INFO] [stdout]     |
[INFO] [stdout] 157 | fn score(pos: &mut Position) -> (i8, u64) {
[INFO] [stdout]     |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `negamax` is never used
[INFO] [stdout]    --> src/lib.rs:186:4
[INFO] [stdout]     |
[INFO] [stdout] 186 | fn negamax(pos: &mut Position, mut alpha: i8, mut beta: i8, tt: &mut Box<[u64; 1000003]>) -> (i8, u64) {
[INFO] [stdout]     |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `move_priority` is never used
[INFO] [stdout]    --> src/lib.rs:279:4
[INFO] [stdout]     |
[INFO] [stdout] 279 | fn move_priority(mv: usize, pos: &Position) -> u32 {
[INFO] [stdout]     |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `sort_moves` is never used
[INFO] [stdout]    --> src/lib.rs:292:4
[INFO] [stdout]     |
[INFO] [stdout] 292 | fn sort_moves(mut moves: [usize; 7], pos: &Position) -> [usize; 7] {
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 6.29s
[INFO] running `Command { std: "docker" "inspect" "ad46050092df071b9ae959a3607d2b1d6189719e0bdff62b690da047c69d6e52", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "ad46050092df071b9ae959a3607d2b1d6189719e0bdff62b690da047c69d6e52", kill_on_drop: false }`
[INFO] [stdout] ad46050092df071b9ae959a3607d2b1d6189719e0bdff62b690da047c69d6e52
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+db823df02fd0c2cf67b43025ac3fef3f2d743245" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] abf51068fa37b979fded34cd7032690069af1dc9af2e1657082779762ef8015f
[INFO] running `Command { std: "docker" "start" "-a" "abf51068fa37b979fded34cd7032690069af1dc9af2e1657082779762ef8015f", kill_on_drop: false }`
[INFO] [stdout] warning: unused import: `std::path::Path`
[INFO] [stdout]  --> src/lib.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::path::Path;
[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 import: `std::fs`
[INFO] [stdout]  --> src/lib.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::fs;
[INFO] [stdout]   |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Duration` and `SystemTime`
[INFO] [stdout]  --> src/lib.rs:3:17
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::time::{Duration, SystemTime};
[INFO] [stdout]   |                 ^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cmp::Ordering`
[INFO] [stdout]  --> src/lib.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::cmp::Ordering;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rand::prelude`
[INFO] [stdout]  --> src/lib.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use rand::prelude::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/lib.rs:215:9
[INFO] [stdout]     |
[INFO] [stdout] 215 |     let mut move_options = [3, 2, 4, 1, 5, 0, 6];
[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: struct `Position` is never constructed
[INFO] [stdout]  --> src/lib.rs:7:8
[INFO] [stdout]   |
[INFO] [stdout] 7 | struct Position {
[INFO] [stdout]   |        ^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]   --> src/lib.rs:17:12
[INFO] [stdout]    |
[INFO] [stdout] 14 | impl Position {
[INFO] [stdout]    | ------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 17 |     pub fn get_col_height_mask(&self, col: usize) -> u64 {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 23 |     pub fn is_legal_move(&self, col: usize) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 29 |     pub fn make_move(&mut self, col: usize) {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 38 |     pub fn make_moves(&mut self, cols: Vec<usize>) {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 45 |     pub fn undo_move(&mut self) {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 54 |     pub fn is_winning_move(&self, col: usize) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 66 |     pub fn is_losing_move(&self, col: usize, threats: u64) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 71 |     pub fn must_play_move(&self, live_threats: u64) -> usize {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 77 |     pub fn is_losing_position(&self, threats: u64, live_threats: u64) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 86 |     pub fn get_live_threats(&self, threats: u64) -> u64 {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 91 |     pub fn hash(&self) -> u64 {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_threats` is never used
[INFO] [stdout]    --> src/lib.rs:115:4
[INFO] [stdout]     |
[INFO] [stdout] 115 | fn get_threats(board: [u64; 2], player: usize) -> u64 {
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `create_tt` is never used
[INFO] [stdout]    --> src/lib.rs:146:4
[INFO] [stdout]     |
[INFO] [stdout] 146 | fn create_tt() -> Box<[u64; 1000003]> {
[INFO] [stdout]     |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `score` is never used
[INFO] [stdout]    --> src/lib.rs:157:4
[INFO] [stdout]     |
[INFO] [stdout] 157 | fn score(pos: &mut Position) -> (i8, u64) {
[INFO] [stdout]     |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `negamax` is never used
[INFO] [stdout]    --> src/lib.rs:186:4
[INFO] [stdout]     |
[INFO] [stdout] 186 | fn negamax(pos: &mut Position, mut alpha: i8, mut beta: i8, tt: &mut Box<[u64; 1000003]>) -> (i8, u64) {
[INFO] [stdout]     |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `move_priority` is never used
[INFO] [stdout]    --> src/lib.rs:279:4
[INFO] [stdout]     |
[INFO] [stdout] 279 | fn move_priority(mv: usize, pos: &Position) -> u32 {
[INFO] [stdout]     |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `sort_moves` is never used
[INFO] [stdout]    --> src/lib.rs:292:4
[INFO] [stdout]     |
[INFO] [stdout] 292 | fn sort_moves(mut moves: [usize; 7], pos: &Position) -> [usize; 7] {
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling connect4-rustbot v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `std::cmp::Ordering`
[INFO] [stdout]  --> src/lib.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::cmp::Ordering;
[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 import: `rand::prelude`
[INFO] [stdout]  --> src/lib.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use rand::prelude::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/lib.rs:215:9
[INFO] [stdout]     |
[INFO] [stdout] 215 |     let mut move_options = [3, 2, 4, 1, 5, 0, 6];
[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: variable does not need to be mutable
[INFO] [stdout]    --> src/lib.rs:646:13
[INFO] [stdout]     |
[INFO] [stdout] 646 |         let mut moves = [3, 2, 4, 1, 5, 0, 6];
[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/lib.rs:657:13
[INFO] [stdout]     |
[INFO] [stdout] 657 |         let mut moves = [3, 2, 4, 1, 5, 0, 6];
[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/lib.rs:668:13
[INFO] [stdout]     |
[INFO] [stdout] 668 |         let mut moves = [3, 2, 4, 1, 5, 0, 6];
[INFO] [stdout]     |             ----^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.89s
[INFO] running `Command { std: "docker" "inspect" "abf51068fa37b979fded34cd7032690069af1dc9af2e1657082779762ef8015f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "abf51068fa37b979fded34cd7032690069af1dc9af2e1657082779762ef8015f", kill_on_drop: false }`
[INFO] [stdout] abf51068fa37b979fded34cd7032690069af1dc9af2e1657082779762ef8015f
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+db823df02fd0c2cf67b43025ac3fef3f2d743245" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 2d81b7cb43fd7c3518961f433b9fdee0ab39970ff2dadf38acb92bfb29b992c8
[INFO] running `Command { std: "docker" "start" "-a" "2d81b7cb43fd7c3518961f433b9fdee0ab39970ff2dadf38acb92bfb29b992c8", kill_on_drop: false }`
[INFO] [stderr] warning: unused import: `std::path::Path`
[INFO] [stderr]  --> src/lib.rs:1:5
[INFO] [stderr]   |
[INFO] [stderr] 1 | use std::path::Path;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::fs`
[INFO] [stderr]  --> src/lib.rs:2:5
[INFO] [stderr]   |
[INFO] [stderr] 2 | use std::fs;
[INFO] [stderr]   |     ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `Duration` and `SystemTime`
[INFO] [stderr]  --> src/lib.rs:3:17
[INFO] [stderr]   |
[INFO] [stderr] 3 | use std::time::{Duration, SystemTime};
[INFO] [stderr]   |                 ^^^^^^^^  ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::cmp::Ordering`
[INFO] [stderr]  --> src/lib.rs:5:5
[INFO] [stderr]   |
[INFO] [stderr] 5 | use std::cmp::Ordering;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `rand::prelude`
[INFO] [stderr]  --> src/lib.rs:4:5
[INFO] [stderr]   |
[INFO] [stderr] 4 | use rand::prelude::*;
[INFO] [stderr]   |     ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/lib.rs:215:9
[INFO] [stderr]     |
[INFO] [stderr] 215 |     let mut move_options = [3, 2, 4, 1, 5, 0, 6];
[INFO] [stderr]     |         ----^^^^^^^^^^^^
[INFO] [stderr]     |         |
[INFO] [stderr]     |         help: remove this `mut`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: struct `Position` is never constructed
[INFO] [stderr]  --> src/lib.rs:7:8
[INFO] [stderr]   |
[INFO] [stderr] 7 | struct Position {
[INFO] [stderr]   |        ^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: multiple methods are never used
[INFO] [stderr]   --> src/lib.rs:17:12
[INFO] [stderr]    |
[INFO] [stderr] 14 | impl Position {
[INFO] [stderr]    | ------------- methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 17 |     pub fn get_col_height_mask(&self, col: usize) -> u64 {
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 23 |     pub fn is_legal_move(&self, col: usize) -> bool {
[INFO] [stderr]    |            ^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 29 |     pub fn make_move(&mut self, col: usize) {
[INFO] [stderr]    |            ^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 38 |     pub fn make_moves(&mut self, cols: Vec<usize>) {
[INFO] [stderr]    |            ^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 45 |     pub fn undo_move(&mut self) {
[INFO] [stderr]    |            ^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 54 |     pub fn is_winning_move(&self, col: usize) -> bool {
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 66 |     pub fn is_losing_move(&self, col: usize, threats: u64) -> bool {
[INFO] [stderr]    |            ^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 71 |     pub fn must_play_move(&self, live_threats: u64) -> usize {
[INFO] [stderr]    |            ^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 77 |     pub fn is_losing_position(&self, threats: u64, live_threats: u64) -> bool {
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 86 |     pub fn get_live_threats(&self, threats: u64) -> u64 {
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 91 |     pub fn hash(&self) -> u64 {
[INFO] [stderr]    |            ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `get_threats` is never used
[INFO] [stderr]    --> src/lib.rs:115:4
[INFO] [stderr]     |
[INFO] [stderr] 115 | fn get_threats(board: [u64; 2], player: usize) -> u64 {
[INFO] [stderr]     |    ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `create_tt` is never used
[INFO] [stderr]    --> src/lib.rs:146:4
[INFO] [stderr]     |
[INFO] [stderr] 146 | fn create_tt() -> Box<[u64; 1000003]> {
[INFO] [stderr]     |    ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `score` is never used
[INFO] [stderr]    --> src/lib.rs:157:4
[INFO] [stderr]     |
[INFO] [stderr] 157 | fn score(pos: &mut Position) -> (i8, u64) {
[INFO] [stderr]     |    ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `negamax` is never used
[INFO] [stderr]    --> src/lib.rs:186:4
[INFO] [stderr]     |
[INFO] [stderr] 186 | fn negamax(pos: &mut Position, mut alpha: i8, mut beta: i8, tt: &mut Box<[u64; 1000003]>) -> (i8, u64) {
[INFO] [stderr]     |    ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `move_priority` is never used
[INFO] [stderr]    --> src/lib.rs:279:4
[INFO] [stderr]     |
[INFO] [stderr] 279 | fn move_priority(mv: usize, pos: &Position) -> u32 {
[INFO] [stderr]     |    ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `sort_moves` is never used
[INFO] [stderr]    --> src/lib.rs:292:4
[INFO] [stderr]     |
[INFO] [stderr] 292 | fn sort_moves(mut moves: [usize; 7], pos: &Position) -> [usize; 7] {
[INFO] [stderr]     |    ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: `connect4-rustbot` (lib) generated 14 warnings (run `cargo fix --lib -p connect4-rustbot` to apply 5 suggestions)
[INFO] [stderr] warning: unused import: `std::cmp::Ordering`
[INFO] [stderr]  --> src/lib.rs:5:5
[INFO] [stderr]   |
[INFO] [stderr] 5 | use std::cmp::Ordering;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/lib.rs:646:13
[INFO] [stderr]     |
[INFO] [stderr] 646 |         let mut moves = [3, 2, 4, 1, 5, 0, 6];
[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/lib.rs:657:13
[INFO] [stderr]     |
[INFO] [stderr] 657 |         let mut moves = [3, 2, 4, 1, 5, 0, 6];
[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/lib.rs:668:13
[INFO] [stderr]     |
[INFO] [stderr] 668 |         let mut moves = [3, 2, 4, 1, 5, 0, 6];
[INFO] [stderr]     |             ----^^^^^
[INFO] [stderr]     |             |
[INFO] [stderr]     |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: `connect4-rustbot` (lib test) generated 6 warnings (2 duplicates) (run `cargo fix --lib -p connect4-rustbot --tests` to apply 4 suggestions)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.06s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/connect4_rustbot-4e16d1231226aba5)
[INFO] [stdout] 
[INFO] [stdout] running 32 tests
[INFO] [stdout] test tests::is_losing_move_1 ... ok
[INFO] [stdout] test tests::is_losing_move_0 ... ok
[INFO] [stdout] test tests::is_losing_position_0 ... ok
[INFO] [stdout] test tests::test_hash_0 ... ok
[INFO] [stdout] test tests::test_hash_1 ... ok
[INFO] [stdout] test tests::is_losing_position_1 ... ok
[INFO] [stdout] test tests::test_hash_2 ... ok
[INFO] [stdout] test tests::test_is_winning_move_1 ... ok
[INFO] [stdout] test tests::test_is_winning_move_3 ... ok
[INFO] [stdout] test tests::test_is_legal_move_0 ... ok
[INFO] [stdout] test tests::test_is_winning_move_2 ... ok
[INFO] [stdout] test tests::test_is_winning_move_4 ... ok
[INFO] [stdout] test tests::test_is_winning_move_0 ... ok
[INFO] [stdout] test tests::test_key_to_position_0 ... ok
[INFO] [stdout] test tests::test_make_move_2 ... ok
[INFO] [stdout] test tests::test_sort_moves_0 ... ok
[INFO] [stdout] test tests::test_undo_move_1 ... ok
[INFO] [stdout] test tests::test_threats_3 ... ok
[INFO] [stderr] 
[INFO] [stderr] thread 'tests::test_progress_check' (41) has overflowed its stack
[INFO] [stderr] fatal runtime error: stack overflow, aborting
[INFO] [stderr] error: test failed, to rerun pass `--lib`
[INFO] [stderr] 
[INFO] [stderr] Caused by:
[INFO] [stderr]   process didn't exit successfully: `/opt/rustwide/target/debug/deps/connect4_rustbot-4e16d1231226aba5` (signal: 6, SIGABRT: process abort signal)
[INFO] running `Command { std: "docker" "inspect" "2d81b7cb43fd7c3518961f433b9fdee0ab39970ff2dadf38acb92bfb29b992c8", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "2d81b7cb43fd7c3518961f433b9fdee0ab39970ff2dadf38acb92bfb29b992c8", kill_on_drop: false }`
[INFO] [stdout] 2d81b7cb43fd7c3518961f433b9fdee0ab39970ff2dadf38acb92bfb29b992c8
