Dec 18 07:52:03.282 INFO checking EkardNT/sudoku against try#0b8c5828f68d7b2840b81fa51239346dc97fef5a for pr-54252 Dec 18 07:52:03.282 INFO running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/pr-54252/worker-0/try#0b8c5828f68d7b2840b81fa51239346dc97fef5a:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/pr-54252/sources/try#0b8c5828f68d7b2840b81fa51239346dc97fef5a/gh/EkardNT/sudoku:/opt/crater/workdir:ro,Z" "-v" "/mnt/big/crater/work/local/cargo-home:/opt/crater/cargo-home:ro,Z" "-v" "/mnt/big/crater/work/local/rustup-home:/opt/crater/rustup-home:ro,Z" "-e" "USER_ID=1000" "-e" "SOURCE_DIR=/opt/crater/workdir" "-e" "MAP_USER_ID=1000" "-e" "CARGO_TARGET_DIR=/opt/crater/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/crater/cargo-home" "-e" "RUSTUP_HOME=/opt/crater/rustup-home" "-w" "/opt/crater/workdir" "-m" "1536M" "--network" "none" "rustops/crates-build-env" "/opt/crater/cargo-home/bin/cargo" "+0b8c5828f68d7b2840b81fa51239346dc97fef5a-alt" "check" "--frozen" "--all" "--all-targets"` Dec 18 07:52:03.802 INFO [stdout] 955d74452fe385a65f2bcc8b035dcb8589957ff7d2d047ba5d6acdc24e562866 Dec 18 07:52:03.804 INFO running `"docker" "start" "-a" "955d74452fe385a65f2bcc8b035dcb8589957ff7d2d047ba5d6acdc24e562866"` Dec 18 07:52:06.478 INFO [stderr] Checking sudoku v0.1.0 (/opt/crater/workdir) Dec 18 07:52:06.876 INFO [stderr] warning: unnecessary parentheses around `while` condition Dec 18 07:52:06.876 INFO [stderr] --> src/matrix.rs:185:15 Dec 18 07:52:06.876 INFO [stderr] | Dec 18 07:52:06.876 INFO [stderr] 185 | while (current_down_index != header_index) { Dec 18 07:52:06.876 INFO [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses Dec 18 07:52:06.876 INFO [stderr] | Dec 18 07:52:06.876 INFO [stderr] = note: #[warn(unused_parens)] on by default Dec 18 07:52:06.876 INFO [stderr] Dec 18 07:52:06.876 INFO [stderr] warning: unnecessary parentheses around `while` condition Dec 18 07:52:06.876 INFO [stderr] --> src/matrix.rs:191:19 Dec 18 07:52:06.876 INFO [stderr] | Dec 18 07:52:06.876 INFO [stderr] 191 | while (current_right_index != current_down_index) { Dec 18 07:52:06.876 INFO [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses Dec 18 07:52:06.876 INFO [stderr] Dec 18 07:52:06.876 INFO [stderr] warning: unnecessary parentheses around `while` condition Dec 18 07:52:06.876 INFO [stderr] --> src/matrix.rs:223:15 Dec 18 07:52:06.876 INFO [stderr] | Dec 18 07:52:06.876 INFO [stderr] 223 | while (current_up_index != header_index) { Dec 18 07:52:06.876 INFO [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses Dec 18 07:52:06.876 INFO [stderr] Dec 18 07:52:06.884 INFO [stderr] warning: unnecessary parentheses around `while` condition Dec 18 07:52:06.884 INFO [stderr] --> src/matrix.rs:229:19 Dec 18 07:52:06.884 INFO [stderr] | Dec 18 07:52:06.884 INFO [stderr] 229 | while (current_left_index != current_up_index) { Dec 18 07:52:06.884 INFO [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses Dec 18 07:52:06.884 INFO [stderr] Dec 18 07:52:06.884 INFO [stderr] warning: unnecessary parentheses around `while` condition Dec 18 07:52:06.884 INFO [stderr] --> src/matrix.rs:307:15 Dec 18 07:52:06.884 INFO [stderr] | Dec 18 07:52:06.884 INFO [stderr] 307 | while (current_down_index != min_header_index) { Dec 18 07:52:06.884 INFO [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses Dec 18 07:52:06.884 INFO [stderr] Dec 18 07:52:06.884 INFO [stderr] warning: unnecessary parentheses around `while` condition Dec 18 07:52:06.884 INFO [stderr] --> src/matrix.rs:313:19 Dec 18 07:52:06.884 INFO [stderr] | Dec 18 07:52:06.885 INFO [stderr] 313 | while (current_right_index != current_down_index) { Dec 18 07:52:06.885 INFO [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses Dec 18 07:52:06.885 INFO [stderr] Dec 18 07:52:06.885 INFO [stderr] warning: unnecessary parentheses around `while` condition Dec 18 07:52:06.885 INFO [stderr] --> src/matrix.rs:332:19 Dec 18 07:52:06.885 INFO [stderr] | Dec 18 07:52:06.885 INFO [stderr] 332 | while (current_left_index != current_down_index) { Dec 18 07:52:06.885 INFO [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses Dec 18 07:52:06.885 INFO [stderr] Dec 18 07:52:06.885 INFO [stderr] warning: unnecessary parentheses around `while` condition Dec 18 07:52:06.885 INFO [stderr] --> src/matrix.rs:358:15 Dec 18 07:52:06.885 INFO [stderr] | Dec 18 07:52:06.885 INFO [stderr] 358 | while (current_header_index != Matrix::ROOT_INDEX) { Dec 18 07:52:06.885 INFO [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses Dec 18 07:52:06.885 INFO [stderr] Dec 18 07:52:06.885 INFO [stderr] warning: unnecessary parentheses around `if` condition Dec 18 07:52:06.885 INFO [stderr] --> src/matrix.rs:376:24 Dec 18 07:52:06.885 INFO [stderr] | Dec 18 07:52:06.885 INFO [stderr] 376 | if (current_index == row_front_index) { Dec 18 07:52:06.885 INFO [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses Dec 18 07:52:06.885 INFO [stderr] Dec 18 07:52:06.885 INFO [stderr] warning: unused imports: `Debug`, `Display`, `Formatter`, `Write` Dec 18 07:52:06.885 INFO [stderr] --> src/lib.rs:5:16 Dec 18 07:52:06.885 INFO [stderr] | Dec 18 07:52:06.885 INFO [stderr] 5 | use std::fmt::{Display, Write, Formatter, Debug}; Dec 18 07:52:06.885 INFO [stderr] | ^^^^^^^ ^^^^^ ^^^^^^^^^ ^^^^^ Dec 18 07:52:06.885 INFO [stderr] | Dec 18 07:52:06.885 INFO [stderr] = note: #[warn(unused_imports)] on by default Dec 18 07:52:06.885 INFO [stderr] Dec 18 07:52:06.885 INFO [stderr] warning: unused import: `std::str::FromStr` Dec 18 07:52:06.885 INFO [stderr] --> src/lib.rs:6:5 Dec 18 07:52:06.885 INFO [stderr] | Dec 18 07:52:06.885 INFO [stderr] 6 | use std::str::FromStr; Dec 18 07:52:06.885 INFO [stderr] | ^^^^^^^^^^^^^^^^^ Dec 18 07:52:06.885 INFO [stderr] Dec 18 07:52:06.885 INFO [stderr] warning: unused import: `matrix::*` Dec 18 07:52:06.885 INFO [stderr] --> src/lib.rs:9:5 Dec 18 07:52:06.885 INFO [stderr] | Dec 18 07:52:06.885 INFO [stderr] 9 | use matrix::*; Dec 18 07:52:06.885 INFO [stderr] | ^^^^^^^^^ Dec 18 07:52:06.885 INFO [stderr] Dec 18 07:52:07.028 INFO [stderr] warning: unnecessary parentheses around `while` condition Dec 18 07:52:07.028 INFO [stderr] --> src/matrix.rs:185:15 Dec 18 07:52:07.028 INFO [stderr] | Dec 18 07:52:07.028 INFO [stderr] 185 | while (current_down_index != header_index) { Dec 18 07:52:07.028 INFO [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses Dec 18 07:52:07.028 INFO [stderr] | Dec 18 07:52:07.029 INFO [stderr] = note: #[warn(unused_parens)] on by default Dec 18 07:52:07.029 INFO [stderr] Dec 18 07:52:07.029 INFO [stderr] warning: unnecessary parentheses around `while` condition Dec 18 07:52:07.029 INFO [stderr] --> src/matrix.rs:191:19 Dec 18 07:52:07.029 INFO [stderr] | Dec 18 07:52:07.029 INFO [stderr] 191 | while (current_right_index != current_down_index) { Dec 18 07:52:07.029 INFO [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses Dec 18 07:52:07.029 INFO [stderr] Dec 18 07:52:07.029 INFO [stderr] warning: unnecessary parentheses around `while` condition Dec 18 07:52:07.029 INFO [stderr] --> src/matrix.rs:223:15 Dec 18 07:52:07.029 INFO [stderr] | Dec 18 07:52:07.029 INFO [stderr] 223 | while (current_up_index != header_index) { Dec 18 07:52:07.029 INFO [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses Dec 18 07:52:07.029 INFO [stderr] Dec 18 07:52:07.029 INFO [stderr] warning: unnecessary parentheses around `while` condition Dec 18 07:52:07.029 INFO [stderr] --> src/matrix.rs:229:19 Dec 18 07:52:07.029 INFO [stderr] | Dec 18 07:52:07.029 INFO [stderr] 229 | while (current_left_index != current_up_index) { Dec 18 07:52:07.029 INFO [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses Dec 18 07:52:07.029 INFO [stderr] Dec 18 07:52:07.029 INFO [stderr] warning: unnecessary parentheses around `while` condition Dec 18 07:52:07.029 INFO [stderr] --> src/matrix.rs:307:15 Dec 18 07:52:07.029 INFO [stderr] | Dec 18 07:52:07.029 INFO [stderr] 307 | while (current_down_index != min_header_index) { Dec 18 07:52:07.029 INFO [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses Dec 18 07:52:07.029 INFO [stderr] Dec 18 07:52:07.029 INFO [stderr] warning: unnecessary parentheses around `while` condition Dec 18 07:52:07.029 INFO [stderr] --> src/matrix.rs:313:19 Dec 18 07:52:07.029 INFO [stderr] | Dec 18 07:52:07.029 INFO [stderr] 313 | while (current_right_index != current_down_index) { Dec 18 07:52:07.029 INFO [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses Dec 18 07:52:07.029 INFO [stderr] Dec 18 07:52:07.029 INFO [stderr] warning: unnecessary parentheses around `while` condition Dec 18 07:52:07.029 INFO [stderr] --> src/matrix.rs:332:19 Dec 18 07:52:07.029 INFO [stderr] | Dec 18 07:52:07.029 INFO [stderr] 332 | while (current_left_index != current_down_index) { Dec 18 07:52:07.029 INFO [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses Dec 18 07:52:07.029 INFO [stderr] Dec 18 07:52:07.029 INFO [stderr] warning: unnecessary parentheses around `while` condition Dec 18 07:52:07.029 INFO [stderr] --> src/matrix.rs:358:15 Dec 18 07:52:07.029 INFO [stderr] | Dec 18 07:52:07.029 INFO [stderr] 358 | while (current_header_index != Matrix::ROOT_INDEX) { Dec 18 07:52:07.029 INFO [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses Dec 18 07:52:07.029 INFO [stderr] Dec 18 07:52:07.029 INFO [stderr] warning: unnecessary parentheses around `if` condition Dec 18 07:52:07.029 INFO [stderr] --> src/matrix.rs:376:24 Dec 18 07:52:07.029 INFO [stderr] | Dec 18 07:52:07.029 INFO [stderr] 376 | if (current_index == row_front_index) { Dec 18 07:52:07.029 INFO [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses Dec 18 07:52:07.029 INFO [stderr] Dec 18 07:52:07.029 INFO [stderr] warning: unused imports: `NodeKind`, `Node` Dec 18 07:52:07.029 INFO [stderr] --> src/matrix.rs:389:25 Dec 18 07:52:07.029 INFO [stderr] | Dec 18 07:52:07.029 INFO [stderr] 389 | use super::{Matrix, Node, NodeKind}; Dec 18 07:52:07.029 INFO [stderr] | ^^^^ ^^^^^^^^ Dec 18 07:52:07.029 INFO [stderr] | Dec 18 07:52:07.029 INFO [stderr] = note: #[warn(unused_imports)] on by default Dec 18 07:52:07.029 INFO [stderr] Dec 18 07:52:07.029 INFO [stderr] warning: unused imports: `Debug`, `Display`, `Formatter`, `Write` Dec 18 07:52:07.029 INFO [stderr] --> src/lib.rs:5:16 Dec 18 07:52:07.029 INFO [stderr] | Dec 18 07:52:07.029 INFO [stderr] 5 | use std::fmt::{Display, Write, Formatter, Debug}; Dec 18 07:52:07.029 INFO [stderr] | ^^^^^^^ ^^^^^ ^^^^^^^^^ ^^^^^ Dec 18 07:52:07.029 INFO [stderr] Dec 18 07:52:07.029 INFO [stderr] warning: unused import: `std::str::FromStr` Dec 18 07:52:07.029 INFO [stderr] --> src/lib.rs:6:5 Dec 18 07:52:07.029 INFO [stderr] | Dec 18 07:52:07.029 INFO [stderr] 6 | use std::str::FromStr; Dec 18 07:52:07.029 INFO [stderr] | ^^^^^^^^^^^^^^^^^ Dec 18 07:52:07.029 INFO [stderr] Dec 18 07:52:07.029 INFO [stderr] warning: unused import: `matrix::*` Dec 18 07:52:07.029 INFO [stderr] --> src/lib.rs:9:5 Dec 18 07:52:07.029 INFO [stderr] | Dec 18 07:52:07.029 INFO [stderr] 9 | use matrix::*; Dec 18 07:52:07.029 INFO [stderr] | ^^^^^^^^^ Dec 18 07:52:07.029 INFO [stderr] Dec 18 07:52:07.288 INFO [stderr] warning: unused variable: `i` Dec 18 07:52:07.288 INFO [stderr] --> src/board.rs:211:13 Dec 18 07:52:07.288 INFO [stderr] | Dec 18 07:52:07.288 INFO [stderr] 211 | let i = col + row * 9; Dec 18 07:52:07.288 INFO [stderr] | ^ help: consider using `_i` instead Dec 18 07:52:07.288 INFO [stderr] | Dec 18 07:52:07.288 INFO [stderr] = note: #[warn(unused_variables)] on by default Dec 18 07:52:07.288 INFO [stderr] Dec 18 07:52:07.288 INFO [stderr] warning: unused variable: `column` Dec 18 07:52:07.288 INFO [stderr] --> src/coords.rs:119:28 Dec 18 07:52:07.288 INFO [stderr] | Dec 18 07:52:07.288 INFO [stderr] 119 | pub fn to_dense(&self, column: &SparseColumn) -> DenseRow { Dec 18 07:52:07.288 INFO [stderr] | ^^^^^^ help: consider using `_column` instead Dec 18 07:52:07.288 INFO [stderr] Dec 18 07:52:07.288 INFO [stderr] warning: unused variable: `sparse_row` Dec 18 07:52:07.288 INFO [stderr] --> src/lib.rs:95:17 Dec 18 07:52:07.288 INFO [stderr] | Dec 18 07:52:07.288 INFO [stderr] 95 | let sparse_row = SparseRow::new(row_index); Dec 18 07:52:07.288 INFO [stderr] | ^^^^^^^^^^ help: consider using `_sparse_row` instead Dec 18 07:52:07.288 INFO [stderr] Dec 18 07:52:07.288 INFO [stderr] warning: unused variable: `board` Dec 18 07:52:07.289 INFO [stderr] --> src/lib.rs:123:25 Dec 18 07:52:07.289 INFO [stderr] | Dec 18 07:52:07.289 INFO [stderr] 123 | fn solve(&mut self, board: &mut Board) -> Result<(), ()> { Dec 18 07:52:07.289 INFO [stderr] | ^^^^^ help: consider using `_board` instead Dec 18 07:52:07.289 INFO [stderr] Dec 18 07:52:07.300 INFO [stderr] warning: variable does not need to be mutable Dec 18 07:52:07.300 INFO [stderr] --> src/lib.rs:65:13 Dec 18 07:52:07.300 INFO [stderr] | Dec 18 07:52:07.300 INFO [stderr] 65 | let mut matrix = [[Link::default(); NONZERO_CONSTRAINTS_PER_POSSIBILITY]; POSSIBILITIES]; Dec 18 07:52:07.300 INFO [stderr] | ----^^^^^^ Dec 18 07:52:07.300 INFO [stderr] | | Dec 18 07:52:07.300 INFO [stderr] | help: remove this `mut` Dec 18 07:52:07.300 INFO [stderr] | Dec 18 07:52:07.300 INFO [stderr] = note: #[warn(unused_mut)] on by default Dec 18 07:52:07.300 INFO [stderr] Dec 18 07:52:07.300 INFO [stderr] warning: variable does not need to be mutable Dec 18 07:52:07.300 INFO [stderr] --> src/lib.rs:66:13 Dec 18 07:52:07.300 INFO [stderr] | Dec 18 07:52:07.300 INFO [stderr] 66 | let mut headers = [Header::default(); CONSTRAINTS]; Dec 18 07:52:07.300 INFO [stderr] | ----^^^^^^^ Dec 18 07:52:07.300 INFO [stderr] | | Dec 18 07:52:07.300 INFO [stderr] | help: remove this `mut` Dec 18 07:52:07.300 INFO [stderr] Dec 18 07:52:07.308 INFO [stderr] warning: variable does not need to be mutable Dec 18 07:52:07.308 INFO [stderr] --> src/lib.rs:114:9 Dec 18 07:52:07.308 INFO [stderr] | Dec 18 07:52:07.308 INFO [stderr] 114 | let mut constraint: &mut Link = &mut row[dense_column_index]; Dec 18 07:52:07.308 INFO [stderr] | ----^^^^^^^^^^ Dec 18 07:52:07.308 INFO [stderr] | | Dec 18 07:52:07.308 INFO [stderr] | help: remove this `mut` Dec 18 07:52:07.308 INFO [stderr] Dec 18 07:52:07.432 INFO [stderr] warning: method is never used: `to_sparse` Dec 18 07:52:07.432 INFO [stderr] --> src/coords.rs:18:5 Dec 18 07:52:07.432 INFO [stderr] | Dec 18 07:52:07.432 INFO [stderr] 18 | pub fn to_sparse(&self) -> SparseRow { Dec 18 07:52:07.432 INFO [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Dec 18 07:52:07.432 INFO [stderr] | Dec 18 07:52:07.432 INFO [stderr] = note: #[warn(dead_code)] on by default Dec 18 07:52:07.432 INFO [stderr] Dec 18 07:52:07.432 INFO [stderr] warning: method is never used: `to_sparse` Dec 18 07:52:07.432 INFO [stderr] --> src/coords.rs:130:5 Dec 18 07:52:07.432 INFO [stderr] | Dec 18 07:52:07.432 INFO [stderr] 130 | pub fn to_sparse(&self, row: &DenseRow) -> SparseColumn { Dec 18 07:52:07.432 INFO [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Dec 18 07:52:07.432 INFO [stderr] Dec 18 07:52:07.432 INFO [stderr] warning: constant item is never used: `POSSIBILITIES` Dec 18 07:52:07.432 INFO [stderr] --> src/matrix.rs:5:1 Dec 18 07:52:07.432 INFO [stderr] | Dec 18 07:52:07.432 INFO [stderr] 5 | const POSSIBILITIES: usize = 9 * 9 * 9; Dec 18 07:52:07.433 INFO [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Dec 18 07:52:07.433 INFO [stderr] Dec 18 07:52:07.433 INFO [stderr] warning: constant item is never used: `CONSTRAINTS` Dec 18 07:52:07.433 INFO [stderr] --> src/matrix.rs:9:1 Dec 18 07:52:07.433 INFO [stderr] | Dec 18 07:52:07.433 INFO [stderr] 9 | const CONSTRAINTS: usize = 9 * 9 + 9 * 9 + 9 * 9 + 9 * 9; Dec 18 07:52:07.433 INFO [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Dec 18 07:52:07.433 INFO [stderr] Dec 18 07:52:07.433 INFO [stderr] warning: constant item is never used: `NONZERO_CONSTRAINTS_PER_POSSIBILITY` Dec 18 07:52:07.433 INFO [stderr] --> src/matrix.rs:13:1 Dec 18 07:52:07.433 INFO [stderr] | Dec 18 07:52:07.433 INFO [stderr] 13 | const NONZERO_CONSTRAINTS_PER_POSSIBILITY: usize = 4; Dec 18 07:52:07.433 INFO [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Dec 18 07:52:07.433 INFO [stderr] Dec 18 07:52:07.433 INFO [stderr] warning: constant item is never used: `MATRIX_NODE_COUNT` Dec 18 07:52:07.433 INFO [stderr] --> src/matrix.rs:16:1 Dec 18 07:52:07.433 INFO [stderr] | Dec 18 07:52:07.433 INFO [stderr] 16 | const MATRIX_NODE_COUNT: usize = 1 + CONSTRAINTS + POSSIBILITIES * NONZERO_CONSTRAINTS_PER_POSSIBILITY; Dec 18 07:52:07.433 INFO [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Dec 18 07:52:07.433 INFO [stderr] Dec 18 07:52:07.441 INFO [stderr] warning: unused `std::result::Result` that must be used Dec 18 07:52:07.441 INFO [stderr] --> src/matrix.rs:359:13 Dec 18 07:52:07.441 INFO [stderr] | Dec 18 07:52:07.441 INFO [stderr] 359 | writeln!(f, "col {:?}", self.nodes[current_header_index]); Dec 18 07:52:07.441 INFO [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Dec 18 07:52:07.441 INFO [stderr] | Dec 18 07:52:07.441 INFO [stderr] = note: #[warn(unused_must_use)] on by default Dec 18 07:52:07.441 INFO [stderr] = note: this `Result` may be an `Err` variant, which should be handled Dec 18 07:52:07.441 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 18 07:52:07.441 INFO [stderr] Dec 18 07:52:07.441 INFO [stderr] warning: unused `std::result::Result` that must be used Dec 18 07:52:07.441 INFO [stderr] --> src/board.rs:84:13 Dec 18 07:52:07.441 INFO [stderr] | Dec 18 07:52:07.441 INFO [stderr] 84 | write!(to, "{} ", c); Dec 18 07:52:07.441 INFO [stderr] | ^^^^^^^^^^^^^^^^^^^^^ Dec 18 07:52:07.441 INFO [stderr] | Dec 18 07:52:07.442 INFO [stderr] = note: this `Result` may be an `Err` variant, which should be handled Dec 18 07:52:07.442 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 18 07:52:07.442 INFO [stderr] Dec 18 07:52:07.447 INFO [stderr] warning: unused `std::result::Result` that must be used Dec 18 07:52:07.447 INFO [stderr] --> src/board.rs:86:9 Dec 18 07:52:07.447 INFO [stderr] | Dec 18 07:52:07.447 INFO [stderr] 86 | write!(to, "{}", self.entries[9*9-1]); Dec 18 07:52:07.447 INFO [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Dec 18 07:52:07.447 INFO [stderr] | Dec 18 07:52:07.447 INFO [stderr] = note: this `Result` may be an `Err` variant, which should be handled Dec 18 07:52:07.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 18 07:52:07.447 INFO [stderr] Dec 18 07:52:07.447 INFO [stderr] warning: comparison is useless due to type limits Dec 18 07:52:07.447 INFO [stderr] --> src/board.rs:158:25 Dec 18 07:52:07.447 INFO [stderr] | Dec 18 07:52:07.447 INFO [stderr] 158 | assert!(value >= 0 && value <= 9); Dec 18 07:52:07.447 INFO [stderr] | ^^^^^^^^^^ Dec 18 07:52:07.447 INFO [stderr] | Dec 18 07:52:07.447 INFO [stderr] = note: #[warn(unused_comparisons)] on by default Dec 18 07:52:07.447 INFO [stderr] Dec 18 07:52:07.447 INFO [stderr] warning: unused `std::result::Result` that must be used Dec 18 07:52:07.447 INFO [stderr] --> src/board.rs:202:13 Dec 18 07:52:07.447 INFO [stderr] | Dec 18 07:52:07.447 INFO [stderr] 202 | fmt_row(self, f, &mut buf, row); Dec 18 07:52:07.447 INFO [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Dec 18 07:52:07.447 INFO [stderr] | Dec 18 07:52:07.447 INFO [stderr] = note: this `Result` may be an `Err` variant, which should be handled Dec 18 07:52:07.447 INFO [stderr] Dec 18 07:52:07.630 INFO [stderr] warning: unused variable: `i` Dec 18 07:52:07.630 INFO [stderr] --> src/board.rs:211:13 Dec 18 07:52:07.630 INFO [stderr] | Dec 18 07:52:07.630 INFO [stderr] 211 | let i = col + row * 9; Dec 18 07:52:07.630 INFO [stderr] | ^ help: consider using `_i` instead Dec 18 07:52:07.630 INFO [stderr] | Dec 18 07:52:07.630 INFO [stderr] = note: #[warn(unused_variables)] on by default Dec 18 07:52:07.630 INFO [stderr] Dec 18 07:52:07.630 INFO [stderr] warning: unused variable: `dense_row_index` Dec 18 07:52:07.630 INFO [stderr] --> src/coords.rs:276:17 Dec 18 07:52:07.630 INFO [stderr] | Dec 18 07:52:07.630 INFO [stderr] 276 | for dense_row_index in 0..9*9*9 { Dec 18 07:52:07.630 INFO [stderr] | ^^^^^^^^^^^^^^^ help: consider using `_dense_row_index` instead Dec 18 07:52:07.630 INFO [stderr] Dec 18 07:52:07.636 INFO [stderr] warning: unused variable: `column` Dec 18 07:52:07.636 INFO [stderr] --> src/coords.rs:119:28 Dec 18 07:52:07.636 INFO [stderr] | Dec 18 07:52:07.636 INFO [stderr] 119 | pub fn to_dense(&self, column: &SparseColumn) -> DenseRow { Dec 18 07:52:07.636 INFO [stderr] | ^^^^^^ help: consider using `_column` instead Dec 18 07:52:07.636 INFO [stderr] Dec 18 07:52:07.636 INFO [stderr] warning: unused variable: `sparse_row` Dec 18 07:52:07.636 INFO [stderr] --> src/lib.rs:95:17 Dec 18 07:52:07.636 INFO [stderr] | Dec 18 07:52:07.636 INFO [stderr] 95 | let sparse_row = SparseRow::new(row_index); Dec 18 07:52:07.636 INFO [stderr] | ^^^^^^^^^^ help: consider using `_sparse_row` instead Dec 18 07:52:07.636 INFO [stderr] Dec 18 07:52:07.636 INFO [stderr] warning: unused variable: `board` Dec 18 07:52:07.636 INFO [stderr] --> src/lib.rs:123:25 Dec 18 07:52:07.636 INFO [stderr] | Dec 18 07:52:07.636 INFO [stderr] 123 | fn solve(&mut self, board: &mut Board) -> Result<(), ()> { Dec 18 07:52:07.636 INFO [stderr] | ^^^^^ help: consider using `_board` instead Dec 18 07:52:07.636 INFO [stderr] Dec 18 07:52:07.656 INFO [stderr] warning: variable does not need to be mutable Dec 18 07:52:07.656 INFO [stderr] --> src/lib.rs:65:13 Dec 18 07:52:07.656 INFO [stderr] | Dec 18 07:52:07.656 INFO [stderr] 65 | let mut matrix = [[Link::default(); NONZERO_CONSTRAINTS_PER_POSSIBILITY]; POSSIBILITIES]; Dec 18 07:52:07.656 INFO [stderr] | ----^^^^^^ Dec 18 07:52:07.656 INFO [stderr] | | Dec 18 07:52:07.656 INFO [stderr] | help: remove this `mut` Dec 18 07:52:07.656 INFO [stderr] | Dec 18 07:52:07.656 INFO [stderr] = note: #[warn(unused_mut)] on by default Dec 18 07:52:07.656 INFO [stderr] Dec 18 07:52:07.656 INFO [stderr] warning: variable does not need to be mutable Dec 18 07:52:07.656 INFO [stderr] --> src/lib.rs:66:13 Dec 18 07:52:07.656 INFO [stderr] | Dec 18 07:52:07.656 INFO [stderr] 66 | let mut headers = [Header::default(); CONSTRAINTS]; Dec 18 07:52:07.656 INFO [stderr] | ----^^^^^^^ Dec 18 07:52:07.656 INFO [stderr] | | Dec 18 07:52:07.656 INFO [stderr] | help: remove this `mut` Dec 18 07:52:07.656 INFO [stderr] Dec 18 07:52:07.676 INFO [stderr] warning: variable does not need to be mutable Dec 18 07:52:07.676 INFO [stderr] --> src/lib.rs:114:9 Dec 18 07:52:07.676 INFO [stderr] | Dec 18 07:52:07.676 INFO [stderr] 114 | let mut constraint: &mut Link = &mut row[dense_column_index]; Dec 18 07:52:07.676 INFO [stderr] | ----^^^^^^^^^^ Dec 18 07:52:07.676 INFO [stderr] | | Dec 18 07:52:07.676 INFO [stderr] | help: remove this `mut` Dec 18 07:52:07.676 INFO [stderr] Dec 18 07:52:08.034 INFO [stderr] warning: unnecessary parentheses around `if` condition Dec 18 07:52:08.034 INFO [stderr] --> src/bin/sudoku.rs:15:12 Dec 18 07:52:08.034 INFO [stderr] | Dec 18 07:52:08.034 INFO [stderr] 15 | if (bytes_read == 0) { Dec 18 07:52:08.034 INFO [stderr] | ^^^^^^^^^^^^^^^^^ help: remove these parentheses Dec 18 07:52:08.034 INFO [stderr] | Dec 18 07:52:08.034 INFO [stderr] = note: #[warn(unused_parens)] on by default Dec 18 07:52:08.034 INFO [stderr] Dec 18 07:52:08.040 INFO [stderr] warning: unnecessary parentheses around `if` condition Dec 18 07:52:08.040 INFO [stderr] --> src/bin/sudoku.rs:15:12 Dec 18 07:52:08.040 INFO [stderr] | Dec 18 07:52:08.040 INFO [stderr] 15 | if (bytes_read == 0) { Dec 18 07:52:08.040 INFO [stderr] | ^^^^^^^^^^^^^^^^^ help: remove these parentheses Dec 18 07:52:08.040 INFO [stderr] | Dec 18 07:52:08.040 INFO [stderr] = note: #[warn(unused_parens)] on by default Dec 18 07:52:08.040 INFO [stderr] Dec 18 07:52:08.076 INFO [stderr] warning: unused `std::result::Result` that must be used Dec 18 07:52:08.076 INFO [stderr] --> src/bin/sudoku.rs:29:13 Dec 18 07:52:08.076 INFO [stderr] | Dec 18 07:52:08.076 INFO [stderr] 29 | writeln!(stdout_lock); Dec 18 07:52:08.076 INFO [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ Dec 18 07:52:08.076 INFO [stderr] | Dec 18 07:52:08.076 INFO [stderr] = note: #[warn(unused_must_use)] on by default Dec 18 07:52:08.076 INFO [stderr] = note: this `Result` may be an `Err` variant, which should be handled Dec 18 07:52:08.076 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 18 07:52:08.076 INFO [stderr] Dec 18 07:52:08.076 INFO [stderr] warning: unused `std::result::Result` that must be used Dec 18 07:52:08.076 INFO [stderr] --> src/bin/sudoku.rs:30:13 Dec 18 07:52:08.076 INFO [stderr] | Dec 18 07:52:08.076 INFO [stderr] 30 | stdout_lock.flush(); Dec 18 07:52:08.076 INFO [stderr] | ^^^^^^^^^^^^^^^^^^^^ Dec 18 07:52:08.076 INFO [stderr] | Dec 18 07:52:08.076 INFO [stderr] = note: this `Result` may be an `Err` variant, which should be handled Dec 18 07:52:08.076 INFO [stderr] Dec 18 07:52:08.084 INFO [stderr] warning: method is never used: `to_sparse` Dec 18 07:52:08.084 INFO [stderr] --> src/coords.rs:18:5 Dec 18 07:52:08.084 INFO [stderr] | Dec 18 07:52:08.084 INFO [stderr] 18 | pub fn to_sparse(&self) -> SparseRow { Dec 18 07:52:08.084 INFO [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Dec 18 07:52:08.084 INFO [stderr] | Dec 18 07:52:08.084 INFO [stderr] = note: #[warn(dead_code)] on by default Dec 18 07:52:08.084 INFO [stderr] Dec 18 07:52:08.084 INFO [stderr] warning: constant item is never used: `POSSIBILITIES` Dec 18 07:52:08.084 INFO [stderr] --> src/matrix.rs:5:1 Dec 18 07:52:08.084 INFO [stderr] | Dec 18 07:52:08.084 INFO [stderr] 5 | const POSSIBILITIES: usize = 9 * 9 * 9; Dec 18 07:52:08.084 INFO [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Dec 18 07:52:08.084 INFO [stderr] Dec 18 07:52:08.084 INFO [stderr] warning: constant item is never used: `CONSTRAINTS` Dec 18 07:52:08.084 INFO [stderr] --> src/matrix.rs:9:1 Dec 18 07:52:08.084 INFO [stderr] | Dec 18 07:52:08.084 INFO [stderr] 9 | const CONSTRAINTS: usize = 9 * 9 + 9 * 9 + 9 * 9 + 9 * 9; Dec 18 07:52:08.084 INFO [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Dec 18 07:52:08.084 INFO [stderr] Dec 18 07:52:08.084 INFO [stderr] warning: constant item is never used: `NONZERO_CONSTRAINTS_PER_POSSIBILITY` Dec 18 07:52:08.084 INFO [stderr] --> src/matrix.rs:13:1 Dec 18 07:52:08.084 INFO [stderr] | Dec 18 07:52:08.084 INFO [stderr] 13 | const NONZERO_CONSTRAINTS_PER_POSSIBILITY: usize = 4; Dec 18 07:52:08.084 INFO [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Dec 18 07:52:08.084 INFO [stderr] Dec 18 07:52:08.085 INFO [stderr] warning: constant item is never used: `MATRIX_NODE_COUNT` Dec 18 07:52:08.085 INFO [stderr] --> src/matrix.rs:16:1 Dec 18 07:52:08.085 INFO [stderr] | Dec 18 07:52:08.085 INFO [stderr] 16 | const MATRIX_NODE_COUNT: usize = 1 + CONSTRAINTS + POSSIBILITIES * NONZERO_CONSTRAINTS_PER_POSSIBILITY; Dec 18 07:52:08.085 INFO [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Dec 18 07:52:08.085 INFO [stderr] Dec 18 07:52:08.102 INFO [stderr] warning: unused `std::result::Result` that must be used Dec 18 07:52:08.102 INFO [stderr] --> src/matrix.rs:359:13 Dec 18 07:52:08.102 INFO [stderr] | Dec 18 07:52:08.102 INFO [stderr] 359 | writeln!(f, "col {:?}", self.nodes[current_header_index]); Dec 18 07:52:08.102 INFO [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Dec 18 07:52:08.102 INFO [stderr] | Dec 18 07:52:08.102 INFO [stderr] = note: #[warn(unused_must_use)] on by default Dec 18 07:52:08.102 INFO [stderr] = note: this `Result` may be an `Err` variant, which should be handled Dec 18 07:52:08.102 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 18 07:52:08.102 INFO [stderr] Dec 18 07:52:08.109 INFO [stderr] warning: unused `std::result::Result` that must be used Dec 18 07:52:08.109 INFO [stderr] --> src/board.rs:84:13 Dec 18 07:52:08.109 INFO [stderr] | Dec 18 07:52:08.109 INFO [stderr] 84 | write!(to, "{} ", c); Dec 18 07:52:08.109 INFO [stderr] | ^^^^^^^^^^^^^^^^^^^^^ Dec 18 07:52:08.109 INFO [stderr] | Dec 18 07:52:08.109 INFO [stderr] = note: this `Result` may be an `Err` variant, which should be handled Dec 18 07:52:08.109 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 18 07:52:08.109 INFO [stderr] Dec 18 07:52:08.115 INFO [stderr] warning: unused `std::result::Result` that must be used Dec 18 07:52:08.115 INFO [stderr] --> src/board.rs:86:9 Dec 18 07:52:08.115 INFO [stderr] | Dec 18 07:52:08.115 INFO [stderr] 86 | write!(to, "{}", self.entries[9*9-1]); Dec 18 07:52:08.115 INFO [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Dec 18 07:52:08.115 INFO [stderr] | Dec 18 07:52:08.115 INFO [stderr] = note: this `Result` may be an `Err` variant, which should be handled Dec 18 07:52:08.115 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 18 07:52:08.115 INFO [stderr] Dec 18 07:52:08.115 INFO [stderr] warning: comparison is useless due to type limits Dec 18 07:52:08.115 INFO [stderr] --> src/board.rs:158:25 Dec 18 07:52:08.115 INFO [stderr] | Dec 18 07:52:08.115 INFO [stderr] 158 | assert!(value >= 0 && value <= 9); Dec 18 07:52:08.115 INFO [stderr] | ^^^^^^^^^^ Dec 18 07:52:08.115 INFO [stderr] | Dec 18 07:52:08.115 INFO [stderr] = note: #[warn(unused_comparisons)] on by default Dec 18 07:52:08.115 INFO [stderr] Dec 18 07:52:08.115 INFO [stderr] warning: unused `std::result::Result` that must be used Dec 18 07:52:08.115 INFO [stderr] --> src/board.rs:202:13 Dec 18 07:52:08.115 INFO [stderr] | Dec 18 07:52:08.115 INFO [stderr] 202 | fmt_row(self, f, &mut buf, row); Dec 18 07:52:08.115 INFO [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Dec 18 07:52:08.115 INFO [stderr] | Dec 18 07:52:08.115 INFO [stderr] = note: this `Result` may be an `Err` variant, which should be handled Dec 18 07:52:08.115 INFO [stderr] Dec 18 07:52:08.140 INFO [stderr] warning: unused `std::result::Result` that must be used Dec 18 07:52:08.140 INFO [stderr] --> src/bin/sudoku.rs:29:13 Dec 18 07:52:08.140 INFO [stderr] | Dec 18 07:52:08.140 INFO [stderr] 29 | writeln!(stdout_lock); Dec 18 07:52:08.140 INFO [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ Dec 18 07:52:08.140 INFO [stderr] | Dec 18 07:52:08.140 INFO [stderr] = note: #[warn(unused_must_use)] on by default Dec 18 07:52:08.140 INFO [stderr] = note: this `Result` may be an `Err` variant, which should be handled Dec 18 07:52:08.140 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 18 07:52:08.140 INFO [stderr] Dec 18 07:52:08.140 INFO [stderr] warning: unused `std::result::Result` that must be used Dec 18 07:52:08.140 INFO [stderr] --> src/bin/sudoku.rs:30:13 Dec 18 07:52:08.140 INFO [stderr] | Dec 18 07:52:08.140 INFO [stderr] 30 | stdout_lock.flush(); Dec 18 07:52:08.140 INFO [stderr] | ^^^^^^^^^^^^^^^^^^^^ Dec 18 07:52:08.140 INFO [stderr] | Dec 18 07:52:08.140 INFO [stderr] = note: this `Result` may be an `Err` variant, which should be handled Dec 18 07:52:08.140 INFO [stderr] Dec 18 07:52:08.188 INFO [stderr] Finished dev [unoptimized + debuginfo] target(s) in 1.74s Dec 18 07:52:09.307 INFO running `"docker" "inspect" "955d74452fe385a65f2bcc8b035dcb8589957ff7d2d047ba5d6acdc24e562866"` Dec 18 07:52:09.614 INFO running `"docker" "rm" "-f" "955d74452fe385a65f2bcc8b035dcb8589957ff7d2d047ba5d6acdc24e562866"` Dec 18 07:52:10.018 INFO [stdout] 955d74452fe385a65f2bcc8b035dcb8589957ff7d2d047ba5d6acdc24e562866