Oct 31 17:30:23.223 INFO testing vbo/nnrs against 1.30.0 for beta-1.31-1
Oct 31 17:30:23.223 INFO running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/beta-1.31-1/worker-7/1.30.0:/target:rw,Z" "-v" "/mnt/big/crater/work/local/test-source/worker-7/beta-1.31-1/1.30.0:/source:ro,Z" "-v" "/mnt/big/crater/work/local/cargo-home:/cargo-home:ro,Z" "-v" "/mnt/big/crater/work/local/rustup-home:/rustup-home:ro,Z" "-e" "USER_ID=1000" "-e" "SOURCE_DIR=/source" "-e" "USER_ID=1000" "-e" "CMD=cargo +1.30.0 build --frozen" "-e" "CARGO_TARGET_DIR=/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/cargo-home" "-e" "RUSTUP_HOME=/rustup-home" "-m" "1536M" "--network" "none" "crater"`
Oct 31 17:30:23.795 INFO blam! b69b2f7c323480334372fcde0c84cda7f90ae442b093476069eb4a23e11cf6f7
Oct 31 17:30:23.811 INFO running `"docker" "start" "-a" "b69b2f7c323480334372fcde0c84cda7f90ae442b093476069eb4a23e11cf6f7"`
Oct 31 17:30:25.326 INFO kablam! usermod: no changes
Oct 31 17:30:25.459 INFO kablam!    Compiling matrixmultiply v0.1.14
Oct 31 17:30:25.459 INFO kablam!    Compiling serde v1.0.43
Oct 31 17:30:25.465 INFO kablam!    Compiling rawpointer v0.1.0
Oct 31 17:30:25.467 INFO kablam!    Compiling proc-macro2 v0.3.7
Oct 31 17:30:25.467 INFO kablam!    Compiling atty v0.2.9
Oct 31 17:30:25.467 INFO kablam!    Compiling rand_derive v0.3.1
Oct 31 17:30:26.328 INFO kablam!    Compiling clap v2.31.2
Oct 31 17:30:33.437 INFO kablam!    Compiling quote v0.5.2
Oct 31 17:30:35.055 INFO kablam!    Compiling syn v0.13.1
Oct 31 17:30:46.655 INFO kablam!    Compiling serde_derive_internals v0.23.1
Oct 31 17:30:50.591 INFO kablam!    Compiling serde_json v1.0.16
Oct 31 17:30:50.755 INFO kablam!    Compiling serde_derive v1.0.43
Oct 31 17:30:58.467 INFO kablam!    Compiling nnrs v0.1.0 (/source)
Oct 31 17:30:59.051 INFO kablam! warning: unused import: `std::time`
Oct 31 17:30:59.051 INFO kablam!  --> src/mnist.rs:2:5
Oct 31 17:30:59.051 INFO kablam!   |
Oct 31 17:30:59.051 INFO kablam! 2 | use std::time;
Oct 31 17:30:59.051 INFO kablam!   |     ^^^^^^^^^
Oct 31 17:30:59.051 INFO kablam!   |
Oct 31 17:30:59.051 INFO kablam!   = note: #[warn(unused_imports)] on by default
Oct 31 17:30:59.051 INFO kablam! 
Oct 31 17:30:59.051 INFO kablam! warning: unused import: `math`
Oct 31 17:30:59.051 INFO kablam!   --> src/mnist.rs:15:5
Oct 31 17:30:59.051 INFO kablam!    |
Oct 31 17:30:59.051 INFO kablam! 15 | use math;
Oct 31 17:30:59.051 INFO kablam!    |     ^^^^
Oct 31 17:30:59.051 INFO kablam! 
Oct 31 17:30:59.051 INFO kablam! warning: unused import: `math::Matrix`
Oct 31 17:30:59.051 INFO kablam!   --> src/mnist.rs:16:5
Oct 31 17:30:59.051 INFO kablam!    |
Oct 31 17:30:59.051 INFO kablam! 16 | use math::Matrix;
Oct 31 17:30:59.051 INFO kablam!    |     ^^^^^^^^^^^^
Oct 31 17:30:59.051 INFO kablam! 
Oct 31 17:30:59.051 INFO kablam! warning: unused import: `timing`
Oct 31 17:30:59.051 INFO kablam!   --> src/mnist.rs:19:5
Oct 31 17:30:59.051 INFO kablam!    |
Oct 31 17:30:59.051 INFO kablam! 19 | use timing;
Oct 31 17:30:59.051 INFO kablam!    |     ^^^^^^
Oct 31 17:30:59.051 INFO kablam! 
Oct 31 17:30:59.052 INFO kablam! warning: unused import: `std::mem`
Oct 31 17:30:59.052 INFO kablam!  --> src/network.rs:4:5
Oct 31 17:30:59.052 INFO kablam!   |
Oct 31 17:30:59.052 INFO kablam! 4 | use std::mem;
Oct 31 17:30:59.052 INFO kablam!   |     ^^^^^^^^
Oct 31 17:30:59.052 INFO kablam! 
Oct 31 17:30:59.052 INFO kablam! warning: unused import: `timing::Timing`
Oct 31 17:30:59.053 INFO kablam!  --> src/parallel_trainer.rs:9:5
Oct 31 17:30:59.053 INFO kablam!   |
Oct 31 17:30:59.053 INFO kablam! 9 | use timing::Timing;
Oct 31 17:30:59.053 INFO kablam!   |     ^^^^^^^^^^^^^^
Oct 31 17:30:59.053 INFO kablam! 
Oct 31 17:30:59.053 INFO kablam! warning: unused import: `serde_json`
Oct 31 17:30:59.053 INFO kablam!  --> src/snake.rs:6:5
Oct 31 17:30:59.053 INFO kablam!   |
Oct 31 17:30:59.053 INFO kablam! 6 | use serde_json;
Oct 31 17:30:59.053 INFO kablam!   |     ^^^^^^^^^^
Oct 31 17:30:59.053 INFO kablam! 
Oct 31 17:30:59.053 INFO kablam! warning: unused import: `Network`
Oct 31 17:30:59.053 INFO kablam!  --> src/snake_nn.rs:4:15
Oct 31 17:30:59.053 INFO kablam!   |
Oct 31 17:30:59.053 INFO kablam! 4 | use network::{Network, NetworkParameters, NetworkPredictor};
Oct 31 17:30:59.053 INFO kablam!   |               ^^^^^^^
Oct 31 17:30:59.053 INFO kablam! 
Oct 31 17:30:59.054 INFO kablam! warning: unused imports: `IndependentSample`, `Range`
Oct 31 17:30:59.054 INFO kablam!  --> src/snake_nn.rs:7:27
Oct 31 17:30:59.054 INFO kablam!   |
Oct 31 17:30:59.054 INFO kablam! 7 | use rand::distributions::{IndependentSample, Range};
Oct 31 17:30:59.054 INFO kablam!   |                           ^^^^^^^^^^^^^^^^^  ^^^^^
Oct 31 17:30:59.054 INFO kablam! 
Oct 31 17:30:59.055 INFO kablam! warning: unused import: `std::sync::mpsc`
Oct 31 17:30:59.055 INFO kablam!   --> src/snake_nn.rs:18:5
Oct 31 17:30:59.055 INFO kablam!    |
Oct 31 17:30:59.055 INFO kablam! 18 | use std::sync::mpsc;
Oct 31 17:30:59.055 INFO kablam!    |     ^^^^^^^^^^^^^^^
Oct 31 17:30:59.055 INFO kablam! 
Oct 31 17:30:59.055 INFO kablam! warning: unused imports: `Receiver`, `Sender`
Oct 31 17:30:59.055 INFO kablam!   --> src/snake_nn.rs:19:23
Oct 31 17:30:59.055 INFO kablam!    |
Oct 31 17:30:59.055 INFO kablam! 19 | use std::sync::mpsc::{Receiver, Sender};
Oct 31 17:30:59.055 INFO kablam!    |                       ^^^^^^^^  ^^^^^^
Oct 31 17:30:59.055 INFO kablam! 
Oct 31 17:30:59.055 INFO kablam! warning: unused import: `timing::duration_as_total_nanos`
Oct 31 17:30:59.055 INFO kablam!   --> src/snake_nn.rs:22:5
Oct 31 17:30:59.055 INFO kablam!    |
Oct 31 17:30:59.055 INFO kablam! 22 | use timing::duration_as_total_nanos;
Oct 31 17:30:59.055 INFO kablam!    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Oct 31 17:30:59.055 INFO kablam! 
Oct 31 17:30:59.055 INFO kablam! warning: unnecessary parentheses around `if` condition
Oct 31 17:30:59.055 INFO kablam!    --> src/snake_nn.rs:340:8
Oct 31 17:30:59.055 INFO kablam!     |
Oct 31 17:30:59.055 INFO kablam! 340 |     if (rng.gen_range(0.0, 1.0) <= random_move_prob) {
Oct 31 17:30:59.055 INFO kablam!     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
Oct 31 17:30:59.055 INFO kablam!     |
Oct 31 17:30:59.055 INFO kablam!     = note: #[warn(unused_parens)] on by default
Oct 31 17:30:59.055 INFO kablam! 
Oct 31 17:30:59.055 INFO kablam! warning: unused import: `std::collections::hash_map::Entry`
Oct 31 17:30:59.055 INFO kablam!  --> src/timing.rs:2:5
Oct 31 17:30:59.055 INFO kablam!   |
Oct 31 17:30:59.055 INFO kablam! 2 | use std::collections::hash_map::Entry;
Oct 31 17:30:59.055 INFO kablam!   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Oct 31 17:30:59.055 INFO kablam! 
Oct 31 17:30:59.087 INFO kablam! warning: use of deprecated item 'std::thread::sleep_ms': replaced by `std::thread::sleep`
Oct 31 17:30:59.087 INFO kablam!    --> src/snake_nn.rs:176:13
Oct 31 17:30:59.087 INFO kablam!     |
Oct 31 17:30:59.087 INFO kablam! 176 |             thread::sleep_ms(SLEEP_INTERVAL_MS);
Oct 31 17:30:59.087 INFO kablam!     |             ^^^^^^^^^^^^^^^^
Oct 31 17:30:59.087 INFO kablam!     |
Oct 31 17:30:59.087 INFO kablam!     = note: #[warn(deprecated)] on by default
Oct 31 17:30:59.087 INFO kablam! 
Oct 31 17:30:59.087 INFO kablam! warning: use of deprecated item 'std::thread::sleep_ms': replaced by `std::thread::sleep`
Oct 31 17:30:59.087 INFO kablam!    --> src/snake_nn.rs:212:17
Oct 31 17:30:59.087 INFO kablam!     |
Oct 31 17:30:59.087 INFO kablam! 212 |                 thread::sleep_ms(SLEEP_INTERVAL_MS);
Oct 31 17:30:59.087 INFO kablam!     |                 ^^^^^^^^^^^^^^^^
Oct 31 17:30:59.087 INFO kablam! 
Oct 31 17:30:59.719 INFO kablam! warning: unused import: `rand::Rng`
Oct 31 17:30:59.719 INFO kablam!  --> src/snake.rs:1:5
Oct 31 17:30:59.719 INFO kablam!   |
Oct 31 17:30:59.719 INFO kablam! 1 | use rand::Rng;
Oct 31 17:30:59.719 INFO kablam!   |     ^^^^^^^^^
Oct 31 17:30:59.719 INFO kablam! 
Oct 31 17:30:59.797 INFO kablam! warning: unused variable: `hits`
Oct 31 17:30:59.797 INFO kablam!   --> src/mnist.rs:64:13
Oct 31 17:30:59.797 INFO kablam!    |
Oct 31 17:30:59.797 INFO kablam! 64 |     let mut hits = 0usize;
Oct 31 17:30:59.797 INFO kablam!    |             ^^^^ help: consider using `_hits` instead
Oct 31 17:30:59.797 INFO kablam!    |
Oct 31 17:30:59.797 INFO kablam!    = note: #[warn(unused_variables)] on by default
Oct 31 17:30:59.797 INFO kablam! 
Oct 31 17:30:59.797 INFO kablam! warning: unused variable: `predictor`
Oct 31 17:30:59.797 INFO kablam!   --> src/mnist.rs:98:30
Oct 31 17:30:59.797 INFO kablam!    |
Oct 31 17:30:59.797 INFO kablam! 98 |                 let (params, predictor, _) = parallel_trainer.borrow_network_parts();
Oct 31 17:30:59.797 INFO kablam!    |                              ^^^^^^^^^ help: consider using `_predictor` instead
Oct 31 17:30:59.797 INFO kablam! 
Oct 31 17:30:59.797 INFO kablam! warning: unused variable: `log_every_n`
Oct 31 17:30:59.797 INFO kablam!   --> src/mnist.rs:35:5
Oct 31 17:30:59.797 INFO kablam!    |
Oct 31 17:30:59.797 INFO kablam! 35 |     log_every_n: usize,
Oct 31 17:30:59.797 INFO kablam!    |     ^^^^^^^^^^^ help: consider using `_log_every_n` instead
Oct 31 17:30:59.797 INFO kablam! 
Oct 31 17:30:59.797 INFO kablam! warning: unused variable: `outputs`
Oct 31 17:30:59.797 INFO kablam!    --> src/parallel_trainer.rs:150:21
Oct 31 17:30:59.797 INFO kablam!     |
Oct 31 17:30:59.797 INFO kablam! 150 |                 let outputs = local_nn_predictor
Oct 31 17:30:59.797 INFO kablam!     |                     ^^^^^^^ help: consider using `_outputs` instead
Oct 31 17:30:59.797 INFO kablam! 
Oct 31 17:30:59.797 INFO kablam! warning: unused variable: `iters`
Oct 31 17:30:59.797 INFO kablam!    --> src/snake.rs:168:21
Oct 31 17:30:59.797 INFO kablam!     |
Oct 31 17:30:59.797 INFO kablam! 168 |             let mut iters = 0;
Oct 31 17:30:59.797 INFO kablam!     |                     ^^^^^ help: consider using `_iters` instead
Oct 31 17:30:59.797 INFO kablam! 
Oct 31 17:30:59.797 INFO kablam! warning: unused variable: `epoch_no`
Oct 31 17:30:59.797 INFO kablam!   --> src/snake_nn.rs:73:9
Oct 31 17:30:59.797 INFO kablam!    |
Oct 31 17:30:59.797 INFO kablam! 73 |     for epoch_no in 0..num_epochs {
Oct 31 17:30:59.797 INFO kablam!    |         ^^^^^^^^ help: consider using `_epoch_no` instead
Oct 31 17:30:59.797 INFO kablam! 
Oct 31 17:30:59.797 INFO kablam! warning: unused variable: `predictor`
Oct 31 17:30:59.797 INFO kablam!   --> src/snake_nn.rs:90:30
Oct 31 17:30:59.797 INFO kablam!    |
Oct 31 17:30:59.797 INFO kablam! 90 |                 let (params, predictor, _) = parallel_trainer.borrow_network_parts();
Oct 31 17:30:59.797 INFO kablam!    |                              ^^^^^^^^^ help: consider using `_predictor` instead
Oct 31 17:30:59.797 INFO kablam! 
Oct 31 17:30:59.797 INFO kablam! warning: unused variable: `predictor`
Oct 31 17:30:59.798 INFO kablam!    --> src/snake_nn.rs:109:18
Oct 31 17:30:59.798 INFO kablam!     |
Oct 31 17:30:59.798 INFO kablam! 109 |     let (params, predictor, _) = parallel_trainer.borrow_network_parts();
Oct 31 17:30:59.798 INFO kablam!     |                  ^^^^^^^^^ help: consider using `_predictor` instead
Oct 31 17:30:59.798 INFO kablam! 
Oct 31 17:30:59.807 INFO kablam! warning: unused variable: `max_gain`
Oct 31 17:30:59.807 INFO kablam!    --> src/snake_nn.rs:357:13
Oct 31 17:30:59.807 INFO kablam!     |
Oct 31 17:30:59.807 INFO kablam! 357 |     let (i, max_gain) = get_max_with_pos(snake_inputs_gains.as_slice());
Oct 31 17:30:59.807 INFO kablam!     |             ^^^^^^^^ help: consider using `_max_gain` instead
Oct 31 17:30:59.807 INFO kablam! 
Oct 31 17:30:59.807 INFO kablam! warning: unused variable: `is_next_action_optimal`
Oct 31 17:30:59.807 INFO kablam!    --> src/snake_nn.rs:503:13
Oct 31 17:30:59.807 INFO kablam!     |
Oct 31 17:30:59.807 INFO kablam! 503 |         let is_next_action_optimal = session[i - 1].is_optimal;
Oct 31 17:30:59.807 INFO kablam!     |             ^^^^^^^^^^^^^^^^^^^^^^ help: consider using `_is_next_action_optimal` instead
Oct 31 17:30:59.807 INFO kablam! 
Oct 31 17:30:59.807 INFO kablam! warning: unused variable: `i`
Oct 31 17:30:59.808 INFO kablam!    --> src/snake_nn.rs:530:9
Oct 31 17:30:59.808 INFO kablam!     |
Oct 31 17:30:59.808 INFO kablam! 530 |     for i in 0..MAP_WIDTH * MAP_HEIGHT - 1 {
Oct 31 17:30:59.808 INFO kablam!     |         ^ help: consider using `_i` instead
Oct 31 17:30:59.808 INFO kablam! 
Oct 31 17:30:59.808 INFO kablam! warning: unused variable: `matches`
Oct 31 17:30:59.808 INFO kablam!   --> src/main.rs:53:24
Oct 31 17:30:59.808 INFO kablam!    |
Oct 31 17:30:59.808 INFO kablam! 53 | fn execute_mnist_train(matches: &ArgMatches, submatches: &ArgMatches) {
Oct 31 17:30:59.808 INFO kablam!    |                        ^^^^^^^ help: consider using `_matches` instead
Oct 31 17:30:59.808 INFO kablam! 
Oct 31 17:30:59.808 INFO kablam! warning: unused variable: `matches`
Oct 31 17:30:59.808 INFO kablam!   --> src/main.rs:68:22
Oct 31 17:30:59.808 INFO kablam!    |
Oct 31 17:30:59.808 INFO kablam! 68 | fn execute_snake_new(matches: &ArgMatches, submatches: &ArgMatches) {
Oct 31 17:30:59.808 INFO kablam!    |                      ^^^^^^^ help: consider using `_matches` instead
Oct 31 17:30:59.808 INFO kablam! 
Oct 31 17:30:59.808 INFO kablam! warning: unused variable: `matches`
Oct 31 17:30:59.808 INFO kablam!   --> src/main.rs:73:24
Oct 31 17:30:59.808 INFO kablam!    |
Oct 31 17:30:59.808 INFO kablam! 73 | fn execute_snake_train(matches: &ArgMatches, submatches: &ArgMatches) {
Oct 31 17:30:59.808 INFO kablam!    |                        ^^^^^^^ help: consider using `_matches` instead
Oct 31 17:30:59.808 INFO kablam! 
Oct 31 17:30:59.808 INFO kablam! warning: unused variable: `matches`
Oct 31 17:30:59.808 INFO kablam!   --> src/main.rs:93:22
Oct 31 17:30:59.808 INFO kablam!    |
Oct 31 17:30:59.808 INFO kablam! 93 | fn execute_snake_gen(matches: &ArgMatches, submatches: &ArgMatches) {
Oct 31 17:30:59.808 INFO kablam!    |                      ^^^^^^^ help: consider using `_matches` instead
Oct 31 17:30:59.808 INFO kablam! 
Oct 31 17:30:59.808 INFO kablam! warning: unused variable: `matches`
Oct 31 17:30:59.808 INFO kablam!    --> src/main.rs:101:23
Oct 31 17:30:59.808 INFO kablam!     |
Oct 31 17:30:59.808 INFO kablam! 101 | fn execute_snake_demo(matches: &ArgMatches, submatches: &ArgMatches) {
Oct 31 17:30:59.808 INFO kablam!     |                       ^^^^^^^ help: consider using `_matches` instead
Oct 31 17:30:59.808 INFO kablam! 
Oct 31 17:30:59.808 INFO kablam! warning: unused variable: `thread_no`
Oct 31 17:30:59.808 INFO kablam!   --> src/parallel_trainer.rs:46:13
Oct 31 17:30:59.808 INFO kablam!    |
Oct 31 17:30:59.808 INFO kablam! 46 |         for thread_no in 0..num_threads {
Oct 31 17:30:59.808 INFO kablam!    |             ^^^^^^^^^ help: consider using `_thread_no` instead
Oct 31 17:30:59.808 INFO kablam! 
Oct 31 17:30:59.896 INFO kablam! warning: variable does not need to be mutable
Oct 31 17:30:59.896 INFO kablam!   --> src/mnist.rs:64:9
Oct 31 17:30:59.896 INFO kablam!    |
Oct 31 17:30:59.896 INFO kablam! 64 |     let mut hits = 0usize;
Oct 31 17:30:59.896 INFO kablam!    |         ----^^^^
Oct 31 17:30:59.896 INFO kablam!    |         |
Oct 31 17:30:59.896 INFO kablam!    |         help: remove this `mut`
Oct 31 17:30:59.896 INFO kablam!    |
Oct 31 17:30:59.896 INFO kablam!    = note: #[warn(unused_mut)] on by default
Oct 31 17:30:59.897 INFO kablam! 
Oct 31 17:30:59.904 INFO kablam! warning: variable does not need to be mutable
Oct 31 17:30:59.904 INFO kablam!   --> src/network.rs:55:13
Oct 31 17:30:59.904 INFO kablam!    |
Oct 31 17:30:59.904 INFO kablam! 55 |         let mut nn: Self = serde_json::from_reader(&file).unwrap();
Oct 31 17:30:59.904 INFO kablam!    |             ----^^
Oct 31 17:30:59.904 INFO kablam!    |             |
Oct 31 17:30:59.904 INFO kablam!    |             help: remove this `mut`
Oct 31 17:30:59.905 INFO kablam! 
Oct 31 17:30:59.995 INFO kablam! warning: variable does not need to be mutable
Oct 31 17:30:59.995 INFO kablam!   --> src/parallel_trainer.rs:37:51
Oct 31 17:30:59.995 INFO kablam!    |
Oct 31 17:30:59.995 INFO kablam! 37 |         let (mut nn_parameters, mut nn_predictor, mut nn_trainer) = network.as_parts();
Oct 31 17:30:59.995 INFO kablam!    |                                                   ----^^^^^^^^^^
Oct 31 17:30:59.995 INFO kablam!    |                                                   |
Oct 31 17:30:59.995 INFO kablam!    |                                                   help: remove this `mut`
Oct 31 17:30:59.995 INFO kablam! 
Oct 31 17:30:59.995 INFO kablam! warning: variable does not need to be mutable
Oct 31 17:30:59.995 INFO kablam!   --> src/parallel_trainer.rs:37:33
Oct 31 17:30:59.995 INFO kablam!    |
Oct 31 17:30:59.995 INFO kablam! 37 |         let (mut nn_parameters, mut nn_predictor, mut nn_trainer) = network.as_parts();
Oct 31 17:30:59.995 INFO kablam!    |                                 ----^^^^^^^^^^^^
Oct 31 17:30:59.995 INFO kablam!    |                                 |
Oct 31 17:30:59.995 INFO kablam!    |                                 help: remove this `mut`
Oct 31 17:30:59.995 INFO kablam! 
Oct 31 17:30:59.995 INFO kablam! warning: variable does not need to be mutable
Oct 31 17:30:59.995 INFO kablam!   --> src/parallel_trainer.rs:37:14
Oct 31 17:30:59.995 INFO kablam!    |
Oct 31 17:30:59.995 INFO kablam! 37 |         let (mut nn_parameters, mut nn_predictor, mut nn_trainer) = network.as_parts();
Oct 31 17:30:59.995 INFO kablam!    |              ----^^^^^^^^^^^^^
Oct 31 17:30:59.995 INFO kablam!    |              |
Oct 31 17:30:59.995 INFO kablam!    |              help: remove this `mut`
Oct 31 17:30:59.995 INFO kablam! 
Oct 31 17:31:00.001 INFO kablam! warning: variable does not need to be mutable
Oct 31 17:31:00.001 INFO kablam!    --> src/parallel_trainer.rs:123:5
Oct 31 17:31:00.001 INFO kablam!     |
Oct 31 17:31:00.001 INFO kablam! 123 |     mut job_receiver: Arc<Mutex<Receiver<TrainingJob>>>,
Oct 31 17:31:00.001 INFO kablam!     |     ----^^^^^^^^^^^^
Oct 31 17:31:00.001 INFO kablam!     |     |
Oct 31 17:31:00.001 INFO kablam!     |     help: remove this `mut`
Oct 31 17:31:00.002 INFO kablam! 
Oct 31 17:31:00.002 INFO kablam! warning: variable does not need to be mutable
Oct 31 17:31:00.002 INFO kablam!    --> src/parallel_trainer.rs:124:5
Oct 31 17:31:00.002 INFO kablam!     |
Oct 31 17:31:00.002 INFO kablam! 124 |     mut output_sender: Sender<Arc<Mutex<NetworkTrainer>>>,
Oct 31 17:31:00.002 INFO kablam!     |     ----^^^^^^^^^^^^^
Oct 31 17:31:00.002 INFO kablam!     |     |
Oct 31 17:31:00.002 INFO kablam!     |     help: remove this `mut`
Oct 31 17:31:00.002 INFO kablam! 
Oct 31 17:31:00.002 INFO kablam! warning: variable does not need to be mutable
Oct 31 17:31:00.002 INFO kablam!    --> src/parallel_trainer.rs:126:5
Oct 31 17:31:00.002 INFO kablam!     |
Oct 31 17:31:00.002 INFO kablam! 126 |     mut local_nn_trainer: Arc<Mutex<NetworkTrainer>>,
Oct 31 17:31:00.002 INFO kablam!     |     ----^^^^^^^^^^^^^^^^
Oct 31 17:31:00.002 INFO kablam!     |     |
Oct 31 17:31:00.002 INFO kablam!     |     help: remove this `mut`
Oct 31 17:31:00.002 INFO kablam! 
Oct 31 17:31:00.073 INFO kablam! warning: variable does not need to be mutable
Oct 31 17:31:00.073 INFO kablam!   --> src/snake_nn.rs:57:9
Oct 31 17:31:00.073 INFO kablam!    |
Oct 31 17:31:00.073 INFO kablam! 57 |     let mut nn = network::Network::load_from_file(model_input_path);
Oct 31 17:31:00.073 INFO kablam!    |         ----^^
Oct 31 17:31:00.073 INFO kablam!    |         |
Oct 31 17:31:00.073 INFO kablam!    |         help: remove this `mut`
Oct 31 17:31:00.073 INFO kablam! 
Oct 31 17:31:00.074 INFO kablam! warning: variable does not need to be mutable
Oct 31 17:31:00.074 INFO kablam!    --> src/snake_nn.rs:131:21
Oct 31 17:31:00.074 INFO kablam!     |
Oct 31 17:31:00.074 INFO kablam! 131 |                 let mut state = GameState {
Oct 31 17:31:00.074 INFO kablam!     |                     ----^^^^^
Oct 31 17:31:00.074 INFO kablam!     |                     |
Oct 31 17:31:00.074 INFO kablam!     |                     help: remove this `mut`
Oct 31 17:31:00.074 INFO kablam! 
Oct 31 17:31:00.074 INFO kablam! warning: variable does not need to be mutable
Oct 31 17:31:00.074 INFO kablam!    --> src/snake_nn.rs:115:9
Oct 31 17:31:00.074 INFO kablam!     |
Oct 31 17:31:00.074 INFO kablam! 115 |     let mut nn = network::Network::load_from_file(model_path);
Oct 31 17:31:00.074 INFO kablam!     |         ----^^
Oct 31 17:31:00.074 INFO kablam!     |         |
Oct 31 17:31:00.074 INFO kablam!     |         help: remove this `mut`
Oct 31 17:31:00.074 INFO kablam! 
Oct 31 17:31:00.109 INFO kablam! warning: method is never used: `new_same_dim`
Oct 31 17:31:00.109 INFO kablam!   --> src/math.rs:21:5
Oct 31 17:31:00.109 INFO kablam!    |
Oct 31 17:31:00.109 INFO kablam! 21 |     pub fn new_same_dim(m: &Matrix) -> Self {
Oct 31 17:31:00.109 INFO kablam!    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Oct 31 17:31:00.110 INFO kablam!    |
Oct 31 17:31:00.110 INFO kablam!    = note: #[warn(dead_code)] on by default
Oct 31 17:31:00.110 INFO kablam! 
Oct 31 17:31:00.110 INFO kablam! warning: method is never used: `from_slice`
Oct 31 17:31:00.110 INFO kablam!   --> src/math.rs:27:5
Oct 31 17:31:00.110 INFO kablam!    |
Oct 31 17:31:00.110 INFO kablam! 27 |     pub fn from_slice(rows: usize, cols: usize, content: &[f64]) -> Self {
Oct 31 17:31:00.110 INFO kablam!    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Oct 31 17:31:00.110 INFO kablam! 
Oct 31 17:31:00.110 INFO kablam! warning: method is never used: `dot_vec`
Oct 31 17:31:00.110 INFO kablam!   --> src/math.rs:71:5
Oct 31 17:31:00.110 INFO kablam!    |
Oct 31 17:31:00.110 INFO kablam! 71 |     pub fn dot_vec(&self, vec: &Vector, res: &mut Vector) {
Oct 31 17:31:00.110 INFO kablam!    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Oct 31 17:31:00.110 INFO kablam! 
Oct 31 17:31:00.110 INFO kablam! warning: method is never used: `transpose`
Oct 31 17:31:00.110 INFO kablam!    --> src/math.rs:155:5
Oct 31 17:31:00.110 INFO kablam!     |
Oct 31 17:31:00.110 INFO kablam! 155 |     pub fn transpose(&self, res: &mut Matrix) {
Oct 31 17:31:00.110 INFO kablam!     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Oct 31 17:31:00.110 INFO kablam! 
Oct 31 17:31:00.111 INFO kablam! warning: method is never used: `from_slice`
Oct 31 17:31:00.111 INFO kablam!    --> src/math.rs:241:5
Oct 31 17:31:00.111 INFO kablam!     |
Oct 31 17:31:00.111 INFO kablam! 241 |     pub fn from_slice(content: &[f64]) -> Self {
Oct 31 17:31:00.111 INFO kablam!     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Oct 31 17:31:00.111 INFO kablam! 
Oct 31 17:31:00.111 INFO kablam! warning: method is never used: `empty`
Oct 31 17:31:00.111 INFO kablam!    --> src/math.rs:248:5
Oct 31 17:31:00.111 INFO kablam!     |
Oct 31 17:31:00.111 INFO kablam! 248 |     pub fn empty() -> Self {
Oct 31 17:31:00.111 INFO kablam!     |     ^^^^^^^^^^^^^^^^^^^^^^
Oct 31 17:31:00.111 INFO kablam! 
Oct 31 17:31:00.112 INFO kablam! warning: method is never used: `init_rand`
Oct 31 17:31:00.112 INFO kablam!    --> src/math.rs:267:5
Oct 31 17:31:00.112 INFO kablam!     |
Oct 31 17:31:00.112 INFO kablam! 267 |     pub fn init_rand(mut self) -> Self {
Oct 31 17:31:00.112 INFO kablam!     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Oct 31 17:31:00.112 INFO kablam! 
Oct 31 17:31:00.112 INFO kablam! warning: method is never used: `copy_from`
Oct 31 17:31:00.112 INFO kablam!    --> src/math.rs:286:5
Oct 31 17:31:00.112 INFO kablam!     |
Oct 31 17:31:00.112 INFO kablam! 286 |     pub fn copy_from(&mut self, v: &Vector) {
Oct 31 17:31:00.112 INFO kablam!     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Oct 31 17:31:00.112 INFO kablam! 
Oct 31 17:31:00.112 INFO kablam! warning: method is never used: `add`
Oct 31 17:31:00.112 INFO kablam!    --> src/math.rs:322:5
Oct 31 17:31:00.112 INFO kablam!     |
Oct 31 17:31:00.112 INFO kablam! 322 |     pub fn add(&mut self, v: &Vector) {
Oct 31 17:31:00.112 INFO kablam!     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Oct 31 17:31:00.112 INFO kablam! 
Oct 31 17:31:00.112 INFO kablam! warning: method is never used: `fill_rand`
Oct 31 17:31:00.112 INFO kablam!    --> src/math.rs:335:5
Oct 31 17:31:00.112 INFO kablam!     |
Oct 31 17:31:00.112 INFO kablam! 335 |     pub fn fill_rand(&mut self) {
Oct 31 17:31:00.113 INFO kablam!     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
Oct 31 17:31:00.113 INFO kablam! 
Oct 31 17:31:00.113 INFO kablam! warning: constant item is never used: `NANOS_IN_SECOND`
Oct 31 17:31:00.113 INFO kablam!   --> src/mnist.rs:28:1
Oct 31 17:31:00.113 INFO kablam!    |
Oct 31 17:31:00.113 INFO kablam! 28 | const NANOS_IN_SECOND: u64 = 1_000_000_000;
Oct 31 17:31:00.113 INFO kablam!    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Oct 31 17:31:00.113 INFO kablam! 
Oct 31 17:31:00.113 INFO kablam! warning: method is never used: `get_layer_mut`
Oct 31 17:31:00.113 INFO kablam!   --> src/network.rs:46:5
Oct 31 17:31:00.113 INFO kablam!    |
Oct 31 17:31:00.113 INFO kablam! 46 |     fn get_layer_mut(&mut self, id: LayerID) -> &mut Layer {
Oct 31 17:31:00.113 INFO kablam!    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Oct 31 17:31:00.113 INFO kablam! 
Oct 31 17:31:00.113 INFO kablam! warning: method is never used: `calc_layers_order`
Oct 31 17:31:00.113 INFO kablam!    --> src/network.rs:462:5
Oct 31 17:31:00.113 INFO kablam!     |
Oct 31 17:31:00.113 INFO kablam! 462 |     fn calc_layers_order(&self) -> Vec<LayerID> {
Oct 31 17:31:00.113 INFO kablam!     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Oct 31 17:31:00.113 INFO kablam! 
Oct 31 17:31:00.113 INFO kablam! warning: method is never used: `predict`
Oct 31 17:31:00.114 INFO kablam!    --> src/network.rs:466:5
Oct 31 17:31:00.114 INFO kablam!     |
Oct 31 17:31:00.114 INFO kablam! 466 |     pub fn predict(&mut self, input_data: &[f64]) -> &Vector {
Oct 31 17:31:00.114 INFO kablam!     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Oct 31 17:31:00.114 INFO kablam! 
Oct 31 17:31:00.114 INFO kablam! warning: method is never used: `backward_propagation`
Oct 31 17:31:00.114 INFO kablam!    --> src/network.rs:470:5
Oct 31 17:31:00.114 INFO kablam!     |
Oct 31 17:31:00.114 INFO kablam! 470 |     pub fn backward_propagation(&mut self, true_outputs: &Vector) {
Oct 31 17:31:00.114 INFO kablam!     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Oct 31 17:31:00.115 INFO kablam! 
Oct 31 17:31:00.115 INFO kablam! warning: method is never used: `apply_batch`
Oct 31 17:31:00.115 INFO kablam!    --> src/network.rs:530:5
Oct 31 17:31:00.115 INFO kablam!     |
Oct 31 17:31:00.115 INFO kablam! 530 |     pub fn apply_batch(&mut self) {
Oct 31 17:31:00.115 INFO kablam!     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Oct 31 17:31:00.115 INFO kablam! 
Oct 31 17:31:00.115 INFO kablam! warning: field is never used: `shared_training_data`
Oct 31 17:31:00.115 INFO kablam!   --> src/parallel_trainer.rs:22:5
Oct 31 17:31:00.115 INFO kablam!    |
Oct 31 17:31:00.115 INFO kablam! 22 |     shared_training_data: Arc<D>,
Oct 31 17:31:00.115 INFO kablam!    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Oct 31 17:31:00.115 INFO kablam! 
Oct 31 17:31:00.116 INFO kablam! warning: field is never used: `job_receiver`
Oct 31 17:31:00.116 INFO kablam!   --> src/parallel_trainer.rs:29:5
Oct 31 17:31:00.116 INFO kablam!    |
Oct 31 17:31:00.116 INFO kablam! 29 |     job_receiver: Arc<Mutex<Receiver<TrainingJob>>>,
Oct 31 17:31:00.116 INFO kablam!    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Oct 31 17:31:00.116 INFO kablam! 
Oct 31 17:31:00.116 INFO kablam! warning: field is never used: `output_sender`
Oct 31 17:31:00.116 INFO kablam!   --> src/parallel_trainer.rs:30:5
Oct 31 17:31:00.116 INFO kablam!    |
Oct 31 17:31:00.116 INFO kablam! 30 |     output_sender: Sender<Arc<Mutex<NetworkTrainer>>>,
Oct 31 17:31:00.116 INFO kablam!    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Oct 31 17:31:00.116 INFO kablam! 
Oct 31 17:31:00.116 INFO kablam! warning: field is never used: `join_handles`
Oct 31 17:31:00.116 INFO kablam!   --> src/parallel_trainer.rs:32:5
Oct 31 17:31:00.116 INFO kablam!    |
Oct 31 17:31:00.116 INFO kablam! 32 |     join_handles: Vec<JoinHandle<()>>,
Oct 31 17:31:00.116 INFO kablam!    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Oct 31 17:31:00.116 INFO kablam! 
Oct 31 17:31:00.116 INFO kablam! warning: function is never used: `teach_nn`
Oct 31 17:31:00.117 INFO kablam!    --> src/snake_nn.rs:384:1
Oct 31 17:31:00.117 INFO kablam!     |
Oct 31 17:31:00.117 INFO kablam! 384 | / fn teach_nn(
Oct 31 17:31:00.117 INFO kablam! 385 | |     nn: &mut network::Network,
Oct 31 17:31:00.117 INFO kablam! 386 | |     state: &GameState,
Oct 31 17:31:00.117 INFO kablam! 387 | |     snake_input: SnakeInput,
Oct 31 17:31:00.117 INFO kablam! ...   |
Oct 31 17:31:00.117 INFO kablam! 398 | |     nn.backward_propagation(&true_output_vec);
Oct 31 17:31:00.117 INFO kablam! 399 | | }
Oct 31 17:31:00.117 INFO kablam!     | |_^
Oct 31 17:31:00.117 INFO kablam! 
Oct 31 17:31:00.117 INFO kablam! warning: method is never used: `elapsed`
Oct 31 17:31:00.117 INFO kablam!   --> src/timing.rs:46:5
Oct 31 17:31:00.117 INFO kablam!    |
Oct 31 17:31:00.117 INFO kablam! 46 |     pub fn elapsed(&self, name: &str) -> time::Duration {
Oct 31 17:31:00.117 INFO kablam!    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Oct 31 17:31:00.117 INFO kablam! 
Oct 31 17:31:00.135 INFO kablam! warning: unused `std::result::Result` which must be used
Oct 31 17:31:00.135 INFO kablam!   --> src/parallel_trainer.rs:85:13
Oct 31 17:31:00.135 INFO kablam!    |
Oct 31 17:31:00.135 INFO kablam! 85 | /             self.job_sender.send(TrainingJob {
Oct 31 17:31:00.135 INFO kablam! 86 | |                 examples_indices: chunk,
Oct 31 17:31:00.135 INFO kablam! 87 | |                 network_parameters: self.shared_nn_parameters.clone(),
Oct 31 17:31:00.135 INFO kablam! 88 | |             });
Oct 31 17:31:00.135 INFO kablam!    | |_______________^
Oct 31 17:31:00.135 INFO kablam!    |
Oct 31 17:31:00.135 INFO kablam!    = note: #[warn(unused_must_use)] on by default
Oct 31 17:31:00.136 INFO kablam!    = note: this `Result` may be an `Err` variant, which should be handled
Oct 31 17:31:00.136 INFO kablam! 
Oct 31 17:31:00.136 INFO kablam! warning: unused `std::result::Result` which must be used
Oct 31 17:31:00.136 INFO kablam!    --> src/parallel_trainer.rs:160:9
Oct 31 17:31:00.136 INFO kablam!     |
Oct 31 17:31:00.136 INFO kablam! 160 |         output_sender.send(local_nn_trainer.clone());
Oct 31 17:31:00.136 INFO kablam!     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Oct 31 17:31:00.136 INFO kablam!     |
Oct 31 17:31:00.136 INFO kablam!     = note: this `Result` may be an `Err` variant, which should be handled
Oct 31 17:31:00.136 INFO kablam! 
Oct 31 17:31:00.136 INFO kablam! warning: unused `std::result::Result` which must be used
Oct 31 17:31:00.136 INFO kablam!    --> src/snake.rs:118:9
Oct 31 17:31:00.136 INFO kablam!     |
Oct 31 17:31:00.136 INFO kablam! 118 |         writer.write("\n".as_bytes());
Oct 31 17:31:00.136 INFO kablam!     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Oct 31 17:31:00.136 INFO kablam!     |
Oct 31 17:31:00.136 INFO kablam!     = note: this `Result` may be an `Err` variant, which should be handled
Oct 31 17:31:00.136 INFO kablam! 
Oct 31 17:31:00.136 INFO kablam! warning: unused `std::result::Result` which must be used
Oct 31 17:31:00.136 INFO kablam!    --> src/snake.rs:120:5
Oct 31 17:31:00.136 INFO kablam!     |
Oct 31 17:31:00.137 INFO kablam! 120 |     writer.flush();
Oct 31 17:31:00.137 INFO kablam!     |     ^^^^^^^^^^^^^^^
Oct 31 17:31:00.137 INFO kablam!     |
Oct 31 17:31:00.137 INFO kablam!     = note: this `Result` may be an `Err` variant, which should be handled
Oct 31 17:31:00.137 INFO kablam! 
Oct 31 17:31:00.137 INFO kablam! warning: unused `std::result::Result` which must be used
Oct 31 17:31:00.137 INFO kablam!    --> src/snake.rs:131:5
Oct 31 17:31:00.137 INFO kablam!     |
Oct 31 17:31:00.137 INFO kablam! 131 |     writer.write(character.as_bytes());
Oct 31 17:31:00.137 INFO kablam!     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Oct 31 17:31:00.137 INFO kablam!     |
Oct 31 17:31:00.137 INFO kablam!     = note: this `Result` may be an `Err` variant, which should be handled
Oct 31 17:31:00.137 INFO kablam! 
Oct 31 17:31:00.137 INFO kablam! warning: unused `std::result::Result` which must be used
Oct 31 17:31:00.137 INFO kablam!    --> src/snake_nn.rs:150:9
Oct 31 17:31:00.137 INFO kablam!     |
Oct 31 17:31:00.138 INFO kablam! 150 |         jh.join();
Oct 31 17:31:00.138 INFO kablam!     |         ^^^^^^^^^^
Oct 31 17:31:00.138 INFO kablam!     |
Oct 31 17:31:00.138 INFO kablam!     = note: this `Result` may be an `Err` variant, which should be handled
Oct 31 17:31:00.138 INFO kablam! 
Oct 31 17:31:00.138 INFO kablam! warning: the `game_over:` in this pattern is redundant
Oct 31 17:31:00.138 INFO kablam!    --> src/snake_nn.rs:203:17
Oct 31 17:31:00.138 INFO kablam!     |
Oct 31 17:31:00.138 INFO kablam! 203 |                 game_over: game_over,
Oct 31 17:31:00.139 INFO kablam!     |                 ----------^^^^^^^^^^
Oct 31 17:31:00.139 INFO kablam!     |                 |
Oct 31 17:31:00.139 INFO kablam!     |                 help: remove this
Oct 31 17:31:00.139 INFO kablam!     |
Oct 31 17:31:00.139 INFO kablam!     = note: #[warn(non_shorthand_field_patterns)] on by default
Oct 31 17:31:00.139 INFO kablam! 
Oct 31 17:31:00.139 INFO kablam! warning: the `game_over:` in this pattern is redundant
Oct 31 17:31:00.139 INFO kablam!    --> src/snake_nn.rs:271:13
Oct 31 17:31:00.140 INFO kablam!     |
Oct 31 17:31:00.140 INFO kablam! 271 |             game_over: game_over,
Oct 31 17:31:00.140 INFO kablam!     |             ----------^^^^^^^^^^
Oct 31 17:31:00.140 INFO kablam!     |             |
Oct 31 17:31:00.140 INFO kablam!     |             help: remove this
Oct 31 17:31:00.140 INFO kablam! 
Oct 31 17:31:00.140 INFO kablam! warning: the `game_over:` in this pattern is redundant
Oct 31 17:31:00.140 INFO kablam!    --> src/snake_nn.rs:308:17
Oct 31 17:31:00.140 INFO kablam!     |
Oct 31 17:31:00.140 INFO kablam! 308 |                 game_over: game_over,
Oct 31 17:31:00.140 INFO kablam!     |                 ----------^^^^^^^^^^
Oct 31 17:31:00.140 INFO kablam!     |                 |
Oct 31 17:31:00.140 INFO kablam!     |                 help: remove this
Oct 31 17:31:00.140 INFO kablam! 
Oct 31 17:31:00.143 INFO kablam! warning: unused attribute
Oct 31 17:31:00.143 INFO kablam!  --> src/snake_nn.rs:1:1
Oct 31 17:31:00.143 INFO kablam!   |
Oct 31 17:31:00.143 INFO kablam! 1 | #![feature(test)]
Oct 31 17:31:00.143 INFO kablam!   | ^^^^^^^^^^^^^^^^^
Oct 31 17:31:00.143 INFO kablam!   |
Oct 31 17:31:00.143 INFO kablam!   = note: #[warn(unused_attributes)] on by default
Oct 31 17:31:00.143 INFO kablam! 
Oct 31 17:31:00.143 INFO kablam! warning: crate-level attribute should be in the root module
Oct 31 17:31:00.143 INFO kablam!  --> src/snake_nn.rs:1:1
Oct 31 17:31:00.143 INFO kablam!   |
Oct 31 17:31:00.143 INFO kablam! 1 | #![feature(test)]
Oct 31 17:31:00.143 INFO kablam!   | ^^^^^^^^^^^^^^^^^
Oct 31 17:31:00.143 INFO kablam! 
Oct 31 17:31:04.251 INFO kablam!     Finished dev [unoptimized + debuginfo] target(s) in 38.89s
Oct 31 17:31:04.257 INFO kablam! su: No module specific data is present
Oct 31 17:31:04.480 INFO running `"docker" "rm" "-f" "b69b2f7c323480334372fcde0c84cda7f90ae442b093476069eb4a23e11cf6f7"`
Oct 31 17:31:04.665 INFO blam! b69b2f7c323480334372fcde0c84cda7f90ae442b093476069eb4a23e11cf6f7
Oct 31 17:31:04.669 INFO running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/beta-1.31-1/worker-7/1.30.0:/target:rw,Z" "-v" "/mnt/big/crater/work/local/test-source/worker-7/beta-1.31-1/1.30.0:/source:ro,Z" "-v" "/mnt/big/crater/work/local/cargo-home:/cargo-home:ro,Z" "-v" "/mnt/big/crater/work/local/rustup-home:/rustup-home:ro,Z" "-e" "USER_ID=1000" "-e" "SOURCE_DIR=/source" "-e" "USER_ID=1000" "-e" "CMD=cargo +1.30.0 test --frozen --no-run" "-e" "CARGO_TARGET_DIR=/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/cargo-home" "-e" "RUSTUP_HOME=/rustup-home" "-m" "1536M" "--network" "none" "crater"`
Oct 31 17:31:04.811 INFO blam! 78e7170e89f97fa63cfe1d51ee86f460474bf58d98807ca6b95f8f6d8e1ef53d
Oct 31 17:31:04.812 INFO running `"docker" "start" "-a" "78e7170e89f97fa63cfe1d51ee86f460474bf58d98807ca6b95f8f6d8e1ef53d"`
Oct 31 17:31:05.258 INFO kablam! usermod: no changes
Oct 31 17:31:05.335 INFO kablam!    Compiling nnrs v0.1.0 (/source)
Oct 31 17:31:05.889 INFO kablam! warning: unused import: `std::time`
Oct 31 17:31:05.889 INFO kablam!  --> src/mnist.rs:2:5
Oct 31 17:31:05.889 INFO kablam!   |
Oct 31 17:31:05.889 INFO kablam! 2 | use std::time;
Oct 31 17:31:05.889 INFO kablam!   |     ^^^^^^^^^
Oct 31 17:31:05.889 INFO kablam!   |
Oct 31 17:31:05.889 INFO kablam!   = note: #[warn(unused_imports)] on by default
Oct 31 17:31:05.889 INFO kablam! 
Oct 31 17:31:05.890 INFO kablam! warning: unused import: `math`
Oct 31 17:31:05.890 INFO kablam!   --> src/mnist.rs:15:5
Oct 31 17:31:05.890 INFO kablam!    |
Oct 31 17:31:05.890 INFO kablam! 15 | use math;
Oct 31 17:31:05.890 INFO kablam!    |     ^^^^
Oct 31 17:31:05.890 INFO kablam! 
Oct 31 17:31:05.890 INFO kablam! warning: unused import: `math::Matrix`
Oct 31 17:31:05.890 INFO kablam!   --> src/mnist.rs:16:5
Oct 31 17:31:05.890 INFO kablam!    |
Oct 31 17:31:05.890 INFO kablam! 16 | use math::Matrix;
Oct 31 17:31:05.890 INFO kablam!    |     ^^^^^^^^^^^^
Oct 31 17:31:05.890 INFO kablam! 
Oct 31 17:31:05.890 INFO kablam! warning: unused import: `timing`
Oct 31 17:31:05.890 INFO kablam!   --> src/mnist.rs:19:5
Oct 31 17:31:05.890 INFO kablam!    |
Oct 31 17:31:05.890 INFO kablam! 19 | use timing;
Oct 31 17:31:05.890 INFO kablam!    |     ^^^^^^
Oct 31 17:31:05.890 INFO kablam! 
Oct 31 17:31:05.890 INFO kablam! warning: unused import: `std::mem`
Oct 31 17:31:05.890 INFO kablam!  --> src/network.rs:4:5
Oct 31 17:31:05.890 INFO kablam!   |
Oct 31 17:31:05.890 INFO kablam! 4 | use std::mem;
Oct 31 17:31:05.890 INFO kablam!   |     ^^^^^^^^
Oct 31 17:31:05.890 INFO kablam! 
Oct 31 17:31:05.892 INFO kablam! warning: unused import: `timing::Timing`
Oct 31 17:31:05.892 INFO kablam!  --> src/parallel_trainer.rs:9:5
Oct 31 17:31:05.892 INFO kablam!   |
Oct 31 17:31:05.892 INFO kablam! 9 | use timing::Timing;
Oct 31 17:31:05.892 INFO kablam!   |     ^^^^^^^^^^^^^^
Oct 31 17:31:05.892 INFO kablam! 
Oct 31 17:31:05.893 INFO kablam! warning: unused import: `serde_json`
Oct 31 17:31:05.893 INFO kablam!  --> src/snake.rs:6:5
Oct 31 17:31:05.893 INFO kablam!   |
Oct 31 17:31:05.893 INFO kablam! 6 | use serde_json;
Oct 31 17:31:05.893 INFO kablam!   |     ^^^^^^^^^^
Oct 31 17:31:05.893 INFO kablam! 
Oct 31 17:31:05.893 INFO kablam! warning: unused import: `Network`
Oct 31 17:31:05.893 INFO kablam!  --> src/snake_nn.rs:4:15
Oct 31 17:31:05.893 INFO kablam!   |
Oct 31 17:31:05.893 INFO kablam! 4 | use network::{Network, NetworkParameters, NetworkPredictor};
Oct 31 17:31:05.893 INFO kablam!   |               ^^^^^^^
Oct 31 17:31:05.893 INFO kablam! 
Oct 31 17:31:05.893 INFO kablam! warning: unused imports: `IndependentSample`, `Range`
Oct 31 17:31:05.893 INFO kablam!  --> src/snake_nn.rs:7:27
Oct 31 17:31:05.893 INFO kablam!   |
Oct 31 17:31:05.893 INFO kablam! 7 | use rand::distributions::{IndependentSample, Range};
Oct 31 17:31:05.893 INFO kablam!   |                           ^^^^^^^^^^^^^^^^^  ^^^^^
Oct 31 17:31:05.894 INFO kablam! 
Oct 31 17:31:05.894 INFO kablam! warning: unused import: `std::sync::mpsc`
Oct 31 17:31:05.894 INFO kablam!   --> src/snake_nn.rs:18:5
Oct 31 17:31:05.894 INFO kablam!    |
Oct 31 17:31:05.894 INFO kablam! 18 | use std::sync::mpsc;
Oct 31 17:31:05.894 INFO kablam!    |     ^^^^^^^^^^^^^^^
Oct 31 17:31:05.894 INFO kablam! 
Oct 31 17:31:05.894 INFO kablam! warning: unused imports: `Receiver`, `Sender`
Oct 31 17:31:05.894 INFO kablam!   --> src/snake_nn.rs:19:23
Oct 31 17:31:05.894 INFO kablam!    |
Oct 31 17:31:05.894 INFO kablam! 19 | use std::sync::mpsc::{Receiver, Sender};
Oct 31 17:31:05.894 INFO kablam!    |                       ^^^^^^^^  ^^^^^^
Oct 31 17:31:05.894 INFO kablam! 
Oct 31 17:31:05.894 INFO kablam! warning: unused import: `timing::duration_as_total_nanos`
Oct 31 17:31:05.894 INFO kablam!   --> src/snake_nn.rs:22:5
Oct 31 17:31:05.894 INFO kablam!    |
Oct 31 17:31:05.894 INFO kablam! 22 | use timing::duration_as_total_nanos;
Oct 31 17:31:05.894 INFO kablam!    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Oct 31 17:31:05.894 INFO kablam! 
Oct 31 17:31:05.894 INFO kablam! warning: unnecessary parentheses around `if` condition
Oct 31 17:31:05.894 INFO kablam!    --> src/snake_nn.rs:340:8
Oct 31 17:31:05.894 INFO kablam!     |
Oct 31 17:31:05.894 INFO kablam! 340 |     if (rng.gen_range(0.0, 1.0) <= random_move_prob) {
Oct 31 17:31:05.894 INFO kablam!     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
Oct 31 17:31:05.894 INFO kablam!     |
Oct 31 17:31:05.894 INFO kablam!     = note: #[warn(unused_parens)] on by default
Oct 31 17:31:05.894 INFO kablam! 
Oct 31 17:31:05.894 INFO kablam! warning: unused import: `std::collections::hash_map::Entry`
Oct 31 17:31:05.894 INFO kablam!  --> src/timing.rs:2:5
Oct 31 17:31:05.894 INFO kablam!   |
Oct 31 17:31:05.894 INFO kablam! 2 | use std::collections::hash_map::Entry;
Oct 31 17:31:05.894 INFO kablam!   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Oct 31 17:31:05.894 INFO kablam! 
Oct 31 17:31:05.938 INFO kablam! warning: use of deprecated item 'std::thread::sleep_ms': replaced by `std::thread::sleep`
Oct 31 17:31:05.938 INFO kablam!    --> src/snake_nn.rs:176:13
Oct 31 17:31:05.938 INFO kablam!     |
Oct 31 17:31:05.938 INFO kablam! 176 |             thread::sleep_ms(SLEEP_INTERVAL_MS);
Oct 31 17:31:05.938 INFO kablam!     |             ^^^^^^^^^^^^^^^^
Oct 31 17:31:05.938 INFO kablam!     |
Oct 31 17:31:05.938 INFO kablam!     = note: #[warn(deprecated)] on by default
Oct 31 17:31:05.938 INFO kablam! 
Oct 31 17:31:05.938 INFO kablam! warning: use of deprecated item 'std::thread::sleep_ms': replaced by `std::thread::sleep`
Oct 31 17:31:05.938 INFO kablam!    --> src/snake_nn.rs:212:17
Oct 31 17:31:05.938 INFO kablam!     |
Oct 31 17:31:05.938 INFO kablam! 212 |                 thread::sleep_ms(SLEEP_INTERVAL_MS);
Oct 31 17:31:05.938 INFO kablam!     |                 ^^^^^^^^^^^^^^^^
Oct 31 17:31:05.938 INFO kablam! 
Oct 31 17:31:06.555 INFO kablam! warning: unused import: `rand::Rng`
Oct 31 17:31:06.555 INFO kablam!  --> src/snake.rs:1:5
Oct 31 17:31:06.555 INFO kablam!   |
Oct 31 17:31:06.555 INFO kablam! 1 | use rand::Rng;
Oct 31 17:31:06.555 INFO kablam!   |     ^^^^^^^^^
Oct 31 17:31:06.555 INFO kablam! 
Oct 31 17:31:06.637 INFO kablam! warning: unused variable: `hits`
Oct 31 17:31:06.637 INFO kablam!   --> src/mnist.rs:64:13
Oct 31 17:31:06.637 INFO kablam!    |
Oct 31 17:31:06.637 INFO kablam! 64 |     let mut hits = 0usize;
Oct 31 17:31:06.637 INFO kablam!    |             ^^^^ help: consider using `_hits` instead
Oct 31 17:31:06.637 INFO kablam!    |
Oct 31 17:31:06.637 INFO kablam!    = note: #[warn(unused_variables)] on by default
Oct 31 17:31:06.637 INFO kablam! 
Oct 31 17:31:06.637 INFO kablam! warning: unused variable: `predictor`
Oct 31 17:31:06.637 INFO kablam!   --> src/mnist.rs:98:30
Oct 31 17:31:06.637 INFO kablam!    |
Oct 31 17:31:06.637 INFO kablam! 98 |                 let (params, predictor, _) = parallel_trainer.borrow_network_parts();
Oct 31 17:31:06.637 INFO kablam!    |                              ^^^^^^^^^ help: consider using `_predictor` instead
Oct 31 17:31:06.637 INFO kablam! 
Oct 31 17:31:06.637 INFO kablam! warning: unused variable: `log_every_n`
Oct 31 17:31:06.637 INFO kablam!   --> src/mnist.rs:35:5
Oct 31 17:31:06.637 INFO kablam!    |
Oct 31 17:31:06.637 INFO kablam! 35 |     log_every_n: usize,
Oct 31 17:31:06.637 INFO kablam!    |     ^^^^^^^^^^^ help: consider using `_log_every_n` instead
Oct 31 17:31:06.637 INFO kablam! 
Oct 31 17:31:06.637 INFO kablam! warning: unused variable: `outputs`
Oct 31 17:31:06.638 INFO kablam!    --> src/parallel_trainer.rs:150:21
Oct 31 17:31:06.638 INFO kablam!     |
Oct 31 17:31:06.638 INFO kablam! 150 |                 let outputs = local_nn_predictor
Oct 31 17:31:06.638 INFO kablam!     |                     ^^^^^^^ help: consider using `_outputs` instead
Oct 31 17:31:06.638 INFO kablam! 
Oct 31 17:31:06.638 INFO kablam! warning: unused variable: `iters`
Oct 31 17:31:06.638 INFO kablam!    --> src/snake.rs:168:21
Oct 31 17:31:06.638 INFO kablam!     |
Oct 31 17:31:06.638 INFO kablam! 168 |             let mut iters = 0;
Oct 31 17:31:06.638 INFO kablam!     |                     ^^^^^ help: consider using `_iters` instead
Oct 31 17:31:06.638 INFO kablam! 
Oct 31 17:31:06.638 INFO kablam! warning: unused variable: `epoch_no`
Oct 31 17:31:06.638 INFO kablam!   --> src/snake_nn.rs:73:9
Oct 31 17:31:06.638 INFO kablam!    |
Oct 31 17:31:06.638 INFO kablam! 73 |     for epoch_no in 0..num_epochs {
Oct 31 17:31:06.638 INFO kablam!    |         ^^^^^^^^ help: consider using `_epoch_no` instead
Oct 31 17:31:06.638 INFO kablam! 
Oct 31 17:31:06.638 INFO kablam! warning: unused variable: `predictor`
Oct 31 17:31:06.638 INFO kablam!   --> src/snake_nn.rs:90:30
Oct 31 17:31:06.638 INFO kablam!    |
Oct 31 17:31:06.638 INFO kablam! 90 |                 let (params, predictor, _) = parallel_trainer.borrow_network_parts();
Oct 31 17:31:06.638 INFO kablam!    |                              ^^^^^^^^^ help: consider using `_predictor` instead
Oct 31 17:31:06.638 INFO kablam! 
Oct 31 17:31:06.638 INFO kablam! warning: unused variable: `predictor`
Oct 31 17:31:06.638 INFO kablam!    --> src/snake_nn.rs:109:18
Oct 31 17:31:06.638 INFO kablam!     |
Oct 31 17:31:06.638 INFO kablam! 109 |     let (params, predictor, _) = parallel_trainer.borrow_network_parts();
Oct 31 17:31:06.638 INFO kablam!     |                  ^^^^^^^^^ help: consider using `_predictor` instead
Oct 31 17:31:06.638 INFO kablam! 
Oct 31 17:31:06.638 INFO kablam! warning: unused variable: `max_gain`
Oct 31 17:31:06.638 INFO kablam!    --> src/snake_nn.rs:357:13
Oct 31 17:31:06.638 INFO kablam!     |
Oct 31 17:31:06.638 INFO kablam! 357 |     let (i, max_gain) = get_max_with_pos(snake_inputs_gains.as_slice());
Oct 31 17:31:06.638 INFO kablam!     |             ^^^^^^^^ help: consider using `_max_gain` instead
Oct 31 17:31:06.638 INFO kablam! 
Oct 31 17:31:06.638 INFO kablam! warning: unused variable: `is_next_action_optimal`
Oct 31 17:31:06.638 INFO kablam!    --> src/snake_nn.rs:503:13
Oct 31 17:31:06.638 INFO kablam!     |
Oct 31 17:31:06.638 INFO kablam! 503 |         let is_next_action_optimal = session[i - 1].is_optimal;
Oct 31 17:31:06.638 INFO kablam!     |             ^^^^^^^^^^^^^^^^^^^^^^ help: consider using `_is_next_action_optimal` instead
Oct 31 17:31:06.638 INFO kablam! 
Oct 31 17:31:06.638 INFO kablam! warning: unused variable: `i`
Oct 31 17:31:06.638 INFO kablam!    --> src/snake_nn.rs:530:9
Oct 31 17:31:06.638 INFO kablam!     |
Oct 31 17:31:06.638 INFO kablam! 530 |     for i in 0..MAP_WIDTH * MAP_HEIGHT - 1 {
Oct 31 17:31:06.638 INFO kablam!     |         ^ help: consider using `_i` instead
Oct 31 17:31:06.638 INFO kablam! 
Oct 31 17:31:06.638 INFO kablam! warning: unused variable: `matches`
Oct 31 17:31:06.638 INFO kablam!   --> src/main.rs:53:24
Oct 31 17:31:06.638 INFO kablam!    |
Oct 31 17:31:06.638 INFO kablam! 53 | fn execute_mnist_train(matches: &ArgMatches, submatches: &ArgMatches) {
Oct 31 17:31:06.638 INFO kablam!    |                        ^^^^^^^ help: consider using `_matches` instead
Oct 31 17:31:06.638 INFO kablam! 
Oct 31 17:31:06.638 INFO kablam! warning: unused variable: `matches`
Oct 31 17:31:06.638 INFO kablam!   --> src/main.rs:68:22
Oct 31 17:31:06.638 INFO kablam!    |
Oct 31 17:31:06.638 INFO kablam! 68 | fn execute_snake_new(matches: &ArgMatches, submatches: &ArgMatches) {
Oct 31 17:31:06.638 INFO kablam!    |                      ^^^^^^^ help: consider using `_matches` instead
Oct 31 17:31:06.638 INFO kablam! 
Oct 31 17:31:06.638 INFO kablam! warning: unused variable: `matches`
Oct 31 17:31:06.638 INFO kablam!   --> src/main.rs:73:24
Oct 31 17:31:06.638 INFO kablam!    |
Oct 31 17:31:06.638 INFO kablam! 73 | fn execute_snake_train(matches: &ArgMatches, submatches: &ArgMatches) {
Oct 31 17:31:06.638 INFO kablam!    |                        ^^^^^^^ help: consider using `_matches` instead
Oct 31 17:31:06.638 INFO kablam! 
Oct 31 17:31:06.638 INFO kablam! warning: unused variable: `matches`
Oct 31 17:31:06.638 INFO kablam!   --> src/main.rs:93:22
Oct 31 17:31:06.638 INFO kablam!    |
Oct 31 17:31:06.638 INFO kablam! 93 | fn execute_snake_gen(matches: &ArgMatches, submatches: &ArgMatches) {
Oct 31 17:31:06.638 INFO kablam!    |                      ^^^^^^^ help: consider using `_matches` instead
Oct 31 17:31:06.638 INFO kablam! 
Oct 31 17:31:06.638 INFO kablam! warning: unused variable: `matches`
Oct 31 17:31:06.638 INFO kablam!    --> src/main.rs:101:23
Oct 31 17:31:06.638 INFO kablam!     |
Oct 31 17:31:06.638 INFO kablam! 101 | fn execute_snake_demo(matches: &ArgMatches, submatches: &ArgMatches) {
Oct 31 17:31:06.638 INFO kablam!     |                       ^^^^^^^ help: consider using `_matches` instead
Oct 31 17:31:06.638 INFO kablam! 
Oct 31 17:31:06.638 INFO kablam! warning: unused variable: `layer_order`
Oct 31 17:31:06.638 INFO kablam!    --> src/network.rs:645:13
Oct 31 17:31:06.652 INFO kablam!     |
Oct 31 17:31:06.652 INFO kablam! 645 |         let layer_order = nn.calc_layers_order();
Oct 31 17:31:06.652 INFO kablam!     |             ^^^^^^^^^^^ help: consider using `_layer_order` instead
Oct 31 17:31:06.652 INFO kablam! 
Oct 31 17:31:06.663 INFO kablam! warning: unused variable: `thread_no`
Oct 31 17:31:06.663 INFO kablam!   --> src/parallel_trainer.rs:46:13
Oct 31 17:31:06.663 INFO kablam!    |
Oct 31 17:31:06.663 INFO kablam! 46 |         for thread_no in 0..num_threads {
Oct 31 17:31:06.663 INFO kablam!    |             ^^^^^^^^^ help: consider using `_thread_no` instead
Oct 31 17:31:06.663 INFO kablam! 
Oct 31 17:31:06.742 INFO kablam! warning: variable does not need to be mutable
Oct 31 17:31:06.742 INFO kablam!   --> src/mnist.rs:64:9
Oct 31 17:31:06.742 INFO kablam!    |
Oct 31 17:31:06.742 INFO kablam! 64 |     let mut hits = 0usize;
Oct 31 17:31:06.742 INFO kablam!    |         ----^^^^
Oct 31 17:31:06.742 INFO kablam!    |         |
Oct 31 17:31:06.742 INFO kablam!    |         help: remove this `mut`
Oct 31 17:31:06.742 INFO kablam!    |
Oct 31 17:31:06.742 INFO kablam!    = note: #[warn(unused_mut)] on by default
Oct 31 17:31:06.742 INFO kablam! 
Oct 31 17:31:06.755 INFO kablam! warning: variable does not need to be mutable
Oct 31 17:31:06.756 INFO kablam!   --> src/network.rs:55:13
Oct 31 17:31:06.756 INFO kablam!    |
Oct 31 17:31:06.756 INFO kablam! 55 |         let mut nn: Self = serde_json::from_reader(&file).unwrap();
Oct 31 17:31:06.756 INFO kablam!    |             ----^^
Oct 31 17:31:06.757 INFO kablam!    |             |
Oct 31 17:31:06.757 INFO kablam!    |             help: remove this `mut`
Oct 31 17:31:06.757 INFO kablam! 
Oct 31 17:31:06.827 INFO kablam! warning: variable does not need to be mutable
Oct 31 17:31:06.827 INFO kablam!   --> src/parallel_trainer.rs:37:51
Oct 31 17:31:06.827 INFO kablam!    |
Oct 31 17:31:06.827 INFO kablam! 37 |         let (mut nn_parameters, mut nn_predictor, mut nn_trainer) = network.as_parts();
Oct 31 17:31:06.827 INFO kablam!    |                                                   ----^^^^^^^^^^
Oct 31 17:31:06.827 INFO kablam!    |                                                   |
Oct 31 17:31:06.827 INFO kablam!    |                                                   help: remove this `mut`
Oct 31 17:31:06.827 INFO kablam! 
Oct 31 17:31:06.827 INFO kablam! warning: variable does not need to be mutable
Oct 31 17:31:06.827 INFO kablam!   --> src/parallel_trainer.rs:37:33
Oct 31 17:31:06.827 INFO kablam!    |
Oct 31 17:31:06.827 INFO kablam! 37 |         let (mut nn_parameters, mut nn_predictor, mut nn_trainer) = network.as_parts();
Oct 31 17:31:06.827 INFO kablam!    |                                 ----^^^^^^^^^^^^
Oct 31 17:31:06.827 INFO kablam!    |                                 |
Oct 31 17:31:06.827 INFO kablam!    |                                 help: remove this `mut`
Oct 31 17:31:06.827 INFO kablam! 
Oct 31 17:31:06.827 INFO kablam! warning: variable does not need to be mutable
Oct 31 17:31:06.827 INFO kablam!   --> src/parallel_trainer.rs:37:14
Oct 31 17:31:06.827 INFO kablam!    |
Oct 31 17:31:06.827 INFO kablam! 37 |         let (mut nn_parameters, mut nn_predictor, mut nn_trainer) = network.as_parts();
Oct 31 17:31:06.827 INFO kablam!    |              ----^^^^^^^^^^^^^
Oct 31 17:31:06.827 INFO kablam!    |              |
Oct 31 17:31:06.827 INFO kablam!    |              help: remove this `mut`
Oct 31 17:31:06.827 INFO kablam! 
Oct 31 17:31:06.835 INFO kablam! warning: variable does not need to be mutable
Oct 31 17:31:06.835 INFO kablam!    --> src/parallel_trainer.rs:123:5
Oct 31 17:31:06.835 INFO kablam!     |
Oct 31 17:31:06.835 INFO kablam! 123 |     mut job_receiver: Arc<Mutex<Receiver<TrainingJob>>>,
Oct 31 17:31:06.835 INFO kablam!     |     ----^^^^^^^^^^^^
Oct 31 17:31:06.835 INFO kablam!     |     |
Oct 31 17:31:06.835 INFO kablam!     |     help: remove this `mut`
Oct 31 17:31:06.835 INFO kablam! 
Oct 31 17:31:06.835 INFO kablam! warning: variable does not need to be mutable
Oct 31 17:31:06.835 INFO kablam!    --> src/parallel_trainer.rs:124:5
Oct 31 17:31:06.835 INFO kablam!     |
Oct 31 17:31:06.835 INFO kablam! 124 |     mut output_sender: Sender<Arc<Mutex<NetworkTrainer>>>,
Oct 31 17:31:06.835 INFO kablam!     |     ----^^^^^^^^^^^^^
Oct 31 17:31:06.835 INFO kablam!     |     |
Oct 31 17:31:06.835 INFO kablam!     |     help: remove this `mut`
Oct 31 17:31:06.835 INFO kablam! 
Oct 31 17:31:06.835 INFO kablam! warning: variable does not need to be mutable
Oct 31 17:31:06.835 INFO kablam!    --> src/parallel_trainer.rs:126:5
Oct 31 17:31:06.835 INFO kablam!     |
Oct 31 17:31:06.835 INFO kablam! 126 |     mut local_nn_trainer: Arc<Mutex<NetworkTrainer>>,
Oct 31 17:31:06.835 INFO kablam!     |     ----^^^^^^^^^^^^^^^^
Oct 31 17:31:06.835 INFO kablam!     |     |
Oct 31 17:31:06.835 INFO kablam!     |     help: remove this `mut`
Oct 31 17:31:06.835 INFO kablam! 
Oct 31 17:31:06.884 INFO kablam! warning: variable does not need to be mutable
Oct 31 17:31:06.884 INFO kablam!   --> src/snake_nn.rs:57:9
Oct 31 17:31:06.884 INFO kablam!    |
Oct 31 17:31:06.884 INFO kablam! 57 |     let mut nn = network::Network::load_from_file(model_input_path);
Oct 31 17:31:06.884 INFO kablam!    |         ----^^
Oct 31 17:31:06.884 INFO kablam!    |         |
Oct 31 17:31:06.884 INFO kablam!    |         help: remove this `mut`
Oct 31 17:31:06.884 INFO kablam! 
Oct 31 17:31:06.891 INFO kablam! warning: variable does not need to be mutable
Oct 31 17:31:06.891 INFO kablam!    --> src/snake_nn.rs:131:21
Oct 31 17:31:06.891 INFO kablam!     |
Oct 31 17:31:06.891 INFO kablam! 131 |                 let mut state = GameState {
Oct 31 17:31:06.891 INFO kablam!     |                     ----^^^^^
Oct 31 17:31:06.891 INFO kablam!     |                     |
Oct 31 17:31:06.891 INFO kablam!     |                     help: remove this `mut`
Oct 31 17:31:06.891 INFO kablam! 
Oct 31 17:31:06.891 INFO kablam! warning: variable does not need to be mutable
Oct 31 17:31:06.891 INFO kablam!    --> src/snake_nn.rs:115:9
Oct 31 17:31:06.891 INFO kablam!     |
Oct 31 17:31:06.891 INFO kablam! 115 |     let mut nn = network::Network::load_from_file(model_path);
Oct 31 17:31:06.891 INFO kablam!     |         ----^^
Oct 31 17:31:06.891 INFO kablam!     |         |
Oct 31 17:31:06.891 INFO kablam!     |         help: remove this `mut`
Oct 31 17:31:06.891 INFO kablam! 
Oct 31 17:31:06.940 INFO kablam! warning: method is never used: `new_same_dim`
Oct 31 17:31:06.940 INFO kablam!   --> src/math.rs:21:5
Oct 31 17:31:06.940 INFO kablam!    |
Oct 31 17:31:06.940 INFO kablam! 21 |     pub fn new_same_dim(m: &Matrix) -> Self {
Oct 31 17:31:06.940 INFO kablam!    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Oct 31 17:31:06.940 INFO kablam!    |
Oct 31 17:31:06.940 INFO kablam!    = note: #[warn(dead_code)] on by default
Oct 31 17:31:06.940 INFO kablam! 
Oct 31 17:31:06.940 INFO kablam! warning: method is never used: `dot_vec`
Oct 31 17:31:06.940 INFO kablam!   --> src/math.rs:71:5
Oct 31 17:31:06.940 INFO kablam!    |
Oct 31 17:31:06.940 INFO kablam! 71 |     pub fn dot_vec(&self, vec: &Vector, res: &mut Vector) {
Oct 31 17:31:06.940 INFO kablam!    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Oct 31 17:31:06.940 INFO kablam! 
Oct 31 17:31:06.940 INFO kablam! warning: method is never used: `empty`
Oct 31 17:31:06.940 INFO kablam!    --> src/math.rs:248:5
Oct 31 17:31:06.940 INFO kablam!     |
Oct 31 17:31:06.940 INFO kablam! 248 |     pub fn empty() -> Self {
Oct 31 17:31:06.940 INFO kablam!     |     ^^^^^^^^^^^^^^^^^^^^^^
Oct 31 17:31:06.940 INFO kablam! 
Oct 31 17:31:06.940 INFO kablam! warning: method is never used: `init_rand`
Oct 31 17:31:06.940 INFO kablam!    --> src/math.rs:267:5
Oct 31 17:31:06.940 INFO kablam!     |
Oct 31 17:31:06.940 INFO kablam! 267 |     pub fn init_rand(mut self) -> Self {
Oct 31 17:31:06.940 INFO kablam!     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Oct 31 17:31:06.940 INFO kablam! 
Oct 31 17:31:06.940 INFO kablam! warning: method is never used: `copy_from`
Oct 31 17:31:06.940 INFO kablam!    --> src/math.rs:286:5
Oct 31 17:31:06.940 INFO kablam!     |
Oct 31 17:31:06.940 INFO kablam! 286 |     pub fn copy_from(&mut self, v: &Vector) {
Oct 31 17:31:06.940 INFO kablam!     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Oct 31 17:31:06.940 INFO kablam! 
Oct 31 17:31:06.940 INFO kablam! warning: method is never used: `add`
Oct 31 17:31:06.940 INFO kablam!    --> src/math.rs:322:5
Oct 31 17:31:06.940 INFO kablam!     |
Oct 31 17:31:06.940 INFO kablam! 322 |     pub fn add(&mut self, v: &Vector) {
Oct 31 17:31:06.940 INFO kablam!     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Oct 31 17:31:06.940 INFO kablam! 
Oct 31 17:31:06.940 INFO kablam! warning: method is never used: `fill_rand`
Oct 31 17:31:06.940 INFO kablam!    --> src/math.rs:335:5
Oct 31 17:31:06.940 INFO kablam!     |
Oct 31 17:31:06.940 INFO kablam! 335 |     pub fn fill_rand(&mut self) {
Oct 31 17:31:06.940 INFO kablam!     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
Oct 31 17:31:06.940 INFO kablam! 
Oct 31 17:31:06.940 INFO kablam! warning: constant item is never used: `NANOS_IN_SECOND`
Oct 31 17:31:06.940 INFO kablam!   --> src/mnist.rs:28:1
Oct 31 17:31:06.940 INFO kablam!    |
Oct 31 17:31:06.941 INFO kablam! 28 | const NANOS_IN_SECOND: u64 = 1_000_000_000;
Oct 31 17:31:06.941 INFO kablam!    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Oct 31 17:31:06.941 INFO kablam! 
Oct 31 17:31:06.941 INFO kablam! warning: method is never used: `get_layer_mut`
Oct 31 17:31:06.941 INFO kablam!   --> src/network.rs:46:5
Oct 31 17:31:06.941 INFO kablam!    |
Oct 31 17:31:06.941 INFO kablam! 46 |     fn get_layer_mut(&mut self, id: LayerID) -> &mut Layer {
Oct 31 17:31:06.941 INFO kablam!    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Oct 31 17:31:06.941 INFO kablam! 
Oct 31 17:31:06.941 INFO kablam! warning: method is never used: `predict`
Oct 31 17:31:06.941 INFO kablam!    --> src/network.rs:466:5
Oct 31 17:31:06.941 INFO kablam!     |
Oct 31 17:31:06.941 INFO kablam! 466 |     pub fn predict(&mut self, input_data: &[f64]) -> &Vector {
Oct 31 17:31:06.941 INFO kablam!     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Oct 31 17:31:06.941 INFO kablam! 
Oct 31 17:31:06.941 INFO kablam! warning: method is never used: `backward_propagation`
Oct 31 17:31:06.941 INFO kablam!    --> src/network.rs:470:5
Oct 31 17:31:06.941 INFO kablam!     |
Oct 31 17:31:06.941 INFO kablam! 470 |     pub fn backward_propagation(&mut self, true_outputs: &Vector) {
Oct 31 17:31:06.941 INFO kablam!     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Oct 31 17:31:06.941 INFO kablam! 
Oct 31 17:31:06.941 INFO kablam! warning: method is never used: `apply_batch`
Oct 31 17:31:06.941 INFO kablam!    --> src/network.rs:530:5
Oct 31 17:31:06.941 INFO kablam!     |
Oct 31 17:31:06.941 INFO kablam! 530 |     pub fn apply_batch(&mut self) {
Oct 31 17:31:06.941 INFO kablam!     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Oct 31 17:31:06.941 INFO kablam! 
Oct 31 17:31:06.941 INFO kablam! warning: field is never used: `shared_training_data`
Oct 31 17:31:06.941 INFO kablam!   --> src/parallel_trainer.rs:22:5
Oct 31 17:31:06.941 INFO kablam!    |
Oct 31 17:31:06.941 INFO kablam! 22 |     shared_training_data: Arc<D>,
Oct 31 17:31:06.941 INFO kablam!    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Oct 31 17:31:06.941 INFO kablam! 
Oct 31 17:31:06.941 INFO kablam! warning: field is never used: `job_receiver`
Oct 31 17:31:06.941 INFO kablam!   --> src/parallel_trainer.rs:29:5
Oct 31 17:31:06.941 INFO kablam!    |
Oct 31 17:31:06.941 INFO kablam! 29 |     job_receiver: Arc<Mutex<Receiver<TrainingJob>>>,
Oct 31 17:31:06.941 INFO kablam!    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Oct 31 17:31:06.941 INFO kablam! 
Oct 31 17:31:06.941 INFO kablam! warning: field is never used: `output_sender`
Oct 31 17:31:06.941 INFO kablam!   --> src/parallel_trainer.rs:30:5
Oct 31 17:31:06.941 INFO kablam!    |
Oct 31 17:31:06.941 INFO kablam! 30 |     output_sender: Sender<Arc<Mutex<NetworkTrainer>>>,
Oct 31 17:31:06.941 INFO kablam!    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Oct 31 17:31:06.941 INFO kablam! 
Oct 31 17:31:06.941 INFO kablam! warning: field is never used: `join_handles`
Oct 31 17:31:06.941 INFO kablam!   --> src/parallel_trainer.rs:32:5
Oct 31 17:31:06.941 INFO kablam!    |
Oct 31 17:31:06.941 INFO kablam! 32 |     join_handles: Vec<JoinHandle<()>>,
Oct 31 17:31:06.941 INFO kablam!    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Oct 31 17:31:06.941 INFO kablam! 
Oct 31 17:31:06.941 INFO kablam! warning: function is never used: `teach_nn`
Oct 31 17:31:06.941 INFO kablam!    --> src/snake_nn.rs:384:1
Oct 31 17:31:06.941 INFO kablam!     |
Oct 31 17:31:06.941 INFO kablam! 384 | / fn teach_nn(
Oct 31 17:31:06.941 INFO kablam! 385 | |     nn: &mut network::Network,
Oct 31 17:31:06.941 INFO kablam! 386 | |     state: &GameState,
Oct 31 17:31:06.941 INFO kablam! 387 | |     snake_input: SnakeInput,
Oct 31 17:31:06.941 INFO kablam! ...   |
Oct 31 17:31:06.941 INFO kablam! 398 | |     nn.backward_propagation(&true_output_vec);
Oct 31 17:31:06.941 INFO kablam! 399 | | }
Oct 31 17:31:06.941 INFO kablam!     | |_^
Oct 31 17:31:06.941 INFO kablam! 
Oct 31 17:31:06.941 INFO kablam! warning: method is never used: `elapsed`
Oct 31 17:31:06.941 INFO kablam!   --> src/timing.rs:46:5
Oct 31 17:31:06.941 INFO kablam!    |
Oct 31 17:31:06.941 INFO kablam! 46 |     pub fn elapsed(&self, name: &str) -> time::Duration {
Oct 31 17:31:06.941 INFO kablam!    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Oct 31 17:31:06.941 INFO kablam! 
Oct 31 17:31:06.958 INFO kablam! warning: unused `std::result::Result` which must be used
Oct 31 17:31:06.958 INFO kablam!   --> src/parallel_trainer.rs:85:13
Oct 31 17:31:06.958 INFO kablam!    |
Oct 31 17:31:06.958 INFO kablam! 85 | /             self.job_sender.send(TrainingJob {
Oct 31 17:31:06.958 INFO kablam! 86 | |                 examples_indices: chunk,
Oct 31 17:31:06.958 INFO kablam! 87 | |                 network_parameters: self.shared_nn_parameters.clone(),
Oct 31 17:31:06.958 INFO kablam! 88 | |             });
Oct 31 17:31:06.958 INFO kablam!    | |_______________^
Oct 31 17:31:06.958 INFO kablam!    |
Oct 31 17:31:06.958 INFO kablam!    = note: #[warn(unused_must_use)] on by default
Oct 31 17:31:06.958 INFO kablam!    = note: this `Result` may be an `Err` variant, which should be handled
Oct 31 17:31:06.958 INFO kablam! 
Oct 31 17:31:06.958 INFO kablam! warning: unused `std::result::Result` which must be used
Oct 31 17:31:06.958 INFO kablam!    --> src/parallel_trainer.rs:160:9
Oct 31 17:31:06.958 INFO kablam!     |
Oct 31 17:31:06.958 INFO kablam! 160 |         output_sender.send(local_nn_trainer.clone());
Oct 31 17:31:06.958 INFO kablam!     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Oct 31 17:31:06.958 INFO kablam!     |
Oct 31 17:31:06.958 INFO kablam!     = note: this `Result` may be an `Err` variant, which should be handled
Oct 31 17:31:06.958 INFO kablam! 
Oct 31 17:31:06.958 INFO kablam! warning: unused `std::result::Result` which must be used
Oct 31 17:31:06.958 INFO kablam!    --> src/snake.rs:118:9
Oct 31 17:31:06.958 INFO kablam!     |
Oct 31 17:31:06.958 INFO kablam! 118 |         writer.write("\n".as_bytes());
Oct 31 17:31:06.958 INFO kablam!     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Oct 31 17:31:06.958 INFO kablam!     |
Oct 31 17:31:06.958 INFO kablam!     = note: this `Result` may be an `Err` variant, which should be handled
Oct 31 17:31:06.958 INFO kablam! 
Oct 31 17:31:06.958 INFO kablam! warning: unused `std::result::Result` which must be used
Oct 31 17:31:06.958 INFO kablam!    --> src/snake.rs:120:5
Oct 31 17:31:06.958 INFO kablam!     |
Oct 31 17:31:06.958 INFO kablam! 120 |     writer.flush();
Oct 31 17:31:06.958 INFO kablam!     |     ^^^^^^^^^^^^^^^
Oct 31 17:31:06.958 INFO kablam!     |
Oct 31 17:31:06.958 INFO kablam!     = note: this `Result` may be an `Err` variant, which should be handled
Oct 31 17:31:06.958 INFO kablam! 
Oct 31 17:31:06.958 INFO kablam! warning: unused `std::result::Result` which must be used
Oct 31 17:31:06.958 INFO kablam!    --> src/snake.rs:131:5
Oct 31 17:31:06.958 INFO kablam!     |
Oct 31 17:31:06.958 INFO kablam! 131 |     writer.write(character.as_bytes());
Oct 31 17:31:06.958 INFO kablam!     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Oct 31 17:31:06.958 INFO kablam!     |
Oct 31 17:31:06.958 INFO kablam!     = note: this `Result` may be an `Err` variant, which should be handled
Oct 31 17:31:06.958 INFO kablam! 
Oct 31 17:31:06.967 INFO kablam! warning: unused `std::result::Result` which must be used
Oct 31 17:31:06.967 INFO kablam!    --> src/snake_nn.rs:150:9
Oct 31 17:31:06.967 INFO kablam!     |
Oct 31 17:31:06.967 INFO kablam! 150 |         jh.join();
Oct 31 17:31:06.967 INFO kablam!     |         ^^^^^^^^^^
Oct 31 17:31:06.967 INFO kablam!     |
Oct 31 17:31:06.967 INFO kablam!     = note: this `Result` may be an `Err` variant, which should be handled
Oct 31 17:31:06.967 INFO kablam! 
Oct 31 17:31:06.967 INFO kablam! warning: the `game_over:` in this pattern is redundant
Oct 31 17:31:06.967 INFO kablam!    --> src/snake_nn.rs:203:17
Oct 31 17:31:06.967 INFO kablam!     |
Oct 31 17:31:06.967 INFO kablam! 203 |                 game_over: game_over,
Oct 31 17:31:06.967 INFO kablam!     |                 ----------^^^^^^^^^^
Oct 31 17:31:06.967 INFO kablam!     |                 |
Oct 31 17:31:06.967 INFO kablam!     |                 help: remove this
Oct 31 17:31:06.967 INFO kablam!     |
Oct 31 17:31:06.967 INFO kablam!     = note: #[warn(non_shorthand_field_patterns)] on by default
Oct 31 17:31:06.967 INFO kablam! 
Oct 31 17:31:06.967 INFO kablam! warning: the `game_over:` in this pattern is redundant
Oct 31 17:31:06.967 INFO kablam!    --> src/snake_nn.rs:271:13
Oct 31 17:31:06.967 INFO kablam!     |
Oct 31 17:31:06.967 INFO kablam! 271 |             game_over: game_over,
Oct 31 17:31:06.967 INFO kablam!     |             ----------^^^^^^^^^^
Oct 31 17:31:06.967 INFO kablam!     |             |
Oct 31 17:31:06.967 INFO kablam!     |             help: remove this
Oct 31 17:31:06.967 INFO kablam! 
Oct 31 17:31:06.967 INFO kablam! warning: the `game_over:` in this pattern is redundant
Oct 31 17:31:06.967 INFO kablam!    --> src/snake_nn.rs:308:17
Oct 31 17:31:06.967 INFO kablam!     |
Oct 31 17:31:06.967 INFO kablam! 308 |                 game_over: game_over,
Oct 31 17:31:06.967 INFO kablam!     |                 ----------^^^^^^^^^^
Oct 31 17:31:06.967 INFO kablam!     |                 |
Oct 31 17:31:06.967 INFO kablam!     |                 help: remove this
Oct 31 17:31:06.967 INFO kablam! 
Oct 31 17:31:06.967 INFO kablam! warning: unused attribute
Oct 31 17:31:06.967 INFO kablam!  --> src/snake_nn.rs:1:1
Oct 31 17:31:06.967 INFO kablam!   |
Oct 31 17:31:06.967 INFO kablam! 1 | #![feature(test)]
Oct 31 17:31:06.967 INFO kablam!   | ^^^^^^^^^^^^^^^^^
Oct 31 17:31:06.967 INFO kablam! 
Oct 31 17:31:06.967 INFO kablam! warning: crate-level attribute should be in the root module
Oct 31 17:31:06.967 INFO kablam!  --> src/snake_nn.rs:1:1
Oct 31 17:31:06.967 INFO kablam!   |
Oct 31 17:31:06.967 INFO kablam! 1 | #![feature(test)]
Oct 31 17:31:06.967 INFO kablam!   | ^^^^^^^^^^^^^^^^^
Oct 31 17:31:06.967 INFO kablam! 
Oct 31 17:31:08.363 INFO kablam!     Finished dev [unoptimized + debuginfo] target(s) in 3.08s
Oct 31 17:31:08.367 INFO kablam! su: No module specific data is present
Oct 31 17:31:08.608 INFO running `"docker" "rm" "-f" "78e7170e89f97fa63cfe1d51ee86f460474bf58d98807ca6b95f8f6d8e1ef53d"`
Oct 31 17:31:08.678 INFO blam! 78e7170e89f97fa63cfe1d51ee86f460474bf58d98807ca6b95f8f6d8e1ef53d
Oct 31 17:31:08.681 INFO running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/beta-1.31-1/worker-7/1.30.0:/target:rw,Z" "-v" "/mnt/big/crater/work/local/test-source/worker-7/beta-1.31-1/1.30.0:/source:ro,Z" "-v" "/mnt/big/crater/work/local/cargo-home:/cargo-home:ro,Z" "-v" "/mnt/big/crater/work/local/rustup-home:/rustup-home:ro,Z" "-e" "USER_ID=1000" "-e" "SOURCE_DIR=/source" "-e" "USER_ID=1000" "-e" "CMD=cargo +1.30.0 test --frozen" "-e" "CARGO_TARGET_DIR=/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/cargo-home" "-e" "RUSTUP_HOME=/rustup-home" "-m" "1536M" "--network" "none" "crater"`
Oct 31 17:31:08.853 INFO blam! efd6637f8886ebb0fb81633c3a6b86194beeee28622bc3b4d14f3ad99c7ace85
Oct 31 17:31:08.857 INFO running `"docker" "start" "-a" "efd6637f8886ebb0fb81633c3a6b86194beeee28622bc3b4d14f3ad99c7ace85"`
Oct 31 17:31:09.258 INFO kablam! usermod: no changes
Oct 31 17:31:09.329 INFO kablam!     Finished dev [unoptimized + debuginfo] target(s) in 0.05s
Oct 31 17:31:09.342 INFO kablam!      Running /target/debug/deps/nnrs-d2fbeec3a2b3e7a3
Oct 31 17:31:09.353 INFO blam! 
Oct 31 17:31:09.353 INFO blam! running 6 tests
Oct 31 17:31:09.353 INFO blam! test network::tests::layer_order_forward ... ok
Oct 31 17:31:09.353 INFO blam! test math::tests::transpose_add_dot_vec ... ok
Oct 31 17:31:09.353 INFO blam! test math::tests::transpose ... ok
Oct 31 17:31:09.353 INFO blam! test math::tests::add_dot_vec ... ok
Oct 31 17:31:09.353 INFO blam! test network::tests::layer_order_skip ... ok
Oct 31 17:31:09.379 INFO blam! test network::tests::layer_order_cycle ... ok
Oct 31 17:31:09.379 INFO kablam! su: No module specific data is present
Oct 31 17:31:09.379 INFO blam! 
Oct 31 17:31:09.379 INFO blam! test result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out
Oct 31 17:31:09.379 INFO blam! 
Oct 31 17:31:09.694 INFO running `"docker" "rm" "-f" "efd6637f8886ebb0fb81633c3a6b86194beeee28622bc3b4d14f3ad99c7ace85"`
Oct 31 17:31:09.839 INFO blam! efd6637f8886ebb0fb81633c3a6b86194beeee28622bc3b4d14f3ad99c7ace85
