[INFO] updating cached repository https://github.com/shade/rustoku
[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] running `"git" "rev-parse" "HEAD"`
[INFO] [stdout] 1490b369ec54974589095e7767613c3aa55960a9
[INFO] checking shade/rustoku against master#209b2be09fcaff937480d1fbbe8b31646e361c7a for pr-70917
[INFO] running `"git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fshade%2Frustoku" "/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/shade/rustoku on toolchain 209b2be09fcaff937480d1fbbe8b31646e361c7a
[INFO] running `"/workspace/cargo-home/bin/cargo" "+209b2be09fcaff937480d1fbbe8b31646e361c7a" "read-manifest" "--manifest-path" "Cargo.toml"`
[INFO] started tweaking git repo https://github.com/shade/rustoku
[INFO] finished tweaking git repo https://github.com/shade/rustoku
[INFO] tweaked toml for git repo https://github.com/shade/rustoku written to /workspace/builds/worker-11/source/Cargo.toml
[INFO] crate git repo https://github.com/shade/rustoku already has a lockfile, it will not be regenerated
[INFO] running `"/workspace/cargo-home/bin/cargo" "+209b2be09fcaff937480d1fbbe8b31646e361c7a" "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" "+209b2be09fcaff937480d1fbbe8b31646e361c7a" "check" "--frozen" "--all" "--all-targets"`
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] [stdout] 4deec9855cc3365a923959e60e91239be796add44e06782b15feeda0c0b66635
[INFO] running `"docker" "start" "-a" "4deec9855cc3365a923959e60e91239be796add44e06782b15feeda0c0b66635"`
[INFO] [stderr]     Checking sandbox v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr] warning: unused import: `test::Bencher`
[INFO] [stderr]  --> src/main.rs:7:5
[INFO] [stderr]   |
[INFO] [stderr] 7 | use test::Bencher;
[INFO] [stderr]   |     ^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `Arc`, `Mutex`
[INFO] [stderr]  --> src/main.rs:9:17
[INFO] [stderr]   |
[INFO] [stderr] 9 | use std::sync::{Arc, Mutex};
[INFO] [stderr]   |                 ^^^  ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::collections::HashMap`
[INFO] [stderr]   --> src/main.rs:11:5
[INFO] [stderr]    |
[INFO] [stderr] 11 | use std::collections::HashMap;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::str`
[INFO] [stderr]   --> src/main.rs:14:5
[INFO] [stderr]    |
[INFO] [stderr] 14 | use std::str;
[INFO] [stderr]    |     ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::slice`
[INFO] [stderr]   --> src/main.rs:15:5
[INFO] [stderr]    |
[INFO] [stderr] 15 | use std::slice;
[INFO] [stderr]    |     ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::cmp`
[INFO] [stderr]   --> src/main.rs:17:5
[INFO] [stderr]    |
[INFO] [stderr] 17 | use std::cmp;
[INFO] [stderr]    |     ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around assigned value
[INFO] [stderr]    --> src/board.rs:233:23
[INFO] [stderr]     |
[INFO] [stderr] 233 |           let val_y = (WON[self.verti_y[i] as usize] | WON[self.horiz_y[i] as usize] | WON[self.diagr_y[i] as usize] | WON[self.diagl_y[i] as usize]);
[INFO] [stderr]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_parens)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around assigned value
[INFO] [stderr]    --> src/board.rs:234:23
[INFO] [stderr]     |
[INFO] [stderr] 234 |           let val_o = (WON[self.verti_o[i] as usize] | WON[self.horiz_o[i] as usize] | WON[self.diagr_o[i] as usize] | WON[self.diagl_o[i] as usize]);
[INFO] [stderr]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around assigned value
[INFO] [stderr]    --> src/board.rs:242:23
[INFO] [stderr]     |
[INFO] [stderr] 242 |           let val_y = (WON[self.verti_y[i] as usize] | WON[self.horiz_y[i] as usize] | WON[self.diagr_y[i] as usize] | WON[self.diagl_y[i] as usize]);
[INFO] [stderr]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around assigned value
[INFO] [stderr]    --> src/board.rs:243:23
[INFO] [stderr]     |
[INFO] [stderr] 243 |           let val_o = (WON[self.verti_o[i] as usize] | WON[self.horiz_o[i] as usize] | WON[self.diagr_o[i] as usize] | WON[self.diagl_o[i] as usize]);
[INFO] [stderr]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around assigned value
[INFO] [stderr]    --> src/board.rs:414:18
[INFO] [stderr]     |
[INFO] [stderr] 414 |         cur.1 += (_NEG * MAX_VALS[mov.1 as usize])
[INFO] [stderr]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around assigned value
[INFO] [stderr]    --> src/board.rs:464:107
[INFO] [stderr]     |
[INFO] [stderr] 464 |   pub unsafe fn place_horiz_you (&mut self, place: usize) {let mov = HORIZ[place]; self.horiz_y[mov.0] |= (1 << mov.1);}
[INFO] [stderr]     |                                                                                                           ^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around assigned value
[INFO] [stderr]    --> src/board.rs:465:107
[INFO] [stderr]     |
[INFO] [stderr] 465 |   pub unsafe fn place_verti_you (&mut self, place: usize) {let mov = VERTI[place]; self.verti_y[mov.0] |= (1 << mov.1);}
[INFO] [stderr]     |                                                                                                           ^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around assigned value
[INFO] [stderr]    --> src/board.rs:466:108
[INFO] [stderr]     |
[INFO] [stderr] 466 |   pub unsafe fn remove_horiz_you (&mut self, place: usize) {let mov = HORIZ[place]; self.horiz_y[mov.0] ^= (1 << mov.1);}
[INFO] [stderr]     |                                                                                                            ^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around assigned value
[INFO] [stderr]    --> src/board.rs:467:108
[INFO] [stderr]     |
[INFO] [stderr] 467 |   pub unsafe fn remove_verti_you (&mut self, place: usize) {let mov = VERTI[place]; self.verti_y[mov.0] ^= (1 << mov.1);}
[INFO] [stderr]     |                                                                                                            ^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around assigned value
[INFO] [stderr]    --> src/board.rs:468:132
[INFO] [stderr]     |
[INFO] [stderr] 468 |   pub unsafe fn place_diagl_you (&mut self, place: usize) {let mov = DIAGL[place]; if mov.0 == NO {return;} self.diagl_y[mov.0] |= (1 << mov.1);}
[INFO] [stderr]     |                                                                                                                                    ^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around assigned value
[INFO] [stderr]    --> src/board.rs:469:132
[INFO] [stderr]     |
[INFO] [stderr] 469 |   pub unsafe fn place_diagr_you (&mut self, place: usize) {let mov = DIAGR[place]; if mov.0 == NO {return;} self.diagr_y[mov.0] |= (1 << mov.1);}
[INFO] [stderr]     |                                                                                                                                    ^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around assigned value
[INFO] [stderr]    --> src/board.rs:470:133
[INFO] [stderr]     |
[INFO] [stderr] 470 |   pub unsafe fn remove_diagl_you (&mut self, place: usize) {let mov = DIAGL[place]; if mov.0 == NO {return;} self.diagl_y[mov.0] ^= (1 << mov.1);}
[INFO] [stderr]     |                                                                                                                                     ^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around assigned value
[INFO] [stderr]    --> src/board.rs:471:133
[INFO] [stderr]     |
[INFO] [stderr] 471 |   pub unsafe fn remove_diagr_you (&mut self, place: usize) {let mov = DIAGR[place]; if mov.0 == NO {return;} self.diagr_y[mov.0] ^= (1 << mov.1);}
[INFO] [stderr]     |                                                                                                                                     ^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around assigned value
[INFO] [stderr]    --> src/board.rs:473:107
[INFO] [stderr]     |
[INFO] [stderr] 473 |   pub unsafe fn place_horiz_opp (&mut self, place: usize) {let mov = HORIZ[place]; self.horiz_o[mov.0] |= (1 << mov.1);}
[INFO] [stderr]     |                                                                                                           ^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around assigned value
[INFO] [stderr]    --> src/board.rs:474:107
[INFO] [stderr]     |
[INFO] [stderr] 474 |   pub unsafe fn place_verti_opp (&mut self, place: usize) {let mov = VERTI[place]; self.verti_o[mov.0] |= (1 << mov.1);}
[INFO] [stderr]     |                                                                                                           ^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around assigned value
[INFO] [stderr]    --> src/board.rs:475:108
[INFO] [stderr]     |
[INFO] [stderr] 475 |   pub unsafe fn remove_horiz_opp (&mut self, place: usize) {let mov = HORIZ[place]; self.horiz_o[mov.0] ^= (1 << mov.1);}
[INFO] [stderr]     |                                                                                                            ^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around assigned value
[INFO] [stderr]    --> src/board.rs:476:108
[INFO] [stderr]     |
[INFO] [stderr] 476 |   pub unsafe fn remove_verti_opp (&mut self, place: usize) {let mov = VERTI[place]; self.verti_o[mov.0] ^= (1 << mov.1);}
[INFO] [stderr]     |                                                                                                            ^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around assigned value
[INFO] [stderr]    --> src/board.rs:477:132
[INFO] [stderr]     |
[INFO] [stderr] 477 |   pub unsafe fn place_diagl_opp (&mut self, place: usize) {let mov = DIAGL[place]; if mov.0 == NO {return;} self.diagl_o[mov.0] |= (1 << mov.1);}
[INFO] [stderr]     |                                                                                                                                    ^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around assigned value
[INFO] [stderr]    --> src/board.rs:478:132
[INFO] [stderr]     |
[INFO] [stderr] 478 |   pub unsafe fn place_diagr_opp (&mut self, place: usize) {let mov = DIAGR[place]; if mov.0 == NO {return;} self.diagr_o[mov.0] |= (1 << mov.1);}
[INFO] [stderr]     |                                                                                                                                    ^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around assigned value
[INFO] [stderr]    --> src/board.rs:479:133
[INFO] [stderr]     |
[INFO] [stderr] 479 |   pub unsafe fn remove_diagl_opp (&mut self, place: usize) {let mov = DIAGL[place]; if mov.0 == NO {return;} self.diagl_o[mov.0] ^= (1 << mov.1);}
[INFO] [stderr]     |                                                                                                                                     ^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around assigned value
[INFO] [stderr]    --> src/board.rs:480:133
[INFO] [stderr]     |
[INFO] [stderr] 480 |   pub unsafe fn remove_diagr_opp (&mut self, place: usize) {let mov = DIAGR[place]; if mov.0 == NO {return;} self.diagr_o[mov.0] ^= (1 << mov.1);}
[INFO] [stderr]     |                                                                                                                                     ^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::boxed::Box`
[INFO] [stderr]  --> src/build.rs:2:5
[INFO] [stderr]   |
[INFO] [stderr] 2 | use std::boxed::Box;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::fs::File`
[INFO] [stderr]  --> src/build.rs:3:5
[INFO] [stderr]   |
[INFO] [stderr] 3 | use std::fs::File;
[INFO] [stderr]   |     ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::io::Write`
[INFO] [stderr]  --> src/build.rs:4:5
[INFO] [stderr]   |
[INFO] [stderr] 4 | use std::io::Write;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::io::Read`
[INFO] [stderr]  --> src/build.rs:5:5
[INFO] [stderr]   |
[INFO] [stderr] 5 | use std::io::Read;
[INFO] [stderr]   |     ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `BufReader`, `self`
[INFO] [stderr]  --> src/build.rs:6:15
[INFO] [stderr]   |
[INFO] [stderr] 6 | use std::io::{self, BufReader};
[INFO] [stderr]   |               ^^^^  ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::io::prelude::*`
[INFO] [stderr]  --> src/build.rs:7:5
[INFO] [stderr]   |
[INFO] [stderr] 7 | use std::io::prelude::*;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::mem`
[INFO] [stderr]   --> src/build.rs:10:5
[INFO] [stderr]    |
[INFO] [stderr] 10 | use std::mem;
[INFO] [stderr]    |     ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std`
[INFO] [stderr]   --> src/build.rs:11:5
[INFO] [stderr]    |
[INFO] [stderr] 11 | use std;
[INFO] [stderr]    |     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `test::Bencher`
[INFO] [stderr]  --> src/tests.rs:3:5
[INFO] [stderr]   |
[INFO] [stderr] 3 | use test::Bencher;
[INFO] [stderr]   |     ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::collections::HashMap`
[INFO] [stderr]  --> src/tests.rs:4:5
[INFO] [stderr]   |
[INFO] [stderr] 4 | use std::collections::HashMap;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::collections::HashSet`
[INFO] [stderr]  --> src/tests.rs:5:5
[INFO] [stderr]   |
[INFO] [stderr] 5 | use std::collections::HashSet;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::str`
[INFO] [stderr]  --> src/tests.rs:6:5
[INFO] [stderr]   |
[INFO] [stderr] 6 | use std::str;
[INFO] [stderr]   |     ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::string::String`
[INFO] [stderr]  --> src/tests.rs:7:5
[INFO] [stderr]   |
[INFO] [stderr] 7 | use std::string::String;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `test::Bencher`
[INFO] [stderr]  --> src/main.rs:7:5
[INFO] [stderr]   |
[INFO] [stderr] 7 | use test::Bencher;
[INFO] [stderr]   |     ^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `Arc`, `Mutex`
[INFO] [stderr]  --> src/main.rs:9:17
[INFO] [stderr]   |
[INFO] [stderr] 9 | use std::sync::{Arc, Mutex};
[INFO] [stderr]   |                 ^^^  ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::collections::HashMap`
[INFO] [stderr]   --> src/main.rs:11:5
[INFO] [stderr]    |
[INFO] [stderr] 11 | use std::collections::HashMap;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::str`
[INFO] [stderr]   --> src/main.rs:14:5
[INFO] [stderr]    |
[INFO] [stderr] 14 | use std::str;
[INFO] [stderr]    |     ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::slice`
[INFO] [stderr]   --> src/main.rs:15:5
[INFO] [stderr]    |
[INFO] [stderr] 15 | use std::slice;
[INFO] [stderr]    |     ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::cmp`
[INFO] [stderr]   --> src/main.rs:17:5
[INFO] [stderr]    |
[INFO] [stderr] 17 | use std::cmp;
[INFO] [stderr]    |     ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around assigned value
[INFO] [stderr]    --> src/board.rs:233:23
[INFO] [stderr]     |
[INFO] [stderr] 233 |           let val_y = (WON[self.verti_y[i] as usize] | WON[self.horiz_y[i] as usize] | WON[self.diagr_y[i] as usize] | WON[self.diagl_y[i] as usize]);
[INFO] [stderr]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_parens)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around assigned value
[INFO] [stderr]    --> src/board.rs:234:23
[INFO] [stderr]     |
[INFO] [stderr] 234 |           let val_o = (WON[self.verti_o[i] as usize] | WON[self.horiz_o[i] as usize] | WON[self.diagr_o[i] as usize] | WON[self.diagl_o[i] as usize]);
[INFO] [stderr]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around assigned value
[INFO] [stderr]    --> src/board.rs:242:23
[INFO] [stderr]     |
[INFO] [stderr] 242 |           let val_y = (WON[self.verti_y[i] as usize] | WON[self.horiz_y[i] as usize] | WON[self.diagr_y[i] as usize] | WON[self.diagl_y[i] as usize]);
[INFO] [stderr]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around assigned value
[INFO] [stderr]    --> src/board.rs:243:23
[INFO] [stderr]     |
[INFO] [stderr] 243 |           let val_o = (WON[self.verti_o[i] as usize] | WON[self.horiz_o[i] as usize] | WON[self.diagr_o[i] as usize] | WON[self.diagl_o[i] as usize]);
[INFO] [stderr]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around assigned value
[INFO] [stderr]    --> src/board.rs:414:18
[INFO] [stderr]     |
[INFO] [stderr] 414 |         cur.1 += (_NEG * MAX_VALS[mov.1 as usize])
[INFO] [stderr]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around assigned value
[INFO] [stderr]    --> src/board.rs:464:107
[INFO] [stderr]     |
[INFO] [stderr] 464 |   pub unsafe fn place_horiz_you (&mut self, place: usize) {let mov = HORIZ[place]; self.horiz_y[mov.0] |= (1 << mov.1);}
[INFO] [stderr]     |                                                                                                           ^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around assigned value
[INFO] [stderr]    --> src/board.rs:465:107
[INFO] [stderr]     |
[INFO] [stderr] 465 |   pub unsafe fn place_verti_you (&mut self, place: usize) {let mov = VERTI[place]; self.verti_y[mov.0] |= (1 << mov.1);}
[INFO] [stderr]     |                                                                                                           ^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around assigned value
[INFO] [stderr]    --> src/board.rs:466:108
[INFO] [stderr]     |
[INFO] [stderr] 466 |   pub unsafe fn remove_horiz_you (&mut self, place: usize) {let mov = HORIZ[place]; self.horiz_y[mov.0] ^= (1 << mov.1);}
[INFO] [stderr]     |                                                                                                            ^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around assigned value
[INFO] [stderr]    --> src/board.rs:467:108
[INFO] [stderr]     |
[INFO] [stderr] 467 |   pub unsafe fn remove_verti_you (&mut self, place: usize) {let mov = VERTI[place]; self.verti_y[mov.0] ^= (1 << mov.1);}
[INFO] [stderr]     |                                                                                                            ^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around assigned value
[INFO] [stderr]    --> src/board.rs:468:132
[INFO] [stderr]     |
[INFO] [stderr] 468 |   pub unsafe fn place_diagl_you (&mut self, place: usize) {let mov = DIAGL[place]; if mov.0 == NO {return;} self.diagl_y[mov.0] |= (1 << mov.1);}
[INFO] [stderr]     |                                                                                                                                    ^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around assigned value
[INFO] [stderr]    --> src/board.rs:469:132
[INFO] [stderr]     |
[INFO] [stderr] 469 |   pub unsafe fn place_diagr_you (&mut self, place: usize) {let mov = DIAGR[place]; if mov.0 == NO {return;} self.diagr_y[mov.0] |= (1 << mov.1);}
[INFO] [stderr]     |                                                                                                                                    ^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around assigned value
[INFO] [stderr]    --> src/board.rs:470:133
[INFO] [stderr]     |
[INFO] [stderr] 470 |   pub unsafe fn remove_diagl_you (&mut self, place: usize) {let mov = DIAGL[place]; if mov.0 == NO {return;} self.diagl_y[mov.0] ^= (1 << mov.1);}
[INFO] [stderr]     |                                                                                                                                     ^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around assigned value
[INFO] [stderr]    --> src/board.rs:471:133
[INFO] [stderr]     |
[INFO] [stderr] 471 |   pub unsafe fn remove_diagr_you (&mut self, place: usize) {let mov = DIAGR[place]; if mov.0 == NO {return;} self.diagr_y[mov.0] ^= (1 << mov.1);}
[INFO] [stderr]     |                                                                                                                                     ^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around assigned value
[INFO] [stderr]    --> src/board.rs:473:107
[INFO] [stderr]     |
[INFO] [stderr] 473 |   pub unsafe fn place_horiz_opp (&mut self, place: usize) {let mov = HORIZ[place]; self.horiz_o[mov.0] |= (1 << mov.1);}
[INFO] [stderr]     |                                                                                                           ^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around assigned value
[INFO] [stderr]    --> src/board.rs:474:107
[INFO] [stderr]     |
[INFO] [stderr] 474 |   pub unsafe fn place_verti_opp (&mut self, place: usize) {let mov = VERTI[place]; self.verti_o[mov.0] |= (1 << mov.1);}
[INFO] [stderr]     |                                                                                                           ^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around assigned value
[INFO] [stderr]    --> src/board.rs:475:108
[INFO] [stderr]     |
[INFO] [stderr] 475 |   pub unsafe fn remove_horiz_opp (&mut self, place: usize) {let mov = HORIZ[place]; self.horiz_o[mov.0] ^= (1 << mov.1);}
[INFO] [stderr]     |                                                                                                            ^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around assigned value
[INFO] [stderr]    --> src/board.rs:476:108
[INFO] [stderr]     |
[INFO] [stderr] 476 |   pub unsafe fn remove_verti_opp (&mut self, place: usize) {let mov = VERTI[place]; self.verti_o[mov.0] ^= (1 << mov.1);}
[INFO] [stderr]     |                                                                                                            ^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around assigned value
[INFO] [stderr]    --> src/board.rs:477:132
[INFO] [stderr]     |
[INFO] [stderr] 477 |   pub unsafe fn place_diagl_opp (&mut self, place: usize) {let mov = DIAGL[place]; if mov.0 == NO {return;} self.diagl_o[mov.0] |= (1 << mov.1);}
[INFO] [stderr]     |                                                                                                                                    ^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around assigned value
[INFO] [stderr]    --> src/board.rs:478:132
[INFO] [stderr]     |
[INFO] [stderr] 478 |   pub unsafe fn place_diagr_opp (&mut self, place: usize) {let mov = DIAGR[place]; if mov.0 == NO {return;} self.diagr_o[mov.0] |= (1 << mov.1);}
[INFO] [stderr]     |                                                                                                                                    ^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around assigned value
[INFO] [stderr]    --> src/board.rs:479:133
[INFO] [stderr]     |
[INFO] [stderr] 479 |   pub unsafe fn remove_diagl_opp (&mut self, place: usize) {let mov = DIAGL[place]; if mov.0 == NO {return;} self.diagl_o[mov.0] ^= (1 << mov.1);}
[INFO] [stderr]     |                                                                                                                                     ^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around assigned value
[INFO] [stderr]    --> src/board.rs:480:133
[INFO] [stderr]     |
[INFO] [stderr] 480 |   pub unsafe fn remove_diagr_opp (&mut self, place: usize) {let mov = DIAGR[place]; if mov.0 == NO {return;} self.diagr_o[mov.0] ^= (1 << mov.1);}
[INFO] [stderr]     |                                                                                                                                     ^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::boxed::Box`
[INFO] [stderr]  --> src/build.rs:2:5
[INFO] [stderr]   |
[INFO] [stderr] 2 | use std::boxed::Box;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::fs::File`
[INFO] [stderr]  --> src/build.rs:3:5
[INFO] [stderr]   |
[INFO] [stderr] 3 | use std::fs::File;
[INFO] [stderr]   |     ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::io::Write`
[INFO] [stderr]  --> src/build.rs:4:5
[INFO] [stderr]   |
[INFO] [stderr] 4 | use std::io::Write;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::io::Read`
[INFO] [stderr]  --> src/build.rs:5:5
[INFO] [stderr]   |
[INFO] [stderr] 5 | use std::io::Read;
[INFO] [stderr]   |     ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `BufReader`, `self`
[INFO] [stderr]  --> src/build.rs:6:15
[INFO] [stderr]   |
[INFO] [stderr] 6 | use std::io::{self, BufReader};
[INFO] [stderr]   |               ^^^^  ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::io::prelude::*`
[INFO] [stderr]  --> src/build.rs:7:5
[INFO] [stderr]   |
[INFO] [stderr] 7 | use std::io::prelude::*;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::mem`
[INFO] [stderr]   --> src/build.rs:10:5
[INFO] [stderr]    |
[INFO] [stderr] 10 | use std::mem;
[INFO] [stderr]    |     ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std`
[INFO] [stderr]   --> src/build.rs:11:5
[INFO] [stderr]    |
[INFO] [stderr] 11 | use std;
[INFO] [stderr]    |     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `test::Bencher`
[INFO] [stderr]  --> src/tests.rs:3:5
[INFO] [stderr]   |
[INFO] [stderr] 3 | use test::Bencher;
[INFO] [stderr]   |     ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::collections::HashMap`
[INFO] [stderr]  --> src/tests.rs:4:5
[INFO] [stderr]   |
[INFO] [stderr] 4 | use std::collections::HashMap;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::collections::HashSet`
[INFO] [stderr]  --> src/tests.rs:5:5
[INFO] [stderr]   |
[INFO] [stderr] 5 | use std::collections::HashSet;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::str`
[INFO] [stderr]  --> src/tests.rs:6:5
[INFO] [stderr]   |
[INFO] [stderr] 6 | use std::str;
[INFO] [stderr]   |     ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::string::String`
[INFO] [stderr]  --> src/tests.rs:7:5
[INFO] [stderr]   |
[INFO] [stderr] 7 | use std::string::String;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `buffer`
[INFO] [stderr]   --> src/main.rs:36:13
[INFO] [stderr]    |
[INFO] [stderr] 36 |     let mut buffer = String::new();
[INFO] [stderr]    |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_buffer`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `handle`
[INFO] [stderr]   --> src/main.rs:40:13
[INFO] [stderr]    |
[INFO] [stderr] 40 |     let mut handle = out.lock();
[INFO] [stderr]    |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_handle`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `best`
[INFO] [stderr]   --> src/main.rs:58:7
[INFO] [stderr]    |
[INFO] [stderr] 58 |   let best = i32::min_value();
[INFO] [stderr]    |       ^^^^ help: if this is intentional, prefix it with an underscore: `_best`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `depth`
[INFO] [stderr]    --> src/build.rs:183:45
[INFO] [stderr]     |
[INFO] [stderr] 183 | unsafe fn length_depth (you: u16, opp: u16, depth: u8, mut map:  &mut HashMap<(u16,u16),i8>) -> u8 {
[INFO] [stderr]     |                                             ^^^^^ help: if this is intentional, prefix it with an underscore: `_depth`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `map`
[INFO] [stderr]    --> src/build.rs:183:60
[INFO] [stderr]     |
[INFO] [stderr] 183 | unsafe fn length_depth (you: u16, opp: u16, depth: u8, mut map:  &mut HashMap<(u16,u16),i8>) -> u8 {
[INFO] [stderr]     |                                                            ^^^ help: if this is intentional, prefix it with an underscore: `_map`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/main.rs:36:9
[INFO] [stderr]    |
[INFO] [stderr] 36 |     let mut buffer = String::new();
[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:40:9
[INFO] [stderr]    |
[INFO] [stderr] 40 |     let mut handle = out.lock();
[INFO] [stderr]    |         ----^^^^^^
[INFO] [stderr]    |         |
[INFO] [stderr]    |         help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `buffer`
[INFO] [stderr]   --> src/main.rs:36:13
[INFO] [stderr]    |
[INFO] [stderr] 36 |     let mut buffer = String::new();
[INFO] [stderr]    |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_buffer`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `handle`
[INFO] [stderr]   --> src/main.rs:40:13
[INFO] [stderr]    |
[INFO] [stderr] 40 |     let mut handle = out.lock();
[INFO] [stderr]    |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_handle`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `best`
[INFO] [stderr]   --> src/main.rs:58:7
[INFO] [stderr]    |
[INFO] [stderr] 58 |   let best = i32::min_value();
[INFO] [stderr]    |       ^^^^ help: if this is intentional, prefix it with an underscore: `_best`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `depth`
[INFO] [stderr]    --> src/build.rs:183:45
[INFO] [stderr]     |
[INFO] [stderr] 183 | unsafe fn length_depth (you: u16, opp: u16, depth: u8, mut map:  &mut HashMap<(u16,u16),i8>) -> u8 {
[INFO] [stderr]     |                                             ^^^^^ help: if this is intentional, prefix it with an underscore: `_depth`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `map`
[INFO] [stderr]    --> src/build.rs:183:60
[INFO] [stderr]     |
[INFO] [stderr] 183 | unsafe fn length_depth (you: u16, opp: u16, depth: u8, mut map:  &mut HashMap<(u16,u16),i8>) -> u8 {
[INFO] [stderr]     |                                                            ^^^ help: if this is intentional, prefix it with an underscore: `_map`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/main.rs:36:9
[INFO] [stderr]    |
[INFO] [stderr] 36 |     let mut buffer = String::new();
[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:40:9
[INFO] [stderr]    |
[INFO] [stderr] 40 |     let mut handle = out.lock();
[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:95:7
[INFO] [stderr]    |
[INFO] [stderr] 95 |   let mut alpha = a;
[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:96:7
[INFO] [stderr]    |
[INFO] [stderr] 96 |   let mut beta = b;
[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:95:7
[INFO] [stderr]    |
[INFO] [stderr] 95 |   let mut alpha = a;
[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:96:7
[INFO] [stderr]    |
[INFO] [stderr] 96 |   let mut beta = b;
[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/board.rs:267:15
[INFO] [stderr]     |
[INFO] [stderr] 267 |           let mut l_val = ((BT2[self.diagl_o[i] as usize]) + BT[self.diagl_y[i] as usize]) as usize;
[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/board.rs:268:15
[INFO] [stderr]     |
[INFO] [stderr] 268 |           let mut r_val = ((BT2[self.diagr_o[i] as usize]) + BT[self.diagr_y[i] as usize]) as usize;
[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/board.rs:276:17
[INFO] [stderr]     |
[INFO] [stderr] 276 |             let mut v_val = ((BT2[self.verti_o[i] as usize]) + BT[self.verti_y[i] as usize]) as usize;
[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/board.rs:277:17
[INFO] [stderr]     |
[INFO] [stderr] 277 |             let mut h_val = ((BT2[self.horiz_o[i] as usize]) + BT[self.horiz_y[i] as usize]) as usize;
[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/board.rs:331:15
[INFO] [stderr]     |
[INFO] [stderr] 331 |           let mut l_val = ((BT2[self.diagl_o[i] as usize]) + BT[self.diagl_y[i] as usize]) as usize;
[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/board.rs:332:15
[INFO] [stderr]     |
[INFO] [stderr] 332 |           let mut r_val = ((BT2[self.diagr_o[i] as usize]) + BT[self.diagr_y[i] as usize]) as usize;
[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/board.rs:340:17
[INFO] [stderr]     |
[INFO] [stderr] 340 |             let mut v_val = ((BT2[self.verti_o[i] as usize]) + BT[self.verti_y[i] as usize]) as usize;
[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/board.rs:341:17
[INFO] [stderr]     |
[INFO] [stderr] 341 |             let mut h_val = ((BT2[self.horiz_o[i] as usize]) + BT[self.horiz_y[i] as usize]) as usize;
[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/board.rs:267:15
[INFO] [stderr]     |
[INFO] [stderr] 267 |           let mut l_val = ((BT2[self.diagl_o[i] as usize]) + BT[self.diagl_y[i] as usize]) as usize;
[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/board.rs:268:15
[INFO] [stderr]     |
[INFO] [stderr] 268 |           let mut r_val = ((BT2[self.diagr_o[i] as usize]) + BT[self.diagr_y[i] as usize]) as usize;
[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/board.rs:276:17
[INFO] [stderr]     |
[INFO] [stderr] 276 |             let mut v_val = ((BT2[self.verti_o[i] as usize]) + BT[self.verti_y[i] as usize]) as usize;
[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/board.rs:277:17
[INFO] [stderr]     |
[INFO] [stderr] 277 |             let mut h_val = ((BT2[self.horiz_o[i] as usize]) + BT[self.horiz_y[i] as usize]) as usize;
[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/board.rs:331:15
[INFO] [stderr]     |
[INFO] [stderr] 331 |           let mut l_val = ((BT2[self.diagl_o[i] as usize]) + BT[self.diagl_y[i] as usize]) as usize;
[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/board.rs:332:15
[INFO] [stderr]     |
[INFO] [stderr] 332 |           let mut r_val = ((BT2[self.diagr_o[i] as usize]) + BT[self.diagr_y[i] as usize]) as usize;
[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/board.rs:340:17
[INFO] [stderr]     |
[INFO] [stderr] 340 |             let mut v_val = ((BT2[self.verti_o[i] as usize]) + BT[self.verti_y[i] as usize]) as usize;
[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/board.rs:341:17
[INFO] [stderr]     |
[INFO] [stderr] 341 |             let mut h_val = ((BT2[self.horiz_o[i] as usize]) + BT[self.horiz_y[i] as usize]) as usize;
[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/build.rs:92:57
[INFO] [stderr]    |
[INFO] [stderr] 92 | unsafe fn binary_recurse(you: u16, opp: u16, depth: i32,mut map: &mut HashMap<(u16,u16),i8>) {
[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/build.rs:116:37
[INFO] [stderr]     |
[INFO] [stderr] 116 | fn build_state (you: u16, opp: u16, mut Map: &mut HashMap<(u16,u16),i8>) {
[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/build.rs:166:41
[INFO] [stderr]     |
[INFO] [stderr] 166 | unsafe fn get_moves(you: u16, opp: u16, mut map:  &mut HashMap<(u16,u16),i8>) -> Vec<(u8,u8)> {
[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/build.rs:183:56
[INFO] [stderr]     |
[INFO] [stderr] 183 | unsafe fn length_depth (you: u16, opp: u16, depth: u8, mut map:  &mut HashMap<(u16,u16),i8>) -> u8 {
[INFO] [stderr]     |                                                        ----^^^
[INFO] [stderr]     |                                                        |
[INFO] [stderr]     |                                                        help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: static item is never used: `ENABLED`
[INFO] [stderr]   --> src/board.rs:15:1
[INFO] [stderr]    |
[INFO] [stderr] 15 | pub static mut ENABLED: [[bool; 2]; 14348907] = [[false; 2]; 14348907];
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: constant item is never used: `FOUR_FLAG`
[INFO] [stderr]   --> src/board.rs:21:1
[INFO] [stderr]    |
[INFO] [stderr] 21 | pub const FOUR_FLAG: u8 = 0b010_0000_0000;
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant item is never used: `THREE_VALUE`
[INFO] [stderr]   --> src/build.rs:19:1
[INFO] [stderr]    |
[INFO] [stderr] 19 | pub const THREE_VALUE: i8 = 63;
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant item is never used: `FOUR_VALUE`
[INFO] [stderr]   --> src/build.rs:20:1
[INFO] [stderr]    |
[INFO] [stderr] 20 | pub const FOUR_VALUE: i8 = 127;
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant item is never used: `FOUR_STATE`
[INFO] [stderr]   --> src/build.rs:21:1
[INFO] [stderr]    |
[INFO] [stderr] 21 | pub const FOUR_STATE: i32 = 10000;
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/build.rs:92:57
[INFO] [stderr]    |
[INFO] [stderr] 92 | unsafe fn binary_recurse(you: u16, opp: u16, depth: i32,mut map: &mut HashMap<(u16,u16),i8>) {
[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/build.rs:116:37
[INFO] [stderr]     |
[INFO] [stderr] 116 | fn build_state (you: u16, opp: u16, mut Map: &mut HashMap<(u16,u16),i8>) {
[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/build.rs:166:41
[INFO] [stderr]     |
[INFO] [stderr] 166 | unsafe fn get_moves(you: u16, opp: u16, mut map:  &mut HashMap<(u16,u16),i8>) -> Vec<(u8,u8)> {
[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/build.rs:183:56
[INFO] [stderr]     |
[INFO] [stderr] 183 | unsafe fn length_depth (you: u16, opp: u16, depth: u8, mut map:  &mut HashMap<(u16,u16),i8>) -> u8 {
[INFO] [stderr]     |                                                        ----^^^
[INFO] [stderr]     |                                                        |
[INFO] [stderr]     |                                                        help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: static item is never used: `ENABLED`
[INFO] [stderr]   --> src/board.rs:15:1
[INFO] [stderr]    |
[INFO] [stderr] 15 | pub static mut ENABLED: [[bool; 2]; 14348907] = [[false; 2]; 14348907];
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: constant item is never used: `FOUR_FLAG`
[INFO] [stderr]   --> src/board.rs:21:1
[INFO] [stderr]    |
[INFO] [stderr] 21 | pub const FOUR_FLAG: u8 = 0b010_0000_0000;
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant item is never used: `THREE_VALUE`
[INFO] [stderr]   --> src/build.rs:19:1
[INFO] [stderr]    |
[INFO] [stderr] 19 | pub const THREE_VALUE: i8 = 63;
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant item is never used: `FOUR_VALUE`
[INFO] [stderr]   --> src/build.rs:20:1
[INFO] [stderr]    |
[INFO] [stderr] 20 | pub const FOUR_VALUE: i8 = 127;
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant item is never used: `FOUR_STATE`
[INFO] [stderr]   --> src/build.rs:21:1
[INFO] [stderr]    |
[INFO] [stderr] 21 | pub const FOUR_STATE: i32 = 10000;
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[ERROR] error running command: no output for 300 seconds
[INFO] running `"docker" "inspect" "4deec9855cc3365a923959e60e91239be796add44e06782b15feeda0c0b66635"`
[INFO] running `"docker" "rm" "-f" "4deec9855cc3365a923959e60e91239be796add44e06782b15feeda0c0b66635"`
[INFO] [stdout] 4deec9855cc3365a923959e60e91239be796add44e06782b15feeda0c0b66635
