Oct 10 12:48:43.558 INFO testing vbo/nnrs against master#0e07c4281c343e9e15a0a8fca79538ad1a8eb513 for rustdoc-test-static-cling Oct 10 12:48:43.558 INFO running: cargo +0e07c4281c343e9e15a0a8fca79538ad1a8eb513-alt build --frozen Oct 10 12:48:43.558 INFO running `"docker" "create" "-v" "/mnt/big/crater/./work/local/test-source/worker-1/rustdoc-test-static-cling/master#0e07c4281c343e9e15a0a8fca79538ad1a8eb513:/source:ro,Z" "-v" "/mnt/big/crater/./work/local/target-dirs/rustdoc-test-static-cling/worker-1/master#0e07c4281c343e9e15a0a8fca79538ad1a8eb513:/target:rw,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" "CMD=cargo +0e07c4281c343e9e15a0a8fca79538ad1a8eb513-alt build --frozen" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-m" "1536M" "--network" "none" "crater"` Oct 10 12:48:43.756 INFO blam! f4ed02866961f9fb53c34f6bcaed4b23a10261b7e60ea0900dcb70393930e00b Oct 10 12:48:43.769 INFO running `"docker" "start" "-a" "f4ed02866961f9fb53c34f6bcaed4b23a10261b7e60ea0900dcb70393930e00b"` Oct 10 12:48:44.266 INFO kablam! usermod: no changes Oct 10 12:48:44.626 INFO kablam! Compiling serde_json v1.0.16 Oct 10 12:48:44.626 INFO kablam! Compiling clap v2.31.2 Oct 10 12:48:44.626 INFO kablam! Compiling rand_derive v0.3.1 Oct 10 12:48:44.627 INFO kablam! Compiling serde_derive_internals v0.23.1 Oct 10 12:48:49.732 INFO kablam! Compiling serde_derive v1.0.43 Oct 10 12:49:00.536 INFO kablam! Compiling nnrs v0.1.0 (/source) Oct 10 12:49:01.525 INFO kablam! warning: unused import: `std::time` Oct 10 12:49:01.525 INFO kablam! --> src/mnist.rs:2:5 Oct 10 12:49:01.525 INFO kablam! | Oct 10 12:49:01.525 INFO kablam! 2 | use std::time; Oct 10 12:49:01.525 INFO kablam! | ^^^^^^^^^ Oct 10 12:49:01.525 INFO kablam! | Oct 10 12:49:01.525 INFO kablam! = note: #[warn(unused_imports)] on by default Oct 10 12:49:01.525 INFO kablam! Oct 10 12:49:01.525 INFO kablam! warning: unused import: `math` Oct 10 12:49:01.525 INFO kablam! --> src/mnist.rs:15:5 Oct 10 12:49:01.525 INFO kablam! | Oct 10 12:49:01.525 INFO kablam! 15 | use math; Oct 10 12:49:01.525 INFO kablam! | ^^^^ Oct 10 12:49:01.525 INFO kablam! Oct 10 12:49:01.525 INFO kablam! warning: unused import: `math::Matrix` Oct 10 12:49:01.525 INFO kablam! --> src/mnist.rs:16:5 Oct 10 12:49:01.525 INFO kablam! | Oct 10 12:49:01.525 INFO kablam! 16 | use math::Matrix; Oct 10 12:49:01.525 INFO kablam! | ^^^^^^^^^^^^ Oct 10 12:49:01.525 INFO kablam! Oct 10 12:49:01.525 INFO kablam! warning: unused import: `timing` Oct 10 12:49:01.525 INFO kablam! --> src/mnist.rs:19:5 Oct 10 12:49:01.525 INFO kablam! | Oct 10 12:49:01.525 INFO kablam! 19 | use timing; Oct 10 12:49:01.525 INFO kablam! | ^^^^^^ Oct 10 12:49:01.525 INFO kablam! Oct 10 12:49:01.525 INFO kablam! warning: unused import: `std::mem` Oct 10 12:49:01.525 INFO kablam! --> src/network.rs:4:5 Oct 10 12:49:01.525 INFO kablam! | Oct 10 12:49:01.525 INFO kablam! 4 | use std::mem; Oct 10 12:49:01.525 INFO kablam! | ^^^^^^^^ Oct 10 12:49:01.525 INFO kablam! Oct 10 12:49:01.527 INFO kablam! warning: unused import: `timing::Timing` Oct 10 12:49:01.527 INFO kablam! --> src/parallel_trainer.rs:9:5 Oct 10 12:49:01.527 INFO kablam! | Oct 10 12:49:01.527 INFO kablam! 9 | use timing::Timing; Oct 10 12:49:01.527 INFO kablam! | ^^^^^^^^^^^^^^ Oct 10 12:49:01.527 INFO kablam! Oct 10 12:49:01.527 INFO kablam! warning: unused import: `serde_json` Oct 10 12:49:01.527 INFO kablam! --> src/snake.rs:6:5 Oct 10 12:49:01.527 INFO kablam! | Oct 10 12:49:01.527 INFO kablam! 6 | use serde_json; Oct 10 12:49:01.527 INFO kablam! | ^^^^^^^^^^ Oct 10 12:49:01.527 INFO kablam! Oct 10 12:49:01.528 INFO kablam! warning: unused import: `Network` Oct 10 12:49:01.528 INFO kablam! --> src/snake_nn.rs:4:15 Oct 10 12:49:01.528 INFO kablam! | Oct 10 12:49:01.528 INFO kablam! 4 | use network::{Network, NetworkParameters, NetworkPredictor}; Oct 10 12:49:01.528 INFO kablam! | ^^^^^^^ Oct 10 12:49:01.528 INFO kablam! Oct 10 12:49:01.528 INFO kablam! warning: unused imports: `IndependentSample`, `Range` Oct 10 12:49:01.528 INFO kablam! --> src/snake_nn.rs:7:27 Oct 10 12:49:01.528 INFO kablam! | Oct 10 12:49:01.529 INFO kablam! 7 | use rand::distributions::{IndependentSample, Range}; Oct 10 12:49:01.529 INFO kablam! | ^^^^^^^^^^^^^^^^^ ^^^^^ Oct 10 12:49:01.529 INFO kablam! Oct 10 12:49:01.529 INFO kablam! warning: unused import: `std::sync::mpsc` Oct 10 12:49:01.529 INFO kablam! --> src/snake_nn.rs:18:5 Oct 10 12:49:01.529 INFO kablam! | Oct 10 12:49:01.529 INFO kablam! 18 | use std::sync::mpsc; Oct 10 12:49:01.529 INFO kablam! | ^^^^^^^^^^^^^^^ Oct 10 12:49:01.529 INFO kablam! Oct 10 12:49:01.529 INFO kablam! warning: unused imports: `Receiver`, `Sender` Oct 10 12:49:01.529 INFO kablam! --> src/snake_nn.rs:19:23 Oct 10 12:49:01.529 INFO kablam! | Oct 10 12:49:01.529 INFO kablam! 19 | use std::sync::mpsc::{Receiver, Sender}; Oct 10 12:49:01.529 INFO kablam! | ^^^^^^^^ ^^^^^^ Oct 10 12:49:01.529 INFO kablam! Oct 10 12:49:01.529 INFO kablam! warning: unused import: `timing::duration_as_total_nanos` Oct 10 12:49:01.529 INFO kablam! --> src/snake_nn.rs:22:5 Oct 10 12:49:01.529 INFO kablam! | Oct 10 12:49:01.529 INFO kablam! 22 | use timing::duration_as_total_nanos; Oct 10 12:49:01.529 INFO kablam! | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Oct 10 12:49:01.529 INFO kablam! Oct 10 12:49:01.529 INFO kablam! warning: unnecessary parentheses around `if` condition Oct 10 12:49:01.529 INFO kablam! --> src/snake_nn.rs:340:8 Oct 10 12:49:01.529 INFO kablam! | Oct 10 12:49:01.529 INFO kablam! 340 | if (rng.gen_range(0.0, 1.0) <= random_move_prob) { Oct 10 12:49:01.529 INFO kablam! | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses Oct 10 12:49:01.529 INFO kablam! | Oct 10 12:49:01.529 INFO kablam! = note: #[warn(unused_parens)] on by default Oct 10 12:49:01.529 INFO kablam! Oct 10 12:49:01.530 INFO kablam! warning: unused import: `std::collections::hash_map::Entry` Oct 10 12:49:01.530 INFO kablam! --> src/timing.rs:2:5 Oct 10 12:49:01.530 INFO kablam! | Oct 10 12:49:01.530 INFO kablam! 2 | use std::collections::hash_map::Entry; Oct 10 12:49:01.530 INFO kablam! | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Oct 10 12:49:01.530 INFO kablam! Oct 10 12:49:01.569 INFO kablam! warning: use of deprecated item 'std::thread::sleep_ms': replaced by `std::thread::sleep` Oct 10 12:49:01.569 INFO kablam! --> src/snake_nn.rs:176:13 Oct 10 12:49:01.569 INFO kablam! | Oct 10 12:49:01.569 INFO kablam! 176 | thread::sleep_ms(SLEEP_INTERVAL_MS); Oct 10 12:49:01.569 INFO kablam! | ^^^^^^^^^^^^^^^^ Oct 10 12:49:01.569 INFO kablam! | Oct 10 12:49:01.569 INFO kablam! = note: #[warn(deprecated)] on by default Oct 10 12:49:01.569 INFO kablam! Oct 10 12:49:01.569 INFO kablam! warning: use of deprecated item 'std::thread::sleep_ms': replaced by `std::thread::sleep` Oct 10 12:49:01.569 INFO kablam! --> src/snake_nn.rs:212:17 Oct 10 12:49:01.569 INFO kablam! | Oct 10 12:49:01.569 INFO kablam! 212 | thread::sleep_ms(SLEEP_INTERVAL_MS); Oct 10 12:49:01.569 INFO kablam! | ^^^^^^^^^^^^^^^^ Oct 10 12:49:01.569 INFO kablam! Oct 10 12:49:02.188 INFO kablam! warning: unused import: `rand::Rng` Oct 10 12:49:02.188 INFO kablam! --> src/snake.rs:1:5 Oct 10 12:49:02.188 INFO kablam! | Oct 10 12:49:02.188 INFO kablam! 1 | use rand::Rng; Oct 10 12:49:02.188 INFO kablam! | ^^^^^^^^^ Oct 10 12:49:02.188 INFO kablam! Oct 10 12:49:02.244 INFO kablam! warning: unused variable: `hits` Oct 10 12:49:02.244 INFO kablam! --> src/mnist.rs:64:13 Oct 10 12:49:02.244 INFO kablam! | Oct 10 12:49:02.244 INFO kablam! 64 | let mut hits = 0usize; Oct 10 12:49:02.244 INFO kablam! | ^^^^ help: consider using `_hits` instead Oct 10 12:49:02.244 INFO kablam! | Oct 10 12:49:02.244 INFO kablam! = note: #[warn(unused_variables)] on by default Oct 10 12:49:02.244 INFO kablam! Oct 10 12:49:02.244 INFO kablam! warning: unused variable: `predictor` Oct 10 12:49:02.244 INFO kablam! --> src/mnist.rs:98:30 Oct 10 12:49:02.244 INFO kablam! | Oct 10 12:49:02.244 INFO kablam! 98 | let (params, predictor, _) = parallel_trainer.borrow_network_parts(); Oct 10 12:49:02.244 INFO kablam! | ^^^^^^^^^ help: consider using `_predictor` instead Oct 10 12:49:02.244 INFO kablam! Oct 10 12:49:02.245 INFO kablam! warning: unused variable: `log_every_n` Oct 10 12:49:02.245 INFO kablam! --> src/mnist.rs:35:5 Oct 10 12:49:02.245 INFO kablam! | Oct 10 12:49:02.245 INFO kablam! 35 | log_every_n: usize, Oct 10 12:49:02.245 INFO kablam! | ^^^^^^^^^^^ help: consider using `_log_every_n` instead Oct 10 12:49:02.245 INFO kablam! Oct 10 12:49:02.245 INFO kablam! warning: unused variable: `outputs` Oct 10 12:49:02.245 INFO kablam! --> src/parallel_trainer.rs:150:21 Oct 10 12:49:02.245 INFO kablam! | Oct 10 12:49:02.245 INFO kablam! 150 | let outputs = local_nn_predictor Oct 10 12:49:02.245 INFO kablam! | ^^^^^^^ help: consider using `_outputs` instead Oct 10 12:49:02.245 INFO kablam! Oct 10 12:49:02.245 INFO kablam! warning: unused variable: `iters` Oct 10 12:49:02.245 INFO kablam! --> src/snake.rs:168:21 Oct 10 12:49:02.245 INFO kablam! | Oct 10 12:49:02.245 INFO kablam! 168 | let mut iters = 0; Oct 10 12:49:02.245 INFO kablam! | ^^^^^ help: consider using `_iters` instead Oct 10 12:49:02.245 INFO kablam! Oct 10 12:49:02.245 INFO kablam! warning: unused variable: `epoch_no` Oct 10 12:49:02.245 INFO kablam! --> src/snake_nn.rs:73:9 Oct 10 12:49:02.245 INFO kablam! | Oct 10 12:49:02.245 INFO kablam! 73 | for epoch_no in 0..num_epochs { Oct 10 12:49:02.245 INFO kablam! | ^^^^^^^^ help: consider using `_epoch_no` instead Oct 10 12:49:02.245 INFO kablam! Oct 10 12:49:02.245 INFO kablam! warning: unused variable: `predictor` Oct 10 12:49:02.245 INFO kablam! --> src/snake_nn.rs:90:30 Oct 10 12:49:02.245 INFO kablam! | Oct 10 12:49:02.245 INFO kablam! 90 | let (params, predictor, _) = parallel_trainer.borrow_network_parts(); Oct 10 12:49:02.245 INFO kablam! | ^^^^^^^^^ help: consider using `_predictor` instead Oct 10 12:49:02.245 INFO kablam! Oct 10 12:49:02.245 INFO kablam! warning: unused variable: `predictor` Oct 10 12:49:02.245 INFO kablam! --> src/snake_nn.rs:109:18 Oct 10 12:49:02.245 INFO kablam! | Oct 10 12:49:02.245 INFO kablam! 109 | let (params, predictor, _) = parallel_trainer.borrow_network_parts(); Oct 10 12:49:02.245 INFO kablam! | ^^^^^^^^^ help: consider using `_predictor` instead Oct 10 12:49:02.245 INFO kablam! Oct 10 12:49:02.245 INFO kablam! warning: unused variable: `max_gain` Oct 10 12:49:02.245 INFO kablam! --> src/snake_nn.rs:357:13 Oct 10 12:49:02.245 INFO kablam! | Oct 10 12:49:02.245 INFO kablam! 357 | let (i, max_gain) = get_max_with_pos(snake_inputs_gains.as_slice()); Oct 10 12:49:02.245 INFO kablam! | ^^^^^^^^ help: consider using `_max_gain` instead Oct 10 12:49:02.245 INFO kablam! Oct 10 12:49:02.245 INFO kablam! warning: unused variable: `is_next_action_optimal` Oct 10 12:49:02.245 INFO kablam! --> src/snake_nn.rs:503:13 Oct 10 12:49:02.245 INFO kablam! | Oct 10 12:49:02.245 INFO kablam! 503 | let is_next_action_optimal = session[i - 1].is_optimal; Oct 10 12:49:02.245 INFO kablam! | ^^^^^^^^^^^^^^^^^^^^^^ help: consider using `_is_next_action_optimal` instead Oct 10 12:49:02.246 INFO kablam! Oct 10 12:49:02.246 INFO kablam! warning: unused variable: `i` Oct 10 12:49:02.246 INFO kablam! --> src/snake_nn.rs:530:9 Oct 10 12:49:02.246 INFO kablam! | Oct 10 12:49:02.246 INFO kablam! 530 | for i in 0..MAP_WIDTH * MAP_HEIGHT - 1 { Oct 10 12:49:02.246 INFO kablam! | ^ help: consider using `_i` instead Oct 10 12:49:02.246 INFO kablam! Oct 10 12:49:02.246 INFO kablam! warning: unused variable: `matches` Oct 10 12:49:02.246 INFO kablam! --> src/main.rs:53:24 Oct 10 12:49:02.246 INFO kablam! | Oct 10 12:49:02.246 INFO kablam! 53 | fn execute_mnist_train(matches: &ArgMatches, submatches: &ArgMatches) { Oct 10 12:49:02.246 INFO kablam! | ^^^^^^^ help: consider using `_matches` instead Oct 10 12:49:02.246 INFO kablam! Oct 10 12:49:02.246 INFO kablam! warning: unused variable: `matches` Oct 10 12:49:02.246 INFO kablam! --> src/main.rs:68:22 Oct 10 12:49:02.246 INFO kablam! | Oct 10 12:49:02.246 INFO kablam! 68 | fn execute_snake_new(matches: &ArgMatches, submatches: &ArgMatches) { Oct 10 12:49:02.246 INFO kablam! | ^^^^^^^ help: consider using `_matches` instead Oct 10 12:49:02.246 INFO kablam! Oct 10 12:49:02.246 INFO kablam! warning: unused variable: `matches` Oct 10 12:49:02.246 INFO kablam! --> src/main.rs:73:24 Oct 10 12:49:02.246 INFO kablam! | Oct 10 12:49:02.246 INFO kablam! 73 | fn execute_snake_train(matches: &ArgMatches, submatches: &ArgMatches) { Oct 10 12:49:02.246 INFO kablam! | ^^^^^^^ help: consider using `_matches` instead Oct 10 12:49:02.246 INFO kablam! Oct 10 12:49:02.246 INFO kablam! warning: unused variable: `matches` Oct 10 12:49:02.246 INFO kablam! --> src/main.rs:93:22 Oct 10 12:49:02.246 INFO kablam! | Oct 10 12:49:02.246 INFO kablam! 93 | fn execute_snake_gen(matches: &ArgMatches, submatches: &ArgMatches) { Oct 10 12:49:02.246 INFO kablam! | ^^^^^^^ help: consider using `_matches` instead Oct 10 12:49:02.246 INFO kablam! Oct 10 12:49:02.246 INFO kablam! warning: unused variable: `matches` Oct 10 12:49:02.246 INFO kablam! --> src/main.rs:101:23 Oct 10 12:49:02.246 INFO kablam! | Oct 10 12:49:02.246 INFO kablam! 101 | fn execute_snake_demo(matches: &ArgMatches, submatches: &ArgMatches) { Oct 10 12:49:02.246 INFO kablam! | ^^^^^^^ help: consider using `_matches` instead Oct 10 12:49:02.246 INFO kablam! Oct 10 12:49:02.247 INFO kablam! warning: unused variable: `thread_no` Oct 10 12:49:02.247 INFO kablam! --> src/parallel_trainer.rs:46:13 Oct 10 12:49:02.247 INFO kablam! | Oct 10 12:49:02.247 INFO kablam! 46 | for thread_no in 0..num_threads { Oct 10 12:49:02.247 INFO kablam! | ^^^^^^^^^ help: consider using `_thread_no` instead Oct 10 12:49:02.247 INFO kablam! Oct 10 12:49:02.328 INFO kablam! warning: variable does not need to be mutable Oct 10 12:49:02.328 INFO kablam! --> src/mnist.rs:64:9 Oct 10 12:49:02.328 INFO kablam! | Oct 10 12:49:02.328 INFO kablam! 64 | let mut hits = 0usize; Oct 10 12:49:02.328 INFO kablam! | ----^^^^ Oct 10 12:49:02.328 INFO kablam! | | Oct 10 12:49:02.328 INFO kablam! | help: remove this `mut` Oct 10 12:49:02.328 INFO kablam! | Oct 10 12:49:02.328 INFO kablam! = note: #[warn(unused_mut)] on by default Oct 10 12:49:02.328 INFO kablam! Oct 10 12:49:02.349 INFO kablam! warning: variable does not need to be mutable Oct 10 12:49:02.349 INFO kablam! --> src/network.rs:55:13 Oct 10 12:49:02.349 INFO kablam! | Oct 10 12:49:02.349 INFO kablam! 55 | let mut nn: Self = serde_json::from_reader(&file).unwrap(); Oct 10 12:49:02.349 INFO kablam! | ----^^ Oct 10 12:49:02.349 INFO kablam! | | Oct 10 12:49:02.349 INFO kablam! | help: remove this `mut` Oct 10 12:49:02.349 INFO kablam! Oct 10 12:49:02.417 INFO kablam! warning: variable does not need to be mutable Oct 10 12:49:02.417 INFO kablam! --> src/parallel_trainer.rs:37:33 Oct 10 12:49:02.417 INFO kablam! | Oct 10 12:49:02.417 INFO kablam! 37 | let (mut nn_parameters, mut nn_predictor, mut nn_trainer) = network.as_parts(); Oct 10 12:49:02.417 INFO kablam! | ----^^^^^^^^^^^^ Oct 10 12:49:02.417 INFO kablam! | | Oct 10 12:49:02.417 INFO kablam! | help: remove this `mut` Oct 10 12:49:02.417 INFO kablam! Oct 10 12:49:02.417 INFO kablam! warning: variable does not need to be mutable Oct 10 12:49:02.417 INFO kablam! --> src/parallel_trainer.rs:37:14 Oct 10 12:49:02.417 INFO kablam! | Oct 10 12:49:02.417 INFO kablam! 37 | let (mut nn_parameters, mut nn_predictor, mut nn_trainer) = network.as_parts(); Oct 10 12:49:02.417 INFO kablam! | ----^^^^^^^^^^^^^ Oct 10 12:49:02.417 INFO kablam! | | Oct 10 12:49:02.417 INFO kablam! | help: remove this `mut` Oct 10 12:49:02.417 INFO kablam! Oct 10 12:49:02.417 INFO kablam! warning: variable does not need to be mutable Oct 10 12:49:02.417 INFO kablam! --> src/parallel_trainer.rs:37:51 Oct 10 12:49:02.417 INFO kablam! | Oct 10 12:49:02.417 INFO kablam! 37 | let (mut nn_parameters, mut nn_predictor, mut nn_trainer) = network.as_parts(); Oct 10 12:49:02.417 INFO kablam! | ----^^^^^^^^^^ Oct 10 12:49:02.417 INFO kablam! | | Oct 10 12:49:02.417 INFO kablam! | help: remove this `mut` Oct 10 12:49:02.417 INFO kablam! Oct 10 12:49:02.425 INFO kablam! warning: variable does not need to be mutable Oct 10 12:49:02.425 INFO kablam! --> src/parallel_trainer.rs:123:5 Oct 10 12:49:02.425 INFO kablam! | Oct 10 12:49:02.425 INFO kablam! 123 | mut job_receiver: Arc>>, Oct 10 12:49:02.425 INFO kablam! | ----^^^^^^^^^^^^ Oct 10 12:49:02.425 INFO kablam! | | Oct 10 12:49:02.425 INFO kablam! | help: remove this `mut` Oct 10 12:49:02.425 INFO kablam! Oct 10 12:49:02.425 INFO kablam! warning: variable does not need to be mutable Oct 10 12:49:02.425 INFO kablam! --> src/parallel_trainer.rs:124:5 Oct 10 12:49:02.425 INFO kablam! | Oct 10 12:49:02.425 INFO kablam! 124 | mut output_sender: Sender>>, Oct 10 12:49:02.425 INFO kablam! | ----^^^^^^^^^^^^^ Oct 10 12:49:02.425 INFO kablam! | | Oct 10 12:49:02.425 INFO kablam! | help: remove this `mut` Oct 10 12:49:02.425 INFO kablam! Oct 10 12:49:02.425 INFO kablam! warning: variable does not need to be mutable Oct 10 12:49:02.425 INFO kablam! --> src/parallel_trainer.rs:126:5 Oct 10 12:49:02.425 INFO kablam! | Oct 10 12:49:02.425 INFO kablam! 126 | mut local_nn_trainer: Arc>, Oct 10 12:49:02.425 INFO kablam! | ----^^^^^^^^^^^^^^^^ Oct 10 12:49:02.425 INFO kablam! | | Oct 10 12:49:02.425 INFO kablam! | help: remove this `mut` Oct 10 12:49:02.425 INFO kablam! Oct 10 12:49:02.481 INFO kablam! warning: variable does not need to be mutable Oct 10 12:49:02.481 INFO kablam! --> src/snake_nn.rs:57:9 Oct 10 12:49:02.481 INFO kablam! | Oct 10 12:49:02.481 INFO kablam! 57 | let mut nn = network::Network::load_from_file(model_input_path); Oct 10 12:49:02.481 INFO kablam! | ----^^ Oct 10 12:49:02.481 INFO kablam! | | Oct 10 12:49:02.481 INFO kablam! | help: remove this `mut` Oct 10 12:49:02.481 INFO kablam! Oct 10 12:49:02.486 INFO kablam! warning: variable does not need to be mutable Oct 10 12:49:02.486 INFO kablam! --> src/snake_nn.rs:131:21 Oct 10 12:49:02.486 INFO kablam! | Oct 10 12:49:02.486 INFO kablam! 131 | let mut state = GameState { Oct 10 12:49:02.486 INFO kablam! | ----^^^^^ Oct 10 12:49:02.486 INFO kablam! | | Oct 10 12:49:02.486 INFO kablam! | help: remove this `mut` Oct 10 12:49:02.486 INFO kablam! Oct 10 12:49:02.486 INFO kablam! warning: variable does not need to be mutable Oct 10 12:49:02.486 INFO kablam! --> src/snake_nn.rs:115:9 Oct 10 12:49:02.486 INFO kablam! | Oct 10 12:49:02.486 INFO kablam! 115 | let mut nn = network::Network::load_from_file(model_path); Oct 10 12:49:02.486 INFO kablam! | ----^^ Oct 10 12:49:02.486 INFO kablam! | | Oct 10 12:49:02.486 INFO kablam! | help: remove this `mut` Oct 10 12:49:02.486 INFO kablam! Oct 10 12:49:02.528 INFO kablam! warning: method is never used: `new_same_dim` Oct 10 12:49:02.528 INFO kablam! --> src/math.rs:21:5 Oct 10 12:49:02.528 INFO kablam! | Oct 10 12:49:02.528 INFO kablam! 21 | pub fn new_same_dim(m: &Matrix) -> Self { Oct 10 12:49:02.528 INFO kablam! | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Oct 10 12:49:02.528 INFO kablam! | Oct 10 12:49:02.529 INFO kablam! = note: #[warn(dead_code)] on by default Oct 10 12:49:02.529 INFO kablam! Oct 10 12:49:02.529 INFO kablam! warning: method is never used: `from_slice` Oct 10 12:49:02.529 INFO kablam! --> src/math.rs:27:5 Oct 10 12:49:02.529 INFO kablam! | Oct 10 12:49:02.529 INFO kablam! 27 | pub fn from_slice(rows: usize, cols: usize, content: &[f64]) -> Self { Oct 10 12:49:02.529 INFO kablam! | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Oct 10 12:49:02.529 INFO kablam! Oct 10 12:49:02.529 INFO kablam! warning: method is never used: `dot_vec` Oct 10 12:49:02.529 INFO kablam! --> src/math.rs:71:5 Oct 10 12:49:02.529 INFO kablam! | Oct 10 12:49:02.529 INFO kablam! 71 | pub fn dot_vec(&self, vec: &Vector, res: &mut Vector) { Oct 10 12:49:02.529 INFO kablam! | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Oct 10 12:49:02.529 INFO kablam! Oct 10 12:49:02.529 INFO kablam! warning: method is never used: `transpose` Oct 10 12:49:02.529 INFO kablam! --> src/math.rs:155:5 Oct 10 12:49:02.529 INFO kablam! | Oct 10 12:49:02.529 INFO kablam! 155 | pub fn transpose(&self, res: &mut Matrix) { Oct 10 12:49:02.529 INFO kablam! | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Oct 10 12:49:02.529 INFO kablam! Oct 10 12:49:02.529 INFO kablam! warning: method is never used: `from_slice` Oct 10 12:49:02.529 INFO kablam! --> src/math.rs:241:5 Oct 10 12:49:02.529 INFO kablam! | Oct 10 12:49:02.530 INFO kablam! 241 | pub fn from_slice(content: &[f64]) -> Self { Oct 10 12:49:02.530 INFO kablam! | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Oct 10 12:49:02.530 INFO kablam! Oct 10 12:49:02.530 INFO kablam! warning: method is never used: `empty` Oct 10 12:49:02.530 INFO kablam! --> src/math.rs:248:5 Oct 10 12:49:02.530 INFO kablam! | Oct 10 12:49:02.530 INFO kablam! 248 | pub fn empty() -> Self { Oct 10 12:49:02.530 INFO kablam! | ^^^^^^^^^^^^^^^^^^^^^^ Oct 10 12:49:02.530 INFO kablam! Oct 10 12:49:02.530 INFO kablam! warning: method is never used: `init_rand` Oct 10 12:49:02.530 INFO kablam! --> src/math.rs:267:5 Oct 10 12:49:02.530 INFO kablam! | Oct 10 12:49:02.530 INFO kablam! 267 | pub fn init_rand(mut self) -> Self { Oct 10 12:49:02.530 INFO kablam! | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Oct 10 12:49:02.530 INFO kablam! Oct 10 12:49:02.530 INFO kablam! warning: method is never used: `copy_from` Oct 10 12:49:02.530 INFO kablam! --> src/math.rs:286:5 Oct 10 12:49:02.530 INFO kablam! | Oct 10 12:49:02.530 INFO kablam! 286 | pub fn copy_from(&mut self, v: &Vector) { Oct 10 12:49:02.530 INFO kablam! | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Oct 10 12:49:02.530 INFO kablam! Oct 10 12:49:02.530 INFO kablam! warning: method is never used: `add` Oct 10 12:49:02.530 INFO kablam! --> src/math.rs:322:5 Oct 10 12:49:02.531 INFO kablam! | Oct 10 12:49:02.531 INFO kablam! 322 | pub fn add(&mut self, v: &Vector) { Oct 10 12:49:02.531 INFO kablam! | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Oct 10 12:49:02.531 INFO kablam! Oct 10 12:49:02.531 INFO kablam! warning: method is never used: `fill_rand` Oct 10 12:49:02.531 INFO kablam! --> src/math.rs:335:5 Oct 10 12:49:02.531 INFO kablam! | Oct 10 12:49:02.531 INFO kablam! 335 | pub fn fill_rand(&mut self) { Oct 10 12:49:02.531 INFO kablam! | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ Oct 10 12:49:02.531 INFO kablam! Oct 10 12:49:02.531 INFO kablam! warning: constant item is never used: `NANOS_IN_SECOND` Oct 10 12:49:02.531 INFO kablam! --> src/mnist.rs:28:1 Oct 10 12:49:02.531 INFO kablam! | Oct 10 12:49:02.531 INFO kablam! 28 | const NANOS_IN_SECOND: u64 = 1_000_000_000; Oct 10 12:49:02.531 INFO kablam! | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Oct 10 12:49:02.531 INFO kablam! Oct 10 12:49:02.531 INFO kablam! warning: method is never used: `get_layer_mut` Oct 10 12:49:02.531 INFO kablam! --> src/network.rs:46:5 Oct 10 12:49:02.531 INFO kablam! | Oct 10 12:49:02.531 INFO kablam! 46 | fn get_layer_mut(&mut self, id: LayerID) -> &mut Layer { Oct 10 12:49:02.531 INFO kablam! | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Oct 10 12:49:02.531 INFO kablam! Oct 10 12:49:02.531 INFO kablam! warning: method is never used: `calc_layers_order` Oct 10 12:49:02.532 INFO kablam! --> src/network.rs:462:5 Oct 10 12:49:02.532 INFO kablam! | Oct 10 12:49:02.532 INFO kablam! 462 | fn calc_layers_order(&self) -> Vec { Oct 10 12:49:02.532 INFO kablam! | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Oct 10 12:49:02.532 INFO kablam! Oct 10 12:49:02.532 INFO kablam! warning: method is never used: `predict` Oct 10 12:49:02.532 INFO kablam! --> src/network.rs:466:5 Oct 10 12:49:02.532 INFO kablam! | Oct 10 12:49:02.532 INFO kablam! 466 | pub fn predict(&mut self, input_data: &[f64]) -> &Vector { Oct 10 12:49:02.532 INFO kablam! | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Oct 10 12:49:02.532 INFO kablam! Oct 10 12:49:02.532 INFO kablam! warning: method is never used: `backward_propagation` Oct 10 12:49:02.532 INFO kablam! --> src/network.rs:470:5 Oct 10 12:49:02.532 INFO kablam! | Oct 10 12:49:02.532 INFO kablam! 470 | pub fn backward_propagation(&mut self, true_outputs: &Vector) { Oct 10 12:49:02.532 INFO kablam! | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Oct 10 12:49:02.532 INFO kablam! Oct 10 12:49:02.532 INFO kablam! warning: method is never used: `apply_batch` Oct 10 12:49:02.532 INFO kablam! --> src/network.rs:530:5 Oct 10 12:49:02.532 INFO kablam! | Oct 10 12:49:02.532 INFO kablam! 530 | pub fn apply_batch(&mut self) { Oct 10 12:49:02.532 INFO kablam! | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Oct 10 12:49:02.533 INFO kablam! Oct 10 12:49:02.533 INFO kablam! warning: field is never used: `shared_training_data` Oct 10 12:49:02.533 INFO kablam! --> src/parallel_trainer.rs:22:5 Oct 10 12:49:02.533 INFO kablam! | Oct 10 12:49:02.533 INFO kablam! 22 | shared_training_data: Arc, Oct 10 12:49:02.533 INFO kablam! | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Oct 10 12:49:02.533 INFO kablam! Oct 10 12:49:02.533 INFO kablam! warning: field is never used: `job_receiver` Oct 10 12:49:02.533 INFO kablam! --> src/parallel_trainer.rs:29:5 Oct 10 12:49:02.533 INFO kablam! | Oct 10 12:49:02.533 INFO kablam! 29 | job_receiver: Arc>>, Oct 10 12:49:02.533 INFO kablam! | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Oct 10 12:49:02.533 INFO kablam! Oct 10 12:49:02.533 INFO kablam! warning: field is never used: `output_sender` Oct 10 12:49:02.533 INFO kablam! --> src/parallel_trainer.rs:30:5 Oct 10 12:49:02.533 INFO kablam! | Oct 10 12:49:02.533 INFO kablam! 30 | output_sender: Sender>>, Oct 10 12:49:02.533 INFO kablam! | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Oct 10 12:49:02.533 INFO kablam! Oct 10 12:49:02.533 INFO kablam! warning: field is never used: `join_handles` Oct 10 12:49:02.533 INFO kablam! --> src/parallel_trainer.rs:32:5 Oct 10 12:49:02.533 INFO kablam! | Oct 10 12:49:02.533 INFO kablam! 32 | join_handles: Vec>, Oct 10 12:49:02.534 INFO kablam! | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Oct 10 12:49:02.534 INFO kablam! Oct 10 12:49:02.534 INFO kablam! warning: function is never used: `teach_nn` Oct 10 12:49:02.534 INFO kablam! --> src/snake_nn.rs:384:1 Oct 10 12:49:02.534 INFO kablam! | Oct 10 12:49:02.534 INFO kablam! 384 | / fn teach_nn( Oct 10 12:49:02.534 INFO kablam! 385 | | nn: &mut network::Network, Oct 10 12:49:02.534 INFO kablam! 386 | | state: &GameState, Oct 10 12:49:02.534 INFO kablam! 387 | | snake_input: SnakeInput, Oct 10 12:49:02.534 INFO kablam! ... | Oct 10 12:49:02.534 INFO kablam! 398 | | nn.backward_propagation(&true_output_vec); Oct 10 12:49:02.534 INFO kablam! 399 | | } Oct 10 12:49:02.534 INFO kablam! | |_^ Oct 10 12:49:02.534 INFO kablam! Oct 10 12:49:02.534 INFO kablam! warning: method is never used: `elapsed` Oct 10 12:49:02.534 INFO kablam! --> src/timing.rs:46:5 Oct 10 12:49:02.534 INFO kablam! | Oct 10 12:49:02.534 INFO kablam! 46 | pub fn elapsed(&self, name: &str) -> time::Duration { Oct 10 12:49:02.534 INFO kablam! | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Oct 10 12:49:02.534 INFO kablam! Oct 10 12:49:02.544 INFO kablam! warning: unused `std::result::Result` which must be used Oct 10 12:49:02.545 INFO kablam! --> src/parallel_trainer.rs:85:13 Oct 10 12:49:02.545 INFO kablam! | Oct 10 12:49:02.545 INFO kablam! 85 | / self.job_sender.send(TrainingJob { Oct 10 12:49:02.545 INFO kablam! 86 | | examples_indices: chunk, Oct 10 12:49:02.545 INFO kablam! 87 | | network_parameters: self.shared_nn_parameters.clone(), Oct 10 12:49:02.545 INFO kablam! 88 | | }); Oct 10 12:49:02.545 INFO kablam! | |_______________^ Oct 10 12:49:02.545 INFO kablam! | Oct 10 12:49:02.545 INFO kablam! = note: #[warn(unused_must_use)] on by default Oct 10 12:49:02.545 INFO kablam! = note: this `Result` may be an `Err` variant, which should be handled Oct 10 12:49:02.545 INFO kablam! Oct 10 12:49:02.545 INFO kablam! warning: unused `std::result::Result` which must be used Oct 10 12:49:02.545 INFO kablam! --> src/parallel_trainer.rs:160:9 Oct 10 12:49:02.545 INFO kablam! | Oct 10 12:49:02.545 INFO kablam! 160 | output_sender.send(local_nn_trainer.clone()); Oct 10 12:49:02.545 INFO kablam! | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Oct 10 12:49:02.545 INFO kablam! | Oct 10 12:49:02.545 INFO kablam! = note: this `Result` may be an `Err` variant, which should be handled Oct 10 12:49:02.545 INFO kablam! Oct 10 12:49:02.549 INFO kablam! warning: unused `std::result::Result` which must be used Oct 10 12:49:02.549 INFO kablam! --> src/snake.rs:118:9 Oct 10 12:49:02.549 INFO kablam! | Oct 10 12:49:02.549 INFO kablam! 118 | writer.write("\n".as_bytes()); Oct 10 12:49:02.549 INFO kablam! | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Oct 10 12:49:02.549 INFO kablam! | Oct 10 12:49:02.549 INFO kablam! = note: this `Result` may be an `Err` variant, which should be handled Oct 10 12:49:02.549 INFO kablam! Oct 10 12:49:02.549 INFO kablam! warning: unused `std::result::Result` which must be used Oct 10 12:49:02.549 INFO kablam! --> src/snake.rs:120:5 Oct 10 12:49:02.550 INFO kablam! | Oct 10 12:49:02.550 INFO kablam! 120 | writer.flush(); Oct 10 12:49:02.550 INFO kablam! | ^^^^^^^^^^^^^^^ Oct 10 12:49:02.550 INFO kablam! | Oct 10 12:49:02.550 INFO kablam! = note: this `Result` may be an `Err` variant, which should be handled Oct 10 12:49:02.550 INFO kablam! Oct 10 12:49:02.550 INFO kablam! warning: unused `std::result::Result` which must be used Oct 10 12:49:02.550 INFO kablam! --> src/snake.rs:131:5 Oct 10 12:49:02.550 INFO kablam! | Oct 10 12:49:02.550 INFO kablam! 131 | writer.write(character.as_bytes()); Oct 10 12:49:02.551 INFO kablam! | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Oct 10 12:49:02.551 INFO kablam! | Oct 10 12:49:02.551 INFO kablam! = note: this `Result` may be an `Err` variant, which should be handled Oct 10 12:49:02.551 INFO kablam! Oct 10 12:49:02.551 INFO kablam! warning: unused `std::result::Result` which must be used Oct 10 12:49:02.551 INFO kablam! --> src/snake_nn.rs:150:9 Oct 10 12:49:02.551 INFO kablam! | Oct 10 12:49:02.551 INFO kablam! 150 | jh.join(); Oct 10 12:49:02.551 INFO kablam! | ^^^^^^^^^^ Oct 10 12:49:02.551 INFO kablam! | Oct 10 12:49:02.551 INFO kablam! = note: this `Result` may be an `Err` variant, which should be handled Oct 10 12:49:02.551 INFO kablam! Oct 10 12:49:02.551 INFO kablam! warning: the `game_over:` in this pattern is redundant Oct 10 12:49:02.551 INFO kablam! --> src/snake_nn.rs:203:17 Oct 10 12:49:02.551 INFO kablam! | Oct 10 12:49:02.551 INFO kablam! 203 | game_over: game_over, Oct 10 12:49:02.551 INFO kablam! | ----------^^^^^^^^^^ Oct 10 12:49:02.551 INFO kablam! | | Oct 10 12:49:02.551 INFO kablam! | help: remove this Oct 10 12:49:02.551 INFO kablam! | Oct 10 12:49:02.551 INFO kablam! = note: #[warn(non_shorthand_field_patterns)] on by default Oct 10 12:49:02.551 INFO kablam! Oct 10 12:49:02.551 INFO kablam! warning: the `game_over:` in this pattern is redundant Oct 10 12:49:02.551 INFO kablam! --> src/snake_nn.rs:271:13 Oct 10 12:49:02.551 INFO kablam! | Oct 10 12:49:02.551 INFO kablam! 271 | game_over: game_over, Oct 10 12:49:02.551 INFO kablam! | ----------^^^^^^^^^^ Oct 10 12:49:02.551 INFO kablam! | | Oct 10 12:49:02.551 INFO kablam! | help: remove this Oct 10 12:49:02.551 INFO kablam! Oct 10 12:49:02.551 INFO kablam! warning: the `game_over:` in this pattern is redundant Oct 10 12:49:02.551 INFO kablam! --> src/snake_nn.rs:308:17 Oct 10 12:49:02.551 INFO kablam! | Oct 10 12:49:02.552 INFO kablam! 308 | game_over: game_over, Oct 10 12:49:02.552 INFO kablam! | ----------^^^^^^^^^^ Oct 10 12:49:02.552 INFO kablam! | | Oct 10 12:49:02.552 INFO kablam! | help: remove this Oct 10 12:49:02.552 INFO kablam! Oct 10 12:49:02.553 INFO kablam! warning: unused attribute Oct 10 12:49:02.553 INFO kablam! --> src/snake_nn.rs:1:1 Oct 10 12:49:02.553 INFO kablam! | Oct 10 12:49:02.553 INFO kablam! 1 | #![feature(test)] Oct 10 12:49:02.553 INFO kablam! | ^^^^^^^^^^^^^^^^^ Oct 10 12:49:02.553 INFO kablam! | Oct 10 12:49:02.553 INFO kablam! = note: #[warn(unused_attributes)] on by default Oct 10 12:49:02.554 INFO kablam! Oct 10 12:49:02.554 INFO kablam! warning: crate-level attribute should be in the root module Oct 10 12:49:02.554 INFO kablam! --> src/snake_nn.rs:1:1 Oct 10 12:49:02.554 INFO kablam! | Oct 10 12:49:02.554 INFO kablam! 1 | #![feature(test)] Oct 10 12:49:02.554 INFO kablam! | ^^^^^^^^^^^^^^^^^ Oct 10 12:49:02.554 INFO kablam! Oct 10 12:49:06.308 INFO kablam! Finished dev [unoptimized + debuginfo] target(s) in 22.02s Oct 10 12:49:06.312 INFO kablam! su: No module specific data is present Oct 10 12:49:06.748 INFO running `"docker" "rm" "-f" "f4ed02866961f9fb53c34f6bcaed4b23a10261b7e60ea0900dcb70393930e00b"` Oct 10 12:49:06.856 INFO blam! f4ed02866961f9fb53c34f6bcaed4b23a10261b7e60ea0900dcb70393930e00b Oct 10 12:49:06.857 INFO running: cargo +0e07c4281c343e9e15a0a8fca79538ad1a8eb513-alt test --frozen --no-run Oct 10 12:49:06.857 INFO running `"docker" "create" "-v" "/mnt/big/crater/./work/local/test-source/worker-1/rustdoc-test-static-cling/master#0e07c4281c343e9e15a0a8fca79538ad1a8eb513:/source:ro,Z" "-v" "/mnt/big/crater/./work/local/target-dirs/rustdoc-test-static-cling/worker-1/master#0e07c4281c343e9e15a0a8fca79538ad1a8eb513:/target:rw,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" "CMD=cargo +0e07c4281c343e9e15a0a8fca79538ad1a8eb513-alt test --frozen --no-run" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-m" "1536M" "--network" "none" "crater"` Oct 10 12:49:07.071 INFO blam! f02826faeec35d0d236afefd6971e06d1ac8ac7421f5ea0ca72207a23a301500 Oct 10 12:49:07.072 INFO running `"docker" "start" "-a" "f02826faeec35d0d236afefd6971e06d1ac8ac7421f5ea0ca72207a23a301500"` Oct 10 12:49:07.458 INFO kablam! usermod: no changes Oct 10 12:49:07.514 INFO kablam! Compiling nnrs v0.1.0 (/source) Oct 10 12:49:08.502 INFO kablam! warning: unused import: `std::time` Oct 10 12:49:08.502 INFO kablam! --> src/mnist.rs:2:5 Oct 10 12:49:08.502 INFO kablam! | Oct 10 12:49:08.502 INFO kablam! 2 | use std::time; Oct 10 12:49:08.502 INFO kablam! | ^^^^^^^^^ Oct 10 12:49:08.502 INFO kablam! | Oct 10 12:49:08.502 INFO kablam! = note: #[warn(unused_imports)] on by default Oct 10 12:49:08.502 INFO kablam! Oct 10 12:49:08.502 INFO kablam! warning: unused import: `math` Oct 10 12:49:08.502 INFO kablam! --> src/mnist.rs:15:5 Oct 10 12:49:08.502 INFO kablam! | Oct 10 12:49:08.502 INFO kablam! 15 | use math; Oct 10 12:49:08.502 INFO kablam! | ^^^^ Oct 10 12:49:08.502 INFO kablam! Oct 10 12:49:08.502 INFO kablam! warning: unused import: `math::Matrix` Oct 10 12:49:08.502 INFO kablam! --> src/mnist.rs:16:5 Oct 10 12:49:08.502 INFO kablam! | Oct 10 12:49:08.502 INFO kablam! 16 | use math::Matrix; Oct 10 12:49:08.502 INFO kablam! | ^^^^^^^^^^^^ Oct 10 12:49:08.502 INFO kablam! Oct 10 12:49:08.502 INFO kablam! warning: unused import: `timing` Oct 10 12:49:08.502 INFO kablam! --> src/mnist.rs:19:5 Oct 10 12:49:08.502 INFO kablam! | Oct 10 12:49:08.502 INFO kablam! 19 | use timing; Oct 10 12:49:08.502 INFO kablam! | ^^^^^^ Oct 10 12:49:08.502 INFO kablam! Oct 10 12:49:08.504 INFO kablam! warning: unused import: `std::mem` Oct 10 12:49:08.504 INFO kablam! --> src/network.rs:4:5 Oct 10 12:49:08.504 INFO kablam! | Oct 10 12:49:08.504 INFO kablam! 4 | use std::mem; Oct 10 12:49:08.504 INFO kablam! | ^^^^^^^^ Oct 10 12:49:08.504 INFO kablam! Oct 10 12:49:08.509 INFO kablam! warning: unused import: `timing::Timing` Oct 10 12:49:08.509 INFO kablam! --> src/parallel_trainer.rs:9:5 Oct 10 12:49:08.509 INFO kablam! | Oct 10 12:49:08.509 INFO kablam! 9 | use timing::Timing; Oct 10 12:49:08.509 INFO kablam! | ^^^^^^^^^^^^^^ Oct 10 12:49:08.509 INFO kablam! Oct 10 12:49:08.509 INFO kablam! warning: unused import: `serde_json` Oct 10 12:49:08.509 INFO kablam! --> src/snake.rs:6:5 Oct 10 12:49:08.509 INFO kablam! | Oct 10 12:49:08.509 INFO kablam! 6 | use serde_json; Oct 10 12:49:08.509 INFO kablam! | ^^^^^^^^^^ Oct 10 12:49:08.509 INFO kablam! Oct 10 12:49:08.509 INFO kablam! warning: unused import: `Network` Oct 10 12:49:08.509 INFO kablam! --> src/snake_nn.rs:4:15 Oct 10 12:49:08.509 INFO kablam! | Oct 10 12:49:08.509 INFO kablam! 4 | use network::{Network, NetworkParameters, NetworkPredictor}; Oct 10 12:49:08.509 INFO kablam! | ^^^^^^^ Oct 10 12:49:08.509 INFO kablam! Oct 10 12:49:08.509 INFO kablam! warning: unused imports: `IndependentSample`, `Range` Oct 10 12:49:08.509 INFO kablam! --> src/snake_nn.rs:7:27 Oct 10 12:49:08.509 INFO kablam! | Oct 10 12:49:08.509 INFO kablam! 7 | use rand::distributions::{IndependentSample, Range}; Oct 10 12:49:08.509 INFO kablam! | ^^^^^^^^^^^^^^^^^ ^^^^^ Oct 10 12:49:08.509 INFO kablam! Oct 10 12:49:08.509 INFO kablam! warning: unused import: `std::sync::mpsc` Oct 10 12:49:08.509 INFO kablam! --> src/snake_nn.rs:18:5 Oct 10 12:49:08.509 INFO kablam! | Oct 10 12:49:08.509 INFO kablam! 18 | use std::sync::mpsc; Oct 10 12:49:08.509 INFO kablam! | ^^^^^^^^^^^^^^^ Oct 10 12:49:08.509 INFO kablam! Oct 10 12:49:08.509 INFO kablam! warning: unused imports: `Receiver`, `Sender` Oct 10 12:49:08.509 INFO kablam! --> src/snake_nn.rs:19:23 Oct 10 12:49:08.509 INFO kablam! | Oct 10 12:49:08.509 INFO kablam! 19 | use std::sync::mpsc::{Receiver, Sender}; Oct 10 12:49:08.509 INFO kablam! | ^^^^^^^^ ^^^^^^ Oct 10 12:49:08.509 INFO kablam! Oct 10 12:49:08.509 INFO kablam! warning: unused import: `timing::duration_as_total_nanos` Oct 10 12:49:08.509 INFO kablam! --> src/snake_nn.rs:22:5 Oct 10 12:49:08.509 INFO kablam! | Oct 10 12:49:08.509 INFO kablam! 22 | use timing::duration_as_total_nanos; Oct 10 12:49:08.509 INFO kablam! | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Oct 10 12:49:08.509 INFO kablam! Oct 10 12:49:08.509 INFO kablam! warning: unnecessary parentheses around `if` condition Oct 10 12:49:08.509 INFO kablam! --> src/snake_nn.rs:340:8 Oct 10 12:49:08.509 INFO kablam! | Oct 10 12:49:08.509 INFO kablam! 340 | if (rng.gen_range(0.0, 1.0) <= random_move_prob) { Oct 10 12:49:08.509 INFO kablam! | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses Oct 10 12:49:08.509 INFO kablam! | Oct 10 12:49:08.509 INFO kablam! = note: #[warn(unused_parens)] on by default Oct 10 12:49:08.509 INFO kablam! Oct 10 12:49:08.509 INFO kablam! warning: unused import: `std::collections::hash_map::Entry` Oct 10 12:49:08.509 INFO kablam! --> src/timing.rs:2:5 Oct 10 12:49:08.509 INFO kablam! | Oct 10 12:49:08.509 INFO kablam! 2 | use std::collections::hash_map::Entry; Oct 10 12:49:08.509 INFO kablam! | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Oct 10 12:49:08.509 INFO kablam! Oct 10 12:49:08.537 INFO kablam! warning: use of deprecated item 'std::thread::sleep_ms': replaced by `std::thread::sleep` Oct 10 12:49:08.537 INFO kablam! --> src/snake_nn.rs:176:13 Oct 10 12:49:08.537 INFO kablam! | Oct 10 12:49:08.537 INFO kablam! 176 | thread::sleep_ms(SLEEP_INTERVAL_MS); Oct 10 12:49:08.537 INFO kablam! | ^^^^^^^^^^^^^^^^ Oct 10 12:49:08.537 INFO kablam! | Oct 10 12:49:08.537 INFO kablam! = note: #[warn(deprecated)] on by default Oct 10 12:49:08.537 INFO kablam! Oct 10 12:49:08.537 INFO kablam! warning: use of deprecated item 'std::thread::sleep_ms': replaced by `std::thread::sleep` Oct 10 12:49:08.537 INFO kablam! --> src/snake_nn.rs:212:17 Oct 10 12:49:08.537 INFO kablam! | Oct 10 12:49:08.537 INFO kablam! 212 | thread::sleep_ms(SLEEP_INTERVAL_MS); Oct 10 12:49:08.537 INFO kablam! | ^^^^^^^^^^^^^^^^ Oct 10 12:49:08.537 INFO kablam! Oct 10 12:49:09.183 INFO kablam! warning: unused import: `rand::Rng` Oct 10 12:49:09.183 INFO kablam! --> src/snake.rs:1:5 Oct 10 12:49:09.183 INFO kablam! | Oct 10 12:49:09.183 INFO kablam! 1 | use rand::Rng; Oct 10 12:49:09.183 INFO kablam! | ^^^^^^^^^ Oct 10 12:49:09.183 INFO kablam! Oct 10 12:49:09.246 INFO kablam! warning: unused variable: `hits` Oct 10 12:49:09.246 INFO kablam! --> src/mnist.rs:64:13 Oct 10 12:49:09.246 INFO kablam! | Oct 10 12:49:09.246 INFO kablam! 64 | let mut hits = 0usize; Oct 10 12:49:09.246 INFO kablam! | ^^^^ help: consider using `_hits` instead Oct 10 12:49:09.246 INFO kablam! | Oct 10 12:49:09.246 INFO kablam! = note: #[warn(unused_variables)] on by default Oct 10 12:49:09.246 INFO kablam! Oct 10 12:49:09.246 INFO kablam! warning: unused variable: `predictor` Oct 10 12:49:09.246 INFO kablam! --> src/mnist.rs:98:30 Oct 10 12:49:09.246 INFO kablam! | Oct 10 12:49:09.246 INFO kablam! 98 | let (params, predictor, _) = parallel_trainer.borrow_network_parts(); Oct 10 12:49:09.246 INFO kablam! | ^^^^^^^^^ help: consider using `_predictor` instead Oct 10 12:49:09.246 INFO kablam! Oct 10 12:49:09.246 INFO kablam! warning: unused variable: `log_every_n` Oct 10 12:49:09.246 INFO kablam! --> src/mnist.rs:35:5 Oct 10 12:49:09.246 INFO kablam! | Oct 10 12:49:09.246 INFO kablam! 35 | log_every_n: usize, Oct 10 12:49:09.246 INFO kablam! | ^^^^^^^^^^^ help: consider using `_log_every_n` instead Oct 10 12:49:09.246 INFO kablam! Oct 10 12:49:09.246 INFO kablam! warning: unused variable: `outputs` Oct 10 12:49:09.246 INFO kablam! --> src/parallel_trainer.rs:150:21 Oct 10 12:49:09.246 INFO kablam! | Oct 10 12:49:09.246 INFO kablam! 150 | let outputs = local_nn_predictor Oct 10 12:49:09.246 INFO kablam! | ^^^^^^^ help: consider using `_outputs` instead Oct 10 12:49:09.246 INFO kablam! Oct 10 12:49:09.247 INFO kablam! warning: unused variable: `iters` Oct 10 12:49:09.247 INFO kablam! --> src/snake.rs:168:21 Oct 10 12:49:09.247 INFO kablam! | Oct 10 12:49:09.247 INFO kablam! 168 | let mut iters = 0; Oct 10 12:49:09.247 INFO kablam! | ^^^^^ help: consider using `_iters` instead Oct 10 12:49:09.247 INFO kablam! Oct 10 12:49:09.248 INFO kablam! warning: unused variable: `epoch_no` Oct 10 12:49:09.248 INFO kablam! --> src/snake_nn.rs:73:9 Oct 10 12:49:09.248 INFO kablam! | Oct 10 12:49:09.248 INFO kablam! 73 | for epoch_no in 0..num_epochs { Oct 10 12:49:09.248 INFO kablam! | ^^^^^^^^ help: consider using `_epoch_no` instead Oct 10 12:49:09.248 INFO kablam! Oct 10 12:49:09.248 INFO kablam! warning: unused variable: `predictor` Oct 10 12:49:09.248 INFO kablam! --> src/snake_nn.rs:90:30 Oct 10 12:49:09.248 INFO kablam! | Oct 10 12:49:09.248 INFO kablam! 90 | let (params, predictor, _) = parallel_trainer.borrow_network_parts(); Oct 10 12:49:09.248 INFO kablam! | ^^^^^^^^^ help: consider using `_predictor` instead Oct 10 12:49:09.248 INFO kablam! Oct 10 12:49:09.249 INFO kablam! warning: unused variable: `predictor` Oct 10 12:49:09.249 INFO kablam! --> src/snake_nn.rs:109:18 Oct 10 12:49:09.249 INFO kablam! | Oct 10 12:49:09.249 INFO kablam! 109 | let (params, predictor, _) = parallel_trainer.borrow_network_parts(); Oct 10 12:49:09.249 INFO kablam! | ^^^^^^^^^ help: consider using `_predictor` instead Oct 10 12:49:09.249 INFO kablam! Oct 10 12:49:09.249 INFO kablam! warning: unused variable: `max_gain` Oct 10 12:49:09.249 INFO kablam! --> src/snake_nn.rs:357:13 Oct 10 12:49:09.249 INFO kablam! | Oct 10 12:49:09.249 INFO kablam! 357 | let (i, max_gain) = get_max_with_pos(snake_inputs_gains.as_slice()); Oct 10 12:49:09.249 INFO kablam! | ^^^^^^^^ help: consider using `_max_gain` instead Oct 10 12:49:09.249 INFO kablam! Oct 10 12:49:09.249 INFO kablam! warning: unused variable: `is_next_action_optimal` Oct 10 12:49:09.249 INFO kablam! --> src/snake_nn.rs:503:13 Oct 10 12:49:09.249 INFO kablam! | Oct 10 12:49:09.249 INFO kablam! 503 | let is_next_action_optimal = session[i - 1].is_optimal; Oct 10 12:49:09.249 INFO kablam! | ^^^^^^^^^^^^^^^^^^^^^^ help: consider using `_is_next_action_optimal` instead Oct 10 12:49:09.249 INFO kablam! Oct 10 12:49:09.249 INFO kablam! warning: unused variable: `i` Oct 10 12:49:09.249 INFO kablam! --> src/snake_nn.rs:530:9 Oct 10 12:49:09.249 INFO kablam! | Oct 10 12:49:09.249 INFO kablam! 530 | for i in 0..MAP_WIDTH * MAP_HEIGHT - 1 { Oct 10 12:49:09.249 INFO kablam! | ^ help: consider using `_i` instead Oct 10 12:49:09.249 INFO kablam! Oct 10 12:49:09.249 INFO kablam! warning: unused variable: `matches` Oct 10 12:49:09.249 INFO kablam! --> src/main.rs:53:24 Oct 10 12:49:09.249 INFO kablam! | Oct 10 12:49:09.249 INFO kablam! 53 | fn execute_mnist_train(matches: &ArgMatches, submatches: &ArgMatches) { Oct 10 12:49:09.249 INFO kablam! | ^^^^^^^ help: consider using `_matches` instead Oct 10 12:49:09.249 INFO kablam! Oct 10 12:49:09.249 INFO kablam! warning: unused variable: `matches` Oct 10 12:49:09.249 INFO kablam! --> src/main.rs:68:22 Oct 10 12:49:09.249 INFO kablam! | Oct 10 12:49:09.249 INFO kablam! 68 | fn execute_snake_new(matches: &ArgMatches, submatches: &ArgMatches) { Oct 10 12:49:09.249 INFO kablam! | ^^^^^^^ help: consider using `_matches` instead Oct 10 12:49:09.249 INFO kablam! Oct 10 12:49:09.249 INFO kablam! warning: unused variable: `matches` Oct 10 12:49:09.249 INFO kablam! --> src/main.rs:73:24 Oct 10 12:49:09.249 INFO kablam! | Oct 10 12:49:09.249 INFO kablam! 73 | fn execute_snake_train(matches: &ArgMatches, submatches: &ArgMatches) { Oct 10 12:49:09.249 INFO kablam! | ^^^^^^^ help: consider using `_matches` instead Oct 10 12:49:09.249 INFO kablam! Oct 10 12:49:09.249 INFO kablam! warning: unused variable: `matches` Oct 10 12:49:09.249 INFO kablam! --> src/main.rs:93:22 Oct 10 12:49:09.249 INFO kablam! | Oct 10 12:49:09.249 INFO kablam! 93 | fn execute_snake_gen(matches: &ArgMatches, submatches: &ArgMatches) { Oct 10 12:49:09.249 INFO kablam! | ^^^^^^^ help: consider using `_matches` instead Oct 10 12:49:09.249 INFO kablam! Oct 10 12:49:09.249 INFO kablam! warning: unused variable: `matches` Oct 10 12:49:09.249 INFO kablam! --> src/main.rs:101:23 Oct 10 12:49:09.249 INFO kablam! | Oct 10 12:49:09.249 INFO kablam! 101 | fn execute_snake_demo(matches: &ArgMatches, submatches: &ArgMatches) { Oct 10 12:49:09.249 INFO kablam! | ^^^^^^^ help: consider using `_matches` instead Oct 10 12:49:09.249 INFO kablam! Oct 10 12:49:09.249 INFO kablam! warning: unused variable: `layer_order` Oct 10 12:49:09.249 INFO kablam! --> src/network.rs:645:13 Oct 10 12:49:09.249 INFO kablam! | Oct 10 12:49:09.249 INFO kablam! 645 | let layer_order = nn.calc_layers_order(); Oct 10 12:49:09.249 INFO kablam! | ^^^^^^^^^^^ help: consider using `_layer_order` instead Oct 10 12:49:09.249 INFO kablam! Oct 10 12:49:09.252 INFO kablam! warning: unused variable: `thread_no` Oct 10 12:49:09.252 INFO kablam! --> src/parallel_trainer.rs:46:13 Oct 10 12:49:09.252 INFO kablam! | Oct 10 12:49:09.252 INFO kablam! 46 | for thread_no in 0..num_threads { Oct 10 12:49:09.252 INFO kablam! | ^^^^^^^^^ help: consider using `_thread_no` instead Oct 10 12:49:09.252 INFO kablam! Oct 10 12:49:09.321 INFO kablam! warning: variable does not need to be mutable Oct 10 12:49:09.321 INFO kablam! --> src/mnist.rs:64:9 Oct 10 12:49:09.321 INFO kablam! | Oct 10 12:49:09.321 INFO kablam! 64 | let mut hits = 0usize; Oct 10 12:49:09.321 INFO kablam! | ----^^^^ Oct 10 12:49:09.321 INFO kablam! | | Oct 10 12:49:09.321 INFO kablam! | help: remove this `mut` Oct 10 12:49:09.321 INFO kablam! | Oct 10 12:49:09.321 INFO kablam! = note: #[warn(unused_mut)] on by default Oct 10 12:49:09.321 INFO kablam! Oct 10 12:49:09.351 INFO kablam! warning: variable does not need to be mutable Oct 10 12:49:09.352 INFO kablam! --> src/network.rs:55:13 Oct 10 12:49:09.352 INFO kablam! | Oct 10 12:49:09.352 INFO kablam! 55 | let mut nn: Self = serde_json::from_reader(&file).unwrap(); Oct 10 12:49:09.352 INFO kablam! | ----^^ Oct 10 12:49:09.352 INFO kablam! | | Oct 10 12:49:09.352 INFO kablam! | help: remove this `mut` Oct 10 12:49:09.352 INFO kablam! Oct 10 12:49:09.410 INFO kablam! warning: variable does not need to be mutable Oct 10 12:49:09.410 INFO kablam! --> src/parallel_trainer.rs:37:33 Oct 10 12:49:09.410 INFO kablam! | Oct 10 12:49:09.411 INFO kablam! 37 | let (mut nn_parameters, mut nn_predictor, mut nn_trainer) = network.as_parts(); Oct 10 12:49:09.411 INFO kablam! | ----^^^^^^^^^^^^ Oct 10 12:49:09.411 INFO kablam! | | Oct 10 12:49:09.411 INFO kablam! | help: remove this `mut` Oct 10 12:49:09.412 INFO kablam! Oct 10 12:49:09.412 INFO kablam! warning: variable does not need to be mutable Oct 10 12:49:09.412 INFO kablam! --> src/parallel_trainer.rs:37:14 Oct 10 12:49:09.412 INFO kablam! | Oct 10 12:49:09.412 INFO kablam! 37 | let (mut nn_parameters, mut nn_predictor, mut nn_trainer) = network.as_parts(); Oct 10 12:49:09.412 INFO kablam! | ----^^^^^^^^^^^^^ Oct 10 12:49:09.412 INFO kablam! | | Oct 10 12:49:09.412 INFO kablam! | help: remove this `mut` Oct 10 12:49:09.412 INFO kablam! Oct 10 12:49:09.413 INFO kablam! warning: variable does not need to be mutable Oct 10 12:49:09.413 INFO kablam! --> src/parallel_trainer.rs:37:51 Oct 10 12:49:09.413 INFO kablam! | Oct 10 12:49:09.413 INFO kablam! 37 | let (mut nn_parameters, mut nn_predictor, mut nn_trainer) = network.as_parts(); Oct 10 12:49:09.413 INFO kablam! | ----^^^^^^^^^^ Oct 10 12:49:09.413 INFO kablam! | | Oct 10 12:49:09.413 INFO kablam! | help: remove this `mut` Oct 10 12:49:09.413 INFO kablam! Oct 10 12:49:09.421 INFO kablam! warning: variable does not need to be mutable Oct 10 12:49:09.421 INFO kablam! --> src/parallel_trainer.rs:123:5 Oct 10 12:49:09.421 INFO kablam! | Oct 10 12:49:09.421 INFO kablam! 123 | mut job_receiver: Arc>>, Oct 10 12:49:09.422 INFO kablam! | ----^^^^^^^^^^^^ Oct 10 12:49:09.422 INFO kablam! | | Oct 10 12:49:09.422 INFO kablam! | help: remove this `mut` Oct 10 12:49:09.423 INFO kablam! Oct 10 12:49:09.423 INFO kablam! warning: variable does not need to be mutable Oct 10 12:49:09.423 INFO kablam! --> src/parallel_trainer.rs:124:5 Oct 10 12:49:09.423 INFO kablam! | Oct 10 12:49:09.423 INFO kablam! 124 | mut output_sender: Sender>>, Oct 10 12:49:09.423 INFO kablam! | ----^^^^^^^^^^^^^ Oct 10 12:49:09.423 INFO kablam! | | Oct 10 12:49:09.423 INFO kablam! | help: remove this `mut` Oct 10 12:49:09.423 INFO kablam! Oct 10 12:49:09.423 INFO kablam! warning: variable does not need to be mutable Oct 10 12:49:09.423 INFO kablam! --> src/parallel_trainer.rs:126:5 Oct 10 12:49:09.423 INFO kablam! | Oct 10 12:49:09.423 INFO kablam! 126 | mut local_nn_trainer: Arc>, Oct 10 12:49:09.423 INFO kablam! | ----^^^^^^^^^^^^^^^^ Oct 10 12:49:09.423 INFO kablam! | | Oct 10 12:49:09.423 INFO kablam! | help: remove this `mut` Oct 10 12:49:09.423 INFO kablam! Oct 10 12:49:09.474 INFO kablam! warning: variable does not need to be mutable Oct 10 12:49:09.474 INFO kablam! --> src/snake_nn.rs:57:9 Oct 10 12:49:09.474 INFO kablam! | Oct 10 12:49:09.474 INFO kablam! 57 | let mut nn = network::Network::load_from_file(model_input_path); Oct 10 12:49:09.474 INFO kablam! | ----^^ Oct 10 12:49:09.474 INFO kablam! | | Oct 10 12:49:09.474 INFO kablam! | help: remove this `mut` Oct 10 12:49:09.474 INFO kablam! Oct 10 12:49:09.480 INFO kablam! warning: variable does not need to be mutable Oct 10 12:49:09.480 INFO kablam! --> src/snake_nn.rs:131:21 Oct 10 12:49:09.480 INFO kablam! | Oct 10 12:49:09.480 INFO kablam! 131 | let mut state = GameState { Oct 10 12:49:09.480 INFO kablam! | ----^^^^^ Oct 10 12:49:09.480 INFO kablam! | | Oct 10 12:49:09.480 INFO kablam! | help: remove this `mut` Oct 10 12:49:09.480 INFO kablam! Oct 10 12:49:09.480 INFO kablam! warning: variable does not need to be mutable Oct 10 12:49:09.480 INFO kablam! --> src/snake_nn.rs:115:9 Oct 10 12:49:09.480 INFO kablam! | Oct 10 12:49:09.481 INFO kablam! 115 | let mut nn = network::Network::load_from_file(model_path); Oct 10 12:49:09.481 INFO kablam! | ----^^ Oct 10 12:49:09.481 INFO kablam! | | Oct 10 12:49:09.481 INFO kablam! | help: remove this `mut` Oct 10 12:49:09.481 INFO kablam! Oct 10 12:49:09.513 INFO kablam! warning: method is never used: `new_same_dim` Oct 10 12:49:09.513 INFO kablam! --> src/math.rs:21:5 Oct 10 12:49:09.513 INFO kablam! | Oct 10 12:49:09.513 INFO kablam! 21 | pub fn new_same_dim(m: &Matrix) -> Self { Oct 10 12:49:09.513 INFO kablam! | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Oct 10 12:49:09.513 INFO kablam! | Oct 10 12:49:09.513 INFO kablam! = note: #[warn(dead_code)] on by default Oct 10 12:49:09.513 INFO kablam! Oct 10 12:49:09.513 INFO kablam! warning: method is never used: `dot_vec` Oct 10 12:49:09.513 INFO kablam! --> src/math.rs:71:5 Oct 10 12:49:09.513 INFO kablam! | Oct 10 12:49:09.513 INFO kablam! 71 | pub fn dot_vec(&self, vec: &Vector, res: &mut Vector) { Oct 10 12:49:09.513 INFO kablam! | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Oct 10 12:49:09.513 INFO kablam! Oct 10 12:49:09.513 INFO kablam! warning: method is never used: `empty` Oct 10 12:49:09.513 INFO kablam! --> src/math.rs:248:5 Oct 10 12:49:09.513 INFO kablam! | Oct 10 12:49:09.513 INFO kablam! 248 | pub fn empty() -> Self { Oct 10 12:49:09.513 INFO kablam! | ^^^^^^^^^^^^^^^^^^^^^^ Oct 10 12:49:09.513 INFO kablam! Oct 10 12:49:09.513 INFO kablam! warning: method is never used: `init_rand` Oct 10 12:49:09.513 INFO kablam! --> src/math.rs:267:5 Oct 10 12:49:09.513 INFO kablam! | Oct 10 12:49:09.514 INFO kablam! 267 | pub fn init_rand(mut self) -> Self { Oct 10 12:49:09.514 INFO kablam! | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Oct 10 12:49:09.514 INFO kablam! Oct 10 12:49:09.514 INFO kablam! warning: method is never used: `copy_from` Oct 10 12:49:09.514 INFO kablam! --> src/math.rs:286:5 Oct 10 12:49:09.514 INFO kablam! | Oct 10 12:49:09.514 INFO kablam! 286 | pub fn copy_from(&mut self, v: &Vector) { Oct 10 12:49:09.514 INFO kablam! | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Oct 10 12:49:09.514 INFO kablam! Oct 10 12:49:09.514 INFO kablam! warning: method is never used: `add` Oct 10 12:49:09.514 INFO kablam! --> src/math.rs:322:5 Oct 10 12:49:09.514 INFO kablam! | Oct 10 12:49:09.514 INFO kablam! 322 | pub fn add(&mut self, v: &Vector) { Oct 10 12:49:09.514 INFO kablam! | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Oct 10 12:49:09.514 INFO kablam! Oct 10 12:49:09.514 INFO kablam! warning: method is never used: `fill_rand` Oct 10 12:49:09.514 INFO kablam! --> src/math.rs:335:5 Oct 10 12:49:09.515 INFO kablam! | Oct 10 12:49:09.515 INFO kablam! 335 | pub fn fill_rand(&mut self) { Oct 10 12:49:09.515 INFO kablam! | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ Oct 10 12:49:09.515 INFO kablam! Oct 10 12:49:09.515 INFO kablam! warning: constant item is never used: `NANOS_IN_SECOND` Oct 10 12:49:09.515 INFO kablam! --> src/mnist.rs:28:1 Oct 10 12:49:09.515 INFO kablam! | Oct 10 12:49:09.515 INFO kablam! 28 | const NANOS_IN_SECOND: u64 = 1_000_000_000; Oct 10 12:49:09.515 INFO kablam! | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Oct 10 12:49:09.515 INFO kablam! Oct 10 12:49:09.515 INFO kablam! warning: method is never used: `get_layer_mut` Oct 10 12:49:09.515 INFO kablam! --> src/network.rs:46:5 Oct 10 12:49:09.515 INFO kablam! | Oct 10 12:49:09.515 INFO kablam! 46 | fn get_layer_mut(&mut self, id: LayerID) -> &mut Layer { Oct 10 12:49:09.515 INFO kablam! | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Oct 10 12:49:09.515 INFO kablam! Oct 10 12:49:09.515 INFO kablam! warning: method is never used: `predict` Oct 10 12:49:09.515 INFO kablam! --> src/network.rs:466:5 Oct 10 12:49:09.515 INFO kablam! | Oct 10 12:49:09.515 INFO kablam! 466 | pub fn predict(&mut self, input_data: &[f64]) -> &Vector { Oct 10 12:49:09.515 INFO kablam! | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Oct 10 12:49:09.515 INFO kablam! Oct 10 12:49:09.515 INFO kablam! warning: method is never used: `backward_propagation` Oct 10 12:49:09.515 INFO kablam! --> src/network.rs:470:5 Oct 10 12:49:09.515 INFO kablam! | Oct 10 12:49:09.515 INFO kablam! 470 | pub fn backward_propagation(&mut self, true_outputs: &Vector) { Oct 10 12:49:09.515 INFO kablam! | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Oct 10 12:49:09.515 INFO kablam! Oct 10 12:49:09.515 INFO kablam! warning: method is never used: `apply_batch` Oct 10 12:49:09.515 INFO kablam! --> src/network.rs:530:5 Oct 10 12:49:09.515 INFO kablam! | Oct 10 12:49:09.515 INFO kablam! 530 | pub fn apply_batch(&mut self) { Oct 10 12:49:09.515 INFO kablam! | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Oct 10 12:49:09.515 INFO kablam! Oct 10 12:49:09.515 INFO kablam! warning: field is never used: `shared_training_data` Oct 10 12:49:09.515 INFO kablam! --> src/parallel_trainer.rs:22:5 Oct 10 12:49:09.515 INFO kablam! | Oct 10 12:49:09.515 INFO kablam! 22 | shared_training_data: Arc, Oct 10 12:49:09.515 INFO kablam! | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Oct 10 12:49:09.515 INFO kablam! Oct 10 12:49:09.515 INFO kablam! warning: field is never used: `job_receiver` Oct 10 12:49:09.516 INFO kablam! --> src/parallel_trainer.rs:29:5 Oct 10 12:49:09.516 INFO kablam! | Oct 10 12:49:09.516 INFO kablam! 29 | job_receiver: Arc>>, Oct 10 12:49:09.516 INFO kablam! | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Oct 10 12:49:09.516 INFO kablam! Oct 10 12:49:09.516 INFO kablam! warning: field is never used: `output_sender` Oct 10 12:49:09.516 INFO kablam! --> src/parallel_trainer.rs:30:5 Oct 10 12:49:09.516 INFO kablam! | Oct 10 12:49:09.516 INFO kablam! 30 | output_sender: Sender>>, Oct 10 12:49:09.516 INFO kablam! | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Oct 10 12:49:09.516 INFO kablam! Oct 10 12:49:09.516 INFO kablam! warning: field is never used: `join_handles` Oct 10 12:49:09.516 INFO kablam! --> src/parallel_trainer.rs:32:5 Oct 10 12:49:09.516 INFO kablam! | Oct 10 12:49:09.516 INFO kablam! 32 | join_handles: Vec>, Oct 10 12:49:09.516 INFO kablam! | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Oct 10 12:49:09.516 INFO kablam! Oct 10 12:49:09.516 INFO kablam! warning: function is never used: `teach_nn` Oct 10 12:49:09.516 INFO kablam! --> src/snake_nn.rs:384:1 Oct 10 12:49:09.516 INFO kablam! | Oct 10 12:49:09.516 INFO kablam! 384 | / fn teach_nn( Oct 10 12:49:09.516 INFO kablam! 385 | | nn: &mut network::Network, Oct 10 12:49:09.516 INFO kablam! 386 | | state: &GameState, Oct 10 12:49:09.516 INFO kablam! 387 | | snake_input: SnakeInput, Oct 10 12:49:09.516 INFO kablam! ... | Oct 10 12:49:09.516 INFO kablam! 398 | | nn.backward_propagation(&true_output_vec); Oct 10 12:49:09.516 INFO kablam! 399 | | } Oct 10 12:49:09.516 INFO kablam! | |_^ Oct 10 12:49:09.516 INFO kablam! Oct 10 12:49:09.516 INFO kablam! warning: method is never used: `elapsed` Oct 10 12:49:09.516 INFO kablam! --> src/timing.rs:46:5 Oct 10 12:49:09.516 INFO kablam! | Oct 10 12:49:09.516 INFO kablam! 46 | pub fn elapsed(&self, name: &str) -> time::Duration { Oct 10 12:49:09.516 INFO kablam! | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Oct 10 12:49:09.516 INFO kablam! Oct 10 12:49:09.533 INFO kablam! warning: unused `std::result::Result` which must be used Oct 10 12:49:09.533 INFO kablam! --> src/parallel_trainer.rs:85:13 Oct 10 12:49:09.533 INFO kablam! | Oct 10 12:49:09.533 INFO kablam! 85 | / self.job_sender.send(TrainingJob { Oct 10 12:49:09.533 INFO kablam! 86 | | examples_indices: chunk, Oct 10 12:49:09.533 INFO kablam! 87 | | network_parameters: self.shared_nn_parameters.clone(), Oct 10 12:49:09.533 INFO kablam! 88 | | }); Oct 10 12:49:09.533 INFO kablam! | |_______________^ Oct 10 12:49:09.533 INFO kablam! | Oct 10 12:49:09.533 INFO kablam! = note: #[warn(unused_must_use)] on by default Oct 10 12:49:09.533 INFO kablam! = note: this `Result` may be an `Err` variant, which should be handled Oct 10 12:49:09.533 INFO kablam! Oct 10 12:49:09.533 INFO kablam! warning: unused `std::result::Result` which must be used Oct 10 12:49:09.533 INFO kablam! --> src/parallel_trainer.rs:160:9 Oct 10 12:49:09.533 INFO kablam! | Oct 10 12:49:09.533 INFO kablam! 160 | output_sender.send(local_nn_trainer.clone()); Oct 10 12:49:09.533 INFO kablam! | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Oct 10 12:49:09.533 INFO kablam! | Oct 10 12:49:09.533 INFO kablam! = note: this `Result` may be an `Err` variant, which should be handled Oct 10 12:49:09.533 INFO kablam! Oct 10 12:49:09.536 INFO kablam! warning: unused `std::result::Result` which must be used Oct 10 12:49:09.536 INFO kablam! --> src/snake.rs:118:9 Oct 10 12:49:09.536 INFO kablam! | Oct 10 12:49:09.536 INFO kablam! 118 | writer.write("\n".as_bytes()); Oct 10 12:49:09.536 INFO kablam! | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Oct 10 12:49:09.536 INFO kablam! | Oct 10 12:49:09.536 INFO kablam! = note: this `Result` may be an `Err` variant, which should be handled Oct 10 12:49:09.536 INFO kablam! Oct 10 12:49:09.536 INFO kablam! warning: unused `std::result::Result` which must be used Oct 10 12:49:09.536 INFO kablam! --> src/snake.rs:120:5 Oct 10 12:49:09.536 INFO kablam! | Oct 10 12:49:09.536 INFO kablam! 120 | writer.flush(); Oct 10 12:49:09.536 INFO kablam! | ^^^^^^^^^^^^^^^ Oct 10 12:49:09.536 INFO kablam! | Oct 10 12:49:09.536 INFO kablam! = note: this `Result` may be an `Err` variant, which should be handled Oct 10 12:49:09.536 INFO kablam! Oct 10 12:49:09.536 INFO kablam! warning: unused `std::result::Result` which must be used Oct 10 12:49:09.536 INFO kablam! --> src/snake.rs:131:5 Oct 10 12:49:09.536 INFO kablam! | Oct 10 12:49:09.537 INFO kablam! 131 | writer.write(character.as_bytes()); Oct 10 12:49:09.537 INFO kablam! | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Oct 10 12:49:09.537 INFO kablam! | Oct 10 12:49:09.537 INFO kablam! = note: this `Result` may be an `Err` variant, which should be handled Oct 10 12:49:09.537 INFO kablam! Oct 10 12:49:09.538 INFO kablam! warning: unused `std::result::Result` which must be used Oct 10 12:49:09.538 INFO kablam! --> src/snake_nn.rs:150:9 Oct 10 12:49:09.538 INFO kablam! | Oct 10 12:49:09.538 INFO kablam! 150 | jh.join(); Oct 10 12:49:09.538 INFO kablam! | ^^^^^^^^^^ Oct 10 12:49:09.538 INFO kablam! | Oct 10 12:49:09.538 INFO kablam! = note: this `Result` may be an `Err` variant, which should be handled Oct 10 12:49:09.538 INFO kablam! Oct 10 12:49:09.539 INFO kablam! warning: the `game_over:` in this pattern is redundant Oct 10 12:49:09.539 INFO kablam! --> src/snake_nn.rs:203:17 Oct 10 12:49:09.539 INFO kablam! | Oct 10 12:49:09.539 INFO kablam! 203 | game_over: game_over, Oct 10 12:49:09.539 INFO kablam! | ----------^^^^^^^^^^ Oct 10 12:49:09.539 INFO kablam! | | Oct 10 12:49:09.539 INFO kablam! | help: remove this Oct 10 12:49:09.539 INFO kablam! | Oct 10 12:49:09.539 INFO kablam! = note: #[warn(non_shorthand_field_patterns)] on by default Oct 10 12:49:09.539 INFO kablam! Oct 10 12:49:09.539 INFO kablam! warning: the `game_over:` in this pattern is redundant Oct 10 12:49:09.539 INFO kablam! --> src/snake_nn.rs:271:13 Oct 10 12:49:09.539 INFO kablam! | Oct 10 12:49:09.539 INFO kablam! 271 | game_over: game_over, Oct 10 12:49:09.539 INFO kablam! | ----------^^^^^^^^^^ Oct 10 12:49:09.539 INFO kablam! | | Oct 10 12:49:09.539 INFO kablam! | help: remove this Oct 10 12:49:09.539 INFO kablam! Oct 10 12:49:09.539 INFO kablam! warning: the `game_over:` in this pattern is redundant Oct 10 12:49:09.539 INFO kablam! --> src/snake_nn.rs:308:17 Oct 10 12:49:09.539 INFO kablam! | Oct 10 12:49:09.539 INFO kablam! 308 | game_over: game_over, Oct 10 12:49:09.539 INFO kablam! | ----------^^^^^^^^^^ Oct 10 12:49:09.539 INFO kablam! | | Oct 10 12:49:09.539 INFO kablam! | help: remove this Oct 10 12:49:09.539 INFO kablam! Oct 10 12:49:09.540 INFO kablam! warning: unused attribute Oct 10 12:49:09.540 INFO kablam! --> src/snake_nn.rs:1:1 Oct 10 12:49:09.540 INFO kablam! | Oct 10 12:49:09.540 INFO kablam! 1 | #![feature(test)] Oct 10 12:49:09.540 INFO kablam! | ^^^^^^^^^^^^^^^^^ Oct 10 12:49:09.540 INFO kablam! | Oct 10 12:49:09.540 INFO kablam! = note: #[warn(unused_attributes)] on by default Oct 10 12:49:09.540 INFO kablam! Oct 10 12:49:09.540 INFO kablam! warning: crate-level attribute should be in the root module Oct 10 12:49:09.540 INFO kablam! --> src/snake_nn.rs:1:1 Oct 10 12:49:09.540 INFO kablam! | Oct 10 12:49:09.540 INFO kablam! 1 | #![feature(test)] Oct 10 12:49:09.540 INFO kablam! | ^^^^^^^^^^^^^^^^^ Oct 10 12:49:09.540 INFO kablam! Oct 10 12:49:10.738 INFO kablam! Finished dev [unoptimized + debuginfo] target(s) in 3.26s Oct 10 12:49:10.744 INFO kablam! su: No module specific data is present Oct 10 12:49:11.085 INFO running `"docker" "rm" "-f" "f02826faeec35d0d236afefd6971e06d1ac8ac7421f5ea0ca72207a23a301500"` Oct 10 12:49:11.170 INFO blam! f02826faeec35d0d236afefd6971e06d1ac8ac7421f5ea0ca72207a23a301500 Oct 10 12:49:11.171 INFO running: cargo +0e07c4281c343e9e15a0a8fca79538ad1a8eb513-alt test --frozen Oct 10 12:49:11.171 INFO running `"docker" "create" "-v" "/mnt/big/crater/./work/local/test-source/worker-1/rustdoc-test-static-cling/master#0e07c4281c343e9e15a0a8fca79538ad1a8eb513:/source:ro,Z" "-v" "/mnt/big/crater/./work/local/target-dirs/rustdoc-test-static-cling/worker-1/master#0e07c4281c343e9e15a0a8fca79538ad1a8eb513:/target:rw,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" "CMD=cargo +0e07c4281c343e9e15a0a8fca79538ad1a8eb513-alt test --frozen" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-m" "1536M" "--network" "none" "crater"` Oct 10 12:49:11.326 INFO blam! 1a440a53e3e2bd58e4ad7dd3cd6cf6571dac438aa3474b9f51ef131325d4689d Oct 10 12:49:11.330 INFO running `"docker" "start" "-a" "1a440a53e3e2bd58e4ad7dd3cd6cf6571dac438aa3474b9f51ef131325d4689d"` Oct 10 12:49:11.773 INFO kablam! usermod: no changes Oct 10 12:49:11.827 INFO kablam! Finished dev [unoptimized + debuginfo] target(s) in 0.04s Oct 10 12:49:11.831 INFO kablam! Running /target/debug/deps/nnrs-55650cf7ceda099c Oct 10 12:49:11.834 INFO blam! Oct 10 12:49:11.834 INFO blam! running 6 tests Oct 10 12:49:11.835 INFO blam! test math::tests::transpose_add_dot_vec ... ok Oct 10 12:49:11.835 INFO blam! test math::tests::add_dot_vec ... ok Oct 10 12:49:11.836 INFO blam! test math::tests::transpose ... ok Oct 10 12:49:11.836 INFO blam! test network::tests::layer_order_forward ... ok Oct 10 12:49:11.858 INFO blam! test network::tests::layer_order_skip ... ok Oct 10 12:49:11.864 INFO blam! test network::tests::layer_order_cycle ... ok Oct 10 12:49:11.864 INFO blam! Oct 10 12:49:11.864 INFO blam! test result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out Oct 10 12:49:11.864 INFO blam! Oct 10 12:49:11.869 INFO kablam! su: No module specific data is present Oct 10 12:49:12.155 INFO running `"docker" "rm" "-f" "1a440a53e3e2bd58e4ad7dd3cd6cf6571dac438aa3474b9f51ef131325d4689d"` Oct 10 12:49:12.241 INFO blam! 1a440a53e3e2bd58e4ad7dd3cd6cf6571dac438aa3474b9f51ef131325d4689d