Nov 06 11:45:56.725 INFO checking vbo/nnrs against master#24e66c28980442a48d9458f1a4f9b76cc722dc8a+rustflags=-Dduplicate_associated_type_bindings for pr-55687 Nov 06 11:45:56.725 INFO running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/pr-55687/worker-2/master#24e66c28980442a48d9458f1a4f9b76cc722dc8a+rustflags=-Dduplicate_associated_type_bindings:/target:rw,Z" "-v" "/mnt/big/crater/work/local/test-source/worker-2/pr-55687/master#24e66c28980442a48d9458f1a4f9b76cc722dc8a+rustflags=-Dduplicate_associated_type_bindings:/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 +24e66c28980442a48d9458f1a4f9b76cc722dc8a-alt check --frozen --all --all-targets" "-e" "CARGO_TARGET_DIR=/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid -Dduplicate_associated_type_bindings" "-e" "CARGO_HOME=/cargo-home" "-e" "RUSTUP_HOME=/rustup-home" "-m" "1536M" "--network" "none" "crater"` Nov 06 11:45:57.206 INFO blam! 8a5df717fa98a9ff8fa8ba77690e0220305da6e0795a534006c4b8bc6a3e5280 Nov 06 11:45:57.208 INFO running `"docker" "start" "-a" "8a5df717fa98a9ff8fa8ba77690e0220305da6e0795a534006c4b8bc6a3e5280"` Nov 06 11:45:59.015 INFO kablam! usermod: no changes Nov 06 11:45:59.248 INFO kablam! Checking serde v1.0.43 Nov 06 11:45:59.251 INFO kablam! Compiling proc-macro2 v0.3.7 Nov 06 11:45:59.256 INFO kablam! Checking atty v0.2.9 Nov 06 11:45:59.880 INFO kablam! Checking clap v2.31.2 Nov 06 11:46:06.148 INFO kablam! Compiling quote v0.5.2 Nov 06 11:46:08.697 INFO kablam! Compiling syn v0.13.1 Nov 06 11:46:21.184 INFO kablam! Compiling serde_derive_internals v0.23.1 Nov 06 11:46:22.344 INFO kablam! Checking serde_json v1.0.16 Nov 06 11:46:24.847 INFO kablam! Compiling serde_derive v1.0.43 Nov 06 11:46:32.290 INFO kablam! Checking nnrs v0.1.0 (/source) Nov 06 11:46:33.102 INFO kablam! warning: unused import: `std::time` Nov 06 11:46:33.102 INFO kablam! --> src/mnist.rs:2:5 Nov 06 11:46:33.102 INFO kablam! | Nov 06 11:46:33.103 INFO kablam! 2 | use std::time; Nov 06 11:46:33.103 INFO kablam! | ^^^^^^^^^ Nov 06 11:46:33.103 INFO kablam! | Nov 06 11:46:33.103 INFO kablam! = note: #[warn(unused_imports)] on by default Nov 06 11:46:33.103 INFO kablam! Nov 06 11:46:33.103 INFO kablam! warning: unused import: `math` Nov 06 11:46:33.103 INFO kablam! --> src/mnist.rs:15:5 Nov 06 11:46:33.103 INFO kablam! | Nov 06 11:46:33.103 INFO kablam! 15 | use math; Nov 06 11:46:33.103 INFO kablam! | ^^^^ Nov 06 11:46:33.103 INFO kablam! Nov 06 11:46:33.103 INFO kablam! warning: unused import: `math::Matrix` Nov 06 11:46:33.103 INFO kablam! --> src/mnist.rs:16:5 Nov 06 11:46:33.103 INFO kablam! | Nov 06 11:46:33.104 INFO kablam! 16 | use math::Matrix; Nov 06 11:46:33.104 INFO kablam! | ^^^^^^^^^^^^ Nov 06 11:46:33.104 INFO kablam! Nov 06 11:46:33.104 INFO kablam! warning: unused import: `timing` Nov 06 11:46:33.104 INFO kablam! --> src/mnist.rs:19:5 Nov 06 11:46:33.104 INFO kablam! | Nov 06 11:46:33.104 INFO kablam! 19 | use timing; Nov 06 11:46:33.104 INFO kablam! | ^^^^^^ Nov 06 11:46:33.104 INFO kablam! Nov 06 11:46:33.104 INFO kablam! warning: unused import: `std::mem` Nov 06 11:46:33.104 INFO kablam! --> src/network.rs:4:5 Nov 06 11:46:33.104 INFO kablam! | Nov 06 11:46:33.104 INFO kablam! 4 | use std::mem; Nov 06 11:46:33.104 INFO kablam! | ^^^^^^^^ Nov 06 11:46:33.104 INFO kablam! Nov 06 11:46:33.109 INFO kablam! warning: unused import: `timing::Timing` Nov 06 11:46:33.109 INFO kablam! --> src/parallel_trainer.rs:9:5 Nov 06 11:46:33.109 INFO kablam! | Nov 06 11:46:33.109 INFO kablam! 9 | use timing::Timing; Nov 06 11:46:33.109 INFO kablam! | ^^^^^^^^^^^^^^ Nov 06 11:46:33.109 INFO kablam! Nov 06 11:46:33.109 INFO kablam! warning: unused import: `serde_json` Nov 06 11:46:33.109 INFO kablam! --> src/snake.rs:6:5 Nov 06 11:46:33.109 INFO kablam! | Nov 06 11:46:33.109 INFO kablam! 6 | use serde_json; Nov 06 11:46:33.109 INFO kablam! | ^^^^^^^^^^ Nov 06 11:46:33.109 INFO kablam! Nov 06 11:46:33.109 INFO kablam! warning: unused import: `Network` Nov 06 11:46:33.109 INFO kablam! --> src/snake_nn.rs:4:15 Nov 06 11:46:33.109 INFO kablam! | Nov 06 11:46:33.109 INFO kablam! 4 | use network::{Network, NetworkParameters, NetworkPredictor}; Nov 06 11:46:33.109 INFO kablam! | ^^^^^^^ Nov 06 11:46:33.109 INFO kablam! Nov 06 11:46:33.109 INFO kablam! warning: unused imports: `IndependentSample`, `Range` Nov 06 11:46:33.109 INFO kablam! --> src/snake_nn.rs:7:27 Nov 06 11:46:33.109 INFO kablam! | Nov 06 11:46:33.109 INFO kablam! 7 | use rand::distributions::{IndependentSample, Range}; Nov 06 11:46:33.109 INFO kablam! | ^^^^^^^^^^^^^^^^^ ^^^^^ Nov 06 11:46:33.109 INFO kablam! Nov 06 11:46:33.109 INFO kablam! warning: unused import: `std::sync::mpsc` Nov 06 11:46:33.109 INFO kablam! --> src/snake_nn.rs:18:5 Nov 06 11:46:33.109 INFO kablam! | Nov 06 11:46:33.109 INFO kablam! 18 | use std::sync::mpsc; Nov 06 11:46:33.109 INFO kablam! | ^^^^^^^^^^^^^^^ Nov 06 11:46:33.109 INFO kablam! Nov 06 11:46:33.109 INFO kablam! warning: unused imports: `Receiver`, `Sender` Nov 06 11:46:33.109 INFO kablam! --> src/snake_nn.rs:19:23 Nov 06 11:46:33.109 INFO kablam! | Nov 06 11:46:33.109 INFO kablam! 19 | use std::sync::mpsc::{Receiver, Sender}; Nov 06 11:46:33.109 INFO kablam! | ^^^^^^^^ ^^^^^^ Nov 06 11:46:33.109 INFO kablam! Nov 06 11:46:33.109 INFO kablam! warning: unused import: `timing::duration_as_total_nanos` Nov 06 11:46:33.109 INFO kablam! --> src/snake_nn.rs:22:5 Nov 06 11:46:33.109 INFO kablam! | Nov 06 11:46:33.109 INFO kablam! 22 | use timing::duration_as_total_nanos; Nov 06 11:46:33.109 INFO kablam! | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Nov 06 11:46:33.109 INFO kablam! Nov 06 11:46:33.109 INFO kablam! warning: unnecessary parentheses around `if` condition Nov 06 11:46:33.109 INFO kablam! --> src/snake_nn.rs:340:8 Nov 06 11:46:33.110 INFO kablam! | Nov 06 11:46:33.110 INFO kablam! 340 | if (rng.gen_range(0.0, 1.0) <= random_move_prob) { Nov 06 11:46:33.110 INFO kablam! | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses Nov 06 11:46:33.110 INFO kablam! | Nov 06 11:46:33.110 INFO kablam! = note: #[warn(unused_parens)] on by default Nov 06 11:46:33.110 INFO kablam! Nov 06 11:46:33.110 INFO kablam! warning: unused import: `std::collections::hash_map::Entry` Nov 06 11:46:33.110 INFO kablam! --> src/timing.rs:2:5 Nov 06 11:46:33.110 INFO kablam! | Nov 06 11:46:33.110 INFO kablam! 2 | use std::collections::hash_map::Entry; Nov 06 11:46:33.110 INFO kablam! | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Nov 06 11:46:33.110 INFO kablam! Nov 06 11:46:33.134 INFO kablam! warning: unused import: `std::time` Nov 06 11:46:33.134 INFO kablam! --> src/mnist.rs:2:5 Nov 06 11:46:33.134 INFO kablam! | Nov 06 11:46:33.134 INFO kablam! 2 | use std::time; Nov 06 11:46:33.134 INFO kablam! | ^^^^^^^^^ Nov 06 11:46:33.134 INFO kablam! | Nov 06 11:46:33.134 INFO kablam! = note: #[warn(unused_imports)] on by default Nov 06 11:46:33.134 INFO kablam! Nov 06 11:46:33.134 INFO kablam! warning: unused import: `math` Nov 06 11:46:33.134 INFO kablam! --> src/mnist.rs:15:5 Nov 06 11:46:33.134 INFO kablam! | Nov 06 11:46:33.134 INFO kablam! 15 | use math; Nov 06 11:46:33.134 INFO kablam! | ^^^^ Nov 06 11:46:33.134 INFO kablam! Nov 06 11:46:33.134 INFO kablam! warning: unused import: `math::Matrix` Nov 06 11:46:33.134 INFO kablam! --> src/mnist.rs:16:5 Nov 06 11:46:33.134 INFO kablam! | Nov 06 11:46:33.134 INFO kablam! 16 | use math::Matrix; Nov 06 11:46:33.134 INFO kablam! | ^^^^^^^^^^^^ Nov 06 11:46:33.134 INFO kablam! Nov 06 11:46:33.134 INFO kablam! warning: unused import: `timing` Nov 06 11:46:33.134 INFO kablam! --> src/mnist.rs:19:5 Nov 06 11:46:33.134 INFO kablam! | Nov 06 11:46:33.134 INFO kablam! 19 | use timing; Nov 06 11:46:33.134 INFO kablam! | ^^^^^^ Nov 06 11:46:33.134 INFO kablam! Nov 06 11:46:33.134 INFO kablam! warning: unused import: `std::mem` Nov 06 11:46:33.134 INFO kablam! --> src/network.rs:4:5 Nov 06 11:46:33.134 INFO kablam! | Nov 06 11:46:33.134 INFO kablam! 4 | use std::mem; Nov 06 11:46:33.134 INFO kablam! | ^^^^^^^^ Nov 06 11:46:33.134 INFO kablam! Nov 06 11:46:33.136 INFO kablam! warning: unused import: `timing::Timing` Nov 06 11:46:33.137 INFO kablam! --> src/parallel_trainer.rs:9:5 Nov 06 11:46:33.137 INFO kablam! | Nov 06 11:46:33.137 INFO kablam! 9 | use timing::Timing; Nov 06 11:46:33.137 INFO kablam! | ^^^^^^^^^^^^^^ Nov 06 11:46:33.137 INFO kablam! Nov 06 11:46:33.137 INFO kablam! warning: unused import: `serde_json` Nov 06 11:46:33.137 INFO kablam! --> src/snake.rs:6:5 Nov 06 11:46:33.137 INFO kablam! | Nov 06 11:46:33.137 INFO kablam! 6 | use serde_json; Nov 06 11:46:33.137 INFO kablam! | ^^^^^^^^^^ Nov 06 11:46:33.137 INFO kablam! Nov 06 11:46:33.140 INFO kablam! warning: unused import: `Network` Nov 06 11:46:33.140 INFO kablam! --> src/snake_nn.rs:4:15 Nov 06 11:46:33.140 INFO kablam! | Nov 06 11:46:33.140 INFO kablam! 4 | use network::{Network, NetworkParameters, NetworkPredictor}; Nov 06 11:46:33.140 INFO kablam! | ^^^^^^^ Nov 06 11:46:33.140 INFO kablam! Nov 06 11:46:33.140 INFO kablam! warning: unused imports: `IndependentSample`, `Range` Nov 06 11:46:33.141 INFO kablam! --> src/snake_nn.rs:7:27 Nov 06 11:46:33.141 INFO kablam! | Nov 06 11:46:33.141 INFO kablam! 7 | use rand::distributions::{IndependentSample, Range}; Nov 06 11:46:33.141 INFO kablam! | ^^^^^^^^^^^^^^^^^ ^^^^^ Nov 06 11:46:33.141 INFO kablam! Nov 06 11:46:33.141 INFO kablam! warning: unused import: `std::sync::mpsc` Nov 06 11:46:33.141 INFO kablam! --> src/snake_nn.rs:18:5 Nov 06 11:46:33.141 INFO kablam! | Nov 06 11:46:33.141 INFO kablam! 18 | use std::sync::mpsc; Nov 06 11:46:33.141 INFO kablam! | ^^^^^^^^^^^^^^^ Nov 06 11:46:33.141 INFO kablam! Nov 06 11:46:33.141 INFO kablam! warning: unused imports: `Receiver`, `Sender` Nov 06 11:46:33.141 INFO kablam! --> src/snake_nn.rs:19:23 Nov 06 11:46:33.141 INFO kablam! | Nov 06 11:46:33.141 INFO kablam! 19 | use std::sync::mpsc::{Receiver, Sender}; Nov 06 11:46:33.141 INFO kablam! | ^^^^^^^^ ^^^^^^ Nov 06 11:46:33.141 INFO kablam! Nov 06 11:46:33.141 INFO kablam! warning: unused import: `timing::duration_as_total_nanos` Nov 06 11:46:33.141 INFO kablam! --> src/snake_nn.rs:22:5 Nov 06 11:46:33.141 INFO kablam! | Nov 06 11:46:33.141 INFO kablam! 22 | use timing::duration_as_total_nanos; Nov 06 11:46:33.141 INFO kablam! | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Nov 06 11:46:33.141 INFO kablam! Nov 06 11:46:33.141 INFO kablam! warning: unnecessary parentheses around `if` condition Nov 06 11:46:33.141 INFO kablam! --> src/snake_nn.rs:340:8 Nov 06 11:46:33.141 INFO kablam! | Nov 06 11:46:33.141 INFO kablam! 340 | if (rng.gen_range(0.0, 1.0) <= random_move_prob) { Nov 06 11:46:33.141 INFO kablam! | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses Nov 06 11:46:33.141 INFO kablam! | Nov 06 11:46:33.141 INFO kablam! = note: #[warn(unused_parens)] on by default Nov 06 11:46:33.141 INFO kablam! Nov 06 11:46:33.141 INFO kablam! warning: unused import: `std::collections::hash_map::Entry` Nov 06 11:46:33.141 INFO kablam! --> src/timing.rs:2:5 Nov 06 11:46:33.141 INFO kablam! | Nov 06 11:46:33.141 INFO kablam! 2 | use std::collections::hash_map::Entry; Nov 06 11:46:33.141 INFO kablam! | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Nov 06 11:46:33.141 INFO kablam! Nov 06 11:46:33.145 INFO kablam! warning: use of deprecated item 'std::thread::sleep_ms': replaced by `std::thread::sleep` Nov 06 11:46:33.145 INFO kablam! --> src/snake_nn.rs:176:13 Nov 06 11:46:33.145 INFO kablam! | Nov 06 11:46:33.145 INFO kablam! 176 | thread::sleep_ms(SLEEP_INTERVAL_MS); Nov 06 11:46:33.145 INFO kablam! | ^^^^^^^^^^^^^^^^ Nov 06 11:46:33.145 INFO kablam! | Nov 06 11:46:33.145 INFO kablam! = note: #[warn(deprecated)] on by default Nov 06 11:46:33.145 INFO kablam! Nov 06 11:46:33.145 INFO kablam! warning: use of deprecated item 'std::thread::sleep_ms': replaced by `std::thread::sleep` Nov 06 11:46:33.145 INFO kablam! --> src/snake_nn.rs:212:17 Nov 06 11:46:33.145 INFO kablam! | Nov 06 11:46:33.145 INFO kablam! 212 | thread::sleep_ms(SLEEP_INTERVAL_MS); Nov 06 11:46:33.145 INFO kablam! | ^^^^^^^^^^^^^^^^ Nov 06 11:46:33.145 INFO kablam! Nov 06 11:46:33.187 INFO kablam! warning: use of deprecated item 'std::thread::sleep_ms': replaced by `std::thread::sleep` Nov 06 11:46:33.187 INFO kablam! --> src/snake_nn.rs:176:13 Nov 06 11:46:33.187 INFO kablam! | Nov 06 11:46:33.187 INFO kablam! 176 | thread::sleep_ms(SLEEP_INTERVAL_MS); Nov 06 11:46:33.187 INFO kablam! | ^^^^^^^^^^^^^^^^ Nov 06 11:46:33.187 INFO kablam! | Nov 06 11:46:33.187 INFO kablam! = note: #[warn(deprecated)] on by default Nov 06 11:46:33.187 INFO kablam! Nov 06 11:46:33.187 INFO kablam! warning: use of deprecated item 'std::thread::sleep_ms': replaced by `std::thread::sleep` Nov 06 11:46:33.187 INFO kablam! --> src/snake_nn.rs:212:17 Nov 06 11:46:33.187 INFO kablam! | Nov 06 11:46:33.187 INFO kablam! 212 | thread::sleep_ms(SLEEP_INTERVAL_MS); Nov 06 11:46:33.187 INFO kablam! | ^^^^^^^^^^^^^^^^ Nov 06 11:46:33.187 INFO kablam! Nov 06 11:46:33.835 INFO kablam! warning: unused import: `rand::Rng` Nov 06 11:46:33.835 INFO kablam! --> src/snake.rs:1:5 Nov 06 11:46:33.835 INFO kablam! | Nov 06 11:46:33.835 INFO kablam! 1 | use rand::Rng; Nov 06 11:46:33.835 INFO kablam! | ^^^^^^^^^ Nov 06 11:46:33.835 INFO kablam! Nov 06 11:46:33.840 INFO kablam! warning: unused import: `rand::Rng` Nov 06 11:46:33.840 INFO kablam! --> src/snake.rs:1:5 Nov 06 11:46:33.840 INFO kablam! | Nov 06 11:46:33.840 INFO kablam! 1 | use rand::Rng; Nov 06 11:46:33.840 INFO kablam! | ^^^^^^^^^ Nov 06 11:46:33.840 INFO kablam! Nov 06 11:46:33.914 INFO kablam! warning: unused variable: `hits` Nov 06 11:46:33.914 INFO kablam! --> src/mnist.rs:64:13 Nov 06 11:46:33.914 INFO kablam! | Nov 06 11:46:33.914 INFO kablam! 64 | let mut hits = 0usize; Nov 06 11:46:33.914 INFO kablam! | ^^^^ help: consider using `_hits` instead Nov 06 11:46:33.914 INFO kablam! | Nov 06 11:46:33.914 INFO kablam! = note: #[warn(unused_variables)] on by default Nov 06 11:46:33.914 INFO kablam! Nov 06 11:46:33.914 INFO kablam! warning: unused variable: `predictor` Nov 06 11:46:33.914 INFO kablam! --> src/mnist.rs:98:30 Nov 06 11:46:33.914 INFO kablam! | Nov 06 11:46:33.914 INFO kablam! 98 | let (params, predictor, _) = parallel_trainer.borrow_network_parts(); Nov 06 11:46:33.914 INFO kablam! | ^^^^^^^^^ help: consider using `_predictor` instead Nov 06 11:46:33.914 INFO kablam! Nov 06 11:46:33.914 INFO kablam! warning: unused variable: `log_every_n` Nov 06 11:46:33.914 INFO kablam! --> src/mnist.rs:35:5 Nov 06 11:46:33.914 INFO kablam! | Nov 06 11:46:33.914 INFO kablam! 35 | log_every_n: usize, Nov 06 11:46:33.914 INFO kablam! | ^^^^^^^^^^^ help: consider using `_log_every_n` instead Nov 06 11:46:33.914 INFO kablam! Nov 06 11:46:33.914 INFO kablam! warning: unused variable: `outputs` Nov 06 11:46:33.914 INFO kablam! --> src/parallel_trainer.rs:150:21 Nov 06 11:46:33.914 INFO kablam! | Nov 06 11:46:33.914 INFO kablam! 150 | let outputs = local_nn_predictor Nov 06 11:46:33.914 INFO kablam! | ^^^^^^^ help: consider using `_outputs` instead Nov 06 11:46:33.914 INFO kablam! Nov 06 11:46:33.914 INFO kablam! warning: unused variable: `iters` Nov 06 11:46:33.914 INFO kablam! --> src/snake.rs:168:21 Nov 06 11:46:33.914 INFO kablam! | Nov 06 11:46:33.915 INFO kablam! 168 | let mut iters = 0; Nov 06 11:46:33.915 INFO kablam! | ^^^^^ help: consider using `_iters` instead Nov 06 11:46:33.915 INFO kablam! Nov 06 11:46:33.915 INFO kablam! warning: unused variable: `epoch_no` Nov 06 11:46:33.915 INFO kablam! --> src/snake_nn.rs:73:9 Nov 06 11:46:33.915 INFO kablam! | Nov 06 11:46:33.915 INFO kablam! 73 | for epoch_no in 0..num_epochs { Nov 06 11:46:33.915 INFO kablam! | ^^^^^^^^ help: consider using `_epoch_no` instead Nov 06 11:46:33.915 INFO kablam! Nov 06 11:46:33.915 INFO kablam! warning: unused variable: `predictor` Nov 06 11:46:33.915 INFO kablam! --> src/snake_nn.rs:90:30 Nov 06 11:46:33.915 INFO kablam! | Nov 06 11:46:33.915 INFO kablam! 90 | let (params, predictor, _) = parallel_trainer.borrow_network_parts(); Nov 06 11:46:33.915 INFO kablam! | ^^^^^^^^^ help: consider using `_predictor` instead Nov 06 11:46:33.915 INFO kablam! Nov 06 11:46:33.915 INFO kablam! warning: unused variable: `predictor` Nov 06 11:46:33.915 INFO kablam! --> src/snake_nn.rs:109:18 Nov 06 11:46:33.915 INFO kablam! | Nov 06 11:46:33.915 INFO kablam! 109 | let (params, predictor, _) = parallel_trainer.borrow_network_parts(); Nov 06 11:46:33.915 INFO kablam! | ^^^^^^^^^ help: consider using `_predictor` instead Nov 06 11:46:33.915 INFO kablam! Nov 06 11:46:33.915 INFO kablam! warning: unused variable: `max_gain` Nov 06 11:46:33.915 INFO kablam! --> src/snake_nn.rs:357:13 Nov 06 11:46:33.915 INFO kablam! | Nov 06 11:46:33.915 INFO kablam! 357 | let (i, max_gain) = get_max_with_pos(snake_inputs_gains.as_slice()); Nov 06 11:46:33.915 INFO kablam! | ^^^^^^^^ help: consider using `_max_gain` instead Nov 06 11:46:33.915 INFO kablam! Nov 06 11:46:33.915 INFO kablam! warning: unused variable: `is_next_action_optimal` Nov 06 11:46:33.915 INFO kablam! --> src/snake_nn.rs:503:13 Nov 06 11:46:33.915 INFO kablam! | Nov 06 11:46:33.915 INFO kablam! 503 | let is_next_action_optimal = session[i - 1].is_optimal; Nov 06 11:46:33.915 INFO kablam! | ^^^^^^^^^^^^^^^^^^^^^^ help: consider using `_is_next_action_optimal` instead Nov 06 11:46:33.915 INFO kablam! Nov 06 11:46:33.915 INFO kablam! warning: unused variable: `i` Nov 06 11:46:33.915 INFO kablam! --> src/snake_nn.rs:530:9 Nov 06 11:46:33.915 INFO kablam! | Nov 06 11:46:33.915 INFO kablam! 530 | for i in 0..MAP_WIDTH * MAP_HEIGHT - 1 { Nov 06 11:46:33.915 INFO kablam! | ^ help: consider using `_i` instead Nov 06 11:46:33.915 INFO kablam! Nov 06 11:46:33.918 INFO kablam! warning: unused variable: `matches` Nov 06 11:46:33.919 INFO kablam! --> src/main.rs:53:24 Nov 06 11:46:33.919 INFO kablam! | Nov 06 11:46:33.919 INFO kablam! 53 | fn execute_mnist_train(matches: &ArgMatches, submatches: &ArgMatches) { Nov 06 11:46:33.919 INFO kablam! | ^^^^^^^ help: consider using `_matches` instead Nov 06 11:46:33.919 INFO kablam! Nov 06 11:46:33.919 INFO kablam! warning: unused variable: `matches` Nov 06 11:46:33.919 INFO kablam! --> src/main.rs:68:22 Nov 06 11:46:33.919 INFO kablam! | Nov 06 11:46:33.920 INFO kablam! 68 | fn execute_snake_new(matches: &ArgMatches, submatches: &ArgMatches) { Nov 06 11:46:33.920 INFO kablam! | ^^^^^^^ help: consider using `_matches` instead Nov 06 11:46:33.920 INFO kablam! Nov 06 11:46:33.920 INFO kablam! warning: unused variable: `matches` Nov 06 11:46:33.920 INFO kablam! --> src/main.rs:73:24 Nov 06 11:46:33.920 INFO kablam! | Nov 06 11:46:33.920 INFO kablam! 73 | fn execute_snake_train(matches: &ArgMatches, submatches: &ArgMatches) { Nov 06 11:46:33.920 INFO kablam! | ^^^^^^^ help: consider using `_matches` instead Nov 06 11:46:33.920 INFO kablam! Nov 06 11:46:33.920 INFO kablam! warning: unused variable: `matches` Nov 06 11:46:33.921 INFO kablam! --> src/main.rs:93:22 Nov 06 11:46:33.921 INFO kablam! | Nov 06 11:46:33.921 INFO kablam! 93 | fn execute_snake_gen(matches: &ArgMatches, submatches: &ArgMatches) { Nov 06 11:46:33.921 INFO kablam! | ^^^^^^^ help: consider using `_matches` instead Nov 06 11:46:33.921 INFO kablam! Nov 06 11:46:33.921 INFO kablam! warning: unused variable: `matches` Nov 06 11:46:33.921 INFO kablam! --> src/main.rs:101:23 Nov 06 11:46:33.921 INFO kablam! | Nov 06 11:46:33.921 INFO kablam! 101 | fn execute_snake_demo(matches: &ArgMatches, submatches: &ArgMatches) { Nov 06 11:46:33.921 INFO kablam! | ^^^^^^^ help: consider using `_matches` instead Nov 06 11:46:33.921 INFO kablam! Nov 06 11:46:33.921 INFO kablam! warning: unused variable: `thread_no` Nov 06 11:46:33.921 INFO kablam! --> src/parallel_trainer.rs:46:13 Nov 06 11:46:33.921 INFO kablam! | Nov 06 11:46:33.921 INFO kablam! 46 | for thread_no in 0..num_threads { Nov 06 11:46:33.921 INFO kablam! | ^^^^^^^^^ help: consider using `_thread_no` instead Nov 06 11:46:33.921 INFO kablam! Nov 06 11:46:33.935 INFO kablam! warning: unused variable: `hits` Nov 06 11:46:33.935 INFO kablam! --> src/mnist.rs:64:13 Nov 06 11:46:33.935 INFO kablam! | Nov 06 11:46:33.935 INFO kablam! 64 | let mut hits = 0usize; Nov 06 11:46:33.935 INFO kablam! | ^^^^ help: consider using `_hits` instead Nov 06 11:46:33.935 INFO kablam! | Nov 06 11:46:33.935 INFO kablam! = note: #[warn(unused_variables)] on by default Nov 06 11:46:33.935 INFO kablam! Nov 06 11:46:33.935 INFO kablam! warning: unused variable: `predictor` Nov 06 11:46:33.935 INFO kablam! --> src/mnist.rs:98:30 Nov 06 11:46:33.935 INFO kablam! | Nov 06 11:46:33.935 INFO kablam! 98 | let (params, predictor, _) = parallel_trainer.borrow_network_parts(); Nov 06 11:46:33.935 INFO kablam! | ^^^^^^^^^ help: consider using `_predictor` instead Nov 06 11:46:33.935 INFO kablam! Nov 06 11:46:33.935 INFO kablam! warning: unused variable: `log_every_n` Nov 06 11:46:33.935 INFO kablam! --> src/mnist.rs:35:5 Nov 06 11:46:33.935 INFO kablam! | Nov 06 11:46:33.935 INFO kablam! 35 | log_every_n: usize, Nov 06 11:46:33.935 INFO kablam! | ^^^^^^^^^^^ help: consider using `_log_every_n` instead Nov 06 11:46:33.935 INFO kablam! Nov 06 11:46:33.935 INFO kablam! warning: unused variable: `outputs` Nov 06 11:46:33.935 INFO kablam! --> src/parallel_trainer.rs:150:21 Nov 06 11:46:33.935 INFO kablam! | Nov 06 11:46:33.935 INFO kablam! 150 | let outputs = local_nn_predictor Nov 06 11:46:33.935 INFO kablam! | ^^^^^^^ help: consider using `_outputs` instead Nov 06 11:46:33.935 INFO kablam! Nov 06 11:46:33.935 INFO kablam! warning: unused variable: `iters` Nov 06 11:46:33.935 INFO kablam! --> src/snake.rs:168:21 Nov 06 11:46:33.935 INFO kablam! | Nov 06 11:46:33.935 INFO kablam! 168 | let mut iters = 0; Nov 06 11:46:33.935 INFO kablam! | ^^^^^ help: consider using `_iters` instead Nov 06 11:46:33.935 INFO kablam! Nov 06 11:46:33.935 INFO kablam! warning: unused variable: `epoch_no` Nov 06 11:46:33.935 INFO kablam! --> src/snake_nn.rs:73:9 Nov 06 11:46:33.935 INFO kablam! | Nov 06 11:46:33.935 INFO kablam! 73 | for epoch_no in 0..num_epochs { Nov 06 11:46:33.935 INFO kablam! | ^^^^^^^^ help: consider using `_epoch_no` instead Nov 06 11:46:33.935 INFO kablam! Nov 06 11:46:33.935 INFO kablam! warning: unused variable: `predictor` Nov 06 11:46:33.935 INFO kablam! --> src/snake_nn.rs:90:30 Nov 06 11:46:33.935 INFO kablam! | Nov 06 11:46:33.935 INFO kablam! 90 | let (params, predictor, _) = parallel_trainer.borrow_network_parts(); Nov 06 11:46:33.935 INFO kablam! | ^^^^^^^^^ help: consider using `_predictor` instead Nov 06 11:46:33.935 INFO kablam! Nov 06 11:46:33.935 INFO kablam! warning: unused variable: `predictor` Nov 06 11:46:33.935 INFO kablam! --> src/snake_nn.rs:109:18 Nov 06 11:46:33.936 INFO kablam! | Nov 06 11:46:33.936 INFO kablam! 109 | let (params, predictor, _) = parallel_trainer.borrow_network_parts(); Nov 06 11:46:33.936 INFO kablam! | ^^^^^^^^^ help: consider using `_predictor` instead Nov 06 11:46:33.936 INFO kablam! Nov 06 11:46:33.936 INFO kablam! warning: unused variable: `max_gain` Nov 06 11:46:33.936 INFO kablam! --> src/snake_nn.rs:357:13 Nov 06 11:46:33.936 INFO kablam! | Nov 06 11:46:33.936 INFO kablam! 357 | let (i, max_gain) = get_max_with_pos(snake_inputs_gains.as_slice()); Nov 06 11:46:33.936 INFO kablam! | ^^^^^^^^ help: consider using `_max_gain` instead Nov 06 11:46:33.936 INFO kablam! Nov 06 11:46:33.936 INFO kablam! warning: unused variable: `is_next_action_optimal` Nov 06 11:46:33.936 INFO kablam! --> src/snake_nn.rs:503:13 Nov 06 11:46:33.936 INFO kablam! | Nov 06 11:46:33.936 INFO kablam! 503 | let is_next_action_optimal = session[i - 1].is_optimal; Nov 06 11:46:33.936 INFO kablam! | ^^^^^^^^^^^^^^^^^^^^^^ help: consider using `_is_next_action_optimal` instead Nov 06 11:46:33.936 INFO kablam! Nov 06 11:46:33.936 INFO kablam! warning: unused variable: `i` Nov 06 11:46:33.936 INFO kablam! --> src/snake_nn.rs:530:9 Nov 06 11:46:33.936 INFO kablam! | Nov 06 11:46:33.936 INFO kablam! 530 | for i in 0..MAP_WIDTH * MAP_HEIGHT - 1 { Nov 06 11:46:33.936 INFO kablam! | ^ help: consider using `_i` instead Nov 06 11:46:33.936 INFO kablam! Nov 06 11:46:33.936 INFO kablam! warning: unused variable: `matches` Nov 06 11:46:33.936 INFO kablam! --> src/main.rs:53:24 Nov 06 11:46:33.936 INFO kablam! | Nov 06 11:46:33.936 INFO kablam! 53 | fn execute_mnist_train(matches: &ArgMatches, submatches: &ArgMatches) { Nov 06 11:46:33.936 INFO kablam! | ^^^^^^^ help: consider using `_matches` instead Nov 06 11:46:33.936 INFO kablam! Nov 06 11:46:33.936 INFO kablam! warning: unused variable: `matches` Nov 06 11:46:33.936 INFO kablam! --> src/main.rs:68:22 Nov 06 11:46:33.936 INFO kablam! | Nov 06 11:46:33.936 INFO kablam! 68 | fn execute_snake_new(matches: &ArgMatches, submatches: &ArgMatches) { Nov 06 11:46:33.936 INFO kablam! | ^^^^^^^ help: consider using `_matches` instead Nov 06 11:46:33.936 INFO kablam! Nov 06 11:46:33.936 INFO kablam! warning: unused variable: `matches` Nov 06 11:46:33.936 INFO kablam! --> src/main.rs:73:24 Nov 06 11:46:33.936 INFO kablam! | Nov 06 11:46:33.936 INFO kablam! 73 | fn execute_snake_train(matches: &ArgMatches, submatches: &ArgMatches) { Nov 06 11:46:33.936 INFO kablam! | ^^^^^^^ help: consider using `_matches` instead Nov 06 11:46:33.936 INFO kablam! Nov 06 11:46:33.936 INFO kablam! warning: unused variable: `matches` Nov 06 11:46:33.936 INFO kablam! --> src/main.rs:93:22 Nov 06 11:46:33.936 INFO kablam! | Nov 06 11:46:33.936 INFO kablam! 93 | fn execute_snake_gen(matches: &ArgMatches, submatches: &ArgMatches) { Nov 06 11:46:33.936 INFO kablam! | ^^^^^^^ help: consider using `_matches` instead Nov 06 11:46:33.936 INFO kablam! Nov 06 11:46:33.936 INFO kablam! warning: unused variable: `matches` Nov 06 11:46:33.936 INFO kablam! --> src/main.rs:101:23 Nov 06 11:46:33.936 INFO kablam! | Nov 06 11:46:33.936 INFO kablam! 101 | fn execute_snake_demo(matches: &ArgMatches, submatches: &ArgMatches) { Nov 06 11:46:33.936 INFO kablam! | ^^^^^^^ help: consider using `_matches` instead Nov 06 11:46:33.936 INFO kablam! Nov 06 11:46:33.936 INFO kablam! warning: unused variable: `layer_order` Nov 06 11:46:33.936 INFO kablam! --> src/network.rs:645:13 Nov 06 11:46:33.936 INFO kablam! | Nov 06 11:46:33.936 INFO kablam! 645 | let layer_order = nn.calc_layers_order(); Nov 06 11:46:33.936 INFO kablam! | ^^^^^^^^^^^ help: consider using `_layer_order` instead Nov 06 11:46:33.936 INFO kablam! Nov 06 11:46:33.936 INFO kablam! warning: unused variable: `thread_no` Nov 06 11:46:33.936 INFO kablam! --> src/parallel_trainer.rs:46:13 Nov 06 11:46:33.936 INFO kablam! | Nov 06 11:46:33.936 INFO kablam! 46 | for thread_no in 0..num_threads { Nov 06 11:46:33.936 INFO kablam! | ^^^^^^^^^ help: consider using `_thread_no` instead Nov 06 11:46:33.936 INFO kablam! Nov 06 11:46:34.006 INFO kablam! warning: variable does not need to be mutable Nov 06 11:46:34.006 INFO kablam! --> src/mnist.rs:64:9 Nov 06 11:46:34.006 INFO kablam! | Nov 06 11:46:34.006 INFO kablam! 64 | let mut hits = 0usize; Nov 06 11:46:34.006 INFO kablam! | ----^^^^ Nov 06 11:46:34.006 INFO kablam! | | Nov 06 11:46:34.006 INFO kablam! | help: remove this `mut` Nov 06 11:46:34.006 INFO kablam! | Nov 06 11:46:34.006 INFO kablam! = note: #[warn(unused_mut)] on by default Nov 06 11:46:34.006 INFO kablam! Nov 06 11:46:34.022 INFO kablam! warning: variable does not need to be mutable Nov 06 11:46:34.023 INFO kablam! --> src/mnist.rs:64:9 Nov 06 11:46:34.023 INFO kablam! | Nov 06 11:46:34.023 INFO kablam! 64 | let mut hits = 0usize; Nov 06 11:46:34.023 INFO kablam! | ----^^^^ Nov 06 11:46:34.023 INFO kablam! | | Nov 06 11:46:34.023 INFO kablam! | help: remove this `mut` Nov 06 11:46:34.023 INFO kablam! | Nov 06 11:46:34.023 INFO kablam! = note: #[warn(unused_mut)] on by default Nov 06 11:46:34.023 INFO kablam! Nov 06 11:46:34.028 INFO kablam! warning: variable does not need to be mutable Nov 06 11:46:34.028 INFO kablam! --> src/network.rs:55:13 Nov 06 11:46:34.028 INFO kablam! | Nov 06 11:46:34.028 INFO kablam! 55 | let mut nn: Self = serde_json::from_reader(&file).unwrap(); Nov 06 11:46:34.028 INFO kablam! | ----^^ Nov 06 11:46:34.028 INFO kablam! | | Nov 06 11:46:34.028 INFO kablam! | help: remove this `mut` Nov 06 11:46:34.028 INFO kablam! Nov 06 11:46:34.045 INFO kablam! warning: variable does not need to be mutable Nov 06 11:46:34.045 INFO kablam! --> src/network.rs:55:13 Nov 06 11:46:34.045 INFO kablam! | Nov 06 11:46:34.045 INFO kablam! 55 | let mut nn: Self = serde_json::from_reader(&file).unwrap(); Nov 06 11:46:34.045 INFO kablam! | ----^^ Nov 06 11:46:34.045 INFO kablam! | | Nov 06 11:46:34.045 INFO kablam! | help: remove this `mut` Nov 06 11:46:34.045 INFO kablam! Nov 06 11:46:34.105 INFO kablam! warning: variable does not need to be mutable Nov 06 11:46:34.105 INFO kablam! --> src/parallel_trainer.rs:37:51 Nov 06 11:46:34.105 INFO kablam! | Nov 06 11:46:34.105 INFO kablam! 37 | let (mut nn_parameters, mut nn_predictor, mut nn_trainer) = network.as_parts(); Nov 06 11:46:34.105 INFO kablam! | ----^^^^^^^^^^ Nov 06 11:46:34.106 INFO kablam! | | Nov 06 11:46:34.106 INFO kablam! | help: remove this `mut` Nov 06 11:46:34.106 INFO kablam! Nov 06 11:46:34.106 INFO kablam! warning: variable does not need to be mutable Nov 06 11:46:34.106 INFO kablam! --> src/parallel_trainer.rs:37:33 Nov 06 11:46:34.106 INFO kablam! | Nov 06 11:46:34.106 INFO kablam! 37 | let (mut nn_parameters, mut nn_predictor, mut nn_trainer) = network.as_parts(); Nov 06 11:46:34.106 INFO kablam! | ----^^^^^^^^^^^^ Nov 06 11:46:34.106 INFO kablam! | | Nov 06 11:46:34.106 INFO kablam! | help: remove this `mut` Nov 06 11:46:34.106 INFO kablam! Nov 06 11:46:34.106 INFO kablam! warning: variable does not need to be mutable Nov 06 11:46:34.106 INFO kablam! --> src/parallel_trainer.rs:37:14 Nov 06 11:46:34.106 INFO kablam! | Nov 06 11:46:34.106 INFO kablam! 37 | let (mut nn_parameters, mut nn_predictor, mut nn_trainer) = network.as_parts(); Nov 06 11:46:34.106 INFO kablam! | ----^^^^^^^^^^^^^ Nov 06 11:46:34.106 INFO kablam! | | Nov 06 11:46:34.106 INFO kablam! | help: remove this `mut` Nov 06 11:46:34.106 INFO kablam! Nov 06 11:46:34.110 INFO kablam! warning: variable does not need to be mutable Nov 06 11:46:34.110 INFO kablam! --> src/parallel_trainer.rs:123:5 Nov 06 11:46:34.110 INFO kablam! | Nov 06 11:46:34.110 INFO kablam! 123 | mut job_receiver: Arc>>, Nov 06 11:46:34.110 INFO kablam! | ----^^^^^^^^^^^^ Nov 06 11:46:34.110 INFO kablam! | | Nov 06 11:46:34.110 INFO kablam! | help: remove this `mut` Nov 06 11:46:34.110 INFO kablam! Nov 06 11:46:34.110 INFO kablam! warning: variable does not need to be mutable Nov 06 11:46:34.110 INFO kablam! --> src/parallel_trainer.rs:124:5 Nov 06 11:46:34.110 INFO kablam! | Nov 06 11:46:34.110 INFO kablam! 124 | mut output_sender: Sender>>, Nov 06 11:46:34.110 INFO kablam! | ----^^^^^^^^^^^^^ Nov 06 11:46:34.110 INFO kablam! | | Nov 06 11:46:34.110 INFO kablam! | help: remove this `mut` Nov 06 11:46:34.110 INFO kablam! Nov 06 11:46:34.110 INFO kablam! warning: variable does not need to be mutable Nov 06 11:46:34.110 INFO kablam! --> src/parallel_trainer.rs:126:5 Nov 06 11:46:34.110 INFO kablam! | Nov 06 11:46:34.110 INFO kablam! 126 | mut local_nn_trainer: Arc>, Nov 06 11:46:34.110 INFO kablam! | ----^^^^^^^^^^^^^^^^ Nov 06 11:46:34.110 INFO kablam! | | Nov 06 11:46:34.110 INFO kablam! | help: remove this `mut` Nov 06 11:46:34.110 INFO kablam! Nov 06 11:46:34.124 INFO kablam! warning: variable does not need to be mutable Nov 06 11:46:34.124 INFO kablam! --> src/parallel_trainer.rs:37:51 Nov 06 11:46:34.124 INFO kablam! | Nov 06 11:46:34.124 INFO kablam! 37 | let (mut nn_parameters, mut nn_predictor, mut nn_trainer) = network.as_parts(); Nov 06 11:46:34.124 INFO kablam! | ----^^^^^^^^^^ Nov 06 11:46:34.124 INFO kablam! | | Nov 06 11:46:34.124 INFO kablam! | help: remove this `mut` Nov 06 11:46:34.124 INFO kablam! Nov 06 11:46:34.124 INFO kablam! warning: variable does not need to be mutable Nov 06 11:46:34.124 INFO kablam! --> src/parallel_trainer.rs:37:33 Nov 06 11:46:34.124 INFO kablam! | Nov 06 11:46:34.124 INFO kablam! 37 | let (mut nn_parameters, mut nn_predictor, mut nn_trainer) = network.as_parts(); Nov 06 11:46:34.124 INFO kablam! | ----^^^^^^^^^^^^ Nov 06 11:46:34.124 INFO kablam! | | Nov 06 11:46:34.124 INFO kablam! | help: remove this `mut` Nov 06 11:46:34.124 INFO kablam! Nov 06 11:46:34.124 INFO kablam! warning: variable does not need to be mutable Nov 06 11:46:34.124 INFO kablam! --> src/parallel_trainer.rs:37:14 Nov 06 11:46:34.124 INFO kablam! | Nov 06 11:46:34.124 INFO kablam! 37 | let (mut nn_parameters, mut nn_predictor, mut nn_trainer) = network.as_parts(); Nov 06 11:46:34.124 INFO kablam! | ----^^^^^^^^^^^^^ Nov 06 11:46:34.124 INFO kablam! | | Nov 06 11:46:34.124 INFO kablam! | help: remove this `mut` Nov 06 11:46:34.124 INFO kablam! Nov 06 11:46:34.132 INFO kablam! warning: variable does not need to be mutable Nov 06 11:46:34.132 INFO kablam! --> src/parallel_trainer.rs:123:5 Nov 06 11:46:34.132 INFO kablam! | Nov 06 11:46:34.133 INFO kablam! 123 | mut job_receiver: Arc>>, Nov 06 11:46:34.133 INFO kablam! | ----^^^^^^^^^^^^ Nov 06 11:46:34.133 INFO kablam! | | Nov 06 11:46:34.133 INFO kablam! | help: remove this `mut` Nov 06 11:46:34.133 INFO kablam! Nov 06 11:46:34.133 INFO kablam! warning: variable does not need to be mutable Nov 06 11:46:34.133 INFO kablam! --> src/parallel_trainer.rs:124:5 Nov 06 11:46:34.133 INFO kablam! | Nov 06 11:46:34.133 INFO kablam! 124 | mut output_sender: Sender>>, Nov 06 11:46:34.133 INFO kablam! | ----^^^^^^^^^^^^^ Nov 06 11:46:34.133 INFO kablam! | | Nov 06 11:46:34.133 INFO kablam! | help: remove this `mut` Nov 06 11:46:34.133 INFO kablam! Nov 06 11:46:34.133 INFO kablam! warning: variable does not need to be mutable Nov 06 11:46:34.133 INFO kablam! --> src/parallel_trainer.rs:126:5 Nov 06 11:46:34.133 INFO kablam! | Nov 06 11:46:34.133 INFO kablam! 126 | mut local_nn_trainer: Arc>, Nov 06 11:46:34.133 INFO kablam! | ----^^^^^^^^^^^^^^^^ Nov 06 11:46:34.133 INFO kablam! | | Nov 06 11:46:34.133 INFO kablam! | help: remove this `mut` Nov 06 11:46:34.133 INFO kablam! Nov 06 11:46:34.163 INFO kablam! warning: variable does not need to be mutable Nov 06 11:46:34.163 INFO kablam! --> src/snake_nn.rs:57:9 Nov 06 11:46:34.163 INFO kablam! | Nov 06 11:46:34.163 INFO kablam! 57 | let mut nn = network::Network::load_from_file(model_input_path); Nov 06 11:46:34.163 INFO kablam! | ----^^ Nov 06 11:46:34.163 INFO kablam! | | Nov 06 11:46:34.163 INFO kablam! | help: remove this `mut` Nov 06 11:46:34.163 INFO kablam! Nov 06 11:46:34.172 INFO kablam! warning: variable does not need to be mutable Nov 06 11:46:34.172 INFO kablam! --> src/snake_nn.rs:131:21 Nov 06 11:46:34.172 INFO kablam! | Nov 06 11:46:34.172 INFO kablam! 131 | let mut state = GameState { Nov 06 11:46:34.172 INFO kablam! | ----^^^^^ Nov 06 11:46:34.172 INFO kablam! | | Nov 06 11:46:34.172 INFO kablam! | help: remove this `mut` Nov 06 11:46:34.172 INFO kablam! Nov 06 11:46:34.172 INFO kablam! warning: variable does not need to be mutable Nov 06 11:46:34.172 INFO kablam! --> src/snake_nn.rs:115:9 Nov 06 11:46:34.172 INFO kablam! | Nov 06 11:46:34.172 INFO kablam! 115 | let mut nn = network::Network::load_from_file(model_path); Nov 06 11:46:34.172 INFO kablam! | ----^^ Nov 06 11:46:34.172 INFO kablam! | | Nov 06 11:46:34.172 INFO kablam! | help: remove this `mut` Nov 06 11:46:34.172 INFO kablam! Nov 06 11:46:34.188 INFO kablam! warning: variable does not need to be mutable Nov 06 11:46:34.189 INFO kablam! --> src/snake_nn.rs:57:9 Nov 06 11:46:34.189 INFO kablam! | Nov 06 11:46:34.189 INFO kablam! 57 | let mut nn = network::Network::load_from_file(model_input_path); Nov 06 11:46:34.189 INFO kablam! | ----^^ Nov 06 11:46:34.189 INFO kablam! | | Nov 06 11:46:34.189 INFO kablam! | help: remove this `mut` Nov 06 11:46:34.189 INFO kablam! Nov 06 11:46:34.192 INFO kablam! warning: variable does not need to be mutable Nov 06 11:46:34.192 INFO kablam! --> src/snake_nn.rs:131:21 Nov 06 11:46:34.192 INFO kablam! | Nov 06 11:46:34.193 INFO kablam! 131 | let mut state = GameState { Nov 06 11:46:34.193 INFO kablam! | ----^^^^^ Nov 06 11:46:34.193 INFO kablam! | | Nov 06 11:46:34.193 INFO kablam! | help: remove this `mut` Nov 06 11:46:34.193 INFO kablam! Nov 06 11:46:34.193 INFO kablam! warning: variable does not need to be mutable Nov 06 11:46:34.193 INFO kablam! --> src/snake_nn.rs:115:9 Nov 06 11:46:34.193 INFO kablam! | Nov 06 11:46:34.193 INFO kablam! 115 | let mut nn = network::Network::load_from_file(model_path); Nov 06 11:46:34.193 INFO kablam! | ----^^ Nov 06 11:46:34.193 INFO kablam! | | Nov 06 11:46:34.193 INFO kablam! | help: remove this `mut` Nov 06 11:46:34.193 INFO kablam! Nov 06 11:46:34.216 INFO kablam! warning: method is never used: `new_same_dim` Nov 06 11:46:34.216 INFO kablam! --> src/math.rs:21:5 Nov 06 11:46:34.216 INFO kablam! | Nov 06 11:46:34.216 INFO kablam! 21 | pub fn new_same_dim(m: &Matrix) -> Self { Nov 06 11:46:34.216 INFO kablam! | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Nov 06 11:46:34.216 INFO kablam! | Nov 06 11:46:34.216 INFO kablam! = note: #[warn(dead_code)] on by default Nov 06 11:46:34.216 INFO kablam! Nov 06 11:46:34.216 INFO kablam! warning: method is never used: `from_slice` Nov 06 11:46:34.216 INFO kablam! --> src/math.rs:27:5 Nov 06 11:46:34.216 INFO kablam! | Nov 06 11:46:34.216 INFO kablam! 27 | pub fn from_slice(rows: usize, cols: usize, content: &[f64]) -> Self { Nov 06 11:46:34.216 INFO kablam! | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Nov 06 11:46:34.216 INFO kablam! Nov 06 11:46:34.216 INFO kablam! warning: method is never used: `dot_vec` Nov 06 11:46:34.216 INFO kablam! --> src/math.rs:71:5 Nov 06 11:46:34.216 INFO kablam! | Nov 06 11:46:34.216 INFO kablam! 71 | pub fn dot_vec(&self, vec: &Vector, res: &mut Vector) { Nov 06 11:46:34.216 INFO kablam! | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Nov 06 11:46:34.216 INFO kablam! Nov 06 11:46:34.216 INFO kablam! warning: method is never used: `transpose` Nov 06 11:46:34.216 INFO kablam! --> src/math.rs:155:5 Nov 06 11:46:34.216 INFO kablam! | Nov 06 11:46:34.216 INFO kablam! 155 | pub fn transpose(&self, res: &mut Matrix) { Nov 06 11:46:34.216 INFO kablam! | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Nov 06 11:46:34.216 INFO kablam! Nov 06 11:46:34.216 INFO kablam! warning: method is never used: `from_slice` Nov 06 11:46:34.216 INFO kablam! --> src/math.rs:241:5 Nov 06 11:46:34.216 INFO kablam! | Nov 06 11:46:34.216 INFO kablam! 241 | pub fn from_slice(content: &[f64]) -> Self { Nov 06 11:46:34.216 INFO kablam! | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Nov 06 11:46:34.216 INFO kablam! Nov 06 11:46:34.216 INFO kablam! warning: method is never used: `empty` Nov 06 11:46:34.216 INFO kablam! --> src/math.rs:248:5 Nov 06 11:46:34.216 INFO kablam! | Nov 06 11:46:34.216 INFO kablam! 248 | pub fn empty() -> Self { Nov 06 11:46:34.216 INFO kablam! | ^^^^^^^^^^^^^^^^^^^^^^ Nov 06 11:46:34.217 INFO kablam! Nov 06 11:46:34.217 INFO kablam! warning: method is never used: `init_rand` Nov 06 11:46:34.217 INFO kablam! --> src/math.rs:267:5 Nov 06 11:46:34.217 INFO kablam! | Nov 06 11:46:34.217 INFO kablam! 267 | pub fn init_rand(mut self) -> Self { Nov 06 11:46:34.217 INFO kablam! | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Nov 06 11:46:34.217 INFO kablam! Nov 06 11:46:34.217 INFO kablam! warning: method is never used: `copy_from` Nov 06 11:46:34.217 INFO kablam! --> src/math.rs:286:5 Nov 06 11:46:34.217 INFO kablam! | Nov 06 11:46:34.217 INFO kablam! 286 | pub fn copy_from(&mut self, v: &Vector) { Nov 06 11:46:34.217 INFO kablam! | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Nov 06 11:46:34.217 INFO kablam! Nov 06 11:46:34.217 INFO kablam! warning: method is never used: `add` Nov 06 11:46:34.217 INFO kablam! --> src/math.rs:322:5 Nov 06 11:46:34.217 INFO kablam! | Nov 06 11:46:34.217 INFO kablam! 322 | pub fn add(&mut self, v: &Vector) { Nov 06 11:46:34.217 INFO kablam! | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Nov 06 11:46:34.217 INFO kablam! Nov 06 11:46:34.217 INFO kablam! warning: method is never used: `fill_rand` Nov 06 11:46:34.217 INFO kablam! --> src/math.rs:335:5 Nov 06 11:46:34.217 INFO kablam! | Nov 06 11:46:34.217 INFO kablam! 335 | pub fn fill_rand(&mut self) { Nov 06 11:46:34.217 INFO kablam! | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ Nov 06 11:46:34.217 INFO kablam! Nov 06 11:46:34.217 INFO kablam! warning: constant item is never used: `NANOS_IN_SECOND` Nov 06 11:46:34.217 INFO kablam! --> src/mnist.rs:28:1 Nov 06 11:46:34.217 INFO kablam! | Nov 06 11:46:34.217 INFO kablam! 28 | const NANOS_IN_SECOND: u64 = 1_000_000_000; Nov 06 11:46:34.217 INFO kablam! | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Nov 06 11:46:34.217 INFO kablam! Nov 06 11:46:34.217 INFO kablam! warning: method is never used: `get_layer_mut` Nov 06 11:46:34.217 INFO kablam! --> src/network.rs:46:5 Nov 06 11:46:34.217 INFO kablam! | Nov 06 11:46:34.217 INFO kablam! 46 | fn get_layer_mut(&mut self, id: LayerID) -> &mut Layer { Nov 06 11:46:34.217 INFO kablam! | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Nov 06 11:46:34.217 INFO kablam! Nov 06 11:46:34.217 INFO kablam! warning: method is never used: `calc_layers_order` Nov 06 11:46:34.217 INFO kablam! --> src/network.rs:462:5 Nov 06 11:46:34.217 INFO kablam! | Nov 06 11:46:34.217 INFO kablam! 462 | fn calc_layers_order(&self) -> Vec { Nov 06 11:46:34.217 INFO kablam! | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Nov 06 11:46:34.217 INFO kablam! Nov 06 11:46:34.217 INFO kablam! warning: method is never used: `predict` Nov 06 11:46:34.217 INFO kablam! --> src/network.rs:466:5 Nov 06 11:46:34.217 INFO kablam! | Nov 06 11:46:34.217 INFO kablam! 466 | pub fn predict(&mut self, input_data: &[f64]) -> &Vector { Nov 06 11:46:34.217 INFO kablam! | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Nov 06 11:46:34.217 INFO kablam! Nov 06 11:46:34.217 INFO kablam! warning: method is never used: `backward_propagation` Nov 06 11:46:34.217 INFO kablam! --> src/network.rs:470:5 Nov 06 11:46:34.217 INFO kablam! | Nov 06 11:46:34.217 INFO kablam! 470 | pub fn backward_propagation(&mut self, true_outputs: &Vector) { Nov 06 11:46:34.217 INFO kablam! | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Nov 06 11:46:34.217 INFO kablam! Nov 06 11:46:34.217 INFO kablam! warning: method is never used: `apply_batch` Nov 06 11:46:34.217 INFO kablam! --> src/network.rs:530:5 Nov 06 11:46:34.217 INFO kablam! | Nov 06 11:46:34.217 INFO kablam! 530 | pub fn apply_batch(&mut self) { Nov 06 11:46:34.217 INFO kablam! | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Nov 06 11:46:34.217 INFO kablam! Nov 06 11:46:34.217 INFO kablam! warning: field is never used: `shared_training_data` Nov 06 11:46:34.217 INFO kablam! --> src/parallel_trainer.rs:22:5 Nov 06 11:46:34.217 INFO kablam! | Nov 06 11:46:34.217 INFO kablam! 22 | shared_training_data: Arc, Nov 06 11:46:34.217 INFO kablam! | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Nov 06 11:46:34.217 INFO kablam! Nov 06 11:46:34.217 INFO kablam! warning: field is never used: `job_receiver` Nov 06 11:46:34.217 INFO kablam! --> src/parallel_trainer.rs:29:5 Nov 06 11:46:34.217 INFO kablam! | Nov 06 11:46:34.217 INFO kablam! 29 | job_receiver: Arc>>, Nov 06 11:46:34.217 INFO kablam! | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Nov 06 11:46:34.217 INFO kablam! Nov 06 11:46:34.217 INFO kablam! warning: field is never used: `output_sender` Nov 06 11:46:34.217 INFO kablam! --> src/parallel_trainer.rs:30:5 Nov 06 11:46:34.217 INFO kablam! | Nov 06 11:46:34.217 INFO kablam! 30 | output_sender: Sender>>, Nov 06 11:46:34.217 INFO kablam! | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Nov 06 11:46:34.217 INFO kablam! Nov 06 11:46:34.217 INFO kablam! warning: field is never used: `join_handles` Nov 06 11:46:34.217 INFO kablam! --> src/parallel_trainer.rs:32:5 Nov 06 11:46:34.217 INFO kablam! | Nov 06 11:46:34.217 INFO kablam! 32 | join_handles: Vec>, Nov 06 11:46:34.217 INFO kablam! | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Nov 06 11:46:34.217 INFO kablam! Nov 06 11:46:34.217 INFO kablam! warning: function is never used: `teach_nn` Nov 06 11:46:34.218 INFO kablam! --> src/snake_nn.rs:384:1 Nov 06 11:46:34.218 INFO kablam! | Nov 06 11:46:34.218 INFO kablam! 384 | / fn teach_nn( Nov 06 11:46:34.218 INFO kablam! 385 | | nn: &mut network::Network, Nov 06 11:46:34.218 INFO kablam! 386 | | state: &GameState, Nov 06 11:46:34.218 INFO kablam! 387 | | snake_input: SnakeInput, Nov 06 11:46:34.218 INFO kablam! ... | Nov 06 11:46:34.218 INFO kablam! 398 | | nn.backward_propagation(&true_output_vec); Nov 06 11:46:34.218 INFO kablam! 399 | | } Nov 06 11:46:34.218 INFO kablam! | |_^ Nov 06 11:46:34.218 INFO kablam! Nov 06 11:46:34.218 INFO kablam! warning: method is never used: `elapsed` Nov 06 11:46:34.218 INFO kablam! --> src/timing.rs:46:5 Nov 06 11:46:34.218 INFO kablam! | Nov 06 11:46:34.218 INFO kablam! 46 | pub fn elapsed(&self, name: &str) -> time::Duration { Nov 06 11:46:34.218 INFO kablam! | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Nov 06 11:46:34.218 INFO kablam! Nov 06 11:46:34.224 INFO kablam! warning: unused `std::result::Result` that must be used Nov 06 11:46:34.224 INFO kablam! --> src/parallel_trainer.rs:85:13 Nov 06 11:46:34.224 INFO kablam! | Nov 06 11:46:34.224 INFO kablam! 85 | / self.job_sender.send(TrainingJob { Nov 06 11:46:34.224 INFO kablam! 86 | | examples_indices: chunk, Nov 06 11:46:34.224 INFO kablam! 87 | | network_parameters: self.shared_nn_parameters.clone(), Nov 06 11:46:34.224 INFO kablam! 88 | | }); Nov 06 11:46:34.224 INFO kablam! | |_______________^ Nov 06 11:46:34.224 INFO kablam! | Nov 06 11:46:34.224 INFO kablam! = note: #[warn(unused_must_use)] on by default Nov 06 11:46:34.224 INFO kablam! = note: this `Result` may be an `Err` variant, which should be handled Nov 06 11:46:34.224 INFO kablam! Nov 06 11:46:34.224 INFO kablam! warning: unused `std::result::Result` that must be used Nov 06 11:46:34.224 INFO kablam! --> src/parallel_trainer.rs:160:9 Nov 06 11:46:34.224 INFO kablam! | Nov 06 11:46:34.224 INFO kablam! 160 | output_sender.send(local_nn_trainer.clone()); Nov 06 11:46:34.224 INFO kablam! | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Nov 06 11:46:34.224 INFO kablam! | Nov 06 11:46:34.224 INFO kablam! = note: this `Result` may be an `Err` variant, which should be handled Nov 06 11:46:34.224 INFO kablam! Nov 06 11:46:34.224 INFO kablam! warning: unused `std::result::Result` that must be used Nov 06 11:46:34.224 INFO kablam! --> src/snake.rs:118:9 Nov 06 11:46:34.224 INFO kablam! | Nov 06 11:46:34.224 INFO kablam! 118 | writer.write("\n".as_bytes()); Nov 06 11:46:34.224 INFO kablam! | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Nov 06 11:46:34.224 INFO kablam! | Nov 06 11:46:34.224 INFO kablam! = note: this `Result` may be an `Err` variant, which should be handled Nov 06 11:46:34.225 INFO kablam! Nov 06 11:46:34.225 INFO kablam! warning: unused `std::result::Result` that must be used Nov 06 11:46:34.225 INFO kablam! --> src/snake.rs:120:5 Nov 06 11:46:34.225 INFO kablam! | Nov 06 11:46:34.225 INFO kablam! 120 | writer.flush(); Nov 06 11:46:34.225 INFO kablam! | ^^^^^^^^^^^^^^^ Nov 06 11:46:34.225 INFO kablam! | Nov 06 11:46:34.225 INFO kablam! = note: this `Result` may be an `Err` variant, which should be handled Nov 06 11:46:34.225 INFO kablam! Nov 06 11:46:34.225 INFO kablam! warning: unused `std::result::Result` that must be used Nov 06 11:46:34.225 INFO kablam! --> src/snake.rs:131:5 Nov 06 11:46:34.225 INFO kablam! | Nov 06 11:46:34.225 INFO kablam! 131 | writer.write(character.as_bytes()); Nov 06 11:46:34.225 INFO kablam! | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Nov 06 11:46:34.225 INFO kablam! | Nov 06 11:46:34.225 INFO kablam! = note: this `Result` may be an `Err` variant, which should be handled Nov 06 11:46:34.225 INFO kablam! Nov 06 11:46:34.229 INFO kablam! warning: unused `std::result::Result` that must be used Nov 06 11:46:34.229 INFO kablam! --> src/snake_nn.rs:140:21 Nov 06 11:46:34.229 INFO kablam! | Nov 06 11:46:34.229 INFO kablam! 140 | write!(training_data_file, "\n"); Nov 06 11:46:34.229 INFO kablam! | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Nov 06 11:46:34.229 INFO kablam! | Nov 06 11:46:34.229 INFO kablam! = note: this `Result` may be an `Err` variant, which should be handled Nov 06 11:46:34.229 INFO kablam! = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) Nov 06 11:46:34.229 INFO kablam! Nov 06 11:46:34.229 INFO kablam! warning: unused `std::result::Result` that must be used Nov 06 11:46:34.229 INFO kablam! --> src/snake_nn.rs:150:9 Nov 06 11:46:34.229 INFO kablam! | Nov 06 11:46:34.229 INFO kablam! 150 | jh.join(); Nov 06 11:46:34.229 INFO kablam! | ^^^^^^^^^^ Nov 06 11:46:34.229 INFO kablam! | Nov 06 11:46:34.229 INFO kablam! = note: this `Result` may be an `Err` variant, which should be handled Nov 06 11:46:34.229 INFO kablam! Nov 06 11:46:34.229 INFO kablam! warning: the `game_over:` in this pattern is redundant Nov 06 11:46:34.229 INFO kablam! --> src/snake_nn.rs:203:17 Nov 06 11:46:34.229 INFO kablam! | Nov 06 11:46:34.229 INFO kablam! 203 | game_over: game_over, Nov 06 11:46:34.229 INFO kablam! | ----------^^^^^^^^^^ Nov 06 11:46:34.229 INFO kablam! | | Nov 06 11:46:34.229 INFO kablam! | help: remove this Nov 06 11:46:34.229 INFO kablam! | Nov 06 11:46:34.229 INFO kablam! = note: #[warn(non_shorthand_field_patterns)] on by default Nov 06 11:46:34.229 INFO kablam! Nov 06 11:46:34.229 INFO kablam! warning: the `game_over:` in this pattern is redundant Nov 06 11:46:34.229 INFO kablam! --> src/snake_nn.rs:271:13 Nov 06 11:46:34.229 INFO kablam! | Nov 06 11:46:34.229 INFO kablam! 271 | game_over: game_over, Nov 06 11:46:34.229 INFO kablam! | ----------^^^^^^^^^^ Nov 06 11:46:34.229 INFO kablam! | | Nov 06 11:46:34.229 INFO kablam! | help: remove this Nov 06 11:46:34.229 INFO kablam! Nov 06 11:46:34.229 INFO kablam! warning: the `game_over:` in this pattern is redundant Nov 06 11:46:34.229 INFO kablam! --> src/snake_nn.rs:308:17 Nov 06 11:46:34.229 INFO kablam! | Nov 06 11:46:34.229 INFO kablam! 308 | game_over: game_over, Nov 06 11:46:34.229 INFO kablam! | ----------^^^^^^^^^^ Nov 06 11:46:34.229 INFO kablam! | | Nov 06 11:46:34.229 INFO kablam! | help: remove this Nov 06 11:46:34.229 INFO kablam! Nov 06 11:46:34.229 INFO kablam! warning: unused attribute Nov 06 11:46:34.229 INFO kablam! --> src/snake_nn.rs:1:1 Nov 06 11:46:34.229 INFO kablam! | Nov 06 11:46:34.229 INFO kablam! 1 | #![feature(test)] Nov 06 11:46:34.229 INFO kablam! | ^^^^^^^^^^^^^^^^^ Nov 06 11:46:34.229 INFO kablam! | Nov 06 11:46:34.229 INFO kablam! = note: #[warn(unused_attributes)] on by default Nov 06 11:46:34.229 INFO kablam! Nov 06 11:46:34.229 INFO kablam! warning: crate-level attribute should be in the root module Nov 06 11:46:34.229 INFO kablam! --> src/snake_nn.rs:1:1 Nov 06 11:46:34.229 INFO kablam! | Nov 06 11:46:34.229 INFO kablam! 1 | #![feature(test)] Nov 06 11:46:34.229 INFO kablam! | ^^^^^^^^^^^^^^^^^ Nov 06 11:46:34.229 INFO kablam! Nov 06 11:46:34.229 INFO kablam! warning: unused `std::result::Result` that must be used Nov 06 11:46:34.229 INFO kablam! --> src/timing.rs:75:9 Nov 06 11:46:34.229 INFO kablam! | Nov 06 11:46:34.229 INFO kablam! 75 | writeln!(f, "=== Timing ==="); Nov 06 11:46:34.229 INFO kablam! | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Nov 06 11:46:34.229 INFO kablam! | Nov 06 11:46:34.229 INFO kablam! = note: this `Result` may be an `Err` variant, which should be handled Nov 06 11:46:34.229 INFO kablam! = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) Nov 06 11:46:34.229 INFO kablam! Nov 06 11:46:34.230 INFO kablam! warning: unused `std::result::Result` that must be used Nov 06 11:46:34.230 INFO kablam! --> src/timing.rs:77:13 Nov 06 11:46:34.230 INFO kablam! | Nov 06 11:46:34.230 INFO kablam! 77 | / writeln!( Nov 06 11:46:34.230 INFO kablam! 78 | | f, Nov 06 11:46:34.230 INFO kablam! 79 | | "{}: {}.{:04}s", Nov 06 11:46:34.230 INFO kablam! 80 | | name, Nov 06 11:46:34.230 INFO kablam! 81 | | timer.duration.as_secs(), Nov 06 11:46:34.230 INFO kablam! 82 | | timer.duration.subsec_nanos() / 1000000 Nov 06 11:46:34.230 INFO kablam! 83 | | ); Nov 06 11:46:34.230 INFO kablam! | |______________^ Nov 06 11:46:34.230 INFO kablam! | Nov 06 11:46:34.230 INFO kablam! = note: this `Result` may be an `Err` variant, which should be handled Nov 06 11:46:34.230 INFO kablam! = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) Nov 06 11:46:34.230 INFO kablam! Nov 06 11:46:34.236 INFO kablam! warning: method is never used: `new_same_dim` Nov 06 11:46:34.236 INFO kablam! --> src/math.rs:21:5 Nov 06 11:46:34.236 INFO kablam! | Nov 06 11:46:34.236 INFO kablam! 21 | pub fn new_same_dim(m: &Matrix) -> Self { Nov 06 11:46:34.236 INFO kablam! | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Nov 06 11:46:34.236 INFO kablam! | Nov 06 11:46:34.236 INFO kablam! = note: #[warn(dead_code)] on by default Nov 06 11:46:34.236 INFO kablam! Nov 06 11:46:34.236 INFO kablam! warning: method is never used: `dot_vec` Nov 06 11:46:34.236 INFO kablam! --> src/math.rs:71:5 Nov 06 11:46:34.236 INFO kablam! | Nov 06 11:46:34.236 INFO kablam! 71 | pub fn dot_vec(&self, vec: &Vector, res: &mut Vector) { Nov 06 11:46:34.236 INFO kablam! | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Nov 06 11:46:34.236 INFO kablam! Nov 06 11:46:34.236 INFO kablam! warning: method is never used: `empty` Nov 06 11:46:34.236 INFO kablam! --> src/math.rs:248:5 Nov 06 11:46:34.236 INFO kablam! | Nov 06 11:46:34.236 INFO kablam! 248 | pub fn empty() -> Self { Nov 06 11:46:34.236 INFO kablam! | ^^^^^^^^^^^^^^^^^^^^^^ Nov 06 11:46:34.237 INFO kablam! Nov 06 11:46:34.237 INFO kablam! warning: method is never used: `init_rand` Nov 06 11:46:34.237 INFO kablam! --> src/math.rs:267:5 Nov 06 11:46:34.237 INFO kablam! | Nov 06 11:46:34.237 INFO kablam! 267 | pub fn init_rand(mut self) -> Self { Nov 06 11:46:34.237 INFO kablam! | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Nov 06 11:46:34.237 INFO kablam! Nov 06 11:46:34.237 INFO kablam! warning: method is never used: `copy_from` Nov 06 11:46:34.237 INFO kablam! --> src/math.rs:286:5 Nov 06 11:46:34.237 INFO kablam! | Nov 06 11:46:34.237 INFO kablam! 286 | pub fn copy_from(&mut self, v: &Vector) { Nov 06 11:46:34.237 INFO kablam! | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Nov 06 11:46:34.237 INFO kablam! Nov 06 11:46:34.237 INFO kablam! warning: method is never used: `add` Nov 06 11:46:34.237 INFO kablam! --> src/math.rs:322:5 Nov 06 11:46:34.237 INFO kablam! | Nov 06 11:46:34.237 INFO kablam! 322 | pub fn add(&mut self, v: &Vector) { Nov 06 11:46:34.237 INFO kablam! | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Nov 06 11:46:34.237 INFO kablam! Nov 06 11:46:34.237 INFO kablam! warning: method is never used: `fill_rand` Nov 06 11:46:34.237 INFO kablam! --> src/math.rs:335:5 Nov 06 11:46:34.237 INFO kablam! | Nov 06 11:46:34.237 INFO kablam! 335 | pub fn fill_rand(&mut self) { Nov 06 11:46:34.237 INFO kablam! | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ Nov 06 11:46:34.237 INFO kablam! Nov 06 11:46:34.237 INFO kablam! warning: constant item is never used: `NANOS_IN_SECOND` Nov 06 11:46:34.237 INFO kablam! --> src/mnist.rs:28:1 Nov 06 11:46:34.237 INFO kablam! | Nov 06 11:46:34.237 INFO kablam! 28 | const NANOS_IN_SECOND: u64 = 1_000_000_000; Nov 06 11:46:34.237 INFO kablam! | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Nov 06 11:46:34.237 INFO kablam! Nov 06 11:46:34.237 INFO kablam! warning: method is never used: `get_layer_mut` Nov 06 11:46:34.237 INFO kablam! --> src/network.rs:46:5 Nov 06 11:46:34.237 INFO kablam! | Nov 06 11:46:34.237 INFO kablam! 46 | fn get_layer_mut(&mut self, id: LayerID) -> &mut Layer { Nov 06 11:46:34.237 INFO kablam! | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Nov 06 11:46:34.237 INFO kablam! Nov 06 11:46:34.237 INFO kablam! warning: method is never used: `predict` Nov 06 11:46:34.237 INFO kablam! --> src/network.rs:466:5 Nov 06 11:46:34.237 INFO kablam! | Nov 06 11:46:34.237 INFO kablam! 466 | pub fn predict(&mut self, input_data: &[f64]) -> &Vector { Nov 06 11:46:34.237 INFO kablam! | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Nov 06 11:46:34.237 INFO kablam! Nov 06 11:46:34.237 INFO kablam! warning: method is never used: `backward_propagation` Nov 06 11:46:34.237 INFO kablam! --> src/network.rs:470:5 Nov 06 11:46:34.237 INFO kablam! | Nov 06 11:46:34.237 INFO kablam! 470 | pub fn backward_propagation(&mut self, true_outputs: &Vector) { Nov 06 11:46:34.237 INFO kablam! | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Nov 06 11:46:34.237 INFO kablam! Nov 06 11:46:34.237 INFO kablam! warning: method is never used: `apply_batch` Nov 06 11:46:34.237 INFO kablam! --> src/network.rs:530:5 Nov 06 11:46:34.237 INFO kablam! | Nov 06 11:46:34.237 INFO kablam! 530 | pub fn apply_batch(&mut self) { Nov 06 11:46:34.237 INFO kablam! | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Nov 06 11:46:34.237 INFO kablam! Nov 06 11:46:34.237 INFO kablam! warning: field is never used: `shared_training_data` Nov 06 11:46:34.237 INFO kablam! --> src/parallel_trainer.rs:22:5 Nov 06 11:46:34.237 INFO kablam! | Nov 06 11:46:34.237 INFO kablam! 22 | shared_training_data: Arc, Nov 06 11:46:34.237 INFO kablam! | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Nov 06 11:46:34.237 INFO kablam! Nov 06 11:46:34.237 INFO kablam! warning: field is never used: `job_receiver` Nov 06 11:46:34.237 INFO kablam! --> src/parallel_trainer.rs:29:5 Nov 06 11:46:34.237 INFO kablam! | Nov 06 11:46:34.237 INFO kablam! 29 | job_receiver: Arc>>, Nov 06 11:46:34.237 INFO kablam! | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Nov 06 11:46:34.237 INFO kablam! Nov 06 11:46:34.237 INFO kablam! warning: field is never used: `output_sender` Nov 06 11:46:34.237 INFO kablam! --> src/parallel_trainer.rs:30:5 Nov 06 11:46:34.237 INFO kablam! | Nov 06 11:46:34.237 INFO kablam! 30 | output_sender: Sender>>, Nov 06 11:46:34.237 INFO kablam! | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Nov 06 11:46:34.237 INFO kablam! Nov 06 11:46:34.237 INFO kablam! warning: field is never used: `join_handles` Nov 06 11:46:34.237 INFO kablam! --> src/parallel_trainer.rs:32:5 Nov 06 11:46:34.237 INFO kablam! | Nov 06 11:46:34.237 INFO kablam! 32 | join_handles: Vec>, Nov 06 11:46:34.237 INFO kablam! | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Nov 06 11:46:34.237 INFO kablam! Nov 06 11:46:34.237 INFO kablam! warning: function is never used: `teach_nn` Nov 06 11:46:34.237 INFO kablam! --> src/snake_nn.rs:384:1 Nov 06 11:46:34.237 INFO kablam! | Nov 06 11:46:34.237 INFO kablam! 384 | / fn teach_nn( Nov 06 11:46:34.237 INFO kablam! 385 | | nn: &mut network::Network, Nov 06 11:46:34.237 INFO kablam! 386 | | state: &GameState, Nov 06 11:46:34.237 INFO kablam! 387 | | snake_input: SnakeInput, Nov 06 11:46:34.237 INFO kablam! ... | Nov 06 11:46:34.237 INFO kablam! 398 | | nn.backward_propagation(&true_output_vec); Nov 06 11:46:34.237 INFO kablam! 399 | | } Nov 06 11:46:34.238 INFO kablam! | |_^ Nov 06 11:46:34.238 INFO kablam! Nov 06 11:46:34.238 INFO kablam! warning: method is never used: `elapsed` Nov 06 11:46:34.238 INFO kablam! --> src/timing.rs:46:5 Nov 06 11:46:34.238 INFO kablam! | Nov 06 11:46:34.238 INFO kablam! 46 | pub fn elapsed(&self, name: &str) -> time::Duration { Nov 06 11:46:34.238 INFO kablam! | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Nov 06 11:46:34.238 INFO kablam! Nov 06 11:46:34.249 INFO kablam! warning: unused `std::result::Result` that must be used Nov 06 11:46:34.249 INFO kablam! --> src/parallel_trainer.rs:85:13 Nov 06 11:46:34.249 INFO kablam! | Nov 06 11:46:34.249 INFO kablam! 85 | / self.job_sender.send(TrainingJob { Nov 06 11:46:34.249 INFO kablam! 86 | | examples_indices: chunk, Nov 06 11:46:34.249 INFO kablam! 87 | | network_parameters: self.shared_nn_parameters.clone(), Nov 06 11:46:34.249 INFO kablam! 88 | | }); Nov 06 11:46:34.249 INFO kablam! | |_______________^ Nov 06 11:46:34.249 INFO kablam! | Nov 06 11:46:34.249 INFO kablam! = note: #[warn(unused_must_use)] on by default Nov 06 11:46:34.249 INFO kablam! = note: this `Result` may be an `Err` variant, which should be handled Nov 06 11:46:34.249 INFO kablam! Nov 06 11:46:34.249 INFO kablam! warning: unused `std::result::Result` that must be used Nov 06 11:46:34.249 INFO kablam! --> src/parallel_trainer.rs:160:9 Nov 06 11:46:34.249 INFO kablam! | Nov 06 11:46:34.249 INFO kablam! 160 | output_sender.send(local_nn_trainer.clone()); Nov 06 11:46:34.249 INFO kablam! | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Nov 06 11:46:34.249 INFO kablam! | Nov 06 11:46:34.249 INFO kablam! = note: this `Result` may be an `Err` variant, which should be handled Nov 06 11:46:34.249 INFO kablam! Nov 06 11:46:34.253 INFO kablam! warning: unused `std::result::Result` that must be used Nov 06 11:46:34.253 INFO kablam! --> src/snake.rs:118:9 Nov 06 11:46:34.253 INFO kablam! | Nov 06 11:46:34.253 INFO kablam! 118 | writer.write("\n".as_bytes()); Nov 06 11:46:34.253 INFO kablam! | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Nov 06 11:46:34.253 INFO kablam! | Nov 06 11:46:34.253 INFO kablam! = note: this `Result` may be an `Err` variant, which should be handled Nov 06 11:46:34.253 INFO kablam! Nov 06 11:46:34.254 INFO kablam! warning: unused `std::result::Result` that must be used Nov 06 11:46:34.254 INFO kablam! --> src/snake.rs:120:5 Nov 06 11:46:34.254 INFO kablam! | Nov 06 11:46:34.254 INFO kablam! 120 | writer.flush(); Nov 06 11:46:34.254 INFO kablam! | ^^^^^^^^^^^^^^^ Nov 06 11:46:34.254 INFO kablam! | Nov 06 11:46:34.254 INFO kablam! = note: this `Result` may be an `Err` variant, which should be handled Nov 06 11:46:34.254 INFO kablam! Nov 06 11:46:34.254 INFO kablam! warning: unused `std::result::Result` that must be used Nov 06 11:46:34.254 INFO kablam! --> src/snake.rs:131:5 Nov 06 11:46:34.254 INFO kablam! | Nov 06 11:46:34.254 INFO kablam! 131 | writer.write(character.as_bytes()); Nov 06 11:46:34.254 INFO kablam! | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Nov 06 11:46:34.254 INFO kablam! | Nov 06 11:46:34.254 INFO kablam! = note: this `Result` may be an `Err` variant, which should be handled Nov 06 11:46:34.255 INFO kablam! Nov 06 11:46:34.255 INFO kablam! warning: unused `std::result::Result` that must be used Nov 06 11:46:34.255 INFO kablam! --> src/snake_nn.rs:140:21 Nov 06 11:46:34.255 INFO kablam! | Nov 06 11:46:34.256 INFO kablam! 140 | write!(training_data_file, "\n"); Nov 06 11:46:34.256 INFO kablam! | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Nov 06 11:46:34.256 INFO kablam! | Nov 06 11:46:34.256 INFO kablam! = note: this `Result` may be an `Err` variant, which should be handled Nov 06 11:46:34.256 INFO kablam! = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) Nov 06 11:46:34.256 INFO kablam! Nov 06 11:46:34.256 INFO kablam! warning: unused `std::result::Result` that must be used Nov 06 11:46:34.256 INFO kablam! --> src/snake_nn.rs:150:9 Nov 06 11:46:34.256 INFO kablam! | Nov 06 11:46:34.256 INFO kablam! 150 | jh.join(); Nov 06 11:46:34.256 INFO kablam! | ^^^^^^^^^^ Nov 06 11:46:34.256 INFO kablam! | Nov 06 11:46:34.256 INFO kablam! = note: this `Result` may be an `Err` variant, which should be handled Nov 06 11:46:34.256 INFO kablam! Nov 06 11:46:34.256 INFO kablam! warning: the `game_over:` in this pattern is redundant Nov 06 11:46:34.256 INFO kablam! --> src/snake_nn.rs:203:17 Nov 06 11:46:34.256 INFO kablam! | Nov 06 11:46:34.256 INFO kablam! 203 | game_over: game_over, Nov 06 11:46:34.256 INFO kablam! | ----------^^^^^^^^^^ Nov 06 11:46:34.256 INFO kablam! | | Nov 06 11:46:34.256 INFO kablam! | help: remove this Nov 06 11:46:34.256 INFO kablam! | Nov 06 11:46:34.256 INFO kablam! = note: #[warn(non_shorthand_field_patterns)] on by default Nov 06 11:46:34.256 INFO kablam! Nov 06 11:46:34.256 INFO kablam! warning: the `game_over:` in this pattern is redundant Nov 06 11:46:34.256 INFO kablam! --> src/snake_nn.rs:271:13 Nov 06 11:46:34.256 INFO kablam! | Nov 06 11:46:34.256 INFO kablam! 271 | game_over: game_over, Nov 06 11:46:34.256 INFO kablam! | ----------^^^^^^^^^^ Nov 06 11:46:34.256 INFO kablam! | | Nov 06 11:46:34.256 INFO kablam! | help: remove this Nov 06 11:46:34.256 INFO kablam! Nov 06 11:46:34.256 INFO kablam! warning: the `game_over:` in this pattern is redundant Nov 06 11:46:34.256 INFO kablam! --> src/snake_nn.rs:308:17 Nov 06 11:46:34.256 INFO kablam! | Nov 06 11:46:34.256 INFO kablam! 308 | game_over: game_over, Nov 06 11:46:34.256 INFO kablam! | ----------^^^^^^^^^^ Nov 06 11:46:34.256 INFO kablam! | | Nov 06 11:46:34.256 INFO kablam! | help: remove this Nov 06 11:46:34.256 INFO kablam! Nov 06 11:46:34.256 INFO kablam! warning: unused attribute Nov 06 11:46:34.256 INFO kablam! --> src/snake_nn.rs:1:1 Nov 06 11:46:34.256 INFO kablam! | Nov 06 11:46:34.256 INFO kablam! 1 | #![feature(test)] Nov 06 11:46:34.256 INFO kablam! | ^^^^^^^^^^^^^^^^^ Nov 06 11:46:34.256 INFO kablam! | Nov 06 11:46:34.256 INFO kablam! = note: #[warn(unused_attributes)] on by default Nov 06 11:46:34.256 INFO kablam! Nov 06 11:46:34.256 INFO kablam! warning: crate-level attribute should be in the root module Nov 06 11:46:34.256 INFO kablam! --> src/snake_nn.rs:1:1 Nov 06 11:46:34.256 INFO kablam! | Nov 06 11:46:34.257 INFO kablam! 1 | #![feature(test)] Nov 06 11:46:34.257 INFO kablam! | ^^^^^^^^^^^^^^^^^ Nov 06 11:46:34.257 INFO kablam! Nov 06 11:46:34.257 INFO kablam! warning: unused `std::result::Result` that must be used Nov 06 11:46:34.257 INFO kablam! --> src/timing.rs:75:9 Nov 06 11:46:34.257 INFO kablam! | Nov 06 11:46:34.257 INFO kablam! 75 | writeln!(f, "=== Timing ==="); Nov 06 11:46:34.257 INFO kablam! | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Nov 06 11:46:34.257 INFO kablam! | Nov 06 11:46:34.257 INFO kablam! = note: this `Result` may be an `Err` variant, which should be handled Nov 06 11:46:34.257 INFO kablam! = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) Nov 06 11:46:34.257 INFO kablam! Nov 06 11:46:34.257 INFO kablam! warning: unused `std::result::Result` that must be used Nov 06 11:46:34.257 INFO kablam! --> src/timing.rs:77:13 Nov 06 11:46:34.257 INFO kablam! | Nov 06 11:46:34.257 INFO kablam! 77 | / writeln!( Nov 06 11:46:34.257 INFO kablam! 78 | | f, Nov 06 11:46:34.257 INFO kablam! 79 | | "{}: {}.{:04}s", Nov 06 11:46:34.257 INFO kablam! 80 | | name, Nov 06 11:46:34.257 INFO kablam! 81 | | timer.duration.as_secs(), Nov 06 11:46:34.257 INFO kablam! 82 | | timer.duration.subsec_nanos() / 1000000 Nov 06 11:46:34.257 INFO kablam! 83 | | ); Nov 06 11:46:34.257 INFO kablam! | |______________^ Nov 06 11:46:34.257 INFO kablam! | Nov 06 11:46:34.257 INFO kablam! = note: this `Result` may be an `Err` variant, which should be handled Nov 06 11:46:34.257 INFO kablam! = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) Nov 06 11:46:34.257 INFO kablam! Nov 06 11:46:34.284 INFO kablam! Finished dev [unoptimized + debuginfo] target(s) in 35.24s Nov 06 11:46:34.288 INFO kablam! su: No module specific data is present Nov 06 11:46:34.678 INFO running `"docker" "rm" "-f" "8a5df717fa98a9ff8fa8ba77690e0220305da6e0795a534006c4b8bc6a3e5280"` Nov 06 11:46:34.818 INFO blam! 8a5df717fa98a9ff8fa8ba77690e0220305da6e0795a534006c4b8bc6a3e5280