[INFO] cloning repository https://github.com/joeyst/ml-chess-engine
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/joeyst/ml-chess-engine" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjoeyst%2Fml-chess-engine", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjoeyst%2Fml-chess-engine'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 141229e651ed30ee23f7548f26e15e92ba45a6b1
[INFO] testing joeyst/ml-chess-engine against master#733b47ea4b1b86216f14ef56e49440c33933f230+rustflags=-Copt-level=3 for pr-138759
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjoeyst%2Fml-chess-engine" "/workspace/builds/worker-2-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/joeyst/ml-chess-engine
[INFO] finished tweaking git repo https://github.com/joeyst/ml-chess-engine
[INFO] tweaked toml for git repo https://github.com/joeyst/ml-chess-engine written to /workspace/builds/worker-2-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/joeyst/ml-chess-engine on toolchain 733b47ea4b1b86216f14ef56e49440c33933f230
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+733b47ea4b1b86216f14ef56e49440c33933f230" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/joeyst/ml-chess-engine 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" "+733b47ea4b1b86216f14ef56e49440c33933f230" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+733b47ea4b1b86216f14ef56e49440c33933f230" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 62fefdbfc20da25f0e9549f2dc178a3e92f8c759aa2203c618f3ca4223bdd4ae
[INFO] running `Command { std: "docker" "start" "-a" "62fefdbfc20da25f0e9549f2dc178a3e92f8c759aa2203c618f3ca4223bdd4ae", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "62fefdbfc20da25f0e9549f2dc178a3e92f8c759aa2203c618f3ca4223bdd4ae", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "62fefdbfc20da25f0e9549f2dc178a3e92f8c759aa2203c618f3ca4223bdd4ae", kill_on_drop: false }`
[INFO] [stdout] 62fefdbfc20da25f0e9549f2dc178a3e92f8c759aa2203c618f3ca4223bdd4ae
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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 -Copt-level=3" "-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+733b47ea4b1b86216f14ef56e49440c33933f230" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 6aa0aeb1c7dafffb9ac3e3e2aa489e98b16671964405b7c93fd758ac9d125dfa
[INFO] running `Command { std: "docker" "start" "-a" "6aa0aeb1c7dafffb9ac3e3e2aa489e98b16671964405b7c93fd758ac9d125dfa", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.132
[INFO] [stderr]    Compiling ppv-lite86 v0.2.16
[INFO] [stderr]    Compiling getrandom v0.2.7
[INFO] [stderr]    Compiling rand_core v0.6.3
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling rand v0.8.5
[INFO] [stderr]    Compiling chess-engine v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `super::forward_prop`
[INFO] [stdout]  --> src/network/nn.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use super::forward_prop;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `File` and `OpenOptions`
[INFO] [stdout]  --> src/network/network_storage.rs:1:15
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::fs::{File, OpenOptions};
[INFO] [stdout]   |               ^^^^  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::path::Path`
[INFO] [stdout]  --> src/network/network_storage.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::path::Path;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Error` and `SeekFrom`
[INFO] [stdout]  --> src/network/network_storage.rs:6:15
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::io::{Error, SeekFrom};
[INFO] [stdout]   |               ^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `net` and `network_storage`
[INFO] [stdout]  --> src/network/train.rs:3:13
[INFO] [stdout]   |
[INFO] [stdout] 3 | use super::{net, network_storage};
[INFO] [stdout]   |             ^^^  ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::safe_shift`
[INFO] [stdout]  --> src/mask_for_square.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::safe_shift;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::utility::print_board`
[INFO] [stdout]  --> src/safe_shift.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::utility::print_board;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::utility::print_board`
[INFO] [stdout]   --> src/fill_beyond_bit.rs:46:5
[INFO] [stdout]    |
[INFO] [stdout] 46 | use crate::utility::print_board;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::find_occ_bit`
[INFO] [stdout]  --> src/find_block.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::find_occ_bit;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::open_squares`
[INFO] [stdout]  --> src/map.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::open_squares;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crop_board_return`
[INFO] [stdout]  --> src/map.rs:2:31
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::crop::{crop_board, crop_board_return};
[INFO] [stdout]   |                               ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::constants::EVERY_OTHER_VERTICAL_STARTING_FILE_0`
[INFO] [stdout]  --> src/map.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::constants::EVERY_OTHER_VERTICAL_STARTING_FILE_0;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::utility::print_board`
[INFO] [stdout]  --> src/map.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::utility::print_board;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::find_block`
[INFO] [stdout]  --> src/open_squares.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::find_block;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::mask_for_square::for_square`
[INFO] [stdout]  --> src/open_squares.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::mask_for_square::for_square;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `bit_to_index`, `find_squares_in_list_on_board`, and `print_board`
[INFO] [stdout]  --> src/open_squares.rs:3:22
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::utility::{bit_to_index, print_board, find_squares_in_list_on_board};
[INFO] [stdout]   |                      ^^^^^^^^^^^^  ^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `find_squares_within_given_distance` and `reduce_square_indices_to_slice`
[INFO] [stdout]  --> src/open_squares.rs:4:37
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::utility::square_bounds::{find_squares_within_given_distance, reduce_square_indices_to_slice, find_offsets_on_board_within_dist...
[INFO] [stdout]   |                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `print_board_pieces` and `print_board`
[INFO] [stdout]  --> src/move.rs:5:13
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::{print_board, print_board_pieces};
[INFO] [stdout]   |             ^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::print_board`
[INFO] [stdout]  --> src/split_state.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::print_board;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `bstate` and `wstate`
[INFO] [stdout]  --> src/bot.rs:1:21
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::r#move::{wstate, bstate, states_for_turn};
[INFO] [stdout]   |                     ^^^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cmp`
[INFO] [stdout]  --> src/bot.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::cmp;
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::rand::prelude::IteratorRandom`
[INFO] [stdout]  --> src/bot.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::rand::prelude::IteratorRandom;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `print_board_pieces` and `print_board`
[INFO] [stdout]   --> src/bot.rs:11:13
[INFO] [stdout]    |
[INFO] [stdout] 11 | use crate::{print_board, print_board_pieces};
[INFO] [stdout]    |             ^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::map::CROSS_MOVE_MAP`
[INFO] [stdout]   --> src/main.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 26 | use crate::map::CROSS_MOVE_MAP;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::mask_for_square::for_rank`
[INFO] [stdout]   --> src/main.rs:27:5
[INFO] [stdout]    |
[INFO] [stdout] 27 | use crate::mask_for_square::for_rank;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io`
[INFO] [stdout]   --> src/main.rs:29:5
[INFO] [stdout]    |
[INFO] [stdout] 29 | use std::io;
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `one_bot_game`, `two_bot_game`, and `two_console_game`
[INFO] [stdout]   --> src/main.rs:30:19
[INFO] [stdout]    |
[INFO] [stdout] 30 | use crate::game::{two_console_game, one_bot_game, two_bot_game, two_bot_game_learn_bot};
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io::prelude`
[INFO] [stdout]  --> src/network/network_storage.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::io::prelude::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `run_random_inputs_through_net` is never used
[INFO] [stdout]  --> src/network/eval.rs:9:8
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub fn run_random_inputs_through_net(number: usize) {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `generate_random_inputs` is never used
[INFO] [stdout]   --> src/network/eval.rs:16:8
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub fn generate_random_inputs(number: usize) -> Vec<[u64; 13]> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `generate_random_input` is never used
[INFO] [stdout]   --> src/network/eval.rs:24:4
[INFO] [stdout]    |
[INFO] [stdout] 24 | fn generate_random_input() -> [u64; 13] {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `evaluate_position` is never used
[INFO] [stdout]   --> src/network/eval.rs:50:8
[INFO] [stdout]    |
[INFO] [stdout] 50 | pub fn evaluate_position(_position: [u64; 13]) -> f32 {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Node` is never constructed
[INFO] [stdout]  --> src/network/node.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct Node {
[INFO] [stdout]   |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `create`, `create_random`, `weight_at_index`, and `print` are never used
[INFO] [stdout]   --> src/network/node.rs:13:10
[INFO] [stdout]    |
[INFO] [stdout] 12 | impl Node {
[INFO] [stdout]    | --------- associated items in this implementation
[INFO] [stdout] 13 |   pub fn create(v: f32, b: f32, w: Vec<f32>) -> Node {
[INFO] [stdout]    |          ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 22 |   pub fn create_random(length_of_previous_layer: usize) -> Node {
[INFO] [stdout]    |          ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 39 |   pub fn weight_at_index(&self, index: u8) -> f32 {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 43 |   pub fn print(&self) {
[INFO] [stdout]    |          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `AF` is never used
[INFO] [stdout]  --> src/network/layer.rs:3:6
[INFO] [stdout]   |
[INFO] [stdout] 3 | type AF = fn(f64) -> f32;
[INFO] [stdout]   |      ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `ListOfNodes` is never used
[INFO] [stdout]  --> src/network/layer.rs:4:6
[INFO] [stdout]   |
[INFO] [stdout] 4 | type ListOfNodes = Vec<Node>;
[INFO] [stdout]   |      ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `BiasesForWholeLayer` is never used
[INFO] [stdout]  --> src/network/layer.rs:5:6
[INFO] [stdout]   |
[INFO] [stdout] 5 | type BiasesForWholeLayer = Vec<f32>;
[INFO] [stdout]   |      ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `WeightsForWholeLayer` is never used
[INFO] [stdout]  --> src/network/layer.rs:6:6
[INFO] [stdout]   |
[INFO] [stdout] 6 | type WeightsForWholeLayer = Vec<Vec<f32>>;
[INFO] [stdout]   |      ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Layer` is never constructed
[INFO] [stdout]  --> src/network/layer.rs:9:12
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub struct Layer {
[INFO] [stdout]   |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]   --> src/network/layer.rs:16:10
[INFO] [stdout]    |
[INFO] [stdout] 14 | impl Layer {
[INFO] [stdout]    | ---------- associated items in this implementation
[INFO] [stdout] 15 |   // constructors
[INFO] [stdout] 16 |   pub fn create(n: Vec<Node>, a_fn: AF) -> Layer {
[INFO] [stdout]    |          ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 24 |   pub fn create_value_zero_random(nodes_in_layer: usize, nodes_in_previous_layer: usize, a_fn: AF) -> Layer {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 32 |   pub fn create_layer_from_weights_and_biases(weights: WeightsForWholeLayer, biases: BiasesForWholeLayer, a_fn: AF) -> Layer {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 42 |   pub fn collect_values(&self) -> Vec<f32> {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 46 |   pub fn collect_biases(&self) -> Vec<f32> {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 50 |   pub fn collect_mutable_nodes(&mut self) -> &mut Vec<Node> {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 54 |   pub fn collect_effects(&self) -> Vec<f32> {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 59 |   pub fn get_current_value_by_index(&self, node_index: u8) -> f32 {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 63 |   pub fn get_bias_by_index(&self, node_index: u8) -> f32 {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 67 |   pub fn collect_weights_by_index(&self, node_index: u8) -> Vec<f32> {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `InputBinaries` is never used
[INFO] [stdout]  --> src/network/network.rs:4:6
[INFO] [stdout]   |
[INFO] [stdout] 4 | type InputBinaries = Vec<u8>;
[INFO] [stdout]   |      ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `AF` is never used
[INFO] [stdout]  --> src/network/network.rs:5:6
[INFO] [stdout]   |
[INFO] [stdout] 5 | type AF = fn(f64) -> f32;
[INFO] [stdout]   |      ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `ListOfLayers` is never used
[INFO] [stdout]  --> src/network/network.rs:6:6
[INFO] [stdout]   |
[INFO] [stdout] 6 | type ListOfLayers = Vec<Layer>;
[INFO] [stdout]   |      ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Network` is never constructed
[INFO] [stdout]  --> src/network/network.rs:8:12
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub struct Network {
[INFO] [stdout]   |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/network/network.rs:16:6
[INFO] [stdout]     |
[INFO] [stdout] 14  | impl Network {
[INFO] [stdout]     | ------------ associated items in this implementation
[INFO] [stdout] 15  |
[INFO] [stdout] 16  |   fn set_effects_for_all_layers(&mut self) {
[INFO] [stdout]     |      ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 20  |   fn set_effects_of_layer(&mut self, index: u8) {
[INFO] [stdout]     |      ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 25  |   fn calculate_effect_of_layer(&mut self, index: u8) -> Vec<f32> {
[INFO] [stdout]     |      ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 35  |   fn calculate_contribution_to_error_of_layer_of_weights(&mut self, layer_of_contributors: u8, index_of_affected: u8, target: f32) -> Vec...
[INFO] [stdout]     |      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 42  |   fn calculate_contribution_to_error_of_weight(&mut self, layer_of_contributor: u8, index_of_contributor: u8, index_of_affected: u8, targ...
[INFO] [stdout]     |      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 52  |   fn d_of_ReLu_respect_to_weight(activated_value: f32) -> f32 {
[INFO] [stdout]     |      ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 56  |   fn derivative_of_ReLu_with_respect_to_weight_index_included(activated_value: f32, input_value: f32) -> f32 {
[INFO] [stdout]     |      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 60  |   fn set_effect_on_cost_for_last_node(&mut self, target: f32) {
[INFO] [stdout]     |      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 65  |   fn get_effect_on_cost_from_last_node(&self, target: f32) -> f32 {
[INFO] [stdout]     |      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 70  |   fn get_error_from_last_node(&self, target: f32) -> f32 {
[INFO] [stdout]     |      ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 75  |   pub fn run_network_with_new_input(&mut self, input: Vec<u8>) {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 80  |   pub fn get_output(&mut self) -> f32 {
[INFO] [stdout]     |          ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 85  |   pub fn create_random_with_input(number_of_layers: usize, nodes_per_layer: usize, a_fn: AF, l_r: f32, itn: Vec<u8>) -> Network {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 101 |   pub fn create_random(number_of_layers: usize, nodes_per_layer: usize, a_fn: AF, l_r: f32) -> Network {
[INFO] [stdout]     |          ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 124 |   fn get_value_of_final_node(&self) -> f32 {
[INFO] [stdout]     |      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 128 |   fn set_values_for_network(&mut self) {
[INFO] [stdout]     |      ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 134 |   fn set_values_for_layer(&mut self, layer_index: u8) {
[INFO] [stdout]     |      ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 142 |   fn set_values_for_layer_from_vector(&mut self, layer_index: u8, values: Vec<f32>) {
[INFO] [stdout]     |      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 149 |   fn set_effects_for_layer_from_vector(&mut self, layer_index: u8, values: Vec<f32>) {
[INFO] [stdout]     |      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 156 |   fn calculate_values_for_layer(&self, layer_index: u8) -> Vec<f32> {
[INFO] [stdout]     |      ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 164 |   fn calculate_value_for_node(&self, layer_index: u8, node_index: u8) -> f32 {
[INFO] [stdout]     |      ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 172 |   fn calculate_value_for_node_of_layer_general(&self, layer_index: u8, node_index: u8, inputs: Vec<f32>) -> f32 {
[INFO] [stdout]     |      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 184 |   fn calculate_value_for_node_beyond_first_layer(&self, layer_index: u8, node_index: u8) -> f32 {
[INFO] [stdout]     |      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 188 |   fn calculate_value_for_node_of_first_layer(&self, layer_index: u8, node_index: u8) -> f32 {
[INFO] [stdout]     |      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 193 |   fn get_values_of_old_layer(&self, layer_index: u8) -> Vec<f32> {
[INFO] [stdout]     |      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 197 |   fn get_values_of_layer(&self, layer_index: u8) -> Vec<f32> {
[INFO] [stdout]     |      ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 201 |   fn get_weights_of_node(&self, layer_index: u8, node_index: u8) -> Vec<f32> {
[INFO] [stdout]     |      ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 205 |   fn get_bias_of_node(&self, layer_index: u8, node_index: u8) -> f32 {
[INFO] [stdout]     |      ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 209 |   fn get_activation_function(&self, layer_index: u8) -> AF {
[INFO] [stdout]     |      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 214 |   fn get_layer(&self, layer_index: u8) -> Layer {
[INFO] [stdout]     |      ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 219 |   fn get_layer_reference(&mut self, layer_index: u8) -> &mut Layer {
[INFO] [stdout]     |      ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 224 |   fn get_layer_nodes(&self, layer_index: u8) -> Vec<Node> {
[INFO] [stdout]     |      ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 229 |   fn get_input_to_network(&self) -> Vec<u8> {
[INFO] [stdout]     |      ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `NN` is never constructed
[INFO] [stdout]  --> src/network/nn.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub struct NN {
[INFO] [stdout]   |            ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]   --> src/network/nn.rs:14:10
[INFO] [stdout]    |
[INFO] [stdout] 13 | impl NN {
[INFO] [stdout]    | ------- methods in this implementation
[INFO] [stdout] 14 |   pub fn error(&self, target: f32) -> f32 {
[INFO] [stdout]    |          ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 18 |   pub fn backprop(&mut self, target: f32) {
[INFO] [stdout]    |          ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 23 |   fn adjust_all_weights(&mut self) {
[INFO] [stdout]    |      ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 28 |   fn adjust_weights_in_layer(&mut self, layer_index: u16) {
[INFO] [stdout]    |      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 40 |   fn set_all_layer_influences(&mut self, target: f32) {
[INFO] [stdout]    |      ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 45 |   fn set_layer_influence(&mut self, layer_index: u16) {
[INFO] [stdout]    |      ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 50 |   fn get_layer_influence(&self, layer_index: u16) -> Vec<f32> {
[INFO] [stdout]    |      ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 64 |   fn get_already_calculated_layer_influence(&self, layer_index: u16) -> std::slice::Iter<f32> {
[INFO] [stdout]    |      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 69 |   fn set_starting_influence(&mut self, target: f32) {
[INFO] [stdout]    |      ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 75 |   fn starting_influence(&self, target: f32) -> f32 {
[INFO] [stdout]    |      ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/network/forward_prop.rs:5:10
[INFO] [stdout]     |
[INFO] [stdout] 4   | impl NN {
[INFO] [stdout]     | ------- associated items in this implementation
[INFO] [stdout] 5   |   pub fn forwardprop(&mut self, input: Vec<f32>) -> f32 {
[INFO] [stdout]     |          ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 10  |   pub fn create(nodes: u16, layers: u16, a_fn: fn(f32) -> f32, d_fn: fn(f32) -> f32, l_r: f32) -> NN {
[INFO] [stdout]     |          ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 30  |   pub fn create_random_wb(nodes: u16, layers: u16, a_fn: fn(f32) -> f32, d_fn: fn(f32) -> f32, l_r: f32) -> NN {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 48  |   pub fn set_all_layers_from_input(&mut self, input: Vec<f32>) {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 54  |   pub fn get_final_value(&self) -> f32 {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 62  |   pub fn vals_mut(&mut self, layer_index: u16) -> std::slice::IterMut<f32> {
[INFO] [stdout]     |          ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 66  |   fn weights_in_mut(&mut self, layer_index: u16, node_index: u16) -> std::slice::IterMut<f32> {
[INFO] [stdout]     |      ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 70  |   pub fn vals_immut(&self, layer_index: u16) -> std::slice::Iter<f32> {
[INFO] [stdout]     |          ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 74  |   pub fn weights_in_immut(&self, layer_index: u16, node_index: u16) -> std::slice::Iter<f32> {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 78  |   fn set_layer_sum(&mut self, layer_index: u16) {
[INFO] [stdout]     |      ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 86  |   fn get_node_sum(&self, layer_index: u16, node_index: u16) -> f32 {
[INFO] [stdout]     |      ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 95  |   fn set_layer_val(&mut self, layer_index: u16) {
[INFO] [stdout]     |      ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 103 |   fn set_last_layer(&mut self) {
[INFO] [stdout]     |      ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 116 |   fn set_all_layers_but_zeroth(&mut self) {
[INFO] [stdout]     |      ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 121 |   pub fn set_zeroth_layer_from_input(&mut self, input: Vec<f32>) {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 129 |   fn get_node_sum_from_input(&self, node_index: u16, input: Vec<f32>) -> f32 {
[INFO] [stdout]     |      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> src/network/net.rs:17:10
[INFO] [stdout]     |
[INFO] [stdout] 16  | impl Net {
[INFO] [stdout]     | -------- methods in this implementation
[INFO] [stdout] 17  |   pub fn run_data(&mut self, input: Vec<f64>, target: f64) {
[INFO] [stdout]     |          ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 22  |   pub fn forward_backward_forward_get_value(&mut self, input: Vec<f64>, target: f64) -> f64 {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 34  |   pub fn get_forward_prop_error(&mut self, input: Vec<f64>, target: f64) -> f64 {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 40  |   pub fn backward_prop(&mut self, target: f64) {
[INFO] [stdout]     |          ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 97  |   fn get_error(&self, target: f64) -> f64 {
[INFO] [stdout]     |      ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 126 |   fn adjust_weights_after_error_signals_set(&mut self) {
[INFO] [stdout]     |      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 142 |   fn set_network_error_signals(&mut self, target: f64) {
[INFO] [stdout]     |      ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 149 |   fn set_final_layer_error_signal(&mut self, target: f64) {
[INFO] [stdout]     |      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 156 |   fn get_final_layer_error_signal_after_calculated(&self) -> f64 {
[INFO] [stdout]     |      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 160 |   fn set_layer_error_signals_not_last(&mut self, layer_index: usize) {
[INFO] [stdout]     |      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `write_network_to_file` is never used
[INFO] [stdout]    --> src/network/network_storage.rs:146:8
[INFO] [stdout]     |
[INFO] [stdout] 146 | pub fn write_network_to_file(network: Net, act_fn_name: &str, der_fn_name: &str, path: &str) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `clear_file` is never used
[INFO] [stdout]    --> src/network/network_storage.rs:215:4
[INFO] [stdout]     |
[INFO] [stdout] 215 | fn clear_file(path: &str) {
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `train_network_with_games` is never used
[INFO] [stdout]   --> src/network/train.rs:18:8
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub fn train_network_with_games(number_of_games: usize) {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `train_network_with_one_game` is never used
[INFO] [stdout]   --> src/network/train.rs:33:4
[INFO] [stdout]    |
[INFO] [stdout] 33 | fn train_network_with_one_game() {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `normalize_evaluation` is never used
[INFO] [stdout]   --> src/network/train.rs:41:4
[INFO] [stdout]    |
[INFO] [stdout] 41 | fn normalize_evaluation(eval: f64) -> f64 {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_random_game_states_with_adjustments` is never used
[INFO] [stdout]   --> src/network/train.rs:53:4
[INFO] [stdout]    |
[INFO] [stdout] 53 | fn get_random_game_states_with_adjustments() -> HashMap<[u64; 13], f64> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `EVERY_OTHER_VERTICAL_STARTING_FILE_0` is never used
[INFO] [stdout]   --> src/constants.rs:15:12
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub static EVERY_OTHER_VERTICAL_STARTING_FILE_0: u64 = 0x5555555555555555;
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CENTER_FOUR_SQUARES` is never used
[INFO] [stdout]   --> src/constants.rs:47:11
[INFO] [stdout]    |
[INFO] [stdout] 47 | pub const CENTER_FOUR_SQUARES: u64 = 0x1818000000;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SECOND_CENTER_SQUARES` is never used
[INFO] [stdout]   --> src/constants.rs:48:11
[INFO] [stdout]    |
[INFO] [stdout] 48 | pub const SECOND_CENTER_SQUARES: u64 = 0x3C24243C0000;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `vertical` is never used
[INFO] [stdout]   --> src/safe_shift.rs:17:8
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub fn vertical(board: u64, rank: i8) -> u64 {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `up` is never used
[INFO] [stdout]   --> src/safe_shift.rs:33:8
[INFO] [stdout]    |
[INFO] [stdout] 33 | pub fn up(board: u64, rank: u8) -> u64 {
[INFO] [stdout]    |        ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `down` is never used
[INFO] [stdout]   --> src/safe_shift.rs:37:8
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub fn down(board: u64, rank: u8) -> u64 {
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `safe_shift_up` is never used
[INFO] [stdout]   --> src/safe_shift.rs:49:4
[INFO] [stdout]    |
[INFO] [stdout] 49 | fn safe_shift_up(board: u64) -> u64 {
[INFO] [stdout]    |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `safe_shift_down` is never used
[INFO] [stdout]   --> src/safe_shift.rs:53:4
[INFO] [stdout]    |
[INFO] [stdout] 53 | fn safe_shift_down(board: u64) -> u64 {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `number_of_bits` is never used
[INFO] [stdout]  --> src/utility.rs:4:8
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub fn number_of_bits(mut board: u64) -> u8 {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `print_board` is never used
[INFO] [stdout]   --> src/utility.rs:15:8
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub fn print_board(mut board: u64) {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `border_bit` is never used
[INFO] [stdout]    --> src/utility.rs:136:8
[INFO] [stdout]     |
[INFO] [stdout] 136 | pub fn border_bit(bit: u64) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `isolate_msb` is never used
[INFO] [stdout]    --> src/utility.rs:210:8
[INFO] [stdout]     |
[INFO] [stdout] 210 | pub fn isolate_msb(board: u64) -> u64 {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_white_occupation_except_king` is never used
[INFO] [stdout]   --> src/board.rs:23:8
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub fn get_white_occupation_except_king(board: [u64; 13]) -> u64 {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_black_occupation_except_king` is never used
[INFO] [stdout]   --> src/board.rs:31:8
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub fn get_black_occupation_except_king(board: [u64; 13]) -> u64 {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_ally_occupation` is never used
[INFO] [stdout]   --> src/board.rs:57:8
[INFO] [stdout]    |
[INFO] [stdout] 57 | pub fn get_ally_occupation(board: [u64; 13], turn: u8) -> u64 {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `crop_board_return` is never used
[INFO] [stdout]   --> src/crop.rs:19:8
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub fn crop_board_return(mut board: u64, square: u64) -> u64 {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_legal_input_state` is never used
[INFO] [stdout]  --> src/user.rs:6:8
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub fn get_legal_input_state(current_state: [u64; 13], legal_states: Vec<[u64; 13]>) -> [u64; 13] {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `input_wrapper` is never used
[INFO] [stdout]   --> src/user.rs:21:4
[INFO] [stdout]    |
[INFO] [stdout] 21 | fn input_wrapper() -> String {
[INFO] [stdout]    |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_file` is never used
[INFO] [stdout]   --> src/user.rs:51:4
[INFO] [stdout]    |
[INFO] [stdout] 51 | fn is_file(ch: char) -> bool {
[INFO] [stdout]    |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_rank` is never used
[INFO] [stdout]   --> src/user.rs:55:4
[INFO] [stdout]    |
[INFO] [stdout] 55 | fn is_rank(ch: char) -> bool {
[INFO] [stdout]    |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `evaluate_characters` is never used
[INFO] [stdout]   --> src/user.rs:59:4
[INFO] [stdout]    |
[INFO] [stdout] 59 | fn evaluate_characters(input: String) -> bool {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `input_matches_format` is never used
[INFO] [stdout]   --> src/user.rs:69:4
[INFO] [stdout]    |
[INFO] [stdout] 69 | fn input_matches_format(input: String) -> bool {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_format_matched_user_input` is never used
[INFO] [stdout]   --> src/user.rs:73:4
[INFO] [stdout]    |
[INFO] [stdout] 73 | fn get_format_matched_user_input() -> String {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_start_square` is never used
[INFO] [stdout]   --> src/user.rs:85:4
[INFO] [stdout]    |
[INFO] [stdout] 85 | fn get_start_square(input: String) -> u8 {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_end_square` is never used
[INFO] [stdout]   --> src/user.rs:89:4
[INFO] [stdout]    |
[INFO] [stdout] 89 | fn get_end_square(input: String) -> u8 {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `update_board_by_indices` is never used
[INFO] [stdout]   --> src/user.rs:93:4
[INFO] [stdout]    |
[INFO] [stdout] 93 | fn update_board_by_indices(mut state: [u64; 13], start: u8, end: u8) -> [u64; 13] {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `update_board_by_string` is never used
[INFO] [stdout]    --> src/user.rs:104:4
[INFO] [stdout]     |
[INFO] [stdout] 104 | fn update_board_by_string(state: [u64; 13], input: String) -> [u64; 13] {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `two_console_game` is never used
[INFO] [stdout]   --> src/game.rs:13:8
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub fn two_console_game() {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `one_bot_game` is never used
[INFO] [stdout]   --> src/game.rs:21:8
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub fn one_bot_game() {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `two_bot_game` is never used
[INFO] [stdout]   --> src/game.rs:46:8
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub fn two_bot_game() {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `enter_your_move_message` is never used
[INFO] [stdout]   --> src/game.rs:76:4
[INFO] [stdout]    |
[INFO] [stdout] 76 | fn enter_your_move_message(turn_number: u8) {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `send_message_for_turn` is never used
[INFO] [stdout]   --> src/game.rs:84:4
[INFO] [stdout]    |
[INFO] [stdout] 84 | fn send_message_for_turn(state: [u64; 13], turn_number: u8) {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `play_player_turn` is never used
[INFO] [stdout]   --> src/game.rs:89:4
[INFO] [stdout]    |
[INFO] [stdout] 89 | fn play_player_turn(state: &mut [u64; 13], turn_number: &mut u8) {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `play_engine_turn_quiet` is never used
[INFO] [stdout]    --> src/game.rs:106:8
[INFO] [stdout]     |
[INFO] [stdout] 106 | pub fn play_engine_turn_quiet(engine: &Bot, state: &mut [u64; 13], turn_number: &mut u8) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `collect_points` is never used
[INFO] [stdout]   --> src/bot.rs:39:4
[INFO] [stdout]    |
[INFO] [stdout] 39 | fn collect_points(state: [u64; 13]) -> f64 {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `basic_eval` is never used
[INFO] [stdout]   --> src/bot.rs:43:8
[INFO] [stdout]    |
[INFO] [stdout] 43 | pub fn basic_eval(state: [u64; 13]) -> f64 {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `random_eval` is never used
[INFO] [stdout]   --> src/bot.rs:47:8
[INFO] [stdout]    |
[INFO] [stdout] 47 | pub fn random_eval(_state: [u64; 13]) -> f64 {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `center_squares_worth` is never used
[INFO] [stdout]   --> src/bot.rs:52:8
[INFO] [stdout]    |
[INFO] [stdout] 52 | pub fn center_squares_worth(state: [u64; 13]) -> f64 {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_state_quiet` is never used
[INFO] [stdout]   --> src/bot.rs:80:10
[INFO] [stdout]    |
[INFO] [stdout] 67 | impl Bot {
[INFO] [stdout]    | -------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 80 |   pub fn get_state_quiet(&self, state: [u64; 13], turn_number: u8) -> [u64; 13] {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `d_of_ReLu_respect_to_weight` should have a snake case name
[INFO] [stdout]   --> src/network/network.rs:52:6
[INFO] [stdout]    |
[INFO] [stdout] 52 |   fn d_of_ReLu_respect_to_weight(activated_value: f32) -> f32 {
[INFO] [stdout]    |      ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `d_of_re_lu_respect_to_weight`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `derivative_of_ReLu_with_respect_to_weight_index_included` should have a snake case name
[INFO] [stdout]   --> src/network/network.rs:56:6
[INFO] [stdout]    |
[INFO] [stdout] 56 |   fn derivative_of_ReLu_with_respect_to_weight_index_included(activated_value: f32, input_value: f32) -> f32 {
[INFO] [stdout]    |      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `derivative_of_re_lu_with_respect_to_weight_index_included`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]   --> src/network/nn.rs:64:45
[INFO] [stdout]    |
[INFO] [stdout] 64 |   fn get_already_calculated_layer_influence(&self, layer_index: u16) -> std::slice::Iter<f32> {
[INFO] [stdout]    |                                             ^^^^^                       --------------------- the lifetime gets resolved as `'_`
[INFO] [stdout]    |                                             |
[INFO] [stdout]    |                                             this lifetime flows to the output
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]    |
[INFO] [stdout] 64 |   fn get_already_calculated_layer_influence(&self, layer_index: u16) -> std::slice::Iter<'_, f32> {
[INFO] [stdout]    |                                                                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]   --> src/network/forward_prop.rs:62:19
[INFO] [stdout]    |
[INFO] [stdout] 62 |   pub fn vals_mut(&mut self, layer_index: u16) -> std::slice::IterMut<f32> {
[INFO] [stdout]    |                   ^^^^^^^^^                       ------------------------ the lifetime gets resolved as `'_`
[INFO] [stdout]    |                   |
[INFO] [stdout]    |                   this lifetime flows to the output
[INFO] [stdout]    |
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]    |
[INFO] [stdout] 62 |   pub fn vals_mut(&mut self, layer_index: u16) -> std::slice::IterMut<'_, f32> {
[INFO] [stdout]    |                                                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]   --> src/network/forward_prop.rs:66:21
[INFO] [stdout]    |
[INFO] [stdout] 66 |   fn weights_in_mut(&mut self, layer_index: u16, node_index: u16) -> std::slice::IterMut<f32> {
[INFO] [stdout]    |                     ^^^^^^^^^ this lifetime flows to the output      ------------------------ the lifetime gets resolved as `'_`
[INFO] [stdout]    |
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]    |
[INFO] [stdout] 66 |   fn weights_in_mut(&mut self, layer_index: u16, node_index: u16) -> std::slice::IterMut<'_, f32> {
[INFO] [stdout]    |                                                                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]   --> src/network/forward_prop.rs:70:21
[INFO] [stdout]    |
[INFO] [stdout] 70 |   pub fn vals_immut(&self, layer_index: u16) -> std::slice::Iter<f32> {
[INFO] [stdout]    |                     ^^^^^                       --------------------- the lifetime gets resolved as `'_`
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     this lifetime flows to the output
[INFO] [stdout]    |
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]    |
[INFO] [stdout] 70 |   pub fn vals_immut(&self, layer_index: u16) -> std::slice::Iter<'_, f32> {
[INFO] [stdout]    |                                                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]   --> src/network/forward_prop.rs:74:27
[INFO] [stdout]    |
[INFO] [stdout] 74 |   pub fn weights_in_immut(&self, layer_index: u16, node_index: u16) -> std::slice::Iter<f32> {
[INFO] [stdout]    |                           ^^^^^ this lifetime flows to the output      --------------------- the lifetime gets resolved as `'_`
[INFO] [stdout]    |
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]    |
[INFO] [stdout] 74 |   pub fn weights_in_immut(&self, layer_index: u16, node_index: u16) -> std::slice::Iter<'_, f32> {
[INFO] [stdout]    |                                                                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique
[INFO] [stdout]   --> src/network/net.rs:10:3
[INFO] [stdout]    |
[INFO] [stdout] 5  | #[derive(Clone, PartialEq, Debug)]
[INFO] [stdout]    |                 --------- in this derive macro expansion
[INFO] [stdout] ...
[INFO] [stdout] 10 |   pub act_fn: fn(f64) -> f64,
[INFO] [stdout]    |   ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: the address of the same function can vary between different codegen units
[INFO] [stdout]    = note: furthermore, different functions could have the same address after being merged together
[INFO] [stdout]    = note: for more information visit <https://doc.rust-lang.org/nightly/core/ptr/fn.fn_addr_eq.html>
[INFO] [stdout]    = note: `#[warn(unpredictable_function_pointer_comparisons)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique
[INFO] [stdout]   --> src/network/net.rs:11:3
[INFO] [stdout]    |
[INFO] [stdout] 5  | #[derive(Clone, PartialEq, Debug)]
[INFO] [stdout]    |                 --------- in this derive macro expansion
[INFO] [stdout] ...
[INFO] [stdout] 11 |   pub der_fn: fn(f64) -> f64,
[INFO] [stdout]    |   ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: the address of the same function can vary between different codegen units
[INFO] [stdout]    = note: furthermore, different functions could have the same address after being merged together
[INFO] [stdout]    = note: for more information visit <https://doc.rust-lang.org/nightly/core/ptr/fn.fn_addr_eq.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `L_shape` should have a snake case name
[INFO] [stdout]   --> src/open_squares.rs:20:8
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub fn L_shape(board: u64, square: u64) -> u64 {
[INFO] [stdout]    |        ^^^^^^^ help: convert the identifier to snake case: `l_shape`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 7.50s
[INFO] running `Command { std: "docker" "inspect" "6aa0aeb1c7dafffb9ac3e3e2aa489e98b16671964405b7c93fd758ac9d125dfa", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "6aa0aeb1c7dafffb9ac3e3e2aa489e98b16671964405b7c93fd758ac9d125dfa", kill_on_drop: false }`
[INFO] [stdout] 6aa0aeb1c7dafffb9ac3e3e2aa489e98b16671964405b7c93fd758ac9d125dfa
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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 -Copt-level=3" "-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+733b47ea4b1b86216f14ef56e49440c33933f230" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] ce742b55e2ef91fae92fd23cce9866c386ac5068e3d5975f84fea057f3f8ce27
[INFO] running `Command { std: "docker" "start" "-a" "ce742b55e2ef91fae92fd23cce9866c386ac5068e3d5975f84fea057f3f8ce27", kill_on_drop: false }`
[INFO] [stderr]    Compiling chess-engine v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `super::forward_prop`
[INFO] [stdout]  --> src/network/nn.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use super::forward_prop;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `File` and `OpenOptions`
[INFO] [stdout]  --> src/network/network_storage.rs:1:15
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::fs::{File, OpenOptions};
[INFO] [stdout]   |               ^^^^  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::path::Path`
[INFO] [stdout]  --> src/network/network_storage.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::path::Path;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Error` and `SeekFrom`
[INFO] [stdout]  --> src/network/network_storage.rs:6:15
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::io::{Error, SeekFrom};
[INFO] [stdout]   |               ^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `net` and `network_storage`
[INFO] [stdout]  --> src/network/train.rs:3:13
[INFO] [stdout]   |
[INFO] [stdout] 3 | use super::{net, network_storage};
[INFO] [stdout]   |             ^^^  ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::safe_shift`
[INFO] [stdout]  --> src/mask_for_square.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::safe_shift;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::utility::print_board`
[INFO] [stdout]  --> src/safe_shift.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::utility::print_board;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::utility::print_board`
[INFO] [stdout]   --> src/fill_beyond_bit.rs:46:5
[INFO] [stdout]    |
[INFO] [stdout] 46 | use crate::utility::print_board;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::find_occ_bit`
[INFO] [stdout]  --> src/find_block.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::find_occ_bit;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::open_squares`
[INFO] [stdout]  --> src/map.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::open_squares;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::find_block`
[INFO] [stdout]  --> src/open_squares.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::find_block;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::mask_for_square::for_square`
[INFO] [stdout]  --> src/open_squares.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::mask_for_square::for_square;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `bit_to_index`, `find_squares_in_list_on_board`, and `print_board`
[INFO] [stdout]  --> src/open_squares.rs:3:22
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::utility::{bit_to_index, print_board, find_squares_in_list_on_board};
[INFO] [stdout]   |                      ^^^^^^^^^^^^  ^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `find_squares_within_given_distance` and `reduce_square_indices_to_slice`
[INFO] [stdout]  --> src/open_squares.rs:4:37
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::utility::square_bounds::{find_squares_within_given_distance, reduce_square_indices_to_slice, find_offsets_on_board_within_dist...
[INFO] [stdout]   |                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `print_board_pieces` and `print_board`
[INFO] [stdout]  --> src/move.rs:5:13
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::{print_board, print_board_pieces};
[INFO] [stdout]   |             ^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::print_board`
[INFO] [stdout]  --> src/split_state.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::print_board;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `bstate` and `wstate`
[INFO] [stdout]  --> src/bot.rs:1:21
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::r#move::{wstate, bstate, states_for_turn};
[INFO] [stdout]   |                     ^^^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cmp`
[INFO] [stdout]  --> src/bot.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::cmp;
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::rand::prelude::IteratorRandom`
[INFO] [stdout]  --> src/bot.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::rand::prelude::IteratorRandom;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `print_board_pieces` and `print_board`
[INFO] [stdout]   --> src/bot.rs:11:13
[INFO] [stdout]    |
[INFO] [stdout] 11 | use crate::{print_board, print_board_pieces};
[INFO] [stdout]    |             ^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::map::CROSS_MOVE_MAP`
[INFO] [stdout]   --> src/main.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 26 | use crate::map::CROSS_MOVE_MAP;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::mask_for_square::for_rank`
[INFO] [stdout]   --> src/main.rs:27:5
[INFO] [stdout]    |
[INFO] [stdout] 27 | use crate::mask_for_square::for_rank;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io`
[INFO] [stdout]   --> src/main.rs:29:5
[INFO] [stdout]    |
[INFO] [stdout] 29 | use std::io;
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `one_bot_game`, `two_bot_game`, and `two_console_game`
[INFO] [stdout]   --> src/main.rs:30:19
[INFO] [stdout]    |
[INFO] [stdout] 30 | use crate::game::{two_console_game, one_bot_game, two_bot_game, two_bot_game_learn_bot};
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io::prelude`
[INFO] [stdout]  --> src/network/network_storage.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::io::prelude::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `evaluate_position` is never used
[INFO] [stdout]   --> src/network/eval.rs:50:8
[INFO] [stdout]    |
[INFO] [stdout] 50 | pub fn evaluate_position(_position: [u64; 13]) -> f32 {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `effect` is never read
[INFO] [stdout]  --> src/network/node.rs:9:7
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct Node {
[INFO] [stdout]   |            ---- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 9 |   pub effect: f32
[INFO] [stdout]   |       ^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `Node` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `create`, `weight_at_index`, and `print` are never used
[INFO] [stdout]   --> src/network/node.rs:13:10
[INFO] [stdout]    |
[INFO] [stdout] 12 | impl Node {
[INFO] [stdout]    | --------- associated items in this implementation
[INFO] [stdout] 13 |   pub fn create(v: f32, b: f32, w: Vec<f32>) -> Node {
[INFO] [stdout]    |          ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 39 |   pub fn weight_at_index(&self, index: u8) -> f32 {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 43 |   pub fn print(&self) {
[INFO] [stdout]    |          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `ListOfNodes` is never used
[INFO] [stdout]  --> src/network/layer.rs:4:6
[INFO] [stdout]   |
[INFO] [stdout] 4 | type ListOfNodes = Vec<Node>;
[INFO] [stdout]   |      ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `BiasesForWholeLayer` is never used
[INFO] [stdout]  --> src/network/layer.rs:5:6
[INFO] [stdout]   |
[INFO] [stdout] 5 | type BiasesForWholeLayer = Vec<f32>;
[INFO] [stdout]   |      ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `WeightsForWholeLayer` is never used
[INFO] [stdout]  --> src/network/layer.rs:6:6
[INFO] [stdout]   |
[INFO] [stdout] 6 | type WeightsForWholeLayer = Vec<Vec<f32>>;
[INFO] [stdout]   |      ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `create_layer_from_weights_and_biases`, `collect_mutable_nodes`, `collect_effects`, and `get_current_value_by_index` are never used
[INFO] [stdout]   --> src/network/layer.rs:32:10
[INFO] [stdout]    |
[INFO] [stdout] 14 | impl Layer {
[INFO] [stdout]    | ---------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 32 |   pub fn create_layer_from_weights_and_biases(weights: WeightsForWholeLayer, biases: BiasesForWholeLayer, a_fn: AF) -> Layer {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 50 |   pub fn collect_mutable_nodes(&mut self) -> &mut Vec<Node> {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 54 |   pub fn collect_effects(&self) -> Vec<f32> {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 59 |   pub fn get_current_value_by_index(&self, node_index: u8) -> f32 {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `InputBinaries` is never used
[INFO] [stdout]  --> src/network/network.rs:4:6
[INFO] [stdout]   |
[INFO] [stdout] 4 | type InputBinaries = Vec<u8>;
[INFO] [stdout]   |      ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `learning_rate` is never read
[INFO] [stdout]   --> src/network/network.rs:10:7
[INFO] [stdout]    |
[INFO] [stdout] 8  | pub struct Network {
[INFO] [stdout]    |            ------- field in this struct
[INFO] [stdout] 9  |   pub layers: ListOfLayers,
[INFO] [stdout] 10 |   pub learning_rate: f32,
[INFO] [stdout]    |       ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/network/network.rs:16:6
[INFO] [stdout]     |
[INFO] [stdout] 14  | impl Network {
[INFO] [stdout]     | ------------ associated items in this implementation
[INFO] [stdout] 15  |
[INFO] [stdout] 16  |   fn set_effects_for_all_layers(&mut self) {
[INFO] [stdout]     |      ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 20  |   fn set_effects_of_layer(&mut self, index: u8) {
[INFO] [stdout]     |      ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 25  |   fn calculate_effect_of_layer(&mut self, index: u8) -> Vec<f32> {
[INFO] [stdout]     |      ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 35  |   fn calculate_contribution_to_error_of_layer_of_weights(&mut self, layer_of_contributors: u8, index_of_affected: u8, target: f32) -> Vec...
[INFO] [stdout]     |      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 42  |   fn calculate_contribution_to_error_of_weight(&mut self, layer_of_contributor: u8, index_of_contributor: u8, index_of_affected: u8, targ...
[INFO] [stdout]     |      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 52  |   fn d_of_ReLu_respect_to_weight(activated_value: f32) -> f32 {
[INFO] [stdout]     |      ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 56  |   fn derivative_of_ReLu_with_respect_to_weight_index_included(activated_value: f32, input_value: f32) -> f32 {
[INFO] [stdout]     |      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 60  |   fn set_effect_on_cost_for_last_node(&mut self, target: f32) {
[INFO] [stdout]     |      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 65  |   fn get_effect_on_cost_from_last_node(&self, target: f32) -> f32 {
[INFO] [stdout]     |      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 70  |   fn get_error_from_last_node(&self, target: f32) -> f32 {
[INFO] [stdout]     |      ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 75  |   pub fn run_network_with_new_input(&mut self, input: Vec<u8>) {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 80  |   pub fn get_output(&mut self) -> f32 {
[INFO] [stdout]     |          ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 85  |   pub fn create_random_with_input(number_of_layers: usize, nodes_per_layer: usize, a_fn: AF, l_r: f32, itn: Vec<u8>) -> Network {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 124 |   fn get_value_of_final_node(&self) -> f32 {
[INFO] [stdout]     |      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 128 |   fn set_values_for_network(&mut self) {
[INFO] [stdout]     |      ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 149 |   fn set_effects_for_layer_from_vector(&mut self, layer_index: u8, values: Vec<f32>) {
[INFO] [stdout]     |      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 197 |   fn get_values_of_layer(&self, layer_index: u8) -> Vec<f32> {
[INFO] [stdout]     |      ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `NN` is never constructed
[INFO] [stdout]  --> src/network/nn.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub struct NN {
[INFO] [stdout]   |            ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]   --> src/network/nn.rs:14:10
[INFO] [stdout]    |
[INFO] [stdout] 13 | impl NN {
[INFO] [stdout]    | ------- methods in this implementation
[INFO] [stdout] 14 |   pub fn error(&self, target: f32) -> f32 {
[INFO] [stdout]    |          ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 18 |   pub fn backprop(&mut self, target: f32) {
[INFO] [stdout]    |          ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 23 |   fn adjust_all_weights(&mut self) {
[INFO] [stdout]    |      ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 28 |   fn adjust_weights_in_layer(&mut self, layer_index: u16) {
[INFO] [stdout]    |      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 40 |   fn set_all_layer_influences(&mut self, target: f32) {
[INFO] [stdout]    |      ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 45 |   fn set_layer_influence(&mut self, layer_index: u16) {
[INFO] [stdout]    |      ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 50 |   fn get_layer_influence(&self, layer_index: u16) -> Vec<f32> {
[INFO] [stdout]    |      ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 64 |   fn get_already_calculated_layer_influence(&self, layer_index: u16) -> std::slice::Iter<f32> {
[INFO] [stdout]    |      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 69 |   fn set_starting_influence(&mut self, target: f32) {
[INFO] [stdout]    |      ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 75 |   fn starting_influence(&self, target: f32) -> f32 {
[INFO] [stdout]    |      ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/network/forward_prop.rs:5:10
[INFO] [stdout]     |
[INFO] [stdout] 4   | impl NN {
[INFO] [stdout]     | ------- associated items in this implementation
[INFO] [stdout] 5   |   pub fn forwardprop(&mut self, input: Vec<f32>) -> f32 {
[INFO] [stdout]     |          ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 10  |   pub fn create(nodes: u16, layers: u16, a_fn: fn(f32) -> f32, d_fn: fn(f32) -> f32, l_r: f32) -> NN {
[INFO] [stdout]     |          ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 30  |   pub fn create_random_wb(nodes: u16, layers: u16, a_fn: fn(f32) -> f32, d_fn: fn(f32) -> f32, l_r: f32) -> NN {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 48  |   pub fn set_all_layers_from_input(&mut self, input: Vec<f32>) {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 54  |   pub fn get_final_value(&self) -> f32 {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 62  |   pub fn vals_mut(&mut self, layer_index: u16) -> std::slice::IterMut<f32> {
[INFO] [stdout]     |          ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 66  |   fn weights_in_mut(&mut self, layer_index: u16, node_index: u16) -> std::slice::IterMut<f32> {
[INFO] [stdout]     |      ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 70  |   pub fn vals_immut(&self, layer_index: u16) -> std::slice::Iter<f32> {
[INFO] [stdout]     |          ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 74  |   pub fn weights_in_immut(&self, layer_index: u16, node_index: u16) -> std::slice::Iter<f32> {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 78  |   fn set_layer_sum(&mut self, layer_index: u16) {
[INFO] [stdout]     |      ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 86  |   fn get_node_sum(&self, layer_index: u16, node_index: u16) -> f32 {
[INFO] [stdout]     |      ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 95  |   fn set_layer_val(&mut self, layer_index: u16) {
[INFO] [stdout]     |      ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 103 |   fn set_last_layer(&mut self) {
[INFO] [stdout]     |      ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 116 |   fn set_all_layers_but_zeroth(&mut self) {
[INFO] [stdout]     |      ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 121 |   pub fn set_zeroth_layer_from_input(&mut self, input: Vec<f32>) {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 129 |   fn get_node_sum_from_input(&self, node_index: u16, input: Vec<f32>) -> f32 {
[INFO] [stdout]     |      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `forward_backward_forward_get_value` is never used
[INFO] [stdout]   --> src/network/net.rs:22:10
[INFO] [stdout]    |
[INFO] [stdout] 16 | impl Net {
[INFO] [stdout]    | -------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 22 |   pub fn forward_backward_forward_get_value(&mut self, input: Vec<f64>, target: f64) -> f64 {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `sigmoid` is never used
[INFO] [stdout]    --> src/network/net.rs:210:6
[INFO] [stdout]     |
[INFO] [stdout] 210 |   fn sigmoid(input: f64) -> f64 {
[INFO] [stdout]     |      ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `sigmoid_der` is never used
[INFO] [stdout]    --> src/network/net.rs:214:6
[INFO] [stdout]     |
[INFO] [stdout] 214 |   fn sigmoid_der(input: f64) -> f64 {
[INFO] [stdout]     |      ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `print_weights` is never used
[INFO] [stdout]    --> src/network/net.rs:369:6
[INFO] [stdout]     |
[INFO] [stdout] 369 |   fn print_weights(weights: Vec<Vec<Vec<f64>>>, message: &str) {
[INFO] [stdout]     |      ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `print_error_signals` is never used
[INFO] [stdout]    --> src/network/net.rs:379:6
[INFO] [stdout]     |
[INFO] [stdout] 379 |   fn print_error_signals(error_signals: Vec<Vec<f64>>, message: &str) {
[INFO] [stdout]     |      ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `train_network_with_games` is never used
[INFO] [stdout]   --> src/network/train.rs:18:8
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub fn train_network_with_games(number_of_games: usize) {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `train_network_with_one_game` is never used
[INFO] [stdout]   --> src/network/train.rs:33:4
[INFO] [stdout]    |
[INFO] [stdout] 33 | fn train_network_with_one_game() {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `normalize_evaluation` is never used
[INFO] [stdout]   --> src/network/train.rs:41:4
[INFO] [stdout]    |
[INFO] [stdout] 41 | fn normalize_evaluation(eval: f64) -> f64 {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_random_game_states_with_adjustments` is never used
[INFO] [stdout]   --> src/network/train.rs:53:4
[INFO] [stdout]    |
[INFO] [stdout] 53 | fn get_random_game_states_with_adjustments() -> HashMap<[u64; 13], f64> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CENTER_FOUR_SQUARES` is never used
[INFO] [stdout]   --> src/constants.rs:47:11
[INFO] [stdout]    |
[INFO] [stdout] 47 | pub const CENTER_FOUR_SQUARES: u64 = 0x1818000000;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SECOND_CENTER_SQUARES` is never used
[INFO] [stdout]   --> src/constants.rs:48:11
[INFO] [stdout]    |
[INFO] [stdout] 48 | pub const SECOND_CENTER_SQUARES: u64 = 0x3C24243C0000;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `vertical` is never used
[INFO] [stdout]   --> src/safe_shift.rs:17:8
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub fn vertical(board: u64, rank: i8) -> u64 {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `number_of_bits` is never used
[INFO] [stdout]  --> src/utility.rs:4:8
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub fn number_of_bits(mut board: u64) -> u8 {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_white_occupation_except_king` is never used
[INFO] [stdout]   --> src/board.rs:23:8
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub fn get_white_occupation_except_king(board: [u64; 13]) -> u64 {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_black_occupation_except_king` is never used
[INFO] [stdout]   --> src/board.rs:31:8
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub fn get_black_occupation_except_king(board: [u64; 13]) -> u64 {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_ally_occupation` is never used
[INFO] [stdout]   --> src/board.rs:57:8
[INFO] [stdout]    |
[INFO] [stdout] 57 | pub fn get_ally_occupation(board: [u64; 13], turn: u8) -> u64 {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_legal_input_state` is never used
[INFO] [stdout]  --> src/user.rs:6:8
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub fn get_legal_input_state(current_state: [u64; 13], legal_states: Vec<[u64; 13]>) -> [u64; 13] {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `input_wrapper` is never used
[INFO] [stdout]   --> src/user.rs:21:4
[INFO] [stdout]    |
[INFO] [stdout] 21 | fn input_wrapper() -> String {
[INFO] [stdout]    |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_file` is never used
[INFO] [stdout]   --> src/user.rs:51:4
[INFO] [stdout]    |
[INFO] [stdout] 51 | fn is_file(ch: char) -> bool {
[INFO] [stdout]    |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_rank` is never used
[INFO] [stdout]   --> src/user.rs:55:4
[INFO] [stdout]    |
[INFO] [stdout] 55 | fn is_rank(ch: char) -> bool {
[INFO] [stdout]    |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `evaluate_characters` is never used
[INFO] [stdout]   --> src/user.rs:59:4
[INFO] [stdout]    |
[INFO] [stdout] 59 | fn evaluate_characters(input: String) -> bool {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `input_matches_format` is never used
[INFO] [stdout]   --> src/user.rs:69:4
[INFO] [stdout]    |
[INFO] [stdout] 69 | fn input_matches_format(input: String) -> bool {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_format_matched_user_input` is never used
[INFO] [stdout]   --> src/user.rs:73:4
[INFO] [stdout]    |
[INFO] [stdout] 73 | fn get_format_matched_user_input() -> String {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_end_square` is never used
[INFO] [stdout]   --> src/user.rs:89:4
[INFO] [stdout]    |
[INFO] [stdout] 89 | fn get_end_square(input: String) -> u8 {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `update_board_by_indices` is never used
[INFO] [stdout]   --> src/user.rs:93:4
[INFO] [stdout]    |
[INFO] [stdout] 93 | fn update_board_by_indices(mut state: [u64; 13], start: u8, end: u8) -> [u64; 13] {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `update_board_by_string` is never used
[INFO] [stdout]    --> src/user.rs:104:4
[INFO] [stdout]     |
[INFO] [stdout] 104 | fn update_board_by_string(state: [u64; 13], input: String) -> [u64; 13] {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `two_console_game` is never used
[INFO] [stdout]   --> src/game.rs:13:8
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub fn two_console_game() {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `one_bot_game` is never used
[INFO] [stdout]   --> src/game.rs:21:8
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub fn one_bot_game() {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `two_bot_game` is never used
[INFO] [stdout]   --> src/game.rs:46:8
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub fn two_bot_game() {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `enter_your_move_message` is never used
[INFO] [stdout]   --> src/game.rs:76:4
[INFO] [stdout]    |
[INFO] [stdout] 76 | fn enter_your_move_message(turn_number: u8) {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `send_message_for_turn` is never used
[INFO] [stdout]   --> src/game.rs:84:4
[INFO] [stdout]    |
[INFO] [stdout] 84 | fn send_message_for_turn(state: [u64; 13], turn_number: u8) {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `play_player_turn` is never used
[INFO] [stdout]   --> src/game.rs:89:4
[INFO] [stdout]    |
[INFO] [stdout] 89 | fn play_player_turn(state: &mut [u64; 13], turn_number: &mut u8) {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `play_engine_turn_quiet` is never used
[INFO] [stdout]    --> src/game.rs:106:8
[INFO] [stdout]     |
[INFO] [stdout] 106 | pub fn play_engine_turn_quiet(engine: &Bot, state: &mut [u64; 13], turn_number: &mut u8) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `collect_points` is never used
[INFO] [stdout]   --> src/bot.rs:39:4
[INFO] [stdout]    |
[INFO] [stdout] 39 | fn collect_points(state: [u64; 13]) -> f64 {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `basic_eval` is never used
[INFO] [stdout]   --> src/bot.rs:43:8
[INFO] [stdout]    |
[INFO] [stdout] 43 | pub fn basic_eval(state: [u64; 13]) -> f64 {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `random_eval` is never used
[INFO] [stdout]   --> src/bot.rs:47:8
[INFO] [stdout]    |
[INFO] [stdout] 47 | pub fn random_eval(_state: [u64; 13]) -> f64 {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `center_squares_worth` is never used
[INFO] [stdout]   --> src/bot.rs:52:8
[INFO] [stdout]    |
[INFO] [stdout] 52 | pub fn center_squares_worth(state: [u64; 13]) -> f64 {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_state_quiet` is never used
[INFO] [stdout]   --> src/bot.rs:80:10
[INFO] [stdout]    |
[INFO] [stdout] 67 | impl Bot {
[INFO] [stdout]    | -------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 80 |   pub fn get_state_quiet(&self, state: [u64; 13], turn_number: u8) -> [u64; 13] {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `d_of_ReLu_respect_to_weight` should have a snake case name
[INFO] [stdout]   --> src/network/network.rs:52:6
[INFO] [stdout]    |
[INFO] [stdout] 52 |   fn d_of_ReLu_respect_to_weight(activated_value: f32) -> f32 {
[INFO] [stdout]    |      ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `d_of_re_lu_respect_to_weight`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `derivative_of_ReLu_with_respect_to_weight_index_included` should have a snake case name
[INFO] [stdout]   --> src/network/network.rs:56:6
[INFO] [stdout]    |
[INFO] [stdout] 56 |   fn derivative_of_ReLu_with_respect_to_weight_index_included(activated_value: f32, input_value: f32) -> f32 {
[INFO] [stdout]    |      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `derivative_of_re_lu_with_respect_to_weight_index_included`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]   --> src/network/nn.rs:64:45
[INFO] [stdout]    |
[INFO] [stdout] 64 |   fn get_already_calculated_layer_influence(&self, layer_index: u16) -> std::slice::Iter<f32> {
[INFO] [stdout]    |                                             ^^^^^                       --------------------- the lifetime gets resolved as `'_`
[INFO] [stdout]    |                                             |
[INFO] [stdout]    |                                             this lifetime flows to the output
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]    |
[INFO] [stdout] 64 |   fn get_already_calculated_layer_influence(&self, layer_index: u16) -> std::slice::Iter<'_, f32> {
[INFO] [stdout]    |                                                                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]   --> src/network/forward_prop.rs:62:19
[INFO] [stdout]    |
[INFO] [stdout] 62 |   pub fn vals_mut(&mut self, layer_index: u16) -> std::slice::IterMut<f32> {
[INFO] [stdout]    |                   ^^^^^^^^^                       ------------------------ the lifetime gets resolved as `'_`
[INFO] [stdout]    |                   |
[INFO] [stdout]    |                   this lifetime flows to the output
[INFO] [stdout]    |
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]    |
[INFO] [stdout] 62 |   pub fn vals_mut(&mut self, layer_index: u16) -> std::slice::IterMut<'_, f32> {
[INFO] [stdout]    |                                                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]   --> src/network/forward_prop.rs:66:21
[INFO] [stdout]    |
[INFO] [stdout] 66 |   fn weights_in_mut(&mut self, layer_index: u16, node_index: u16) -> std::slice::IterMut<f32> {
[INFO] [stdout]    |                     ^^^^^^^^^ this lifetime flows to the output      ------------------------ the lifetime gets resolved as `'_`
[INFO] [stdout]    |
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]    |
[INFO] [stdout] 66 |   fn weights_in_mut(&mut self, layer_index: u16, node_index: u16) -> std::slice::IterMut<'_, f32> {
[INFO] [stdout]    |                                                                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]   --> src/network/forward_prop.rs:70:21
[INFO] [stdout]    |
[INFO] [stdout] 70 |   pub fn vals_immut(&self, layer_index: u16) -> std::slice::Iter<f32> {
[INFO] [stdout]    |                     ^^^^^                       --------------------- the lifetime gets resolved as `'_`
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     this lifetime flows to the output
[INFO] [stdout]    |
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]    |
[INFO] [stdout] 70 |   pub fn vals_immut(&self, layer_index: u16) -> std::slice::Iter<'_, f32> {
[INFO] [stdout]    |                                                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]   --> src/network/forward_prop.rs:74:27
[INFO] [stdout]    |
[INFO] [stdout] 74 |   pub fn weights_in_immut(&self, layer_index: u16, node_index: u16) -> std::slice::Iter<f32> {
[INFO] [stdout]    |                           ^^^^^ this lifetime flows to the output      --------------------- the lifetime gets resolved as `'_`
[INFO] [stdout]    |
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]    |
[INFO] [stdout] 74 |   pub fn weights_in_immut(&self, layer_index: u16, node_index: u16) -> std::slice::Iter<'_, f32> {
[INFO] [stdout]    |                                                                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique
[INFO] [stdout]   --> src/network/net.rs:10:3
[INFO] [stdout]    |
[INFO] [stdout] 5  | #[derive(Clone, PartialEq, Debug)]
[INFO] [stdout]    |                 --------- in this derive macro expansion
[INFO] [stdout] ...
[INFO] [stdout] 10 |   pub act_fn: fn(f64) -> f64,
[INFO] [stdout]    |   ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: the address of the same function can vary between different codegen units
[INFO] [stdout]    = note: furthermore, different functions could have the same address after being merged together
[INFO] [stdout]    = note: for more information visit <https://doc.rust-lang.org/nightly/core/ptr/fn.fn_addr_eq.html>
[INFO] [stdout]    = note: `#[warn(unpredictable_function_pointer_comparisons)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique
[INFO] [stdout]   --> src/network/net.rs:11:3
[INFO] [stdout]    |
[INFO] [stdout] 5  | #[derive(Clone, PartialEq, Debug)]
[INFO] [stdout]    |                 --------- in this derive macro expansion
[INFO] [stdout] ...
[INFO] [stdout] 11 |   pub der_fn: fn(f64) -> f64,
[INFO] [stdout]    |   ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: the address of the same function can vary between different codegen units
[INFO] [stdout]    = note: furthermore, different functions could have the same address after being merged together
[INFO] [stdout]    = note: for more information visit <https://doc.rust-lang.org/nightly/core/ptr/fn.fn_addr_eq.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `leaky_ReLu` should have a snake case name
[INFO] [stdout]    --> src/network/net.rs:202:6
[INFO] [stdout]     |
[INFO] [stdout] 202 |   fn leaky_ReLu(input: f64) -> f64 {
[INFO] [stdout]     |      ^^^^^^^^^^ help: convert the identifier to snake case: `leaky_re_lu`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `leaky_ReLu_der` should have a snake case name
[INFO] [stdout]    --> src/network/net.rs:206:6
[INFO] [stdout]     |
[INFO] [stdout] 206 |   fn leaky_ReLu_der(input: f64) -> f64 {
[INFO] [stdout]     |      ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `leaky_re_lu_der`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `L_shape` should have a snake case name
[INFO] [stdout]   --> src/open_squares.rs:20:8
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub fn L_shape(board: u64, square: u64) -> u64 {
[INFO] [stdout]    |        ^^^^^^^ help: convert the identifier to snake case: `l_shape`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `finds_L_shape_from_bottom_left` should have a snake case name
[INFO] [stdout]   --> src/open_squares.rs:44:6
[INFO] [stdout]    |
[INFO] [stdout] 44 |   fn finds_L_shape_from_bottom_left() {
[INFO] [stdout]    |      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `finds_l_shape_from_bottom_left`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `finds_L_shape_from_bottom_middle` should have a snake case name
[INFO] [stdout]   --> src/open_squares.rs:49:6
[INFO] [stdout]    |
[INFO] [stdout] 49 |   fn finds_L_shape_from_bottom_middle() {
[INFO] [stdout]    |      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `finds_l_shape_from_bottom_middle`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `finds_L_shape_from_middle_of_board` should have a snake case name
[INFO] [stdout]   --> src/open_squares.rs:54:6
[INFO] [stdout]    |
[INFO] [stdout] 54 |   fn finds_L_shape_from_middle_of_board() {
[INFO] [stdout]    |      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `finds_l_shape_from_middle_of_board`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `finds_L_shape_from_top_right_of_board` should have a snake case name
[INFO] [stdout]   --> src/open_squares.rs:59:6
[INFO] [stdout]    |
[INFO] [stdout] 59 |   fn finds_L_shape_from_top_right_of_board() {
[INFO] [stdout]    |      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `finds_l_shape_from_top_right_of_board`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 6.44s
[INFO] running `Command { std: "docker" "inspect" "ce742b55e2ef91fae92fd23cce9866c386ac5068e3d5975f84fea057f3f8ce27", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "ce742b55e2ef91fae92fd23cce9866c386ac5068e3d5975f84fea057f3f8ce27", kill_on_drop: false }`
[INFO] [stdout] ce742b55e2ef91fae92fd23cce9866c386ac5068e3d5975f84fea057f3f8ce27
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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 -Copt-level=3" "-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+733b47ea4b1b86216f14ef56e49440c33933f230" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] a7bd980229818cb36e33ed19ec81c193c3b57d6ef0d96143f649232f057274ee
[INFO] running `Command { std: "docker" "start" "-a" "a7bd980229818cb36e33ed19ec81c193c3b57d6ef0d96143f649232f057274ee", kill_on_drop: false }`
[INFO] [stderr] warning: unused import: `super::forward_prop`
[INFO] [stderr]  --> src/network/nn.rs:1:5
[INFO] [stderr]   |
[INFO] [stderr] 1 | use super::forward_prop;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `File` and `OpenOptions`
[INFO] [stderr]  --> src/network/network_storage.rs:1:15
[INFO] [stderr]   |
[INFO] [stderr] 1 | use std::fs::{File, OpenOptions};
[INFO] [stderr]   |               ^^^^  ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::path::Path`
[INFO] [stderr]  --> src/network/network_storage.rs:3:5
[INFO] [stderr]   |
[INFO] [stderr] 3 | use std::path::Path;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `Error` and `SeekFrom`
[INFO] [stderr]  --> src/network/network_storage.rs:6:15
[INFO] [stderr]   |
[INFO] [stderr] 6 | use std::io::{Error, SeekFrom};
[INFO] [stderr]   |               ^^^^^  ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `net` and `network_storage`
[INFO] [stderr]  --> src/network/train.rs:3:13
[INFO] [stderr]   |
[INFO] [stderr] 3 | use super::{net, network_storage};
[INFO] [stderr]   |             ^^^  ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::safe_shift`
[INFO] [stderr]  --> src/mask_for_square.rs:5:5
[INFO] [stderr]   |
[INFO] [stderr] 5 | use crate::safe_shift;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::utility::print_board`
[INFO] [stderr]  --> src/safe_shift.rs:2:5
[INFO] [stderr]   |
[INFO] [stderr] 2 | use crate::utility::print_board;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::utility::print_board`
[INFO] [stderr]   --> src/fill_beyond_bit.rs:46:5
[INFO] [stderr]    |
[INFO] [stderr] 46 | use crate::utility::print_board;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::find_occ_bit`
[INFO] [stderr]  --> src/find_block.rs:1:5
[INFO] [stderr]   |
[INFO] [stderr] 1 | use crate::find_occ_bit;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::open_squares`
[INFO] [stderr]  --> src/map.rs:1:5
[INFO] [stderr]   |
[INFO] [stderr] 1 | use crate::open_squares;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::find_block`
[INFO] [stderr]  --> src/open_squares.rs:1:5
[INFO] [stderr]   |
[INFO] [stderr] 1 | use crate::find_block;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::mask_for_square::for_square`
[INFO] [stderr]  --> src/open_squares.rs:2:5
[INFO] [stderr]   |
[INFO] [stderr] 2 | use crate::mask_for_square::for_square;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `bit_to_index`, `find_squares_in_list_on_board`, and `print_board`
[INFO] [stderr]  --> src/open_squares.rs:3:22
[INFO] [stderr]   |
[INFO] [stderr] 3 | use crate::utility::{bit_to_index, print_board, find_squares_in_list_on_board};
[INFO] [stderr]   |                      ^^^^^^^^^^^^  ^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `find_squares_within_given_distance` and `reduce_square_indices_to_slice`
[INFO] [stderr]  --> src/open_squares.rs:4:37
[INFO] [stderr]   |
[INFO] [stderr] 4 | use crate::utility::square_bounds::{find_squares_within_given_distance, reduce_square_indices_to_slice, find_offsets_on_board_within_dist...
[INFO] [stderr]   |                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `print_board_pieces` and `print_board`
[INFO] [stderr]  --> src/move.rs:5:13
[INFO] [stderr]   |
[INFO] [stderr] 5 | use crate::{print_board, print_board_pieces};
[INFO] [stderr]   |             ^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::print_board`
[INFO] [stderr]  --> src/split_state.rs:3:5
[INFO] [stderr]   |
[INFO] [stderr] 3 | use crate::print_board;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `bstate` and `wstate`
[INFO] [stderr]  --> src/bot.rs:1:21
[INFO] [stderr]   |
[INFO] [stderr] 1 | use crate::r#move::{wstate, bstate, states_for_turn};
[INFO] [stderr]   |                     ^^^^^^  ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::cmp`
[INFO] [stderr]  --> src/bot.rs:4:5
[INFO] [stderr]   |
[INFO] [stderr] 4 | use std::cmp;
[INFO] [stderr]   |     ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::rand::prelude::IteratorRandom`
[INFO] [stderr]  --> src/bot.rs:8:5
[INFO] [stderr]   |
[INFO] [stderr] 8 | use crate::rand::prelude::IteratorRandom;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `print_board_pieces` and `print_board`
[INFO] [stderr]   --> src/bot.rs:11:13
[INFO] [stderr]    |
[INFO] [stderr] 11 | use crate::{print_board, print_board_pieces};
[INFO] [stderr]    |             ^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::map::CROSS_MOVE_MAP`
[INFO] [stderr]   --> src/main.rs:26:5
[INFO] [stderr]    |
[INFO] [stderr] 26 | use crate::map::CROSS_MOVE_MAP;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::mask_for_square::for_rank`
[INFO] [stderr]   --> src/main.rs:27:5
[INFO] [stderr]    |
[INFO] [stderr] 27 | use crate::mask_for_square::for_rank;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::io`
[INFO] [stderr]   --> src/main.rs:29:5
[INFO] [stderr]    |
[INFO] [stderr] 29 | use std::io;
[INFO] [stderr]    |     ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `one_bot_game`, `two_bot_game`, and `two_console_game`
[INFO] [stderr]   --> src/main.rs:30:19
[INFO] [stderr]    |
[INFO] [stderr] 30 | use crate::game::{two_console_game, one_bot_game, two_bot_game, two_bot_game_learn_bot};
[INFO] [stderr]    |                   ^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^  ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::io::prelude`
[INFO] [stderr]  --> src/network/network_storage.rs:2:5
[INFO] [stderr]   |
[INFO] [stderr] 2 | use std::io::prelude::*;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `evaluate_position` is never used
[INFO] [stderr]   --> src/network/eval.rs:50:8
[INFO] [stderr]    |
[INFO] [stderr] 50 | pub fn evaluate_position(_position: [u64; 13]) -> f32 {
[INFO] [stderr]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: field `effect` is never read
[INFO] [stderr]  --> src/network/node.rs:9:7
[INFO] [stderr]   |
[INFO] [stderr] 4 | pub struct Node {
[INFO] [stderr]   |            ---- field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 9 |   pub effect: f32
[INFO] [stderr]   |       ^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `Node` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: associated items `create`, `weight_at_index`, and `print` are never used
[INFO] [stderr]   --> src/network/node.rs:13:10
[INFO] [stderr]    |
[INFO] [stderr] 12 | impl Node {
[INFO] [stderr]    | --------- associated items in this implementation
[INFO] [stderr] 13 |   pub fn create(v: f32, b: f32, w: Vec<f32>) -> Node {
[INFO] [stderr]    |          ^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 39 |   pub fn weight_at_index(&self, index: u8) -> f32 {
[INFO] [stderr]    |          ^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 43 |   pub fn print(&self) {
[INFO] [stderr]    |          ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: type alias `ListOfNodes` is never used
[INFO] [stderr]  --> src/network/layer.rs:4:6
[INFO] [stderr]   |
[INFO] [stderr] 4 | type ListOfNodes = Vec<Node>;
[INFO] [stderr]   |      ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: type alias `BiasesForWholeLayer` is never used
[INFO] [stderr]  --> src/network/layer.rs:5:6
[INFO] [stderr]   |
[INFO] [stderr] 5 | type BiasesForWholeLayer = Vec<f32>;
[INFO] [stderr]   |      ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: type alias `WeightsForWholeLayer` is never used
[INFO] [stderr]  --> src/network/layer.rs:6:6
[INFO] [stderr]   |
[INFO] [stderr] 6 | type WeightsForWholeLayer = Vec<Vec<f32>>;
[INFO] [stderr]   |      ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated items `create_layer_from_weights_and_biases`, `collect_mutable_nodes`, `collect_effects`, and `get_current_value_by_index` are never used
[INFO] [stderr]   --> src/network/layer.rs:32:10
[INFO] [stderr]    |
[INFO] [stderr] 14 | impl Layer {
[INFO] [stderr]    | ---------- associated items in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 32 |   pub fn create_layer_from_weights_and_biases(weights: WeightsForWholeLayer, biases: BiasesForWholeLayer, a_fn: AF) -> Layer {
[INFO] [stderr]    |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 50 |   pub fn collect_mutable_nodes(&mut self) -> &mut Vec<Node> {
[INFO] [stderr]    |          ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 54 |   pub fn collect_effects(&self) -> Vec<f32> {
[INFO] [stderr]    |          ^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 59 |   pub fn get_current_value_by_index(&self, node_index: u8) -> f32 {
[INFO] [stderr]    |          ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: type alias `InputBinaries` is never used
[INFO] [stderr]  --> src/network/network.rs:4:6
[INFO] [stderr]   |
[INFO] [stderr] 4 | type InputBinaries = Vec<u8>;
[INFO] [stderr]   |      ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `learning_rate` is never read
[INFO] [stderr]   --> src/network/network.rs:10:7
[INFO] [stderr]    |
[INFO] [stderr] 8  | pub struct Network {
[INFO] [stderr]    |            ------- field in this struct
[INFO] [stderr] 9  |   pub layers: ListOfLayers,
[INFO] [stderr] 10 |   pub learning_rate: f32,
[INFO] [stderr]    |       ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: multiple associated items are never used
[INFO] [stderr]    --> src/network/network.rs:16:6
[INFO] [stderr]     |
[INFO] [stderr] 14  | impl Network {
[INFO] [stderr]     | ------------ associated items in this implementation
[INFO] [stderr] 15  |
[INFO] [stderr] 16  |   fn set_effects_for_all_layers(&mut self) {
[INFO] [stderr]     |      ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 20  |   fn set_effects_of_layer(&mut self, index: u8) {
[INFO] [stderr]     |      ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 25  |   fn calculate_effect_of_layer(&mut self, index: u8) -> Vec<f32> {
[INFO] [stderr]     |      ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 35  |   fn calculate_contribution_to_error_of_layer_of_weights(&mut self, layer_of_contributors: u8, index_of_affected: u8, target: f32) -> Vec...
[INFO] [stderr]     |      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 42  |   fn calculate_contribution_to_error_of_weight(&mut self, layer_of_contributor: u8, index_of_contributor: u8, index_of_affected: u8, targ...
[INFO] [stderr]     |      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 52  |   fn d_of_ReLu_respect_to_weight(activated_value: f32) -> f32 {
[INFO] [stderr]     |      ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 56  |   fn derivative_of_ReLu_with_respect_to_weight_index_included(activated_value: f32, input_value: f32) -> f32 {
[INFO] [stderr]     |      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 60  |   fn set_effect_on_cost_for_last_node(&mut self, target: f32) {
[INFO] [stderr]     |      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 65  |   fn get_effect_on_cost_from_last_node(&self, target: f32) -> f32 {
[INFO] [stderr]     |      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 70  |   fn get_error_from_last_node(&self, target: f32) -> f32 {
[INFO] [stderr]     |      ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 75  |   pub fn run_network_with_new_input(&mut self, input: Vec<u8>) {
[INFO] [stderr]     |          ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 80  |   pub fn get_output(&mut self) -> f32 {
[INFO] [stderr]     |          ^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 85  |   pub fn create_random_with_input(number_of_layers: usize, nodes_per_layer: usize, a_fn: AF, l_r: f32, itn: Vec<u8>) -> Network {
[INFO] [stderr]     |          ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 124 |   fn get_value_of_final_node(&self) -> f32 {
[INFO] [stderr]     |      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 128 |   fn set_values_for_network(&mut self) {
[INFO] [stderr]     |      ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 149 |   fn set_effects_for_layer_from_vector(&mut self, layer_index: u8, values: Vec<f32>) {
[INFO] [stderr]     |      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 197 |   fn get_values_of_layer(&self, layer_index: u8) -> Vec<f32> {
[INFO] [stderr]     |      ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `NN` is never constructed
[INFO] [stderr]  --> src/network/nn.rs:3:12
[INFO] [stderr]   |
[INFO] [stderr] 3 | pub struct NN {
[INFO] [stderr]   |            ^^
[INFO] [stderr] 
[INFO] [stderr] warning: multiple methods are never used
[INFO] [stderr]   --> src/network/nn.rs:14:10
[INFO] [stderr]    |
[INFO] [stderr] 13 | impl NN {
[INFO] [stderr]    | ------- methods in this implementation
[INFO] [stderr] 14 |   pub fn error(&self, target: f32) -> f32 {
[INFO] [stderr]    |          ^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 18 |   pub fn backprop(&mut self, target: f32) {
[INFO] [stderr]    |          ^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 23 |   fn adjust_all_weights(&mut self) {
[INFO] [stderr]    |      ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 28 |   fn adjust_weights_in_layer(&mut self, layer_index: u16) {
[INFO] [stderr]    |      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 40 |   fn set_all_layer_influences(&mut self, target: f32) {
[INFO] [stderr]    |      ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 45 |   fn set_layer_influence(&mut self, layer_index: u16) {
[INFO] [stderr]    |      ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 50 |   fn get_layer_influence(&self, layer_index: u16) -> Vec<f32> {
[INFO] [stderr]    |      ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 64 |   fn get_already_calculated_layer_influence(&self, layer_index: u16) -> std::slice::Iter<f32> {
[INFO] [stderr]    |      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 69 |   fn set_starting_influence(&mut self, target: f32) {
[INFO] [stderr]    |      ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 75 |   fn starting_influence(&self, target: f32) -> f32 {
[INFO] [stderr]    |      ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: multiple associated items are never used
[INFO] [stderr]    --> src/network/forward_prop.rs:5:10
[INFO] [stderr]     |
[INFO] [stderr] 4   | impl NN {
[INFO] [stderr]     | ------- associated items in this implementation
[INFO] [stderr] 5   |   pub fn forwardprop(&mut self, input: Vec<f32>) -> f32 {
[INFO] [stderr]     |          ^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 10  |   pub fn create(nodes: u16, layers: u16, a_fn: fn(f32) -> f32, d_fn: fn(f32) -> f32, l_r: f32) -> NN {
[INFO] [stderr]     |          ^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 30  |   pub fn create_random_wb(nodes: u16, layers: u16, a_fn: fn(f32) -> f32, d_fn: fn(f32) -> f32, l_r: f32) -> NN {
[INFO] [stderr]     |          ^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 48  |   pub fn set_all_layers_from_input(&mut self, input: Vec<f32>) {
[INFO] [stderr]     |          ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 54  |   pub fn get_final_value(&self) -> f32 {
[INFO] [stderr]     |          ^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 62  |   pub fn vals_mut(&mut self, layer_index: u16) -> std::slice::IterMut<f32> {
[INFO] [stderr]     |          ^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 66  |   fn weights_in_mut(&mut self, layer_index: u16, node_index: u16) -> std::slice::IterMut<f32> {
[INFO] [stderr]     |      ^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 70  |   pub fn vals_immut(&self, layer_index: u16) -> std::slice::Iter<f32> {
[INFO] [stderr]     |          ^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 74  |   pub fn weights_in_immut(&self, layer_index: u16, node_index: u16) -> std::slice::Iter<f32> {
[INFO] [stderr]     |          ^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 78  |   fn set_layer_sum(&mut self, layer_index: u16) {
[INFO] [stderr]     |      ^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 86  |   fn get_node_sum(&self, layer_index: u16, node_index: u16) -> f32 {
[INFO] [stderr]     |      ^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 95  |   fn set_layer_val(&mut self, layer_index: u16) {
[INFO] [stderr]     |      ^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 103 |   fn set_last_layer(&mut self) {
[INFO] [stderr]     |      ^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 116 |   fn set_all_layers_but_zeroth(&mut self) {
[INFO] [stderr]     |      ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 121 |   pub fn set_zeroth_layer_from_input(&mut self, input: Vec<f32>) {
[INFO] [stderr]     |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 129 |   fn get_node_sum_from_input(&self, node_index: u16, input: Vec<f32>) -> f32 {
[INFO] [stderr]     |      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `forward_backward_forward_get_value` is never used
[INFO] [stderr]   --> src/network/net.rs:22:10
[INFO] [stderr]    |
[INFO] [stderr] 16 | impl Net {
[INFO] [stderr]    | -------- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 22 |   pub fn forward_backward_forward_get_value(&mut self, input: Vec<f64>, target: f64) -> f64 {
[INFO] [stderr]    |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `sigmoid` is never used
[INFO] [stderr]    --> src/network/net.rs:210:6
[INFO] [stderr]     |
[INFO] [stderr] 210 |   fn sigmoid(input: f64) -> f64 {
[INFO] [stderr]     |      ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `sigmoid_der` is never used
[INFO] [stderr]    --> src/network/net.rs:214:6
[INFO] [stderr]     |
[INFO] [stderr] 214 |   fn sigmoid_der(input: f64) -> f64 {
[INFO] [stderr]     |      ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `print_weights` is never used
[INFO] [stderr]    --> src/network/net.rs:369:6
[INFO] [stderr]     |
[INFO] [stderr] 369 |   fn print_weights(weights: Vec<Vec<Vec<f64>>>, message: &str) {
[INFO] [stderr]     |      ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `print_error_signals` is never used
[INFO] [stderr]    --> src/network/net.rs:379:6
[INFO] [stderr]     |
[INFO] [stderr] 379 |   fn print_error_signals(error_signals: Vec<Vec<f64>>, message: &str) {
[INFO] [stderr]     |      ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `train_network_with_games` is never used
[INFO] [stderr]   --> src/network/train.rs:18:8
[INFO] [stderr]    |
[INFO] [stderr] 18 | pub fn train_network_with_games(number_of_games: usize) {
[INFO] [stderr]    |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `train_network_with_one_game` is never used
[INFO] [stderr]   --> src/network/train.rs:33:4
[INFO] [stderr]    |
[INFO] [stderr] 33 | fn train_network_with_one_game() {
[INFO] [stderr]    |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `normalize_evaluation` is never used
[INFO] [stderr]   --> src/network/train.rs:41:4
[INFO] [stderr]    |
[INFO] [stderr] 41 | fn normalize_evaluation(eval: f64) -> f64 {
[INFO] [stderr]    |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `get_random_game_states_with_adjustments` is never used
[INFO] [stderr]   --> src/network/train.rs:53:4
[INFO] [stderr]    |
[INFO] [stderr] 53 | fn get_random_game_states_with_adjustments() -> HashMap<[u64; 13], f64> {
[INFO] [stderr]    |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `CENTER_FOUR_SQUARES` is never used
[INFO] [stderr]   --> src/constants.rs:47:11
[INFO] [stderr]    |
[INFO] [stderr] 47 | pub const CENTER_FOUR_SQUARES: u64 = 0x1818000000;
[INFO] [stderr]    |           ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `SECOND_CENTER_SQUARES` is never used
[INFO] [stderr]   --> src/constants.rs:48:11
[INFO] [stderr]    |
[INFO] [stderr] 48 | pub const SECOND_CENTER_SQUARES: u64 = 0x3C24243C0000;
[INFO] [stderr]    |           ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `vertical` is never used
[INFO] [stderr]   --> src/safe_shift.rs:17:8
[INFO] [stderr]    |
[INFO] [stderr] 17 | pub fn vertical(board: u64, rank: i8) -> u64 {
[INFO] [stderr]    |        ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `number_of_bits` is never used
[INFO] [stderr]  --> src/utility.rs:4:8
[INFO] [stderr]   |
[INFO] [stderr] 4 | pub fn number_of_bits(mut board: u64) -> u8 {
[INFO] [stderr]   |        ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `get_white_occupation_except_king` is never used
[INFO] [stderr]   --> src/board.rs:23:8
[INFO] [stderr]    |
[INFO] [stderr] 23 | pub fn get_white_occupation_except_king(board: [u64; 13]) -> u64 {
[INFO] [stderr]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `get_black_occupation_except_king` is never used
[INFO] [stderr]   --> src/board.rs:31:8
[INFO] [stderr]    |
[INFO] [stderr] 31 | pub fn get_black_occupation_except_king(board: [u64; 13]) -> u64 {
[INFO] [stderr]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `get_ally_occupation` is never used
[INFO] [stderr]   --> src/board.rs:57:8
[INFO] [stderr]    |
[INFO] [stderr] 57 | pub fn get_ally_occupation(board: [u64; 13], turn: u8) -> u64 {
[INFO] [stderr]    |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `get_legal_input_state` is never used
[INFO] [stderr]  --> src/user.rs:6:8
[INFO] [stderr]   |
[INFO] [stderr] 6 | pub fn get_legal_input_state(current_state: [u64; 13], legal_states: Vec<[u64; 13]>) -> [u64; 13] {
[INFO] [stderr]   |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `input_wrapper` is never used
[INFO] [stderr]   --> src/user.rs:21:4
[INFO] [stderr]    |
[INFO] [stderr] 21 | fn input_wrapper() -> String {
[INFO] [stderr]    |    ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `is_file` is never used
[INFO] [stderr]   --> src/user.rs:51:4
[INFO] [stderr]    |
[INFO] [stderr] 51 | fn is_file(ch: char) -> bool {
[INFO] [stderr]    |    ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `is_rank` is never used
[INFO] [stderr]   --> src/user.rs:55:4
[INFO] [stderr]    |
[INFO] [stderr] 55 | fn is_rank(ch: char) -> bool {
[INFO] [stderr]    |    ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `evaluate_characters` is never used
[INFO] [stderr]   --> src/user.rs:59:4
[INFO] [stderr]    |
[INFO] [stderr] 59 | fn evaluate_characters(input: String) -> bool {
[INFO] [stderr]    |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `input_matches_format` is never used
[INFO] [stderr]   --> src/user.rs:69:4
[INFO] [stderr]    |
[INFO] [stderr] 69 | fn input_matches_format(input: String) -> bool {
[INFO] [stderr]    |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `get_format_matched_user_input` is never used
[INFO] [stderr]   --> src/user.rs:73:4
[INFO] [stderr]    |
[INFO] [stderr] 73 | fn get_format_matched_user_input() -> String {
[INFO] [stderr]    |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `get_end_square` is never used
[INFO] [stderr]   --> src/user.rs:89:4
[INFO] [stderr]    |
[INFO] [stderr] 89 | fn get_end_square(input: String) -> u8 {
[INFO] [stderr]    |    ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `update_board_by_indices` is never used
[INFO] [stderr]   --> src/user.rs:93:4
[INFO] [stderr]    |
[INFO] [stderr] 93 | fn update_board_by_indices(mut state: [u64; 13], start: u8, end: u8) -> [u64; 13] {
[INFO] [stderr]    |    ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `update_board_by_string` is never used
[INFO] [stderr]    --> src/user.rs:104:4
[INFO] [stderr]     |
[INFO] [stderr] 104 | fn update_board_by_string(state: [u64; 13], input: String) -> [u64; 13] {
[INFO] [stderr]     |    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `two_console_game` is never used
[INFO] [stderr]   --> src/game.rs:13:8
[INFO] [stderr]    |
[INFO] [stderr] 13 | pub fn two_console_game() {
[INFO] [stderr]    |        ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `one_bot_game` is never used
[INFO] [stderr]   --> src/game.rs:21:8
[INFO] [stderr]    |
[INFO] [stderr] 21 | pub fn one_bot_game() {
[INFO] [stderr]    |        ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `two_bot_game` is never used
[INFO] [stderr]   --> src/game.rs:46:8
[INFO] [stderr]    |
[INFO] [stderr] 46 | pub fn two_bot_game() {
[INFO] [stderr]    |        ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `enter_your_move_message` is never used
[INFO] [stderr]   --> src/game.rs:76:4
[INFO] [stderr]    |
[INFO] [stderr] 76 | fn enter_your_move_message(turn_number: u8) {
[INFO] [stderr]    |    ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `send_message_for_turn` is never used
[INFO] [stderr]   --> src/game.rs:84:4
[INFO] [stderr]    |
[INFO] [stderr] 84 | fn send_message_for_turn(state: [u64; 13], turn_number: u8) {
[INFO] [stderr]    |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `play_player_turn` is never used
[INFO] [stderr]   --> src/game.rs:89:4
[INFO] [stderr]    |
[INFO] [stderr] 89 | fn play_player_turn(state: &mut [u64; 13], turn_number: &mut u8) {
[INFO] [stderr]    |    ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stdout] 
[INFO] [stdout] running 119 tests
[INFO] [stderr] warning: function `play_engine_turn_quiet` is never used
[INFO] [stderr]    --> src/game.rs:106:8
[INFO] [stderr]     |
[INFO] [stderr] 106 | pub fn play_engine_turn_quiet(engine: &Bot, state: &mut [u64; 13], turn_number: &mut u8) {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `collect_points` is never used
[INFO] [stderr]   --> src/bot.rs:39:4
[INFO] [stderr]    |
[INFO] [stderr] 39 | fn collect_points(state: [u64; 13]) -> f64 {
[INFO] [stderr]    |    ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `basic_eval` is never used
[INFO] [stderr]   --> src/bot.rs:43:8
[INFO] [stderr]    |
[INFO] [stderr] 43 | pub fn basic_eval(state: [u64; 13]) -> f64 {
[INFO] [stderr]    |        ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `random_eval` is never used
[INFO] [stderr]   --> src/bot.rs:47:8
[INFO] [stderr]    |
[INFO] [stderr] 47 | pub fn random_eval(_state: [u64; 13]) -> f64 {
[INFO] [stderr]    |        ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `center_squares_worth` is never used
[INFO] [stderr]   --> src/bot.rs:52:8
[INFO] [stderr]    |
[INFO] [stderr] 52 | pub fn center_squares_worth(state: [u64; 13]) -> f64 {
[INFO] [stderr]    |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `get_state_quiet` is never used
[INFO] [stderr]   --> src/bot.rs:80:10
[INFO] [stderr]    |
[INFO] [stderr] 67 | impl Bot {
[INFO] [stderr]    | -------- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 80 |   pub fn get_state_quiet(&self, state: [u64; 13], turn_number: u8) -> [u64; 13] {
[INFO] [stderr]    |          ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `d_of_ReLu_respect_to_weight` should have a snake case name
[INFO] [stderr]   --> src/network/network.rs:52:6
[INFO] [stderr]    |
[INFO] [stderr] 52 |   fn d_of_ReLu_respect_to_weight(activated_value: f32) -> f32 {
[INFO] [stderr]    |      ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `d_of_re_lu_respect_to_weight`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(non_snake_case)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: method `derivative_of_ReLu_with_respect_to_weight_index_included` should have a snake case name
[INFO] [stderr]   --> src/network/network.rs:56:6
[INFO] [stderr]    |
[INFO] [stderr] 56 |   fn derivative_of_ReLu_with_respect_to_weight_index_included(activated_value: f32, input_value: f32) -> f32 {
[INFO] [stderr]    |      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `derivative_of_re_lu_with_respect_to_weight_index_included`
[INFO] [stderr] 
[INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stderr]   --> src/network/nn.rs:64:45
[INFO] [stderr]    |
[INFO] [stderr] 64 |   fn get_already_calculated_layer_influence(&self, layer_index: u16) -> std::slice::Iter<f32> {
[INFO] [stderr]    |                                             ^^^^^                       --------------------- the lifetime gets resolved as `'_`
[INFO] [stderr]    |                                             |
[INFO] [stderr]    |                                             this lifetime flows to the output
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stderr]    |
[INFO] [stderr] 64 |   fn get_already_calculated_layer_influence(&self, layer_index: u16) -> std::slice::Iter<'_, f32> {
[INFO] [stderr]    |                                                                                          +++
[INFO] [stderr] 
[INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stderr]   --> src/network/forward_prop.rs:62:19
[INFO] [stderr]    |
[INFO] [stderr] 62 |   pub fn vals_mut(&mut self, layer_index: u16) -> std::slice::IterMut<f32> {
[INFO] [stderr]    |                   ^^^^^^^^^                       ------------------------ the lifetime gets resolved as `'_`
[INFO] [stderr]    |                   |
[INFO] [stderr]    |                   this lifetime flows to the output
[INFO] [stderr]    |
[INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stderr]    |
[INFO] [stderr] 62 |   pub fn vals_mut(&mut self, layer_index: u16) -> std::slice::IterMut<'_, f32> {
[INFO] [stderr]    |                                                                       +++
[INFO] [stderr] 
[INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stderr]   --> src/network/forward_prop.rs:66:21
[INFO] [stderr]    |
[INFO] [stderr] 66 |   fn weights_in_mut(&mut self, layer_index: u16, node_index: u16) -> std::slice::IterMut<f32> {
[INFO] [stderr]    |                     ^^^^^^^^^ this lifetime flows to the output      ------------------------ the lifetime gets resolved as `'_`
[INFO] [stderr]    |
[INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stderr]    |
[INFO] [stderr] 66 |   fn weights_in_mut(&mut self, layer_index: u16, node_index: u16) -> std::slice::IterMut<'_, f32> {
[INFO] [stderr]    |                                                                                          +++
[INFO] [stderr] 
[INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stderr]   --> src/network/forward_prop.rs:70:21
[INFO] [stderr]    |
[INFO] [stderr] 70 |   pub fn vals_immut(&self, layer_index: u16) -> std::slice::Iter<f32> {
[INFO] [stderr]    |                     ^^^^^                       --------------------- the lifetime gets resolved as `'_`
[INFO] [stdout] test board::test::get_all_occupation_tests::gets_whole_occupied_board ... ok
[INFO] [stderr]    |                     |
[INFO] [stdout] test fill_beyond_bit::test::fill_beyond_right::fills_right_in_middle_of_board ... ok
[INFO] [stderr]    |                     this lifetime flows to the output
[INFO] [stdout] test fill_beyond_bit::test::fill_beyond_right::fills_down_of_zero ... ok
[INFO] [stderr]    |
[INFO] [stdout] test fill_beyond_bit::test::fill_beyond_right::fills_down_right_of_zero ... ok
[INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout] test fill_beyond_bit::test::fill_beyond_right::fills_left_of_zero ... ok
[INFO] [stderr]    |
[INFO] [stdout] test fill_beyond_bit::test::fill_beyond_right::fills_right_of_first_file ... ok
[INFO] [stderr] 70 |   pub fn vals_immut(&self, layer_index: u16) -> std::slice::Iter<'_, f32> {
[INFO] [stdout] test fill_beyond_bit::test::fill_beyond_right::fills_down_left_of_zero ... ok
[INFO] [stderr]    |                                                                  +++
[INFO] [stdout] test fill_beyond_bit::test::fill_beyond_right::fills_right_of_zero ... ok
[INFO] [stderr] 
[INFO] [stdout] test fill_beyond_bit::test::fill_beyond_right::fills_up_left_of_zero ... ok
[INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stderr]   --> src/network/forward_prop.rs:74:27
[INFO] [stderr]    |
[INFO] [stderr] 74 |   pub fn weights_in_immut(&self, layer_index: u16, node_index: u16) -> std::slice::Iter<f32> {
[INFO] [stderr]    |                           ^^^^^ this lifetime flows to the output      --------------------- the lifetime gets resolved as `'_`
[INFO] [stderr]    |
[INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stderr]    |
[INFO] [stderr] 74 |   pub fn weights_in_immut(&self, layer_index: u16, node_index: u16) -> std::slice::Iter<'_, f32> {
[INFO] [stderr]    |                                                                                         +++
[INFO] [stderr] 
[INFO] [stderr] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique
[INFO] [stderr]   --> src/network/net.rs:10:3
[INFO] [stderr]    |
[INFO] [stderr] 5  | #[derive(Clone, PartialEq, Debug)]
[INFO] [stderr]    |                 --------- in this derive macro expansion
[INFO] [stderr] ...
[INFO] [stderr] 10 |   pub act_fn: fn(f64) -> f64,
[INFO] [stderr]    |   ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: the address of the same function can vary between different codegen units
[INFO] [stderr]    = note: furthermore, different functions could have the same address after being merged together
[INFO] [stderr]    = note: for more information visit <https://doc.rust-lang.org/nightly/core/ptr/fn.fn_addr_eq.html>
[INFO] [stderr]    = note: `#[warn(unpredictable_function_pointer_comparisons)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique
[INFO] [stderr]   --> src/network/net.rs:11:3
[INFO] [stderr]    |
[INFO] [stderr] 5  | #[derive(Clone, PartialEq, Debug)]
[INFO] [stderr]    |                 --------- in this derive macro expansion
[INFO] [stderr] ...
[INFO] [stderr] 11 |   pub der_fn: fn(f64) -> f64,
[INFO] [stderr]    |   ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: the address of the same function can vary between different codegen units
[INFO] [stderr]    = note: furthermore, different functions could have the same address after being merged together
[INFO] [stderr]    = note: for more information visit <https://doc.rust-lang.org/nightly/core/ptr/fn.fn_addr_eq.html>
[INFO] [stderr] 
[INFO] [stderr] warning: function `leaky_ReLu` should have a snake case name
[INFO] [stderr]    --> src/network/net.rs:202:6
[INFO] [stderr]     |
[INFO] [stderr] 202 |   fn leaky_ReLu(input: f64) -> f64 {
[INFO] [stderr]     |      ^^^^^^^^^^ help: convert the identifier to snake case: `leaky_re_lu`
[INFO] [stderr] 
[INFO] [stderr] warning: function `leaky_ReLu_der` should have a snake case name
[INFO] [stderr]    --> src/network/net.rs:206:6
[INFO] [stderr]     |
[INFO] [stderr] 206 |   fn leaky_ReLu_der(input: f64) -> f64 {
[INFO] [stderr]     |      ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `leaky_re_lu_der`
[INFO] [stderr] 
[INFO] [stderr] warning: function `L_shape` should have a snake case name
[INFO] [stderr]   --> src/open_squares.rs:20:8
[INFO] [stderr]    |
[INFO] [stderr] 20 | pub fn L_shape(board: u64, square: u64) -> u64 {
[INFO] [stderr]    |        ^^^^^^^ help: convert the identifier to snake case: `l_shape`
[INFO] [stderr] 
[INFO] [stderr] warning: function `finds_L_shape_from_bottom_left` should have a snake case name
[INFO] [stderr]   --> src/open_squares.rs:44:6
[INFO] [stderr]    |
[INFO] [stderr] 44 |   fn finds_L_shape_from_bottom_left() {
[INFO] [stderr]    |      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `finds_l_shape_from_bottom_left`
[INFO] [stderr] 
[INFO] [stderr] warning: function `finds_L_shape_from_bottom_middle` should have a snake case name
[INFO] [stderr]   --> src/open_squares.rs:49:6
[INFO] [stderr]    |
[INFO] [stderr] 49 |   fn finds_L_shape_from_bottom_middle() {
[INFO] [stderr]    |      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `finds_l_shape_from_bottom_middle`
[INFO] [stderr] 
[INFO] [stderr] warning: function `finds_L_shape_from_middle_of_board` should have a snake case name
[INFO] [stderr]   --> src/open_squares.rs:54:6
[INFO] [stderr]    |
[INFO] [stderr] 54 |   fn finds_L_shape_from_middle_of_board() {
[INFO] [stderr]    |      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `finds_l_shape_from_middle_of_board`
[INFO] [stderr] 
[INFO] [stderr] warning: function `finds_L_shape_from_top_right_of_board` should have a snake case name
[INFO] [stderr]   --> src/open_squares.rs:59:6
[INFO] [stderr]    |
[INFO] [stderr] 59 |   fn finds_L_shape_from_top_right_of_board() {
[INFO] [stderr]    |      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `finds_l_shape_from_top_right_of_board`
[INFO] [stderr] 
[INFO] [stderr] warning: `chess-engine` (bin "chess-engine" test) generated 92 warnings (run `cargo fix --bin "chess-engine" --tests` to apply 24 suggestions)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.04s
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/chess_engine-c02bc789f318ca9e)
[INFO] [stdout] test fill_beyond_bit::test::fill_beyond_right::fills_up_right_of_zero ... ok
[INFO] [stdout] test find_block::test::finds_blocked_cross ... ok
[INFO] [stdout] test fill_beyond_bit::test::fill_beyond_right::fills_up_of_zero ... ok
[INFO] [stdout] test find_block::test::finds_blocked_diagonal ... ok
[INFO] [stdout] test find_block::test::finds_blocked_down ... ok
[INFO] [stdout] test find_block::test::finds_blocked_left ... ok
[INFO] [stdout] test find_block::test::finds_blocked_right ... ok
[INFO] [stdout] test find_occ_bit::test::find_occ_bit_up::find_none_up ... ok
[INFO] [stdout] test fill_beyond_bit::test::fill_beyond_right::fills_right_of_last_file ... ok
[INFO] [stdout] test find_occ_bit::test::find_occ_bit_up::find_one_up ... ok
[INFO] [stdout] test map::test::cross_move_map_tests::can_get_and_store_cross_value ... ok
[INFO] [stdout] test mask_for_square::test::for_file::calculates_first_file ... ok
[INFO] [stdout] test mask_for_square::test::for_file::calculates_last_file ... ok
[INFO] [stdout] test mask_for_square::test::for_file::calculates_second_to_last_file ... ok
[INFO] [stdout] test mask_for_square::test::for_rank::calculates_first_rank ... ok
[INFO] [stdout] test mask_for_square::test::for_rank::calculates_last_rank ... ok
[INFO] [stdout] test mask_for_square::test::for_rank::calculates_second_to_last_rank ... ok
[INFO] [stdout] test mask_for_square::test::for_square::calculates_first_square ... ok
[INFO] [stdout] test mask_for_square::test::for_square::calculates_square_43 ... ok
[INFO] [stdout] test network::eval::tests::converts_position_to_layer ... ok
[INFO] [stdout] test mask_for_square::test::for_square::calculates_last_square ... ok
[INFO] [stdout] test network::eval::tests::network_catches_on_to_repeated_value ... ignored
[INFO] [stdout] test network::net::test::correctly_adjusts_weights ... ignored
[INFO] [stdout] test network::net::test::correctly_sets_final_error_signal ... ok
[INFO] [stdout] test network::net::test::bias_affects_values ... ok
[INFO] [stdout] test network::net::test::correctly_sets_all_error_signals ... ok
[INFO] [stdout] test network::net::test::creates_network_with_correct_dimensions_for_values ... ok
[INFO] [stdout] test network::net::test::gets_error_from_forward_prop ... ok
[INFO] [stdout] test network::net::test::creates_network_with_correct_dimensions_for_weights ... ok
[INFO] [stdout] test network::net::test::gets_final_value ... ok
[INFO] [stdout] test network::net::test::sets_all_values ... ok
[INFO] [stdout] test network::net::test::initializes_network_with_values ... ok
[INFO] [stdout] test find_block::test::finds_blocked_up_right ... ok
[INFO] [stdout] test map::test::diagonal_move_map_tests::can_get_and_store_diagonal_value ... ok
[INFO] [stdout] test find_occ_bit::test::find_occ_bit_up::find_two_up ... ok
[INFO] [stdout] test network::network::test::ends_with_layer_of_single_node ... ok
[INFO] [stdout] test network::network::test::set_values_for_layer_tests::creates_random_biases ... ok
[INFO] [stdout] test network::network::test::set_values_for_layer_tests::creates_random_weights ... ok
[INFO] [stdout] test network::network_storage::tests::converts_network_to_file_and_back ... ignored
[INFO] [stdout] test map::test::cross_move_map_tests::crops_outer_edges_when_on_middle_square ... ok
[INFO] [stdout] test network::network::test::set_values_for_layer_tests::successfully_mutates_node_values ... ok
[INFO] [stdout] test open_squares::test::finds_open_on_cross ... ok
[INFO] [stdout] test open_squares::test::finds_open_on_diagonal ... ok
[INFO] [stdout] test open_squares::test::finds_L_shape_from_bottom_left ... ok
[INFO] [stdout] test open_squares::test::finds_square_shape_from_bottom_left_of_board ... ok
[INFO] [stdout] test map::test::cross_move_map_tests::crops_outer_edges_when_on_bottom_left_square ... ok
[INFO] [stdout] test open_squares::test::finds_L_shape_from_bottom_middle ... ok
[INFO] [stdout] test open_squares::test::finds_L_shape_from_middle_of_board ... ok
[INFO] [stdout] test open_squares::test::finds_square_shape_from_bottom_middle_of_board ... ok
[INFO] [stdout] test open_squares::test::finds_square_shape_from_bottom_right_of_board ... ok
[INFO] [stdout] test open_squares::test::finds_square_shape_from_just_left_of_top_right_of_board ... ok
[INFO] [stdout] test open_squares::test::finds_L_shape_from_top_right_of_board ... ok
[INFO] [stdout] test open_squares::test::finds_square_shape_from_middle_of_board ... ok
[INFO] [stdout] test open_squares::test::finds_square_shape_from_top_right_of_board ... ok
[INFO] [stdout] test r#move::test::pawn_tests::finds_pawn_move_left_and_right_and_not_up_because_blocked_by_different_team ... ok
[INFO] [stdout] test r#move::test::all_piece_tests::finds_rook_and_pawn_and_knight_moves ... ok
[INFO] [stdout] test r#move::test::pawn_tests::finds_pawn_move_up_only_one_and_not_left_or_right ... ok
[INFO] [stdout] test r#move::test::pawn_tests::finds_multiple_pawns_can_move_forward ... ok
[INFO] [stdout] test r#move::test::pawn_tests::finds_pawn_move_left_and_right_and_not_up_because_blocked_by_same_team ... ok
[INFO] [stdout] test r#move::test::pawn_tests::finds_pawn_move_one_and_two_up_and_left_and_right ... ok
[INFO] [stdout] test r#move::test::wrook_tests::finds_moves_for_one_rook ... ok
[INFO] [stdout] test r#move::test::pawn_tests::finds_pawn_move_one_up_and_left_and_right ... ok
[INFO] [stdout] test safe_next_bit::test::finds_bit_up_right ... ok
[INFO] [stdout] test r#move::test::wrook_tests::finds_that_theres_no_moves_for_one_rook ... ok
[INFO] [stdout] test r#move::test::wrook_tests::finds_moves_for_two_rooks ... ok
[INFO] [stdout] test r#move::test::pawn_tests::finds_pawn_move_up_only_one_and_not_left_or_right_because_left_and_right_are_empty ... ok
[INFO] [stdout] test safe_next_bit::test::finds_bit_up_to_end_of_right ... ok
[INFO] [stdout] test safe_next_bit::test::gets_empty_board_when_no_up_right_bit ... ok
[INFO] [stdout] test safe_next_bit::test::finds_next_bit_right ... ok
[INFO] [stdout] test safe_next_bit::test::finds_no_bit_to_right ... ok
[INFO] [stdout] test safe_shift::test::down::shifts_down_off_the_board ... ok
[INFO] [stdout] test safe_shift::test::down::shifts_down_once ... ok
[INFO] [stdout] test safe_shift::test::left::shifts_board_left_once ... ok
[INFO] [stdout] test safe_shift::test::left::shifts_board_left_screen ... ok
[INFO] [stdout] test safe_shift::test::left::shifts_board_left_twice ... ok
[INFO] [stdout] test safe_shift::test::left::shifts_board_to_side_of_screen ... ok
[INFO] [stdout] test safe_shift::test::down::shifts_up_twice ... ok
[INFO] [stdout] test safe_shift::test::down::shifts_down_to_end_of_board ... ok
[INFO] [stdout] test safe_shift::test::right::shifts_board_right_once ... ok
[INFO] [stdout] test safe_shift::test::right::shifts_board_off_screen ... ok
[INFO] [stdout] test safe_shift::test::right::shifts_board_right_twice ... ok
[INFO] [stdout] test split_state::test::split_board_into_updated_states_tests::splits_into_one_updated_state ... ok
[INFO] [stdout] test split_state::test::split_board_into_updated_states_tests::splits_into_three_updated_states ... ok
[INFO] [stdout] test split_state::test::split_slice_into_slices_tests::splits_into_multiple_slices ... ok
[INFO] [stdout] test split_state::test::split_slice_into_slices_tests::splits_into_one_slice ... ok
[INFO] [stdout] test split_state::test::split_slice_into_slices_tests::splits_into_zero_slices ... ok
[INFO] [stdout] test safe_shift::test::up::shifts_up_off_the_board ... ok
[INFO] [stdout] test utility::test::bit_to_index::can_get_index_of_first_possible_bit ... ok
[INFO] [stdout] test safe_shift::test::up::shifts_up_twice ... ok
[INFO] [stdout] test split_state::test::split_board_into_updated_states_tests::splits_into_no_updated_states ... ok
[INFO] [stdout] test user::test::gets_square_index_from_string ... ok
[INFO] [stdout] test utility::test::bit_to_index::can_get_index_of_middle_bit ... ok
[INFO] [stdout] test safe_shift::test::up::shifts_up_once ... ok
[INFO] [stdout] test utility::test::bit_to_index::returns_zero_for_empty_board ... ok
[INFO] [stdout] test utility::test::bit_to_index::can_get_index_of_last_possible_bit ... ok
[INFO] [stdout] test utility::test::border_bit::doesnt_find_bit_on_center_of_board ... ok
[INFO] [stdout] test utility::test::border_bit::finds_bit_on_bottom_of_board ... ok
[INFO] [stdout] test utility::test::border_bit::finds_bit_on_right_of_board ... ok
[INFO] [stdout] test utility::test::border_bit::finds_bit_on_left_of_board ... ok
[INFO] [stdout] test safe_shift::test::up::shifts_up_to_end_of_board ... ok
[INFO] [stdout] test utility::test::lsb_and_msb_tests::finds_no_msb ... ok
[INFO] [stdout] test utility::test::lsb_and_msb_tests::finds_bottom_msb ... ok
[INFO] [stdout] test utility::test::lsb_and_msb_tests::finds_no_lsb ... ok
[INFO] [stdout] test utility::test::lsb_and_msb_tests::isolates_bottom_bit ... ok
[INFO] [stdout] test utility::test::lsb_and_msb_tests::isolates_bottom_bit_when_there_are_more_bits ... ok
[INFO] [stdout] test utility::test::lsb_and_msb_tests::isolates_bottom_bit_when_its_max_possible_value ... ok
[INFO] [stdout] test utility::test::border_bit::finds_bit_on_top_of_boards ... ok
[INFO] [stdout] test utility::test::lsb_and_msb_tests::finds_top_bit_when_minimum_possible_value ... ok
[INFO] [stdout] test utility::test::lsb_and_msb_tests::finds_top_bit_when_there_are_lower_bits ... ok
[INFO] [stderr] error: test failed, to rerun pass `--bin chess-engine`
[INFO] [stdout] test network::network_storage::tests::writes_network_to_string ... FAILED
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- network::network_storage::tests::writes_network_to_string stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'network::network_storage::tests::writes_network_to_string' panicked at src/network/network_storage.rs:212:29:
[INFO] [stdout] Unable to write file: Os { code: 30, kind: ReadOnlyFilesystem, message: "Read-only file system" }
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x5dde42e003d2 - std::backtrace_rs::backtrace::libunwind::trace::h73a647620bf1c49d
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x5dde42e003d2 - std::backtrace_rs::backtrace::trace_unsynchronized::hd4d513ed96cb3cb1
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x5dde42e003d2 - std::sys::backtrace::_print_fmt::h61bb95f7476aafa5
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/std/src/sys/backtrace.rs:66:9
[INFO] [stdout]    3:     0x5dde42e003d2 - <std::sys::backtrace::BacktraceLock::print::DisplayBacktrace as core::fmt::Display>::fmt::ha2e7e3a01df69042
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/std/src/sys/backtrace.rs:39:26
[INFO] [stdout]    4:     0x5dde42e279f3 - core::fmt::rt::Argument::fmt::hf14163372f0f9a76
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/core/src/fmt/rt.rs:173:76
[INFO] [stdout]    5:     0x5dde42e279f3 - core::fmt::write::h7cb8f63788cd01d2
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/core/src/fmt/mod.rs:1465:25
[INFO] [stdout]    6:     0x5dde42dfd2b3 - std::io::default_write_fmt::h9ed739ccee8a150c
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/std/src/io/mod.rs:639:11
[INFO] [stdout]    7:     0x5dde42dfd2b3 - std::io::Write::write_fmt::h1c0a32da913b32f1
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/std/src/io/mod.rs:1954:13
[INFO] [stdout]    8:     0x5dde42e00222 - std::sys::backtrace::BacktraceLock::print::h3ec4d7883eb25e61
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/std/src/sys/backtrace.rs:42:9
[INFO] [stdout]    9:     0x5dde42e019ec - std::panicking::default_hook::{{closure}}::h29548987efd832cb
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/std/src/panicking.rs:300:27
[INFO] [stdout]   10:     0x5dde42e01842 - std::panicking::default_hook::ha25170a15c643514
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/std/src/panicking.rs:324:9
[INFO] [stdout]   11:     0x5dde42dc5ef4 - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h562adeecbf43c420
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/alloc/src/boxed.rs:1985:9
[INFO] [stdout]   12:     0x5dde42dc5ef4 - test::test_main_with_exit_callback::{{closure}}::h97dd2a879d27e0e4
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/test/src/lib.rs:145:21
[INFO] [stdout]   13:     0x5dde42e023cb - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h7e85cbdbda26fdb7
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/alloc/src/boxed.rs:1985:9
[INFO] [stdout]   14:     0x5dde42e023cb - std::panicking::rust_panic_with_hook::h0d81afcd829aa24b
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/std/src/panicking.rs:841:13
[INFO] [stdout]   15:     0x5dde42e0219a - std::panicking::begin_panic_handler::{{closure}}::hc84a33f1202346cf
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/std/src/panicking.rs:706:13
[INFO] [stdout]   16:     0x5dde42e008c9 - std::sys::backtrace::__rust_end_short_backtrace::h373067a14f6c59aa
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/std/src/sys/backtrace.rs:168:18
[INFO] [stdout]   17:     0x5dde42e01e2d - __rustc[beb0385846a06d21]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/std/src/panicking.rs:697:5
[INFO] [stdout]   18:     0x5dde42e25740 - core::panicking::panic_fmt::ha33fa2ae772efba9
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/core/src/panicking.rs:75:14
[INFO] [stdout]   19:     0x5dde42e25ae6 - core::result::unwrap_failed::hfbbd3c78a73fea3d
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/core/src/result.rs:1761:5
[INFO] [stdout]   20:     0x5dde42d726b5 - core::result::Result<T,E>::expect::h525e8369d5ad0595
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/core/src/result.rs:1119:23
[INFO] [stdout]   21:     0x5dde42d726b5 - chess_engine::network::network_storage::write_network_to_file::h8fdd4c40071ca9c6
[INFO] [stdout]                                at /opt/rustwide/workdir/src/network/network_storage.rs:212:29
[INFO] [stdout]   22:     0x5dde42d7f275 - chess_engine::network::network_storage::tests::writes_network_to_string::hfe6d35484a1ea7ff
[INFO] [stdout]                                at /opt/rustwide/workdir/src/network/network_storage.rs:230:5
[INFO] [stdout]   23:     0x5dde42d84b39 - chess_engine::network::network_storage::tests::writes_network_to_string::{{closure}}::hd64dec7fdb0f7926
[INFO] [stdout]                                at /opt/rustwide/workdir/src/network/network_storage.rs:227:32
[INFO] [stdout]   24:     0x5dde42d84b39 - core::ops::function::FnOnce::call_once::hc25a5ce1740697f0
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   25:     0x5dde42dcb62b - core::ops::function::FnOnce::call_once::hf84b9c3d864a6959
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   26:     0x5dde42dcb62b - test::__rust_begin_short_backtrace::h5724e31441c16fcb
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/test/src/lib.rs:648:18
[INFO] [stdout]   27:     0x5dde42dca86e - test::run_test_in_process::{{closure}}::hbc28c9aa91793d7d
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/test/src/lib.rs:671:74
[INFO] [stdout]   28:     0x5dde42dca86e - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::hc17b0e238c0f8f3e
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/core/src/panic/unwind_safe.rs:272:9
[INFO] [stdout]   29:     0x5dde42dca86e - std::panicking::catch_unwind::do_call::hcdbce0d6dd6c83ce
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/std/src/panicking.rs:589:40
[INFO] [stdout]   30:     0x5dde42dca86e - std::panicking::catch_unwind::h9477967ceea044e8
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/std/src/panicking.rs:552:19
[INFO] [stdout]   31:     0x5dde42dca86e - std::panic::catch_unwind::h616a2e249da12e16
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/std/src/panic.rs:359:14
[INFO] [stdout]   32:     0x5dde42dca86e - test::run_test_in_process::h2758deb0f2e54430
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/test/src/lib.rs:671:27
[INFO] [stdout]   33:     0x5dde42dca86e - test::run_test::{{closure}}::habe5cd2564b18aaa
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/test/src/lib.rs:592:43
[INFO] [stdout]   34:     0x5dde42d8e414 - test::run_test::{{closure}}::h9a0a6928f1a15421
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/test/src/lib.rs:622:41
[INFO] [stdout]   35:     0x5dde42d8e414 - std::sys::backtrace::__rust_begin_short_backtrace::hd68b5332434a22ca
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/std/src/sys/backtrace.rs:152:18
[INFO] [stdout]   36:     0x5dde42d91dba - std::thread::Builder::spawn_unchecked_::{{closure}}::{{closure}}::h264ddcc3098eacae
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/std/src/thread/mod.rs:559:17
[INFO] [stdout]   37:     0x5dde42d91dba - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h9fa39489749d6f3c
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/core/src/panic/unwind_safe.rs:272:9
[INFO] [stdout]   38:     0x5dde42d91dba - std::panicking::catch_unwind::do_call::hb9a1944b9f85100f
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/std/src/panicking.rs:589:40
[INFO] [stdout]   39:     0x5dde42d91dba - std::panicking::catch_unwind::h0c6f100786c0dad8
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/std/src/panicking.rs:552:19
[INFO] [stdout]   40:     0x5dde42d91dba - std::panic::catch_unwind::hf6084e2723385823
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/std/src/panic.rs:359:14
[INFO] [stdout]   41:     0x5dde42d91dba - std::thread::Builder::spawn_unchecked_::{{closure}}::hf0af58ce658143ad
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/std/src/thread/mod.rs:557:30
[INFO] [stdout]   42:     0x5dde42d91dba - core::ops::function::FnOnce::call_once{{vtable.shim}}::h88a14f9b2e79f9de
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   43:     0x5dde42e05327 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::hf31256ba38644b65
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/alloc/src/boxed.rs:1971:9
[INFO] [stdout]   44:     0x5dde42e05327 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h100ad77f3448041b
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/alloc/src/boxed.rs:1971:9
[INFO] [stdout]   45:     0x5dde42e05327 - std::sys::pal::unix::thread::Thread::new::thread_start::h1a22ded422ce395b
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/std/src/sys/pal/unix/thread.rs:97:17
[INFO] [stdout]   46:     0x7e3567e08aa4 - <unknown>
[INFO] [stdout]   47:     0x7e3567e95a34 - clone
[INFO] [stdout]   48:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     network::network_storage::tests::writes_network_to_string
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 115 passed; 1 failed; 3 ignored; 0 measured; 0 filtered out; finished in 0.05s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "a7bd980229818cb36e33ed19ec81c193c3b57d6ef0d96143f649232f057274ee", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "a7bd980229818cb36e33ed19ec81c193c3b57d6ef0d96143f649232f057274ee", kill_on_drop: false }`
[INFO] [stdout] a7bd980229818cb36e33ed19ec81c193c3b57d6ef0d96143f649232f057274ee
