Dec 12 22:34:10.075 INFO testing vbo/nnrs against try#aa49d8ef14939ddec0e34b346b60174a5673d48f for pr-56550 Dec 12 22:34:10.076 INFO running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/pr-56550/worker-6/try#aa49d8ef14939ddec0e34b346b60174a5673d48f:/target:rw,Z" "-v" "/mnt/big/crater/work/local/test-source/worker-6/pr-56550/try#aa49d8ef14939ddec0e34b346b60174a5673d48f:/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 +aa49d8ef14939ddec0e34b346b60174a5673d48f-alt build --frozen" "-e" "CARGO_TARGET_DIR=/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/cargo-home" "-e" "RUSTUP_HOME=/rustup-home" "-m" "1536M" "--network" "none" "crater"` Dec 12 22:34:10.679 INFO [stdout] 84c5e093ea4c4407f52a0f8c43dfc8529c74decf601b73d4a0ad5e7bbb0e517f Dec 12 22:34:10.683 INFO running `"docker" "start" "-a" "84c5e093ea4c4407f52a0f8c43dfc8529c74decf601b73d4a0ad5e7bbb0e517f"` Dec 12 22:34:11.849 INFO [stderr] usermod: no changes Dec 12 22:34:12.011 INFO [stderr] Compiling matrixmultiply v0.1.14 Dec 12 22:34:12.011 INFO [stderr] Compiling rawpointer v0.1.0 Dec 12 22:34:12.023 INFO [stderr] Compiling serde v1.0.43 Dec 12 22:34:12.023 INFO [stderr] Compiling proc-macro2 v0.3.7 Dec 12 22:34:12.023 INFO [stderr] Compiling num_cpus v1.8.0 Dec 12 22:34:12.023 INFO [stderr] Compiling clap v2.31.2 Dec 12 22:34:12.023 INFO [stderr] Compiling rand_derive v0.3.1 Dec 12 22:34:16.140 INFO [stderr] Compiling quote v0.5.2 Dec 12 22:34:16.959 INFO [stderr] Compiling syn v0.13.1 Dec 12 22:34:31.507 INFO [stderr] Compiling serde_derive_internals v0.23.1 Dec 12 22:34:33.293 INFO [stderr] Compiling serde_json v1.0.16 Dec 12 22:34:34.403 INFO [stderr] Compiling serde_derive v1.0.43 Dec 12 22:34:40.946 INFO [stderr] Compiling nnrs v0.1.0 (/source) Dec 12 22:34:41.587 INFO [stderr] warning: unused import: `std::time` Dec 12 22:34:41.587 INFO [stderr] --> src/mnist.rs:2:5 Dec 12 22:34:41.587 INFO [stderr] | Dec 12 22:34:41.587 INFO [stderr] 2 | use std::time; Dec 12 22:34:41.587 INFO [stderr] | ^^^^^^^^^ Dec 12 22:34:41.587 INFO [stderr] | Dec 12 22:34:41.587 INFO [stderr] = note: #[warn(unused_imports)] on by default Dec 12 22:34:41.587 INFO [stderr] Dec 12 22:34:41.587 INFO [stderr] warning: unused import: `math` Dec 12 22:34:41.587 INFO [stderr] --> src/mnist.rs:15:5 Dec 12 22:34:41.587 INFO [stderr] | Dec 12 22:34:41.587 INFO [stderr] 15 | use math; Dec 12 22:34:41.587 INFO [stderr] | ^^^^ Dec 12 22:34:41.587 INFO [stderr] Dec 12 22:34:41.587 INFO [stderr] warning: unused import: `math::Matrix` Dec 12 22:34:41.587 INFO [stderr] --> src/mnist.rs:16:5 Dec 12 22:34:41.587 INFO [stderr] | Dec 12 22:34:41.587 INFO [stderr] 16 | use math::Matrix; Dec 12 22:34:41.587 INFO [stderr] | ^^^^^^^^^^^^ Dec 12 22:34:41.587 INFO [stderr] Dec 12 22:34:41.587 INFO [stderr] warning: unused import: `timing` Dec 12 22:34:41.587 INFO [stderr] --> src/mnist.rs:19:5 Dec 12 22:34:41.587 INFO [stderr] | Dec 12 22:34:41.587 INFO [stderr] 19 | use timing; Dec 12 22:34:41.587 INFO [stderr] | ^^^^^^ Dec 12 22:34:41.587 INFO [stderr] Dec 12 22:34:41.587 INFO [stderr] warning: unused import: `std::mem` Dec 12 22:34:41.587 INFO [stderr] --> src/network.rs:4:5 Dec 12 22:34:41.587 INFO [stderr] | Dec 12 22:34:41.587 INFO [stderr] 4 | use std::mem; Dec 12 22:34:41.587 INFO [stderr] | ^^^^^^^^ Dec 12 22:34:41.587 INFO [stderr] Dec 12 22:34:41.587 INFO [stderr] warning: unused import: `timing::Timing` Dec 12 22:34:41.587 INFO [stderr] --> src/parallel_trainer.rs:9:5 Dec 12 22:34:41.587 INFO [stderr] | Dec 12 22:34:41.587 INFO [stderr] 9 | use timing::Timing; Dec 12 22:34:41.587 INFO [stderr] | ^^^^^^^^^^^^^^ Dec 12 22:34:41.587 INFO [stderr] Dec 12 22:34:41.587 INFO [stderr] warning: unused import: `serde_json` Dec 12 22:34:41.587 INFO [stderr] --> src/snake.rs:6:5 Dec 12 22:34:41.587 INFO [stderr] | Dec 12 22:34:41.587 INFO [stderr] 6 | use serde_json; Dec 12 22:34:41.587 INFO [stderr] | ^^^^^^^^^^ Dec 12 22:34:41.587 INFO [stderr] Dec 12 22:34:41.587 INFO [stderr] warning: unused import: `Network` Dec 12 22:34:41.587 INFO [stderr] --> src/snake_nn.rs:4:15 Dec 12 22:34:41.587 INFO [stderr] | Dec 12 22:34:41.655 INFO [stderr] 4 | use network::{Network, NetworkParameters, NetworkPredictor}; Dec 12 22:34:41.655 INFO [stderr] | ^^^^^^^ Dec 12 22:34:41.655 INFO [stderr] Dec 12 22:34:41.655 INFO [stderr] warning: unused imports: `IndependentSample`, `Range` Dec 12 22:34:41.655 INFO [stderr] --> src/snake_nn.rs:7:27 Dec 12 22:34:41.655 INFO [stderr] | Dec 12 22:34:41.655 INFO [stderr] 7 | use rand::distributions::{IndependentSample, Range}; Dec 12 22:34:41.655 INFO [stderr] | ^^^^^^^^^^^^^^^^^ ^^^^^ Dec 12 22:34:41.655 INFO [stderr] Dec 12 22:34:41.655 INFO [stderr] warning: unused import: `std::sync::mpsc` Dec 12 22:34:41.655 INFO [stderr] --> src/snake_nn.rs:18:5 Dec 12 22:34:41.655 INFO [stderr] | Dec 12 22:34:41.655 INFO [stderr] 18 | use std::sync::mpsc; Dec 12 22:34:41.655 INFO [stderr] | ^^^^^^^^^^^^^^^ Dec 12 22:34:41.655 INFO [stderr] Dec 12 22:34:41.655 INFO [stderr] warning: unused imports: `Receiver`, `Sender` Dec 12 22:34:41.655 INFO [stderr] --> src/snake_nn.rs:19:23 Dec 12 22:34:41.655 INFO [stderr] | Dec 12 22:34:41.655 INFO [stderr] 19 | use std::sync::mpsc::{Receiver, Sender}; Dec 12 22:34:41.655 INFO [stderr] | ^^^^^^^^ ^^^^^^ Dec 12 22:34:41.655 INFO [stderr] Dec 12 22:34:41.655 INFO [stderr] warning: unused import: `timing::duration_as_total_nanos` Dec 12 22:34:41.655 INFO [stderr] --> src/snake_nn.rs:22:5 Dec 12 22:34:41.655 INFO [stderr] | Dec 12 22:34:41.655 INFO [stderr] 22 | use timing::duration_as_total_nanos; Dec 12 22:34:41.656 INFO [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Dec 12 22:34:41.656 INFO [stderr] Dec 12 22:34:41.656 INFO [stderr] warning: unnecessary parentheses around `if` condition Dec 12 22:34:41.656 INFO [stderr] --> src/snake_nn.rs:340:8 Dec 12 22:34:41.656 INFO [stderr] | Dec 12 22:34:41.656 INFO [stderr] 340 | if (rng.gen_range(0.0, 1.0) <= random_move_prob) { Dec 12 22:34:41.656 INFO [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses Dec 12 22:34:41.656 INFO [stderr] | Dec 12 22:34:41.656 INFO [stderr] = note: #[warn(unused_parens)] on by default Dec 12 22:34:41.656 INFO [stderr] Dec 12 22:34:41.656 INFO [stderr] warning: unused import: `std::collections::hash_map::Entry` Dec 12 22:34:41.656 INFO [stderr] --> src/timing.rs:2:5 Dec 12 22:34:41.656 INFO [stderr] | Dec 12 22:34:41.656 INFO [stderr] 2 | use std::collections::hash_map::Entry; Dec 12 22:34:41.656 INFO [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Dec 12 22:34:41.656 INFO [stderr] Dec 12 22:34:41.656 INFO [stderr] warning: use of deprecated item 'std::thread::sleep_ms': replaced by `std::thread::sleep` Dec 12 22:34:41.656 INFO [stderr] --> src/snake_nn.rs:176:13 Dec 12 22:34:41.656 INFO [stderr] | Dec 12 22:34:41.656 INFO [stderr] 176 | thread::sleep_ms(SLEEP_INTERVAL_MS); Dec 12 22:34:41.656 INFO [stderr] | ^^^^^^^^^^^^^^^^ Dec 12 22:34:41.656 INFO [stderr] | Dec 12 22:34:41.656 INFO [stderr] = note: #[warn(deprecated)] on by default Dec 12 22:34:41.656 INFO [stderr] Dec 12 22:34:41.656 INFO [stderr] warning: use of deprecated item 'std::thread::sleep_ms': replaced by `std::thread::sleep` Dec 12 22:34:41.656 INFO [stderr] --> src/snake_nn.rs:212:17 Dec 12 22:34:41.656 INFO [stderr] | Dec 12 22:34:41.656 INFO [stderr] 212 | thread::sleep_ms(SLEEP_INTERVAL_MS); Dec 12 22:34:41.656 INFO [stderr] | ^^^^^^^^^^^^^^^^ Dec 12 22:34:41.656 INFO [stderr] Dec 12 22:34:42.083 INFO [stderr] warning: unused import: `rand::Rng` Dec 12 22:34:42.083 INFO [stderr] --> src/snake.rs:1:5 Dec 12 22:34:42.083 INFO [stderr] | Dec 12 22:34:42.083 INFO [stderr] 1 | use rand::Rng; Dec 12 22:34:42.083 INFO [stderr] | ^^^^^^^^^ Dec 12 22:34:42.083 INFO [stderr] Dec 12 22:34:42.159 INFO [stderr] warning: unused variable: `hits` Dec 12 22:34:42.159 INFO [stderr] --> src/mnist.rs:64:13 Dec 12 22:34:42.159 INFO [stderr] | Dec 12 22:34:42.159 INFO [stderr] 64 | let mut hits = 0usize; Dec 12 22:34:42.159 INFO [stderr] | ^^^^ help: consider using `_hits` instead Dec 12 22:34:42.159 INFO [stderr] | Dec 12 22:34:42.159 INFO [stderr] = note: #[warn(unused_variables)] on by default Dec 12 22:34:42.159 INFO [stderr] Dec 12 22:34:42.159 INFO [stderr] warning: unused variable: `predictor` Dec 12 22:34:42.159 INFO [stderr] --> src/mnist.rs:98:30 Dec 12 22:34:42.159 INFO [stderr] | Dec 12 22:34:42.159 INFO [stderr] 98 | let (params, predictor, _) = parallel_trainer.borrow_network_parts(); Dec 12 22:34:42.159 INFO [stderr] | ^^^^^^^^^ help: consider using `_predictor` instead Dec 12 22:34:42.159 INFO [stderr] Dec 12 22:34:42.159 INFO [stderr] warning: unused variable: `log_every_n` Dec 12 22:34:42.159 INFO [stderr] --> src/mnist.rs:35:5 Dec 12 22:34:42.159 INFO [stderr] | Dec 12 22:34:42.159 INFO [stderr] 35 | log_every_n: usize, Dec 12 22:34:42.159 INFO [stderr] | ^^^^^^^^^^^ help: consider using `_log_every_n` instead Dec 12 22:34:42.159 INFO [stderr] Dec 12 22:34:42.159 INFO [stderr] warning: unused variable: `outputs` Dec 12 22:34:42.159 INFO [stderr] --> src/parallel_trainer.rs:150:21 Dec 12 22:34:42.159 INFO [stderr] | Dec 12 22:34:42.159 INFO [stderr] 150 | let outputs = local_nn_predictor Dec 12 22:34:42.159 INFO [stderr] | ^^^^^^^ help: consider using `_outputs` instead Dec 12 22:34:42.159 INFO [stderr] Dec 12 22:34:42.159 INFO [stderr] warning: unused variable: `iters` Dec 12 22:34:42.159 INFO [stderr] --> src/snake.rs:168:21 Dec 12 22:34:42.159 INFO [stderr] | Dec 12 22:34:42.159 INFO [stderr] 168 | let mut iters = 0; Dec 12 22:34:42.159 INFO [stderr] | ^^^^^ help: consider using `_iters` instead Dec 12 22:34:42.159 INFO [stderr] Dec 12 22:34:42.159 INFO [stderr] warning: unused variable: `epoch_no` Dec 12 22:34:42.159 INFO [stderr] --> src/snake_nn.rs:73:9 Dec 12 22:34:42.159 INFO [stderr] | Dec 12 22:34:42.159 INFO [stderr] 73 | for epoch_no in 0..num_epochs { Dec 12 22:34:42.159 INFO [stderr] | ^^^^^^^^ help: consider using `_epoch_no` instead Dec 12 22:34:42.159 INFO [stderr] Dec 12 22:34:42.159 INFO [stderr] warning: unused variable: `predictor` Dec 12 22:34:42.159 INFO [stderr] --> src/snake_nn.rs:90:30 Dec 12 22:34:42.159 INFO [stderr] | Dec 12 22:34:42.159 INFO [stderr] 90 | let (params, predictor, _) = parallel_trainer.borrow_network_parts(); Dec 12 22:34:42.159 INFO [stderr] | ^^^^^^^^^ help: consider using `_predictor` instead Dec 12 22:34:42.159 INFO [stderr] Dec 12 22:34:42.159 INFO [stderr] warning: unused variable: `predictor` Dec 12 22:34:42.159 INFO [stderr] --> src/snake_nn.rs:109:18 Dec 12 22:34:42.159 INFO [stderr] | Dec 12 22:34:42.159 INFO [stderr] 109 | let (params, predictor, _) = parallel_trainer.borrow_network_parts(); Dec 12 22:34:42.159 INFO [stderr] | ^^^^^^^^^ help: consider using `_predictor` instead Dec 12 22:34:42.159 INFO [stderr] Dec 12 22:34:42.159 INFO [stderr] warning: unused variable: `max_gain` Dec 12 22:34:42.159 INFO [stderr] --> src/snake_nn.rs:357:13 Dec 12 22:34:42.159 INFO [stderr] | Dec 12 22:34:42.159 INFO [stderr] 357 | let (i, max_gain) = get_max_with_pos(snake_inputs_gains.as_slice()); Dec 12 22:34:42.159 INFO [stderr] | ^^^^^^^^ help: consider using `_max_gain` instead Dec 12 22:34:42.159 INFO [stderr] Dec 12 22:34:42.159 INFO [stderr] warning: unused variable: `is_next_action_optimal` Dec 12 22:34:42.159 INFO [stderr] --> src/snake_nn.rs:503:13 Dec 12 22:34:42.159 INFO [stderr] | Dec 12 22:34:42.159 INFO [stderr] 503 | let is_next_action_optimal = session[i - 1].is_optimal; Dec 12 22:34:42.159 INFO [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: consider using `_is_next_action_optimal` instead Dec 12 22:34:42.159 INFO [stderr] Dec 12 22:34:42.159 INFO [stderr] warning: unused variable: `i` Dec 12 22:34:42.159 INFO [stderr] --> src/snake_nn.rs:530:9 Dec 12 22:34:42.159 INFO [stderr] | Dec 12 22:34:42.159 INFO [stderr] 530 | for i in 0..MAP_WIDTH * MAP_HEIGHT - 1 { Dec 12 22:34:42.159 INFO [stderr] | ^ help: consider using `_i` instead Dec 12 22:34:42.159 INFO [stderr] Dec 12 22:34:42.159 INFO [stderr] warning: unused variable: `matches` Dec 12 22:34:42.159 INFO [stderr] --> src/main.rs:53:24 Dec 12 22:34:42.159 INFO [stderr] | Dec 12 22:34:42.159 INFO [stderr] 53 | fn execute_mnist_train(matches: &ArgMatches, submatches: &ArgMatches) { Dec 12 22:34:42.159 INFO [stderr] | ^^^^^^^ help: consider using `_matches` instead Dec 12 22:34:42.159 INFO [stderr] Dec 12 22:34:42.159 INFO [stderr] warning: unused variable: `matches` Dec 12 22:34:42.159 INFO [stderr] --> src/main.rs:68:22 Dec 12 22:34:42.159 INFO [stderr] | Dec 12 22:34:42.159 INFO [stderr] 68 | fn execute_snake_new(matches: &ArgMatches, submatches: &ArgMatches) { Dec 12 22:34:42.159 INFO [stderr] | ^^^^^^^ help: consider using `_matches` instead Dec 12 22:34:42.159 INFO [stderr] Dec 12 22:34:42.159 INFO [stderr] warning: unused variable: `matches` Dec 12 22:34:42.159 INFO [stderr] --> src/main.rs:73:24 Dec 12 22:34:42.159 INFO [stderr] | Dec 12 22:34:42.160 INFO [stderr] 73 | fn execute_snake_train(matches: &ArgMatches, submatches: &ArgMatches) { Dec 12 22:34:42.160 INFO [stderr] | ^^^^^^^ help: consider using `_matches` instead Dec 12 22:34:42.160 INFO [stderr] Dec 12 22:34:42.160 INFO [stderr] warning: unused variable: `matches` Dec 12 22:34:42.160 INFO [stderr] --> src/main.rs:93:22 Dec 12 22:34:42.160 INFO [stderr] | Dec 12 22:34:42.160 INFO [stderr] 93 | fn execute_snake_gen(matches: &ArgMatches, submatches: &ArgMatches) { Dec 12 22:34:42.160 INFO [stderr] | ^^^^^^^ help: consider using `_matches` instead Dec 12 22:34:42.160 INFO [stderr] Dec 12 22:34:42.160 INFO [stderr] warning: unused variable: `matches` Dec 12 22:34:42.160 INFO [stderr] --> src/main.rs:101:23 Dec 12 22:34:42.160 INFO [stderr] | Dec 12 22:34:42.160 INFO [stderr] 101 | fn execute_snake_demo(matches: &ArgMatches, submatches: &ArgMatches) { Dec 12 22:34:42.160 INFO [stderr] | ^^^^^^^ help: consider using `_matches` instead Dec 12 22:34:42.160 INFO [stderr] Dec 12 22:34:42.160 INFO [stderr] warning: unused variable: `thread_no` Dec 12 22:34:42.160 INFO [stderr] --> src/parallel_trainer.rs:46:13 Dec 12 22:34:42.160 INFO [stderr] | Dec 12 22:34:42.160 INFO [stderr] 46 | for thread_no in 0..num_threads { Dec 12 22:34:42.160 INFO [stderr] | ^^^^^^^^^ help: consider using `_thread_no` instead Dec 12 22:34:42.160 INFO [stderr] Dec 12 22:34:42.243 INFO [stderr] warning: variable does not need to be mutable Dec 12 22:34:42.243 INFO [stderr] --> src/mnist.rs:64:9 Dec 12 22:34:42.243 INFO [stderr] | Dec 12 22:34:42.243 INFO [stderr] 64 | let mut hits = 0usize; Dec 12 22:34:42.243 INFO [stderr] | ----^^^^ Dec 12 22:34:42.243 INFO [stderr] | | Dec 12 22:34:42.243 INFO [stderr] | help: remove this `mut` Dec 12 22:34:42.243 INFO [stderr] | Dec 12 22:34:42.243 INFO [stderr] = note: #[warn(unused_mut)] on by default Dec 12 22:34:42.243 INFO [stderr] Dec 12 22:34:42.255 INFO [stderr] warning: variable does not need to be mutable Dec 12 22:34:42.255 INFO [stderr] --> src/network.rs:55:13 Dec 12 22:34:42.255 INFO [stderr] | Dec 12 22:34:42.255 INFO [stderr] 55 | let mut nn: Self = serde_json::from_reader(&file).unwrap(); Dec 12 22:34:42.255 INFO [stderr] | ----^^ Dec 12 22:34:42.255 INFO [stderr] | | Dec 12 22:34:42.255 INFO [stderr] | help: remove this `mut` Dec 12 22:34:42.255 INFO [stderr] Dec 12 22:34:42.318 INFO [stderr] warning: variable does not need to be mutable Dec 12 22:34:42.318 INFO [stderr] --> src/parallel_trainer.rs:37:51 Dec 12 22:34:42.318 INFO [stderr] | Dec 12 22:34:42.318 INFO [stderr] 37 | let (mut nn_parameters, mut nn_predictor, mut nn_trainer) = network.as_parts(); Dec 12 22:34:42.318 INFO [stderr] | ----^^^^^^^^^^ Dec 12 22:34:42.318 INFO [stderr] | | Dec 12 22:34:42.318 INFO [stderr] | help: remove this `mut` Dec 12 22:34:42.318 INFO [stderr] Dec 12 22:34:42.318 INFO [stderr] warning: variable does not need to be mutable Dec 12 22:34:42.318 INFO [stderr] --> src/parallel_trainer.rs:37:33 Dec 12 22:34:42.318 INFO [stderr] | Dec 12 22:34:42.318 INFO [stderr] 37 | let (mut nn_parameters, mut nn_predictor, mut nn_trainer) = network.as_parts(); Dec 12 22:34:42.318 INFO [stderr] | ----^^^^^^^^^^^^ Dec 12 22:34:42.318 INFO [stderr] | | Dec 12 22:34:42.318 INFO [stderr] | help: remove this `mut` Dec 12 22:34:42.318 INFO [stderr] Dec 12 22:34:42.318 INFO [stderr] warning: variable does not need to be mutable Dec 12 22:34:42.318 INFO [stderr] --> src/parallel_trainer.rs:37:14 Dec 12 22:34:42.318 INFO [stderr] | Dec 12 22:34:42.318 INFO [stderr] 37 | let (mut nn_parameters, mut nn_predictor, mut nn_trainer) = network.as_parts(); Dec 12 22:34:42.318 INFO [stderr] | ----^^^^^^^^^^^^^ Dec 12 22:34:42.318 INFO [stderr] | | Dec 12 22:34:42.318 INFO [stderr] | help: remove this `mut` Dec 12 22:34:42.318 INFO [stderr] Dec 12 22:34:42.327 INFO [stderr] warning: variable does not need to be mutable Dec 12 22:34:42.327 INFO [stderr] --> src/parallel_trainer.rs:123:5 Dec 12 22:34:42.327 INFO [stderr] | Dec 12 22:34:42.327 INFO [stderr] 123 | mut job_receiver: Arc>>, Dec 12 22:34:42.327 INFO [stderr] | ----^^^^^^^^^^^^ Dec 12 22:34:42.327 INFO [stderr] | | Dec 12 22:34:42.327 INFO [stderr] | help: remove this `mut` Dec 12 22:34:42.327 INFO [stderr] Dec 12 22:34:42.327 INFO [stderr] warning: variable does not need to be mutable Dec 12 22:34:42.327 INFO [stderr] --> src/parallel_trainer.rs:124:5 Dec 12 22:34:42.327 INFO [stderr] | Dec 12 22:34:42.327 INFO [stderr] 124 | mut output_sender: Sender>>, Dec 12 22:34:42.327 INFO [stderr] | ----^^^^^^^^^^^^^ Dec 12 22:34:42.327 INFO [stderr] | | Dec 12 22:34:42.327 INFO [stderr] | help: remove this `mut` Dec 12 22:34:42.327 INFO [stderr] Dec 12 22:34:42.327 INFO [stderr] warning: variable does not need to be mutable Dec 12 22:34:42.327 INFO [stderr] --> src/parallel_trainer.rs:126:5 Dec 12 22:34:42.327 INFO [stderr] | Dec 12 22:34:42.327 INFO [stderr] 126 | mut local_nn_trainer: Arc>, Dec 12 22:34:42.327 INFO [stderr] | ----^^^^^^^^^^^^^^^^ Dec 12 22:34:42.327 INFO [stderr] | | Dec 12 22:34:42.327 INFO [stderr] | help: remove this `mut` Dec 12 22:34:42.327 INFO [stderr] Dec 12 22:34:42.383 INFO [stderr] warning: variable does not need to be mutable Dec 12 22:34:42.383 INFO [stderr] --> src/snake_nn.rs:57:9 Dec 12 22:34:42.383 INFO [stderr] | Dec 12 22:34:42.383 INFO [stderr] 57 | let mut nn = network::Network::load_from_file(model_input_path); Dec 12 22:34:42.383 INFO [stderr] | ----^^ Dec 12 22:34:42.383 INFO [stderr] | | Dec 12 22:34:42.383 INFO [stderr] | help: remove this `mut` Dec 12 22:34:42.383 INFO [stderr] Dec 12 22:34:42.389 INFO [stderr] warning: variable does not need to be mutable Dec 12 22:34:42.389 INFO [stderr] --> src/snake_nn.rs:131:21 Dec 12 22:34:42.389 INFO [stderr] | Dec 12 22:34:42.389 INFO [stderr] 131 | let mut state = GameState { Dec 12 22:34:42.389 INFO [stderr] | ----^^^^^ Dec 12 22:34:42.389 INFO [stderr] | | Dec 12 22:34:42.389 INFO [stderr] | help: remove this `mut` Dec 12 22:34:42.389 INFO [stderr] Dec 12 22:34:42.389 INFO [stderr] warning: variable does not need to be mutable Dec 12 22:34:42.389 INFO [stderr] --> src/snake_nn.rs:115:9 Dec 12 22:34:42.389 INFO [stderr] | Dec 12 22:34:42.389 INFO [stderr] 115 | let mut nn = network::Network::load_from_file(model_path); Dec 12 22:34:42.389 INFO [stderr] | ----^^ Dec 12 22:34:42.389 INFO [stderr] | | Dec 12 22:34:42.389 INFO [stderr] | help: remove this `mut` Dec 12 22:34:42.389 INFO [stderr] Dec 12 22:34:42.431 INFO [stderr] warning: method is never used: `new_same_dim` Dec 12 22:34:42.431 INFO [stderr] --> src/math.rs:21:5 Dec 12 22:34:42.431 INFO [stderr] | Dec 12 22:34:42.431 INFO [stderr] 21 | pub fn new_same_dim(m: &Matrix) -> Self { Dec 12 22:34:42.431 INFO [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Dec 12 22:34:42.431 INFO [stderr] | Dec 12 22:34:42.431 INFO [stderr] = note: #[warn(dead_code)] on by default Dec 12 22:34:42.431 INFO [stderr] Dec 12 22:34:42.431 INFO [stderr] warning: method is never used: `from_slice` Dec 12 22:34:42.431 INFO [stderr] --> src/math.rs:27:5 Dec 12 22:34:42.431 INFO [stderr] | Dec 12 22:34:42.431 INFO [stderr] 27 | pub fn from_slice(rows: usize, cols: usize, content: &[f64]) -> Self { Dec 12 22:34:42.431 INFO [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Dec 12 22:34:42.431 INFO [stderr] Dec 12 22:34:42.431 INFO [stderr] warning: method is never used: `dot_vec` Dec 12 22:34:42.431 INFO [stderr] --> src/math.rs:71:5 Dec 12 22:34:42.431 INFO [stderr] | Dec 12 22:34:42.431 INFO [stderr] 71 | pub fn dot_vec(&self, vec: &Vector, res: &mut Vector) { Dec 12 22:34:42.431 INFO [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Dec 12 22:34:42.431 INFO [stderr] Dec 12 22:34:42.431 INFO [stderr] warning: method is never used: `transpose` Dec 12 22:34:42.431 INFO [stderr] --> src/math.rs:155:5 Dec 12 22:34:42.431 INFO [stderr] | Dec 12 22:34:42.431 INFO [stderr] 155 | pub fn transpose(&self, res: &mut Matrix) { Dec 12 22:34:42.431 INFO [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Dec 12 22:34:42.431 INFO [stderr] Dec 12 22:34:42.431 INFO [stderr] warning: method is never used: `from_slice` Dec 12 22:34:42.431 INFO [stderr] --> src/math.rs:241:5 Dec 12 22:34:42.431 INFO [stderr] | Dec 12 22:34:42.431 INFO [stderr] 241 | pub fn from_slice(content: &[f64]) -> Self { Dec 12 22:34:42.431 INFO [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Dec 12 22:34:42.431 INFO [stderr] Dec 12 22:34:42.431 INFO [stderr] warning: method is never used: `empty` Dec 12 22:34:42.431 INFO [stderr] --> src/math.rs:248:5 Dec 12 22:34:42.431 INFO [stderr] | Dec 12 22:34:42.431 INFO [stderr] 248 | pub fn empty() -> Self { Dec 12 22:34:42.431 INFO [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ Dec 12 22:34:42.431 INFO [stderr] Dec 12 22:34:42.431 INFO [stderr] warning: method is never used: `init_rand` Dec 12 22:34:42.431 INFO [stderr] --> src/math.rs:267:5 Dec 12 22:34:42.431 INFO [stderr] | Dec 12 22:34:42.431 INFO [stderr] 267 | pub fn init_rand(mut self) -> Self { Dec 12 22:34:42.431 INFO [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Dec 12 22:34:42.431 INFO [stderr] Dec 12 22:34:42.431 INFO [stderr] warning: method is never used: `copy_from` Dec 12 22:34:42.431 INFO [stderr] --> src/math.rs:286:5 Dec 12 22:34:42.431 INFO [stderr] | Dec 12 22:34:42.431 INFO [stderr] 286 | pub fn copy_from(&mut self, v: &Vector) { Dec 12 22:34:42.431 INFO [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Dec 12 22:34:42.431 INFO [stderr] Dec 12 22:34:42.431 INFO [stderr] warning: method is never used: `add` Dec 12 22:34:42.431 INFO [stderr] --> src/math.rs:322:5 Dec 12 22:34:42.431 INFO [stderr] | Dec 12 22:34:42.431 INFO [stderr] 322 | pub fn add(&mut self, v: &Vector) { Dec 12 22:34:42.431 INFO [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Dec 12 22:34:42.431 INFO [stderr] Dec 12 22:34:42.431 INFO [stderr] warning: method is never used: `fill_rand` Dec 12 22:34:42.431 INFO [stderr] --> src/math.rs:335:5 Dec 12 22:34:42.431 INFO [stderr] | Dec 12 22:34:42.431 INFO [stderr] 335 | pub fn fill_rand(&mut self) { Dec 12 22:34:42.431 INFO [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ Dec 12 22:34:42.431 INFO [stderr] Dec 12 22:34:42.431 INFO [stderr] warning: constant item is never used: `NANOS_IN_SECOND` Dec 12 22:34:42.431 INFO [stderr] --> src/mnist.rs:28:1 Dec 12 22:34:42.431 INFO [stderr] | Dec 12 22:34:42.431 INFO [stderr] 28 | const NANOS_IN_SECOND: u64 = 1_000_000_000; Dec 12 22:34:42.431 INFO [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Dec 12 22:34:42.431 INFO [stderr] Dec 12 22:34:42.431 INFO [stderr] warning: method is never used: `get_layer_mut` Dec 12 22:34:42.431 INFO [stderr] --> src/network.rs:46:5 Dec 12 22:34:42.431 INFO [stderr] | Dec 12 22:34:42.431 INFO [stderr] 46 | fn get_layer_mut(&mut self, id: LayerID) -> &mut Layer { Dec 12 22:34:42.431 INFO [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Dec 12 22:34:42.431 INFO [stderr] Dec 12 22:34:42.431 INFO [stderr] warning: method is never used: `calc_layers_order` Dec 12 22:34:42.431 INFO [stderr] --> src/network.rs:462:5 Dec 12 22:34:42.431 INFO [stderr] | Dec 12 22:34:42.431 INFO [stderr] 462 | fn calc_layers_order(&self) -> Vec { Dec 12 22:34:42.431 INFO [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Dec 12 22:34:42.431 INFO [stderr] Dec 12 22:34:42.431 INFO [stderr] warning: method is never used: `predict` Dec 12 22:34:42.431 INFO [stderr] --> src/network.rs:466:5 Dec 12 22:34:42.431 INFO [stderr] | Dec 12 22:34:42.432 INFO [stderr] 466 | pub fn predict(&mut self, input_data: &[f64]) -> &Vector { Dec 12 22:34:42.432 INFO [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Dec 12 22:34:42.432 INFO [stderr] Dec 12 22:34:42.432 INFO [stderr] warning: method is never used: `backward_propagation` Dec 12 22:34:42.432 INFO [stderr] --> src/network.rs:470:5 Dec 12 22:34:42.432 INFO [stderr] | Dec 12 22:34:42.432 INFO [stderr] 470 | pub fn backward_propagation(&mut self, true_outputs: &Vector) { Dec 12 22:34:42.432 INFO [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Dec 12 22:34:42.432 INFO [stderr] Dec 12 22:34:42.432 INFO [stderr] warning: method is never used: `apply_batch` Dec 12 22:34:42.432 INFO [stderr] --> src/network.rs:530:5 Dec 12 22:34:42.432 INFO [stderr] | Dec 12 22:34:42.432 INFO [stderr] 530 | pub fn apply_batch(&mut self) { Dec 12 22:34:42.432 INFO [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Dec 12 22:34:42.432 INFO [stderr] Dec 12 22:34:42.432 INFO [stderr] warning: field is never used: `shared_training_data` Dec 12 22:34:42.432 INFO [stderr] --> src/parallel_trainer.rs:22:5 Dec 12 22:34:42.432 INFO [stderr] | Dec 12 22:34:42.432 INFO [stderr] 22 | shared_training_data: Arc, Dec 12 22:34:42.432 INFO [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Dec 12 22:34:42.432 INFO [stderr] Dec 12 22:34:42.432 INFO [stderr] warning: field is never used: `job_receiver` Dec 12 22:34:42.432 INFO [stderr] --> src/parallel_trainer.rs:29:5 Dec 12 22:34:42.432 INFO [stderr] | Dec 12 22:34:42.432 INFO [stderr] 29 | job_receiver: Arc>>, Dec 12 22:34:42.432 INFO [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Dec 12 22:34:42.432 INFO [stderr] Dec 12 22:34:42.432 INFO [stderr] warning: field is never used: `output_sender` Dec 12 22:34:42.432 INFO [stderr] --> src/parallel_trainer.rs:30:5 Dec 12 22:34:42.432 INFO [stderr] | Dec 12 22:34:42.432 INFO [stderr] 30 | output_sender: Sender>>, Dec 12 22:34:42.432 INFO [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Dec 12 22:34:42.432 INFO [stderr] Dec 12 22:34:42.432 INFO [stderr] warning: field is never used: `join_handles` Dec 12 22:34:42.432 INFO [stderr] --> src/parallel_trainer.rs:32:5 Dec 12 22:34:42.432 INFO [stderr] | Dec 12 22:34:42.432 INFO [stderr] 32 | join_handles: Vec>, Dec 12 22:34:42.432 INFO [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Dec 12 22:34:42.432 INFO [stderr] Dec 12 22:34:42.432 INFO [stderr] warning: function is never used: `teach_nn` Dec 12 22:34:42.432 INFO [stderr] --> src/snake_nn.rs:384:1 Dec 12 22:34:42.432 INFO [stderr] | Dec 12 22:34:42.432 INFO [stderr] 384 | / fn teach_nn( Dec 12 22:34:42.432 INFO [stderr] 385 | | nn: &mut network::Network, Dec 12 22:34:42.432 INFO [stderr] 386 | | state: &GameState, Dec 12 22:34:42.432 INFO [stderr] 387 | | snake_input: SnakeInput, Dec 12 22:34:42.432 INFO [stderr] ... | Dec 12 22:34:42.432 INFO [stderr] 398 | | nn.backward_propagation(&true_output_vec); Dec 12 22:34:42.432 INFO [stderr] 399 | | } Dec 12 22:34:42.432 INFO [stderr] | |_^ Dec 12 22:34:42.432 INFO [stderr] Dec 12 22:34:42.432 INFO [stderr] warning: method is never used: `elapsed` Dec 12 22:34:42.432 INFO [stderr] --> src/timing.rs:46:5 Dec 12 22:34:42.432 INFO [stderr] | Dec 12 22:34:42.432 INFO [stderr] 46 | pub fn elapsed(&self, name: &str) -> time::Duration { Dec 12 22:34:42.432 INFO [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Dec 12 22:34:42.432 INFO [stderr] Dec 12 22:34:42.443 INFO [stderr] warning: unused `std::result::Result` that must be used Dec 12 22:34:42.443 INFO [stderr] --> src/parallel_trainer.rs:85:13 Dec 12 22:34:42.443 INFO [stderr] | Dec 12 22:34:42.443 INFO [stderr] 85 | / self.job_sender.send(TrainingJob { Dec 12 22:34:42.443 INFO [stderr] 86 | | examples_indices: chunk, Dec 12 22:34:42.443 INFO [stderr] 87 | | network_parameters: self.shared_nn_parameters.clone(), Dec 12 22:34:42.443 INFO [stderr] 88 | | }); Dec 12 22:34:42.443 INFO [stderr] | |_______________^ Dec 12 22:34:42.443 INFO [stderr] | Dec 12 22:34:42.443 INFO [stderr] = note: #[warn(unused_must_use)] on by default Dec 12 22:34:42.443 INFO [stderr] = note: this `Result` may be an `Err` variant, which should be handled Dec 12 22:34:42.443 INFO [stderr] Dec 12 22:34:42.443 INFO [stderr] warning: unused `std::result::Result` that must be used Dec 12 22:34:42.443 INFO [stderr] --> src/parallel_trainer.rs:160:9 Dec 12 22:34:42.443 INFO [stderr] | Dec 12 22:34:42.443 INFO [stderr] 160 | output_sender.send(local_nn_trainer.clone()); Dec 12 22:34:42.443 INFO [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Dec 12 22:34:42.443 INFO [stderr] | Dec 12 22:34:42.443 INFO [stderr] = note: this `Result` may be an `Err` variant, which should be handled Dec 12 22:34:42.443 INFO [stderr] Dec 12 22:34:42.443 INFO [stderr] warning: unused `std::result::Result` that must be used Dec 12 22:34:42.443 INFO [stderr] --> src/snake.rs:118:9 Dec 12 22:34:42.443 INFO [stderr] | Dec 12 22:34:42.443 INFO [stderr] 118 | writer.write("\n".as_bytes()); Dec 12 22:34:42.443 INFO [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Dec 12 22:34:42.443 INFO [stderr] | Dec 12 22:34:42.443 INFO [stderr] = note: this `Result` may be an `Err` variant, which should be handled Dec 12 22:34:42.444 INFO [stderr] Dec 12 22:34:42.444 INFO [stderr] warning: unused `std::result::Result` that must be used Dec 12 22:34:42.444 INFO [stderr] --> src/snake.rs:120:5 Dec 12 22:34:42.444 INFO [stderr] | Dec 12 22:34:42.444 INFO [stderr] 120 | writer.flush(); Dec 12 22:34:42.444 INFO [stderr] | ^^^^^^^^^^^^^^^ Dec 12 22:34:42.444 INFO [stderr] | Dec 12 22:34:42.444 INFO [stderr] = note: this `Result` may be an `Err` variant, which should be handled Dec 12 22:34:42.444 INFO [stderr] Dec 12 22:34:42.444 INFO [stderr] warning: unused `std::result::Result` that must be used Dec 12 22:34:42.444 INFO [stderr] --> src/snake.rs:131:5 Dec 12 22:34:42.444 INFO [stderr] | Dec 12 22:34:42.444 INFO [stderr] 131 | writer.write(character.as_bytes()); Dec 12 22:34:42.444 INFO [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Dec 12 22:34:42.444 INFO [stderr] | Dec 12 22:34:42.444 INFO [stderr] = note: this `Result` may be an `Err` variant, which should be handled Dec 12 22:34:42.444 INFO [stderr] Dec 12 22:34:42.444 INFO [stderr] warning: unused `std::result::Result` that must be used Dec 12 22:34:42.444 INFO [stderr] --> src/snake_nn.rs:140:21 Dec 12 22:34:42.444 INFO [stderr] | Dec 12 22:34:42.444 INFO [stderr] 140 | write!(training_data_file, "\n"); Dec 12 22:34:42.444 INFO [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Dec 12 22:34:42.444 INFO [stderr] | Dec 12 22:34:42.444 INFO [stderr] = note: this `Result` may be an `Err` variant, which should be handled Dec 12 22:34:42.444 INFO [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) Dec 12 22:34:42.444 INFO [stderr] Dec 12 22:34:42.444 INFO [stderr] warning: unused `std::result::Result` that must be used Dec 12 22:34:42.444 INFO [stderr] --> src/snake_nn.rs:150:9 Dec 12 22:34:42.444 INFO [stderr] | Dec 12 22:34:42.444 INFO [stderr] 150 | jh.join(); Dec 12 22:34:42.444 INFO [stderr] | ^^^^^^^^^^ Dec 12 22:34:42.444 INFO [stderr] | Dec 12 22:34:42.444 INFO [stderr] = note: this `Result` may be an `Err` variant, which should be handled Dec 12 22:34:42.444 INFO [stderr] Dec 12 22:34:42.444 INFO [stderr] warning: the `game_over:` in this pattern is redundant Dec 12 22:34:42.444 INFO [stderr] --> src/snake_nn.rs:203:17 Dec 12 22:34:42.444 INFO [stderr] | Dec 12 22:34:42.444 INFO [stderr] 203 | game_over: game_over, Dec 12 22:34:42.444 INFO [stderr] | ----------^^^^^^^^^^ Dec 12 22:34:42.444 INFO [stderr] | | Dec 12 22:34:42.444 INFO [stderr] | help: remove this Dec 12 22:34:42.447 INFO [stderr] | Dec 12 22:34:42.447 INFO [stderr] = note: #[warn(non_shorthand_field_patterns)] on by default Dec 12 22:34:42.447 INFO [stderr] Dec 12 22:34:42.447 INFO [stderr] warning: the `game_over:` in this pattern is redundant Dec 12 22:34:42.447 INFO [stderr] --> src/snake_nn.rs:271:13 Dec 12 22:34:42.447 INFO [stderr] | Dec 12 22:34:42.447 INFO [stderr] 271 | game_over: game_over, Dec 12 22:34:42.447 INFO [stderr] | ----------^^^^^^^^^^ Dec 12 22:34:42.447 INFO [stderr] | | Dec 12 22:34:42.447 INFO [stderr] | help: remove this Dec 12 22:34:42.447 INFO [stderr] Dec 12 22:34:42.447 INFO [stderr] warning: the `game_over:` in this pattern is redundant Dec 12 22:34:42.447 INFO [stderr] --> src/snake_nn.rs:308:17 Dec 12 22:34:42.447 INFO [stderr] | Dec 12 22:34:42.447 INFO [stderr] 308 | game_over: game_over, Dec 12 22:34:42.447 INFO [stderr] | ----------^^^^^^^^^^ Dec 12 22:34:42.447 INFO [stderr] | | Dec 12 22:34:42.447 INFO [stderr] | help: remove this Dec 12 22:34:42.447 INFO [stderr] Dec 12 22:34:42.447 INFO [stderr] warning: unused attribute Dec 12 22:34:42.447 INFO [stderr] --> src/snake_nn.rs:1:1 Dec 12 22:34:42.447 INFO [stderr] | Dec 12 22:34:42.447 INFO [stderr] 1 | #![feature(test)] Dec 12 22:34:42.447 INFO [stderr] | ^^^^^^^^^^^^^^^^^ Dec 12 22:34:42.447 INFO [stderr] | Dec 12 22:34:42.447 INFO [stderr] = note: #[warn(unused_attributes)] on by default Dec 12 22:34:42.447 INFO [stderr] Dec 12 22:34:42.447 INFO [stderr] warning: crate-level attribute should be in the root module Dec 12 22:34:42.447 INFO [stderr] --> src/snake_nn.rs:1:1 Dec 12 22:34:42.447 INFO [stderr] | Dec 12 22:34:42.447 INFO [stderr] 1 | #![feature(test)] Dec 12 22:34:42.447 INFO [stderr] | ^^^^^^^^^^^^^^^^^ Dec 12 22:34:42.447 INFO [stderr] Dec 12 22:34:42.447 INFO [stderr] warning: unused `std::result::Result` that must be used Dec 12 22:34:42.447 INFO [stderr] --> src/timing.rs:75:9 Dec 12 22:34:42.447 INFO [stderr] | Dec 12 22:34:42.447 INFO [stderr] 75 | writeln!(f, "=== Timing ==="); Dec 12 22:34:42.447 INFO [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Dec 12 22:34:42.447 INFO [stderr] | Dec 12 22:34:42.447 INFO [stderr] = note: this `Result` may be an `Err` variant, which should be handled Dec 12 22:34:42.447 INFO [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) Dec 12 22:34:42.447 INFO [stderr] Dec 12 22:34:42.447 INFO [stderr] warning: unused `std::result::Result` that must be used Dec 12 22:34:42.447 INFO [stderr] --> src/timing.rs:77:13 Dec 12 22:34:42.447 INFO [stderr] | Dec 12 22:34:42.447 INFO [stderr] 77 | / writeln!( Dec 12 22:34:42.447 INFO [stderr] 78 | | f, Dec 12 22:34:42.447 INFO [stderr] 79 | | "{}: {}.{:04}s", Dec 12 22:34:42.447 INFO [stderr] 80 | | name, Dec 12 22:34:42.447 INFO [stderr] 81 | | timer.duration.as_secs(), Dec 12 22:34:42.447 INFO [stderr] 82 | | timer.duration.subsec_nanos() / 1000000 Dec 12 22:34:42.447 INFO [stderr] 83 | | ); Dec 12 22:34:42.447 INFO [stderr] | |______________^ Dec 12 22:34:42.447 INFO [stderr] | Dec 12 22:34:42.447 INFO [stderr] = note: this `Result` may be an `Err` variant, which should be handled Dec 12 22:34:42.447 INFO [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) Dec 12 22:34:42.448 INFO [stderr] Dec 12 22:34:45.692 INFO [stderr] Finished dev [unoptimized + debuginfo] target(s) in 33.82s Dec 12 22:34:45.699 INFO [stderr] su: No module specific data is present Dec 12 22:34:45.994 INFO running `"docker" "inspect" "84c5e093ea4c4407f52a0f8c43dfc8529c74decf601b73d4a0ad5e7bbb0e517f"` Dec 12 22:34:46.186 INFO running `"docker" "rm" "-f" "84c5e093ea4c4407f52a0f8c43dfc8529c74decf601b73d4a0ad5e7bbb0e517f"` Dec 12 22:34:46.384 INFO [stdout] 84c5e093ea4c4407f52a0f8c43dfc8529c74decf601b73d4a0ad5e7bbb0e517f Dec 12 22:34:46.385 INFO running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/pr-56550/worker-6/try#aa49d8ef14939ddec0e34b346b60174a5673d48f:/target:rw,Z" "-v" "/mnt/big/crater/work/local/test-source/worker-6/pr-56550/try#aa49d8ef14939ddec0e34b346b60174a5673d48f:/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 +aa49d8ef14939ddec0e34b346b60174a5673d48f-alt test --frozen --no-run" "-e" "CARGO_TARGET_DIR=/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/cargo-home" "-e" "RUSTUP_HOME=/rustup-home" "-m" "1536M" "--network" "none" "crater"` Dec 12 22:34:46.644 INFO [stdout] 4f89451da7903cbe071cadbd417fd2a91196242b7560f04b4a35625d8bf9ab9d Dec 12 22:34:46.649 INFO running `"docker" "start" "-a" "4f89451da7903cbe071cadbd417fd2a91196242b7560f04b4a35625d8bf9ab9d"` Dec 12 22:34:47.219 INFO [stderr] usermod: no changes Dec 12 22:34:47.270 INFO [stderr] Compiling nnrs v0.1.0 (/source) Dec 12 22:34:47.940 INFO [stderr] warning: unused import: `std::time` Dec 12 22:34:47.940 INFO [stderr] --> src/mnist.rs:2:5 Dec 12 22:34:47.940 INFO [stderr] | Dec 12 22:34:47.940 INFO [stderr] 2 | use std::time; Dec 12 22:34:47.940 INFO [stderr] | ^^^^^^^^^ Dec 12 22:34:47.940 INFO [stderr] | Dec 12 22:34:47.940 INFO [stderr] = note: #[warn(unused_imports)] on by default Dec 12 22:34:47.940 INFO [stderr] Dec 12 22:34:47.940 INFO [stderr] warning: unused import: `math` Dec 12 22:34:47.940 INFO [stderr] --> src/mnist.rs:15:5 Dec 12 22:34:47.940 INFO [stderr] | Dec 12 22:34:47.940 INFO [stderr] 15 | use math; Dec 12 22:34:47.940 INFO [stderr] | ^^^^ Dec 12 22:34:47.940 INFO [stderr] Dec 12 22:34:47.940 INFO [stderr] warning: unused import: `math::Matrix` Dec 12 22:34:47.940 INFO [stderr] --> src/mnist.rs:16:5 Dec 12 22:34:47.940 INFO [stderr] | Dec 12 22:34:47.940 INFO [stderr] 16 | use math::Matrix; Dec 12 22:34:47.940 INFO [stderr] | ^^^^^^^^^^^^ Dec 12 22:34:47.940 INFO [stderr] Dec 12 22:34:47.941 INFO [stderr] warning: unused import: `timing` Dec 12 22:34:47.941 INFO [stderr] --> src/mnist.rs:19:5 Dec 12 22:34:47.941 INFO [stderr] | Dec 12 22:34:47.941 INFO [stderr] 19 | use timing; Dec 12 22:34:47.941 INFO [stderr] | ^^^^^^ Dec 12 22:34:47.941 INFO [stderr] Dec 12 22:34:47.941 INFO [stderr] warning: unused import: `std::mem` Dec 12 22:34:47.941 INFO [stderr] --> src/network.rs:4:5 Dec 12 22:34:47.941 INFO [stderr] | Dec 12 22:34:47.941 INFO [stderr] 4 | use std::mem; Dec 12 22:34:47.941 INFO [stderr] | ^^^^^^^^ Dec 12 22:34:47.941 INFO [stderr] Dec 12 22:34:47.941 INFO [stderr] warning: unused import: `timing::Timing` Dec 12 22:34:47.941 INFO [stderr] --> src/parallel_trainer.rs:9:5 Dec 12 22:34:47.941 INFO [stderr] | Dec 12 22:34:47.941 INFO [stderr] 9 | use timing::Timing; Dec 12 22:34:47.941 INFO [stderr] | ^^^^^^^^^^^^^^ Dec 12 22:34:47.941 INFO [stderr] Dec 12 22:34:47.941 INFO [stderr] warning: unused import: `serde_json` Dec 12 22:34:47.941 INFO [stderr] --> src/snake.rs:6:5 Dec 12 22:34:47.941 INFO [stderr] | Dec 12 22:34:47.941 INFO [stderr] 6 | use serde_json; Dec 12 22:34:47.941 INFO [stderr] | ^^^^^^^^^^ Dec 12 22:34:47.941 INFO [stderr] Dec 12 22:34:47.941 INFO [stderr] warning: unused import: `Network` Dec 12 22:34:47.942 INFO [stderr] --> src/snake_nn.rs:4:15 Dec 12 22:34:47.942 INFO [stderr] | Dec 12 22:34:47.942 INFO [stderr] 4 | use network::{Network, NetworkParameters, NetworkPredictor}; Dec 12 22:34:47.942 INFO [stderr] | ^^^^^^^ Dec 12 22:34:47.942 INFO [stderr] Dec 12 22:34:47.942 INFO [stderr] warning: unused imports: `IndependentSample`, `Range` Dec 12 22:34:47.942 INFO [stderr] --> src/snake_nn.rs:7:27 Dec 12 22:34:47.942 INFO [stderr] | Dec 12 22:34:47.942 INFO [stderr] 7 | use rand::distributions::{IndependentSample, Range}; Dec 12 22:34:47.942 INFO [stderr] | ^^^^^^^^^^^^^^^^^ ^^^^^ Dec 12 22:34:47.942 INFO [stderr] Dec 12 22:34:47.942 INFO [stderr] warning: unused import: `std::sync::mpsc` Dec 12 22:34:47.942 INFO [stderr] --> src/snake_nn.rs:18:5 Dec 12 22:34:47.942 INFO [stderr] | Dec 12 22:34:47.942 INFO [stderr] 18 | use std::sync::mpsc; Dec 12 22:34:47.942 INFO [stderr] | ^^^^^^^^^^^^^^^ Dec 12 22:34:47.942 INFO [stderr] Dec 12 22:34:47.942 INFO [stderr] warning: unused imports: `Receiver`, `Sender` Dec 12 22:34:47.942 INFO [stderr] --> src/snake_nn.rs:19:23 Dec 12 22:34:47.942 INFO [stderr] | Dec 12 22:34:47.942 INFO [stderr] 19 | use std::sync::mpsc::{Receiver, Sender}; Dec 12 22:34:47.942 INFO [stderr] | ^^^^^^^^ ^^^^^^ Dec 12 22:34:47.942 INFO [stderr] Dec 12 22:34:47.942 INFO [stderr] warning: unused import: `timing::duration_as_total_nanos` Dec 12 22:34:47.942 INFO [stderr] --> src/snake_nn.rs:22:5 Dec 12 22:34:47.942 INFO [stderr] | Dec 12 22:34:47.942 INFO [stderr] 22 | use timing::duration_as_total_nanos; Dec 12 22:34:47.942 INFO [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Dec 12 22:34:47.942 INFO [stderr] Dec 12 22:34:47.942 INFO [stderr] warning: unnecessary parentheses around `if` condition Dec 12 22:34:47.942 INFO [stderr] --> src/snake_nn.rs:340:8 Dec 12 22:34:47.942 INFO [stderr] | Dec 12 22:34:47.942 INFO [stderr] 340 | if (rng.gen_range(0.0, 1.0) <= random_move_prob) { Dec 12 22:34:47.942 INFO [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses Dec 12 22:34:47.942 INFO [stderr] | Dec 12 22:34:47.942 INFO [stderr] = note: #[warn(unused_parens)] on by default Dec 12 22:34:47.942 INFO [stderr] Dec 12 22:34:47.942 INFO [stderr] warning: unused import: `std::collections::hash_map::Entry` Dec 12 22:34:47.942 INFO [stderr] --> src/timing.rs:2:5 Dec 12 22:34:47.942 INFO [stderr] | Dec 12 22:34:47.942 INFO [stderr] 2 | use std::collections::hash_map::Entry; Dec 12 22:34:47.942 INFO [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Dec 12 22:34:47.942 INFO [stderr] Dec 12 22:34:48.007 INFO [stderr] warning: use of deprecated item 'std::thread::sleep_ms': replaced by `std::thread::sleep` Dec 12 22:34:48.007 INFO [stderr] --> src/snake_nn.rs:176:13 Dec 12 22:34:48.007 INFO [stderr] | Dec 12 22:34:48.007 INFO [stderr] 176 | thread::sleep_ms(SLEEP_INTERVAL_MS); Dec 12 22:34:48.007 INFO [stderr] | ^^^^^^^^^^^^^^^^ Dec 12 22:34:48.007 INFO [stderr] | Dec 12 22:34:48.007 INFO [stderr] = note: #[warn(deprecated)] on by default Dec 12 22:34:48.083 INFO [stderr] Dec 12 22:34:48.084 INFO [stderr] warning: use of deprecated item 'std::thread::sleep_ms': replaced by `std::thread::sleep` Dec 12 22:34:48.084 INFO [stderr] --> src/snake_nn.rs:212:17 Dec 12 22:34:48.084 INFO [stderr] | Dec 12 22:34:48.084 INFO [stderr] 212 | thread::sleep_ms(SLEEP_INTERVAL_MS); Dec 12 22:34:48.084 INFO [stderr] | ^^^^^^^^^^^^^^^^ Dec 12 22:34:48.084 INFO [stderr] Dec 12 22:34:48.598 INFO [stderr] warning: unused import: `rand::Rng` Dec 12 22:34:48.599 INFO [stderr] --> src/snake.rs:1:5 Dec 12 22:34:48.599 INFO [stderr] | Dec 12 22:34:48.599 INFO [stderr] 1 | use rand::Rng; Dec 12 22:34:48.599 INFO [stderr] | ^^^^^^^^^ Dec 12 22:34:48.599 INFO [stderr] Dec 12 22:34:48.671 INFO [stderr] warning: unused variable: `hits` Dec 12 22:34:48.671 INFO [stderr] --> src/mnist.rs:64:13 Dec 12 22:34:48.671 INFO [stderr] | Dec 12 22:34:48.671 INFO [stderr] 64 | let mut hits = 0usize; Dec 12 22:34:48.671 INFO [stderr] | ^^^^ help: consider using `_hits` instead Dec 12 22:34:48.671 INFO [stderr] | Dec 12 22:34:48.671 INFO [stderr] = note: #[warn(unused_variables)] on by default Dec 12 22:34:48.671 INFO [stderr] Dec 12 22:34:48.671 INFO [stderr] warning: unused variable: `predictor` Dec 12 22:34:48.671 INFO [stderr] --> src/mnist.rs:98:30 Dec 12 22:34:48.671 INFO [stderr] | Dec 12 22:34:48.671 INFO [stderr] 98 | let (params, predictor, _) = parallel_trainer.borrow_network_parts(); Dec 12 22:34:48.671 INFO [stderr] | ^^^^^^^^^ help: consider using `_predictor` instead Dec 12 22:34:48.671 INFO [stderr] Dec 12 22:34:48.671 INFO [stderr] warning: unused variable: `log_every_n` Dec 12 22:34:48.671 INFO [stderr] --> src/mnist.rs:35:5 Dec 12 22:34:48.671 INFO [stderr] | Dec 12 22:34:48.671 INFO [stderr] 35 | log_every_n: usize, Dec 12 22:34:48.671 INFO [stderr] | ^^^^^^^^^^^ help: consider using `_log_every_n` instead Dec 12 22:34:48.671 INFO [stderr] Dec 12 22:34:48.671 INFO [stderr] warning: unused variable: `outputs` Dec 12 22:34:48.671 INFO [stderr] --> src/parallel_trainer.rs:150:21 Dec 12 22:34:48.671 INFO [stderr] | Dec 12 22:34:48.671 INFO [stderr] 150 | let outputs = local_nn_predictor Dec 12 22:34:48.671 INFO [stderr] | ^^^^^^^ help: consider using `_outputs` instead Dec 12 22:34:48.671 INFO [stderr] Dec 12 22:34:48.671 INFO [stderr] warning: unused variable: `iters` Dec 12 22:34:48.671 INFO [stderr] --> src/snake.rs:168:21 Dec 12 22:34:48.671 INFO [stderr] | Dec 12 22:34:48.671 INFO [stderr] 168 | let mut iters = 0; Dec 12 22:34:48.671 INFO [stderr] | ^^^^^ help: consider using `_iters` instead Dec 12 22:34:48.671 INFO [stderr] Dec 12 22:34:48.671 INFO [stderr] warning: unused variable: `epoch_no` Dec 12 22:34:48.671 INFO [stderr] --> src/snake_nn.rs:73:9 Dec 12 22:34:48.671 INFO [stderr] | Dec 12 22:34:48.671 INFO [stderr] 73 | for epoch_no in 0..num_epochs { Dec 12 22:34:48.671 INFO [stderr] | ^^^^^^^^ help: consider using `_epoch_no` instead Dec 12 22:34:48.671 INFO [stderr] Dec 12 22:34:48.671 INFO [stderr] warning: unused variable: `predictor` Dec 12 22:34:48.671 INFO [stderr] --> src/snake_nn.rs:90:30 Dec 12 22:34:48.671 INFO [stderr] | Dec 12 22:34:48.671 INFO [stderr] 90 | let (params, predictor, _) = parallel_trainer.borrow_network_parts(); Dec 12 22:34:48.671 INFO [stderr] | ^^^^^^^^^ help: consider using `_predictor` instead Dec 12 22:34:48.671 INFO [stderr] Dec 12 22:34:48.671 INFO [stderr] warning: unused variable: `predictor` Dec 12 22:34:48.671 INFO [stderr] --> src/snake_nn.rs:109:18 Dec 12 22:34:48.671 INFO [stderr] | Dec 12 22:34:48.671 INFO [stderr] 109 | let (params, predictor, _) = parallel_trainer.borrow_network_parts(); Dec 12 22:34:48.671 INFO [stderr] | ^^^^^^^^^ help: consider using `_predictor` instead Dec 12 22:34:48.671 INFO [stderr] Dec 12 22:34:48.671 INFO [stderr] warning: unused variable: `max_gain` Dec 12 22:34:48.671 INFO [stderr] --> src/snake_nn.rs:357:13 Dec 12 22:34:48.671 INFO [stderr] | Dec 12 22:34:48.671 INFO [stderr] 357 | let (i, max_gain) = get_max_with_pos(snake_inputs_gains.as_slice()); Dec 12 22:34:48.671 INFO [stderr] | ^^^^^^^^ help: consider using `_max_gain` instead Dec 12 22:34:48.671 INFO [stderr] Dec 12 22:34:48.671 INFO [stderr] warning: unused variable: `is_next_action_optimal` Dec 12 22:34:48.671 INFO [stderr] --> src/snake_nn.rs:503:13 Dec 12 22:34:48.671 INFO [stderr] | Dec 12 22:34:48.671 INFO [stderr] 503 | let is_next_action_optimal = session[i - 1].is_optimal; Dec 12 22:34:48.671 INFO [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: consider using `_is_next_action_optimal` instead Dec 12 22:34:48.671 INFO [stderr] Dec 12 22:34:48.671 INFO [stderr] warning: unused variable: `i` Dec 12 22:34:48.671 INFO [stderr] --> src/snake_nn.rs:530:9 Dec 12 22:34:48.671 INFO [stderr] | Dec 12 22:34:48.671 INFO [stderr] 530 | for i in 0..MAP_WIDTH * MAP_HEIGHT - 1 { Dec 12 22:34:48.671 INFO [stderr] | ^ help: consider using `_i` instead Dec 12 22:34:48.671 INFO [stderr] Dec 12 22:34:48.672 INFO [stderr] warning: unused variable: `matches` Dec 12 22:34:48.672 INFO [stderr] --> src/main.rs:53:24 Dec 12 22:34:48.672 INFO [stderr] | Dec 12 22:34:48.672 INFO [stderr] 53 | fn execute_mnist_train(matches: &ArgMatches, submatches: &ArgMatches) { Dec 12 22:34:48.672 INFO [stderr] | ^^^^^^^ help: consider using `_matches` instead Dec 12 22:34:48.672 INFO [stderr] Dec 12 22:34:48.672 INFO [stderr] warning: unused variable: `matches` Dec 12 22:34:48.672 INFO [stderr] --> src/main.rs:68:22 Dec 12 22:34:48.672 INFO [stderr] | Dec 12 22:34:48.672 INFO [stderr] 68 | fn execute_snake_new(matches: &ArgMatches, submatches: &ArgMatches) { Dec 12 22:34:48.672 INFO [stderr] | ^^^^^^^ help: consider using `_matches` instead Dec 12 22:34:48.672 INFO [stderr] Dec 12 22:34:48.672 INFO [stderr] warning: unused variable: `matches` Dec 12 22:34:48.672 INFO [stderr] --> src/main.rs:73:24 Dec 12 22:34:48.672 INFO [stderr] | Dec 12 22:34:48.672 INFO [stderr] 73 | fn execute_snake_train(matches: &ArgMatches, submatches: &ArgMatches) { Dec 12 22:34:48.672 INFO [stderr] | ^^^^^^^ help: consider using `_matches` instead Dec 12 22:34:48.672 INFO [stderr] Dec 12 22:34:48.672 INFO [stderr] warning: unused variable: `matches` Dec 12 22:34:48.672 INFO [stderr] --> src/main.rs:93:22 Dec 12 22:34:48.673 INFO [stderr] | Dec 12 22:34:48.673 INFO [stderr] 93 | fn execute_snake_gen(matches: &ArgMatches, submatches: &ArgMatches) { Dec 12 22:34:48.673 INFO [stderr] | ^^^^^^^ help: consider using `_matches` instead Dec 12 22:34:48.673 INFO [stderr] Dec 12 22:34:48.673 INFO [stderr] warning: unused variable: `matches` Dec 12 22:34:48.673 INFO [stderr] --> src/main.rs:101:23 Dec 12 22:34:48.673 INFO [stderr] | Dec 12 22:34:48.673 INFO [stderr] 101 | fn execute_snake_demo(matches: &ArgMatches, submatches: &ArgMatches) { Dec 12 22:34:48.673 INFO [stderr] | ^^^^^^^ help: consider using `_matches` instead Dec 12 22:34:48.673 INFO [stderr] Dec 12 22:34:48.673 INFO [stderr] warning: unused variable: `layer_order` Dec 12 22:34:48.673 INFO [stderr] --> src/network.rs:645:13 Dec 12 22:34:48.673 INFO [stderr] | Dec 12 22:34:48.673 INFO [stderr] 645 | let layer_order = nn.calc_layers_order(); Dec 12 22:34:48.673 INFO [stderr] | ^^^^^^^^^^^ help: consider using `_layer_order` instead Dec 12 22:34:48.673 INFO [stderr] Dec 12 22:34:48.674 INFO [stderr] warning: unused variable: `thread_no` Dec 12 22:34:48.674 INFO [stderr] --> src/parallel_trainer.rs:46:13 Dec 12 22:34:48.674 INFO [stderr] | Dec 12 22:34:48.674 INFO [stderr] 46 | for thread_no in 0..num_threads { Dec 12 22:34:48.674 INFO [stderr] | ^^^^^^^^^ help: consider using `_thread_no` instead Dec 12 22:34:48.674 INFO [stderr] Dec 12 22:34:48.775 INFO [stderr] warning: variable does not need to be mutable Dec 12 22:34:48.775 INFO [stderr] --> src/mnist.rs:64:9 Dec 12 22:34:48.775 INFO [stderr] | Dec 12 22:34:48.775 INFO [stderr] 64 | let mut hits = 0usize; Dec 12 22:34:48.775 INFO [stderr] | ----^^^^ Dec 12 22:34:48.775 INFO [stderr] | | Dec 12 22:34:48.775 INFO [stderr] | help: remove this `mut` Dec 12 22:34:48.775 INFO [stderr] | Dec 12 22:34:48.775 INFO [stderr] = note: #[warn(unused_mut)] on by default Dec 12 22:34:48.775 INFO [stderr] Dec 12 22:34:48.791 INFO [stderr] warning: variable does not need to be mutable Dec 12 22:34:48.791 INFO [stderr] --> src/network.rs:55:13 Dec 12 22:34:48.791 INFO [stderr] | Dec 12 22:34:48.791 INFO [stderr] 55 | let mut nn: Self = serde_json::from_reader(&file).unwrap(); Dec 12 22:34:48.791 INFO [stderr] | ----^^ Dec 12 22:34:48.792 INFO [stderr] | | Dec 12 22:34:48.792 INFO [stderr] | help: remove this `mut` Dec 12 22:34:48.792 INFO [stderr] Dec 12 22:34:48.921 INFO [stderr] warning: variable does not need to be mutable Dec 12 22:34:48.921 INFO [stderr] --> src/parallel_trainer.rs:37:51 Dec 12 22:34:48.921 INFO [stderr] | Dec 12 22:34:48.921 INFO [stderr] 37 | let (mut nn_parameters, mut nn_predictor, mut nn_trainer) = network.as_parts(); Dec 12 22:34:49.003 INFO [stderr] | ----^^^^^^^^^^ Dec 12 22:34:49.003 INFO [stderr] | | Dec 12 22:34:49.003 INFO [stderr] | help: remove this `mut` Dec 12 22:34:49.003 INFO [stderr] Dec 12 22:34:49.003 INFO [stderr] warning: variable does not need to be mutable Dec 12 22:34:49.003 INFO [stderr] --> src/parallel_trainer.rs:37:33 Dec 12 22:34:49.003 INFO [stderr] | Dec 12 22:34:49.003 INFO [stderr] 37 | let (mut nn_parameters, mut nn_predictor, mut nn_trainer) = network.as_parts(); Dec 12 22:34:49.003 INFO [stderr] | ----^^^^^^^^^^^^ Dec 12 22:34:49.003 INFO [stderr] | | Dec 12 22:34:49.003 INFO [stderr] | help: remove this `mut` Dec 12 22:34:49.003 INFO [stderr] Dec 12 22:34:49.003 INFO [stderr] warning: variable does not need to be mutable Dec 12 22:34:49.003 INFO [stderr] --> src/parallel_trainer.rs:37:14 Dec 12 22:34:49.003 INFO [stderr] | Dec 12 22:34:49.003 INFO [stderr] 37 | let (mut nn_parameters, mut nn_predictor, mut nn_trainer) = network.as_parts(); Dec 12 22:34:49.003 INFO [stderr] | ----^^^^^^^^^^^^^ Dec 12 22:34:49.003 INFO [stderr] | | Dec 12 22:34:49.003 INFO [stderr] | help: remove this `mut` Dec 12 22:34:49.003 INFO [stderr] Dec 12 22:34:49.003 INFO [stderr] warning: variable does not need to be mutable Dec 12 22:34:49.003 INFO [stderr] --> src/parallel_trainer.rs:123:5 Dec 12 22:34:49.003 INFO [stderr] | Dec 12 22:34:49.003 INFO [stderr] 123 | mut job_receiver: Arc>>, Dec 12 22:34:49.003 INFO [stderr] | ----^^^^^^^^^^^^ Dec 12 22:34:49.003 INFO [stderr] | | Dec 12 22:34:49.003 INFO [stderr] | help: remove this `mut` Dec 12 22:34:49.003 INFO [stderr] Dec 12 22:34:49.003 INFO [stderr] warning: variable does not need to be mutable Dec 12 22:34:49.003 INFO [stderr] --> src/parallel_trainer.rs:124:5 Dec 12 22:34:49.003 INFO [stderr] | Dec 12 22:34:49.003 INFO [stderr] 124 | mut output_sender: Sender>>, Dec 12 22:34:49.003 INFO [stderr] | ----^^^^^^^^^^^^^ Dec 12 22:34:49.003 INFO [stderr] | | Dec 12 22:34:49.003 INFO [stderr] | help: remove this `mut` Dec 12 22:34:49.003 INFO [stderr] Dec 12 22:34:49.003 INFO [stderr] warning: variable does not need to be mutable Dec 12 22:34:49.003 INFO [stderr] --> src/parallel_trainer.rs:126:5 Dec 12 22:34:49.003 INFO [stderr] | Dec 12 22:34:49.003 INFO [stderr] 126 | mut local_nn_trainer: Arc>, Dec 12 22:34:49.003 INFO [stderr] | ----^^^^^^^^^^^^^^^^ Dec 12 22:34:49.003 INFO [stderr] | | Dec 12 22:34:49.003 INFO [stderr] | help: remove this `mut` Dec 12 22:34:49.003 INFO [stderr] Dec 12 22:34:49.042 INFO [stderr] warning: variable does not need to be mutable Dec 12 22:34:49.042 INFO [stderr] --> src/snake_nn.rs:57:9 Dec 12 22:34:49.042 INFO [stderr] | Dec 12 22:34:49.042 INFO [stderr] 57 | let mut nn = network::Network::load_from_file(model_input_path); Dec 12 22:34:49.043 INFO [stderr] | ----^^ Dec 12 22:34:49.043 INFO [stderr] | | Dec 12 22:34:49.043 INFO [stderr] | help: remove this `mut` Dec 12 22:34:49.043 INFO [stderr] Dec 12 22:34:49.043 INFO [stderr] warning: variable does not need to be mutable Dec 12 22:34:49.043 INFO [stderr] --> src/snake_nn.rs:131:21 Dec 12 22:34:49.043 INFO [stderr] | Dec 12 22:34:49.043 INFO [stderr] 131 | let mut state = GameState { Dec 12 22:34:49.043 INFO [stderr] | ----^^^^^ Dec 12 22:34:49.043 INFO [stderr] | | Dec 12 22:34:49.102 INFO [stderr] | help: remove this `mut` Dec 12 22:34:49.102 INFO [stderr] Dec 12 22:34:49.102 INFO [stderr] warning: variable does not need to be mutable Dec 12 22:34:49.102 INFO [stderr] --> src/snake_nn.rs:115:9 Dec 12 22:34:49.102 INFO [stderr] | Dec 12 22:34:49.102 INFO [stderr] 115 | let mut nn = network::Network::load_from_file(model_path); Dec 12 22:34:49.102 INFO [stderr] | ----^^ Dec 12 22:34:49.102 INFO [stderr] | | Dec 12 22:34:49.102 INFO [stderr] | help: remove this `mut` Dec 12 22:34:49.102 INFO [stderr] Dec 12 22:34:49.102 INFO [stderr] warning: method is never used: `new_same_dim` Dec 12 22:34:49.102 INFO [stderr] --> src/math.rs:21:5 Dec 12 22:34:49.102 INFO [stderr] | Dec 12 22:34:49.102 INFO [stderr] 21 | pub fn new_same_dim(m: &Matrix) -> Self { Dec 12 22:34:49.102 INFO [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Dec 12 22:34:49.102 INFO [stderr] | Dec 12 22:34:49.102 INFO [stderr] = note: #[warn(dead_code)] on by default Dec 12 22:34:49.102 INFO [stderr] Dec 12 22:34:49.102 INFO [stderr] warning: method is never used: `dot_vec` Dec 12 22:34:49.102 INFO [stderr] --> src/math.rs:71:5 Dec 12 22:34:49.102 INFO [stderr] | Dec 12 22:34:49.102 INFO [stderr] 71 | pub fn dot_vec(&self, vec: &Vector, res: &mut Vector) { Dec 12 22:34:49.102 INFO [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Dec 12 22:34:49.102 INFO [stderr] Dec 12 22:34:49.102 INFO [stderr] warning: method is never used: `empty` Dec 12 22:34:49.102 INFO [stderr] --> src/math.rs:248:5 Dec 12 22:34:49.102 INFO [stderr] | Dec 12 22:34:49.102 INFO [stderr] 248 | pub fn empty() -> Self { Dec 12 22:34:49.102 INFO [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ Dec 12 22:34:49.103 INFO [stderr] Dec 12 22:34:49.103 INFO [stderr] warning: method is never used: `init_rand` Dec 12 22:34:49.103 INFO [stderr] --> src/math.rs:267:5 Dec 12 22:34:49.103 INFO [stderr] | Dec 12 22:34:49.103 INFO [stderr] 267 | pub fn init_rand(mut self) -> Self { Dec 12 22:34:49.103 INFO [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Dec 12 22:34:49.103 INFO [stderr] Dec 12 22:34:49.103 INFO [stderr] warning: method is never used: `copy_from` Dec 12 22:34:49.103 INFO [stderr] --> src/math.rs:286:5 Dec 12 22:34:49.103 INFO [stderr] | Dec 12 22:34:49.103 INFO [stderr] 286 | pub fn copy_from(&mut self, v: &Vector) { Dec 12 22:34:49.103 INFO [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Dec 12 22:34:49.103 INFO [stderr] Dec 12 22:34:49.103 INFO [stderr] warning: method is never used: `add` Dec 12 22:34:49.103 INFO [stderr] --> src/math.rs:322:5 Dec 12 22:34:49.103 INFO [stderr] | Dec 12 22:34:49.103 INFO [stderr] 322 | pub fn add(&mut self, v: &Vector) { Dec 12 22:34:49.103 INFO [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Dec 12 22:34:49.103 INFO [stderr] Dec 12 22:34:49.103 INFO [stderr] warning: method is never used: `fill_rand` Dec 12 22:34:49.103 INFO [stderr] --> src/math.rs:335:5 Dec 12 22:34:49.103 INFO [stderr] | Dec 12 22:34:49.103 INFO [stderr] 335 | pub fn fill_rand(&mut self) { Dec 12 22:34:49.103 INFO [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ Dec 12 22:34:49.103 INFO [stderr] Dec 12 22:34:49.103 INFO [stderr] warning: constant item is never used: `NANOS_IN_SECOND` Dec 12 22:34:49.103 INFO [stderr] --> src/mnist.rs:28:1 Dec 12 22:34:49.103 INFO [stderr] | Dec 12 22:34:49.103 INFO [stderr] 28 | const NANOS_IN_SECOND: u64 = 1_000_000_000; Dec 12 22:34:49.103 INFO [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Dec 12 22:34:49.103 INFO [stderr] Dec 12 22:34:49.103 INFO [stderr] warning: method is never used: `get_layer_mut` Dec 12 22:34:49.103 INFO [stderr] --> src/network.rs:46:5 Dec 12 22:34:49.103 INFO [stderr] | Dec 12 22:34:49.103 INFO [stderr] 46 | fn get_layer_mut(&mut self, id: LayerID) -> &mut Layer { Dec 12 22:34:49.103 INFO [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Dec 12 22:34:49.103 INFO [stderr] Dec 12 22:34:49.103 INFO [stderr] warning: method is never used: `predict` Dec 12 22:34:49.103 INFO [stderr] --> src/network.rs:466:5 Dec 12 22:34:49.103 INFO [stderr] | Dec 12 22:34:49.103 INFO [stderr] 466 | pub fn predict(&mut self, input_data: &[f64]) -> &Vector { Dec 12 22:34:49.103 INFO [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Dec 12 22:34:49.103 INFO [stderr] Dec 12 22:34:49.103 INFO [stderr] warning: method is never used: `backward_propagation` Dec 12 22:34:49.103 INFO [stderr] --> src/network.rs:470:5 Dec 12 22:34:49.103 INFO [stderr] | Dec 12 22:34:49.103 INFO [stderr] 470 | pub fn backward_propagation(&mut self, true_outputs: &Vector) { Dec 12 22:34:49.103 INFO [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Dec 12 22:34:49.103 INFO [stderr] Dec 12 22:34:49.103 INFO [stderr] warning: method is never used: `apply_batch` Dec 12 22:34:49.103 INFO [stderr] --> src/network.rs:530:5 Dec 12 22:34:49.103 INFO [stderr] | Dec 12 22:34:49.103 INFO [stderr] 530 | pub fn apply_batch(&mut self) { Dec 12 22:34:49.103 INFO [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Dec 12 22:34:49.103 INFO [stderr] Dec 12 22:34:49.103 INFO [stderr] warning: field is never used: `shared_training_data` Dec 12 22:34:49.103 INFO [stderr] --> src/parallel_trainer.rs:22:5 Dec 12 22:34:49.103 INFO [stderr] | Dec 12 22:34:49.103 INFO [stderr] 22 | shared_training_data: Arc, Dec 12 22:34:49.103 INFO [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Dec 12 22:34:49.103 INFO [stderr] Dec 12 22:34:49.103 INFO [stderr] warning: field is never used: `job_receiver` Dec 12 22:34:49.103 INFO [stderr] --> src/parallel_trainer.rs:29:5 Dec 12 22:34:49.103 INFO [stderr] | Dec 12 22:34:49.103 INFO [stderr] 29 | job_receiver: Arc>>, Dec 12 22:34:49.103 INFO [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Dec 12 22:34:49.103 INFO [stderr] Dec 12 22:34:49.103 INFO [stderr] warning: field is never used: `output_sender` Dec 12 22:34:49.103 INFO [stderr] --> src/parallel_trainer.rs:30:5 Dec 12 22:34:49.103 INFO [stderr] | Dec 12 22:34:49.103 INFO [stderr] 30 | output_sender: Sender>>, Dec 12 22:34:49.103 INFO [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Dec 12 22:34:49.103 INFO [stderr] Dec 12 22:34:49.103 INFO [stderr] warning: field is never used: `join_handles` Dec 12 22:34:49.103 INFO [stderr] --> src/parallel_trainer.rs:32:5 Dec 12 22:34:49.103 INFO [stderr] | Dec 12 22:34:49.103 INFO [stderr] 32 | join_handles: Vec>, Dec 12 22:34:49.103 INFO [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Dec 12 22:34:49.103 INFO [stderr] Dec 12 22:34:49.103 INFO [stderr] warning: function is never used: `teach_nn` Dec 12 22:34:49.103 INFO [stderr] --> src/snake_nn.rs:384:1 Dec 12 22:34:49.103 INFO [stderr] | Dec 12 22:34:49.103 INFO [stderr] 384 | / fn teach_nn( Dec 12 22:34:49.103 INFO [stderr] 385 | | nn: &mut network::Network, Dec 12 22:34:49.104 INFO [stderr] 386 | | state: &GameState, Dec 12 22:34:49.104 INFO [stderr] 387 | | snake_input: SnakeInput, Dec 12 22:34:49.104 INFO [stderr] ... | Dec 12 22:34:49.104 INFO [stderr] 398 | | nn.backward_propagation(&true_output_vec); Dec 12 22:34:49.104 INFO [stderr] 399 | | } Dec 12 22:34:49.104 INFO [stderr] | |_^ Dec 12 22:34:49.104 INFO [stderr] Dec 12 22:34:49.104 INFO [stderr] warning: method is never used: `elapsed` Dec 12 22:34:49.104 INFO [stderr] --> src/timing.rs:46:5 Dec 12 22:34:49.104 INFO [stderr] | Dec 12 22:34:49.104 INFO [stderr] 46 | pub fn elapsed(&self, name: &str) -> time::Duration { Dec 12 22:34:49.104 INFO [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Dec 12 22:34:49.104 INFO [stderr] Dec 12 22:34:49.104 INFO [stderr] warning: unused `std::result::Result` that must be used Dec 12 22:34:49.104 INFO [stderr] --> src/parallel_trainer.rs:85:13 Dec 12 22:34:49.104 INFO [stderr] | Dec 12 22:34:49.104 INFO [stderr] 85 | / self.job_sender.send(TrainingJob { Dec 12 22:34:49.104 INFO [stderr] 86 | | examples_indices: chunk, Dec 12 22:34:49.104 INFO [stderr] 87 | | network_parameters: self.shared_nn_parameters.clone(), Dec 12 22:34:49.104 INFO [stderr] 88 | | }); Dec 12 22:34:49.104 INFO [stderr] | |_______________^ Dec 12 22:34:49.104 INFO [stderr] | Dec 12 22:34:49.104 INFO [stderr] = note: #[warn(unused_must_use)] on by default Dec 12 22:34:49.104 INFO [stderr] = note: this `Result` may be an `Err` variant, which should be handled Dec 12 22:34:49.104 INFO [stderr] Dec 12 22:34:49.104 INFO [stderr] warning: unused `std::result::Result` that must be used Dec 12 22:34:49.104 INFO [stderr] --> src/parallel_trainer.rs:160:9 Dec 12 22:34:49.104 INFO [stderr] | Dec 12 22:34:49.104 INFO [stderr] 160 | output_sender.send(local_nn_trainer.clone()); Dec 12 22:34:49.104 INFO [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Dec 12 22:34:49.104 INFO [stderr] | Dec 12 22:34:49.104 INFO [stderr] = note: this `Result` may be an `Err` variant, which should be handled Dec 12 22:34:49.104 INFO [stderr] Dec 12 22:34:49.104 INFO [stderr] warning: unused `std::result::Result` that must be used Dec 12 22:34:49.104 INFO [stderr] --> src/snake.rs:118:9 Dec 12 22:34:49.104 INFO [stderr] | Dec 12 22:34:49.104 INFO [stderr] 118 | writer.write("\n".as_bytes()); Dec 12 22:34:49.104 INFO [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Dec 12 22:34:49.104 INFO [stderr] | Dec 12 22:34:49.104 INFO [stderr] = note: this `Result` may be an `Err` variant, which should be handled Dec 12 22:34:49.104 INFO [stderr] Dec 12 22:34:49.104 INFO [stderr] warning: unused `std::result::Result` that must be used Dec 12 22:34:49.104 INFO [stderr] --> src/snake.rs:120:5 Dec 12 22:34:49.104 INFO [stderr] | Dec 12 22:34:49.104 INFO [stderr] 120 | writer.flush(); Dec 12 22:34:49.104 INFO [stderr] | ^^^^^^^^^^^^^^^ Dec 12 22:34:49.104 INFO [stderr] | Dec 12 22:34:49.104 INFO [stderr] = note: this `Result` may be an `Err` variant, which should be handled Dec 12 22:34:49.104 INFO [stderr] Dec 12 22:34:49.104 INFO [stderr] warning: unused `std::result::Result` that must be used Dec 12 22:34:49.104 INFO [stderr] --> src/snake.rs:131:5 Dec 12 22:34:49.104 INFO [stderr] | Dec 12 22:34:49.104 INFO [stderr] 131 | writer.write(character.as_bytes()); Dec 12 22:34:49.104 INFO [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Dec 12 22:34:49.104 INFO [stderr] | Dec 12 22:34:49.104 INFO [stderr] = note: this `Result` may be an `Err` variant, which should be handled Dec 12 22:34:49.104 INFO [stderr] Dec 12 22:34:49.104 INFO [stderr] warning: unused `std::result::Result` that must be used Dec 12 22:34:49.104 INFO [stderr] --> src/snake_nn.rs:140:21 Dec 12 22:34:49.104 INFO [stderr] | Dec 12 22:34:49.104 INFO [stderr] 140 | write!(training_data_file, "\n"); Dec 12 22:34:49.104 INFO [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Dec 12 22:34:49.104 INFO [stderr] | Dec 12 22:34:49.104 INFO [stderr] = note: this `Result` may be an `Err` variant, which should be handled Dec 12 22:34:49.104 INFO [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) Dec 12 22:34:49.104 INFO [stderr] Dec 12 22:34:49.104 INFO [stderr] warning: unused `std::result::Result` that must be used Dec 12 22:34:49.104 INFO [stderr] --> src/snake_nn.rs:150:9 Dec 12 22:34:49.104 INFO [stderr] | Dec 12 22:34:49.104 INFO [stderr] 150 | jh.join(); Dec 12 22:34:49.104 INFO [stderr] | ^^^^^^^^^^ Dec 12 22:34:49.104 INFO [stderr] | Dec 12 22:34:49.104 INFO [stderr] = note: this `Result` may be an `Err` variant, which should be handled Dec 12 22:34:49.104 INFO [stderr] Dec 12 22:34:49.104 INFO [stderr] warning: the `game_over:` in this pattern is redundant Dec 12 22:34:49.104 INFO [stderr] --> src/snake_nn.rs:203:17 Dec 12 22:34:49.104 INFO [stderr] | Dec 12 22:34:49.104 INFO [stderr] 203 | game_over: game_over, Dec 12 22:34:49.104 INFO [stderr] | ----------^^^^^^^^^^ Dec 12 22:34:49.104 INFO [stderr] | | Dec 12 22:34:49.104 INFO [stderr] | help: remove this Dec 12 22:34:49.104 INFO [stderr] | Dec 12 22:34:49.104 INFO [stderr] = note: #[warn(non_shorthand_field_patterns)] on by default Dec 12 22:34:49.104 INFO [stderr] Dec 12 22:34:49.104 INFO [stderr] warning: the `game_over:` in this pattern is redundant Dec 12 22:34:49.104 INFO [stderr] --> src/snake_nn.rs:271:13 Dec 12 22:34:49.104 INFO [stderr] | Dec 12 22:34:49.104 INFO [stderr] 271 | game_over: game_over, Dec 12 22:34:49.104 INFO [stderr] | ----------^^^^^^^^^^ Dec 12 22:34:49.104 INFO [stderr] | | Dec 12 22:34:49.104 INFO [stderr] | help: remove this Dec 12 22:34:49.105 INFO [stderr] Dec 12 22:34:49.105 INFO [stderr] warning: the `game_over:` in this pattern is redundant Dec 12 22:34:49.105 INFO [stderr] --> src/snake_nn.rs:308:17 Dec 12 22:34:49.105 INFO [stderr] | Dec 12 22:34:49.105 INFO [stderr] 308 | game_over: game_over, Dec 12 22:34:49.105 INFO [stderr] | ----------^^^^^^^^^^ Dec 12 22:34:49.105 INFO [stderr] | | Dec 12 22:34:49.105 INFO [stderr] | help: remove this Dec 12 22:34:49.105 INFO [stderr] Dec 12 22:34:49.105 INFO [stderr] warning: unused attribute Dec 12 22:34:49.105 INFO [stderr] --> src/snake_nn.rs:1:1 Dec 12 22:34:49.105 INFO [stderr] | Dec 12 22:34:49.105 INFO [stderr] 1 | #![feature(test)] Dec 12 22:34:49.105 INFO [stderr] | ^^^^^^^^^^^^^^^^^ Dec 12 22:34:49.105 INFO [stderr] | Dec 12 22:34:49.105 INFO [stderr] = note: #[warn(unused_attributes)] on by default Dec 12 22:34:49.105 INFO [stderr] Dec 12 22:34:49.105 INFO [stderr] warning: crate-level attribute should be in the root module Dec 12 22:34:49.105 INFO [stderr] --> src/snake_nn.rs:1:1 Dec 12 22:34:49.105 INFO [stderr] | Dec 12 22:34:49.105 INFO [stderr] 1 | #![feature(test)] Dec 12 22:34:49.105 INFO [stderr] | ^^^^^^^^^^^^^^^^^ Dec 12 22:34:49.105 INFO [stderr] Dec 12 22:34:49.105 INFO [stderr] warning: unused `std::result::Result` that must be used Dec 12 22:34:49.105 INFO [stderr] --> src/timing.rs:75:9 Dec 12 22:34:49.105 INFO [stderr] | Dec 12 22:34:49.105 INFO [stderr] 75 | writeln!(f, "=== Timing ==="); Dec 12 22:34:49.105 INFO [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Dec 12 22:34:49.105 INFO [stderr] | Dec 12 22:34:49.105 INFO [stderr] = note: this `Result` may be an `Err` variant, which should be handled Dec 12 22:34:49.105 INFO [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) Dec 12 22:34:49.105 INFO [stderr] Dec 12 22:34:49.105 INFO [stderr] warning: unused `std::result::Result` that must be used Dec 12 22:34:49.105 INFO [stderr] --> src/timing.rs:77:13 Dec 12 22:34:49.105 INFO [stderr] | Dec 12 22:34:49.105 INFO [stderr] 77 | / writeln!( Dec 12 22:34:49.105 INFO [stderr] 78 | | f, Dec 12 22:34:49.105 INFO [stderr] 79 | | "{}: {}.{:04}s", Dec 12 22:34:49.105 INFO [stderr] 80 | | name, Dec 12 22:34:49.105 INFO [stderr] 81 | | timer.duration.as_secs(), Dec 12 22:34:49.105 INFO [stderr] 82 | | timer.duration.subsec_nanos() / 1000000 Dec 12 22:34:49.105 INFO [stderr] 83 | | ); Dec 12 22:34:49.105 INFO [stderr] | |______________^ Dec 12 22:34:49.105 INFO [stderr] | Dec 12 22:34:49.105 INFO [stderr] = note: this `Result` may be an `Err` variant, which should be handled Dec 12 22:34:49.105 INFO [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) Dec 12 22:34:49.105 INFO [stderr] Dec 12 22:34:50.044 INFO [stderr] Finished dev [unoptimized + debuginfo] target(s) in 2.82s Dec 12 22:34:50.050 INFO [stderr] su: No module specific data is present Dec 12 22:34:50.297 INFO running `"docker" "inspect" "4f89451da7903cbe071cadbd417fd2a91196242b7560f04b4a35625d8bf9ab9d"` Dec 12 22:34:50.376 INFO running `"docker" "rm" "-f" "4f89451da7903cbe071cadbd417fd2a91196242b7560f04b4a35625d8bf9ab9d"` Dec 12 22:34:50.570 INFO [stdout] 4f89451da7903cbe071cadbd417fd2a91196242b7560f04b4a35625d8bf9ab9d Dec 12 22:34:50.575 INFO running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/pr-56550/worker-6/try#aa49d8ef14939ddec0e34b346b60174a5673d48f:/target:rw,Z" "-v" "/mnt/big/crater/work/local/test-source/worker-6/pr-56550/try#aa49d8ef14939ddec0e34b346b60174a5673d48f:/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 +aa49d8ef14939ddec0e34b346b60174a5673d48f-alt test --frozen" "-e" "CARGO_TARGET_DIR=/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/cargo-home" "-e" "RUSTUP_HOME=/rustup-home" "-m" "1536M" "--network" "none" "crater"` Dec 12 22:34:50.793 INFO [stdout] 16472217b25721d6f3e15b91f6c3c07c6ef059b8c3fab9f26801b22f1b30e793 Dec 12 22:34:50.796 INFO running `"docker" "start" "-a" "16472217b25721d6f3e15b91f6c3c07c6ef059b8c3fab9f26801b22f1b30e793"` Dec 12 22:34:51.252 INFO [stderr] usermod: no changes Dec 12 22:34:51.336 INFO [stderr] Finished dev [unoptimized + debuginfo] target(s) in 0.06s Dec 12 22:34:51.341 INFO [stderr] Running /target/debug/deps/nnrs-9f432d8839e4242b Dec 12 22:34:51.342 INFO [stdout] Dec 12 22:34:51.342 INFO [stdout] running 6 tests Dec 12 22:34:51.354 INFO [stdout] test math::tests::add_dot_vec ... ok Dec 12 22:34:51.354 INFO [stdout] test math::tests::transpose_add_dot_vec ... ok Dec 12 22:34:51.354 INFO [stdout] test math::tests::transpose ... ok Dec 12 22:34:51.355 INFO [stdout] test network::tests::layer_order_skip ... ok Dec 12 22:34:51.355 INFO [stdout] test network::tests::layer_order_forward ... ok Dec 12 22:34:51.401 INFO [stdout] test network::tests::layer_order_cycle ... ok Dec 12 22:34:51.401 INFO [stdout] Dec 12 22:34:51.401 INFO [stdout] test result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out Dec 12 22:34:51.401 INFO [stdout] Dec 12 22:34:51.403 INFO [stderr] su: No module specific data is present Dec 12 22:34:51.684 INFO running `"docker" "inspect" "16472217b25721d6f3e15b91f6c3c07c6ef059b8c3fab9f26801b22f1b30e793"` Dec 12 22:34:51.764 INFO running `"docker" "rm" "-f" "16472217b25721d6f3e15b91f6c3c07c6ef059b8c3fab9f26801b22f1b30e793"` Dec 12 22:34:51.849 INFO [stdout] 16472217b25721d6f3e15b91f6c3c07c6ef059b8c3fab9f26801b22f1b30e793