[INFO] cloning repository https://github.com/nkoppel/sudoku-solver [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/nkoppel/sudoku-solver" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fnkoppel%2Fsudoku-solver", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fnkoppel%2Fsudoku-solver'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] f3d3e3be6823aa8b1c0df59beb9068b54f884d23 [INFO] testing nkoppel/sudoku-solver against 1.60.0 for beta-1.61-1 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fnkoppel%2Fsudoku-solver" "/workspace/builds/worker-7/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-7/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/nkoppel/sudoku-solver on toolchain 1.60.0 [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+1.60.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/nkoppel/sudoku-solver [INFO] finished tweaking git repo https://github.com/nkoppel/sudoku-solver [INFO] tweaked toml for git repo https://github.com/nkoppel/sudoku-solver written to /workspace/builds/worker-7/source/Cargo.toml [INFO] crate git repo https://github.com/nkoppel/sudoku-solver already has a lockfile, it will not be regenerated [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+1.60.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:b0c94ce3c1162fcb8e57cac5b65ec2f72eabb1eebea4fcc35e269e823f681646" "/opt/rustwide/cargo-home/bin/cargo" "+1.60.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 923660f14c0726d852688f0577aa7bd80a20325b71d20f7e52a2cec9333977b4 [INFO] running `Command { std: "docker" "start" "-a" "923660f14c0726d852688f0577aa7bd80a20325b71d20f7e52a2cec9333977b4", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "923660f14c0726d852688f0577aa7bd80a20325b71d20f7e52a2cec9333977b4", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "923660f14c0726d852688f0577aa7bd80a20325b71d20f7e52a2cec9333977b4", kill_on_drop: false }` [INFO] [stdout] 923660f14c0726d852688f0577aa7bd80a20325b71d20f7e52a2cec9333977b4 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:b0c94ce3c1162fcb8e57cac5b65ec2f72eabb1eebea4fcc35e269e823f681646" "/opt/rustwide/cargo-home/bin/cargo" "+1.60.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] d36cf0fbb8150e7534810b950818811b90fb0cdb823efe1545120e3839771609 [INFO] running `Command { std: "docker" "start" "-a" "d36cf0fbb8150e7534810b950818811b90fb0cdb823efe1545120e3839771609", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Compiling sudoku-solver v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/solve.rs:105:14 [INFO] [stdout] | [INFO] [stdout] 105 | board |= (board >> 3); [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 105 - board |= (board >> 3); [INFO] [stdout] 105 + board |= board >> 3; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/solve.rs:108:14 [INFO] [stdout] | [INFO] [stdout] 108 | board |= (board >> 6); [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 108 - board |= (board >> 6); [INFO] [stdout] 108 + board |= board >> 6; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/solve.rs:135:14 [INFO] [stdout] | [INFO] [stdout] 135 | board |= (board >> 27); [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 135 - board |= (board >> 27); [INFO] [stdout] 135 + board |= board >> 27; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/solve.rs:138:14 [INFO] [stdout] | [INFO] [stdout] 138 | board |= (board >> 54); [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 138 - board |= (board >> 54); [INFO] [stdout] 138 + board |= board >> 54; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `groups` [INFO] [stdout] --> src/solve.rs:194:5 [INFO] [stdout] | [INFO] [stdout] 194 | groups: [u128; 27], [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 5 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/solve.rs:105:14 [INFO] [stdout] | [INFO] [stdout] 105 | board |= (board >> 3); [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 105 - board |= (board >> 3); [INFO] [stdout] 105 + board |= board >> 3; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/solve.rs:108:14 [INFO] [stdout] | [INFO] [stdout] 108 | board |= (board >> 6); [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 108 - board |= (board >> 6); [INFO] [stdout] 108 + board |= board >> 6; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/solve.rs:135:14 [INFO] [stdout] | [INFO] [stdout] 135 | board |= (board >> 27); [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 135 - board |= (board >> 27); [INFO] [stdout] 135 + board |= board >> 27; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/solve.rs:138:14 [INFO] [stdout] | [INFO] [stdout] 138 | board |= (board >> 54); [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 138 - board |= (board >> 54); [INFO] [stdout] 138 + board |= board >> 54; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::fs::File` [INFO] [stdout] --> src/main.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use std::fs::File; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `BufReader`, `Read`, `stdin` [INFO] [stdout] --> src/main.rs:8:22 [INFO] [stdout] | [INFO] [stdout] 8 | use std::io::{Lines, Read, BufRead, BufReader, stdin}; [INFO] [stdout] | ^^^^ ^^^^^^^^^ ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `test_from_lines` [INFO] [stdout] --> src/main.rs:10:4 [INFO] [stdout] | [INFO] [stdout] 10 | fn test_from_lines(lines: Lines) [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `solve_from_lines` [INFO] [stdout] --> src/main.rs:26:4 [INFO] [stdout] | [INFO] [stdout] 26 | fn solve_from_lines(lines: Lines) [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant is never used: `NEW_BOARD` [INFO] [stdout] --> src/puzzle.rs:16:1 [INFO] [stdout] | [INFO] [stdout] 16 | pub const NEW_BOARD: u128 = 0x1_fffff_fffff_fffff_fffff; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `solved` [INFO] [stdout] --> src/puzzle.rs:21:5 [INFO] [stdout] | [INFO] [stdout] 21 | solved: u128 [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: `Puzzle` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] --> src/puzzle.rs:18:10 [INFO] [stdout] | [INFO] [stdout] 18 | #[derive(Clone)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Clone` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `new` [INFO] [stdout] --> src/puzzle.rs:25:18 [INFO] [stdout] | [INFO] [stdout] 25 | pub const fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `from_str` [INFO] [stdout] --> src/puzzle.rs:32:12 [INFO] [stdout] | [INFO] [stdout] 32 | pub fn from_str(s: &str) -> Self { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `to_string` [INFO] [stdout] --> src/puzzle.rs:68:12 [INFO] [stdout] | [INFO] [stdout] 68 | pub fn to_string(&self) -> String { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `get_solved` [INFO] [stdout] --> src/puzzle.rs:83:12 [INFO] [stdout] | [INFO] [stdout] 83 | pub fn get_solved(&self) -> u128 { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `get_new_solved` [INFO] [stdout] --> src/puzzle.rs:95:12 [INFO] [stdout] | [INFO] [stdout] 95 | pub fn get_new_solved(&mut self) -> u128 { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `is_valid` [INFO] [stdout] --> src/puzzle.rs:101:12 [INFO] [stdout] | [INFO] [stdout] 101 | pub fn is_valid(&self) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `get_square_options` [INFO] [stdout] --> src/puzzle.rs:111:12 [INFO] [stdout] | [INFO] [stdout] 111 | pub fn get_square_options(&self) -> [u128; 9] { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant is never used: `ROW` [INFO] [stdout] --> src/solve.rs:3:1 [INFO] [stdout] | [INFO] [stdout] 3 | pub const ROW: u128 = 0o777; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant is never used: `BOX` [INFO] [stdout] --> src/solve.rs:5:1 [INFO] [stdout] | [INFO] [stdout] 5 | pub const BOX: u128 = 0o7007007; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `quick_columns` [INFO] [stdout] --> src/solve.rs:10:8 [INFO] [stdout] | [INFO] [stdout] 10 | pub fn quick_columns(mut board: u128) -> u128 { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `quick_rows` [INFO] [stdout] --> src/solve.rs:34:8 [INFO] [stdout] | [INFO] [stdout] 34 | pub fn quick_rows(mut board: u128) -> u128 { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `quick_boxes` [INFO] [stdout] --> src/solve.rs:59:8 [INFO] [stdout] | [INFO] [stdout] 59 | pub fn quick_boxes(mut board: u128) -> u128 { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `quick_vert_triads` [INFO] [stdout] --> src/solve.rs:113:8 [INFO] [stdout] | [INFO] [stdout] 113 | pub fn quick_vert_triads(mut board: u128) -> (u128, u128) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `gen_group_table` [INFO] [stdout] --> src/solve.rs:143:8 [INFO] [stdout] | [INFO] [stdout] 143 | pub fn gen_group_table() -> [u128; 27] { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `gen_square_table` [INFO] [stdout] --> src/solve.rs:155:4 [INFO] [stdout] | [INFO] [stdout] 155 | fn gen_square_table() -> [u128; 81] { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct is never constructed: `Solver` [INFO] [stdout] --> src/solve.rs:191:12 [INFO] [stdout] | [INFO] [stdout] 191 | pub struct Solver { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `new` [INFO] [stdout] --> src/solve.rs:199:12 [INFO] [stdout] | [INFO] [stdout] 199 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `slow_is_valid` [INFO] [stdout] --> src/solve.rs:208:12 [INFO] [stdout] | [INFO] [stdout] 208 | pub fn slow_is_valid(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `update` [INFO] [stdout] --> src/solve.rs:226:12 [INFO] [stdout] | [INFO] [stdout] 226 | pub fn update(&mut self) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `guess` [INFO] [stdout] --> src/solve.rs:291:12 [INFO] [stdout] | [INFO] [stdout] 291 | pub fn guess(&mut self) -> (u8, u8) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `solve` [INFO] [stdout] --> src/solve.rs:315:12 [INFO] [stdout] | [INFO] [stdout] 315 | pub fn solve(&mut self) -> bool { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `test` [INFO] [stdout] --> src/solve.rs:344:12 [INFO] [stdout] | [INFO] [stdout] 344 | pub fn test(&mut self, puzzle: &str, solution: &str) { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 2.41s [INFO] [stdout] warning: 32 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "d36cf0fbb8150e7534810b950818811b90fb0cdb823efe1545120e3839771609", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "d36cf0fbb8150e7534810b950818811b90fb0cdb823efe1545120e3839771609", kill_on_drop: false }` [INFO] [stdout] d36cf0fbb8150e7534810b950818811b90fb0cdb823efe1545120e3839771609 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:b0c94ce3c1162fcb8e57cac5b65ec2f72eabb1eebea4fcc35e269e823f681646" "/opt/rustwide/cargo-home/bin/cargo" "+1.60.0" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 6fe1ff13c0209168fe5d74b5f7e8d2ba2e29b7673ba1c63a403b6f37f87efcb3 [INFO] running `Command { std: "docker" "start" "-a" "6fe1ff13c0209168fe5d74b5f7e8d2ba2e29b7673ba1c63a403b6f37f87efcb3", kill_on_drop: false }` [INFO] [stderr] Compiling sudoku-solver v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/solve.rs:105:14 [INFO] [stdout] | [INFO] [stdout] 105 | board |= (board >> 3); [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 105 - board |= (board >> 3); [INFO] [stdout] 105 + board |= board >> 3; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/solve.rs:108:14 [INFO] [stdout] | [INFO] [stdout] 108 | board |= (board >> 6); [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 108 - board |= (board >> 6); [INFO] [stdout] 108 + board |= board >> 6; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/solve.rs:135:14 [INFO] [stdout] | [INFO] [stdout] 135 | board |= (board >> 27); [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 135 - board |= (board >> 27); [INFO] [stdout] 135 + board |= board >> 27; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/solve.rs:138:14 [INFO] [stdout] | [INFO] [stdout] 138 | board |= (board >> 54); [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 138 - board |= (board >> 54); [INFO] [stdout] 138 + board |= board >> 54; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `groups` [INFO] [stdout] --> src/solve.rs:194:5 [INFO] [stdout] | [INFO] [stdout] 194 | groups: [u128; 27], [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 5 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/solve.rs:105:14 [INFO] [stdout] | [INFO] [stdout] 105 | board |= (board >> 3); [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 105 - board |= (board >> 3); [INFO] [stdout] 105 + board |= board >> 3; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/solve.rs:108:14 [INFO] [stdout] | [INFO] [stdout] 108 | board |= (board >> 6); [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 108 - board |= (board >> 6); [INFO] [stdout] 108 + board |= board >> 6; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/solve.rs:135:14 [INFO] [stdout] | [INFO] [stdout] 135 | board |= (board >> 27); [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 135 - board |= (board >> 27); [INFO] [stdout] 135 + board |= board >> 27; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/solve.rs:138:14 [INFO] [stdout] | [INFO] [stdout] 138 | board |= (board >> 54); [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 138 - board |= (board >> 54); [INFO] [stdout] 138 + board |= board >> 54; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/solve.rs:105:14 [INFO] [stdout] | [INFO] [stdout] 105 | board |= (board >> 3); [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 105 - board |= (board >> 3); [INFO] [stdout] 105 + board |= board >> 3; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/solve.rs:108:14 [INFO] [stdout] | [INFO] [stdout] 108 | board |= (board >> 6); [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 108 - board |= (board >> 6); [INFO] [stdout] 108 + board |= board >> 6; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/solve.rs:135:14 [INFO] [stdout] | [INFO] [stdout] 135 | board |= (board >> 27); [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 135 - board |= (board >> 27); [INFO] [stdout] 135 + board |= board >> 27; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/solve.rs:138:14 [INFO] [stdout] | [INFO] [stdout] 138 | board |= (board >> 54); [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 138 - board |= (board >> 54); [INFO] [stdout] 138 + board |= board >> 54; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::fs::File` [INFO] [stdout] --> src/main.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use std::fs::File; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `BufReader`, `Read`, `stdin` [INFO] [stdout] --> src/main.rs:8:22 [INFO] [stdout] | [INFO] [stdout] 8 | use std::io::{Lines, Read, BufRead, BufReader, stdin}; [INFO] [stdout] | ^^^^ ^^^^^^^^^ ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `groups` [INFO] [stdout] --> src/solve.rs:194:5 [INFO] [stdout] | [INFO] [stdout] 194 | groups: [u128; 27], [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `test_from_lines` [INFO] [stdout] --> src/main.rs:10:4 [INFO] [stdout] | [INFO] [stdout] 10 | fn test_from_lines(lines: Lines) [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `solve_from_lines` [INFO] [stdout] --> src/main.rs:26:4 [INFO] [stdout] | [INFO] [stdout] 26 | fn solve_from_lines(lines: Lines) [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant is never used: `NEW_BOARD` [INFO] [stdout] --> src/puzzle.rs:16:1 [INFO] [stdout] | [INFO] [stdout] 16 | pub const NEW_BOARD: u128 = 0x1_fffff_fffff_fffff_fffff; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `solved` [INFO] [stdout] --> src/puzzle.rs:21:5 [INFO] [stdout] | [INFO] [stdout] 21 | solved: u128 [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: `Puzzle` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] --> src/puzzle.rs:18:10 [INFO] [stdout] | [INFO] [stdout] 18 | #[derive(Clone)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Clone` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `new` [INFO] [stdout] --> src/puzzle.rs:25:18 [INFO] [stdout] | [INFO] [stdout] 25 | pub const fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `from_str` [INFO] [stdout] --> src/puzzle.rs:32:12 [INFO] [stdout] | [INFO] [stdout] 32 | pub fn from_str(s: &str) -> Self { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `to_string` [INFO] [stdout] --> src/puzzle.rs:68:12 [INFO] [stdout] | [INFO] [stdout] 68 | pub fn to_string(&self) -> String { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `get_solved` [INFO] [stdout] --> src/puzzle.rs:83:12 [INFO] [stdout] | [INFO] [stdout] 83 | pub fn get_solved(&self) -> u128 { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `get_new_solved` [INFO] [stdout] --> src/puzzle.rs:95:12 [INFO] [stdout] | [INFO] [stdout] 95 | pub fn get_new_solved(&mut self) -> u128 { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `is_valid` [INFO] [stdout] --> src/puzzle.rs:101:12 [INFO] [stdout] | [INFO] [stdout] 101 | pub fn is_valid(&self) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `get_square_options` [INFO] [stdout] --> src/puzzle.rs:111:12 [INFO] [stdout] | [INFO] [stdout] 111 | pub fn get_square_options(&self) -> [u128; 9] { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant is never used: `ROW` [INFO] [stdout] --> src/solve.rs:3:1 [INFO] [stdout] | [INFO] [stdout] 3 | pub const ROW: u128 = 0o777; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant is never used: `BOX` [INFO] [stdout] --> src/solve.rs:5:1 [INFO] [stdout] | [INFO] [stdout] 5 | pub const BOX: u128 = 0o7007007; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `quick_columns` [INFO] [stdout] --> src/solve.rs:10:8 [INFO] [stdout] | [INFO] [stdout] 10 | pub fn quick_columns(mut board: u128) -> u128 { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `quick_rows` [INFO] [stdout] --> src/solve.rs:34:8 [INFO] [stdout] | [INFO] [stdout] 34 | pub fn quick_rows(mut board: u128) -> u128 { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `quick_boxes` [INFO] [stdout] --> src/solve.rs:59:8 [INFO] [stdout] | [INFO] [stdout] 59 | pub fn quick_boxes(mut board: u128) -> u128 { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `quick_vert_triads` [INFO] [stdout] --> src/solve.rs:113:8 [INFO] [stdout] | [INFO] [stdout] 113 | pub fn quick_vert_triads(mut board: u128) -> (u128, u128) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `gen_group_table` [INFO] [stdout] --> src/solve.rs:143:8 [INFO] [stdout] | [INFO] [stdout] 143 | pub fn gen_group_table() -> [u128; 27] { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `gen_square_table` [INFO] [stdout] --> src/solve.rs:155:4 [INFO] [stdout] | [INFO] [stdout] 155 | fn gen_square_table() -> [u128; 81] { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct is never constructed: `Solver` [INFO] [stdout] --> src/solve.rs:191:12 [INFO] [stdout] | [INFO] [stdout] 191 | pub struct Solver { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `new` [INFO] [stdout] --> src/solve.rs:199:12 [INFO] [stdout] | [INFO] [stdout] 199 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `slow_is_valid` [INFO] [stdout] --> src/solve.rs:208:12 [INFO] [stdout] | [INFO] [stdout] 208 | pub fn slow_is_valid(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `update` [INFO] [stdout] --> src/solve.rs:226:12 [INFO] [stdout] | [INFO] [stdout] 226 | pub fn update(&mut self) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `guess` [INFO] [stdout] --> src/solve.rs:291:12 [INFO] [stdout] | [INFO] [stdout] 291 | pub fn guess(&mut self) -> (u8, u8) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `solve` [INFO] [stdout] --> src/solve.rs:315:12 [INFO] [stdout] | [INFO] [stdout] 315 | pub fn solve(&mut self) -> bool { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `test` [INFO] [stdout] --> src/solve.rs:344:12 [INFO] [stdout] | [INFO] [stdout] 344 | pub fn test(&mut self, puzzle: &str, solution: &str) { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 5 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 32 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished test [unoptimized + debuginfo] target(s) in 0.60s [INFO] running `Command { std: "docker" "inspect" "6fe1ff13c0209168fe5d74b5f7e8d2ba2e29b7673ba1c63a403b6f37f87efcb3", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "6fe1ff13c0209168fe5d74b5f7e8d2ba2e29b7673ba1c63a403b6f37f87efcb3", kill_on_drop: false }` [INFO] [stdout] 6fe1ff13c0209168fe5d74b5f7e8d2ba2e29b7673ba1c63a403b6f37f87efcb3 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:b0c94ce3c1162fcb8e57cac5b65ec2f72eabb1eebea4fcc35e269e823f681646" "/opt/rustwide/cargo-home/bin/cargo" "+1.60.0" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] 4fc38a602bc08808df5b2a972a5cf545175c3b2422082fc4b96b16e3c8c4a322 [INFO] running `Command { std: "docker" "start" "-a" "4fc38a602bc08808df5b2a972a5cf545175c3b2422082fc4b96b16e3c8c4a322", kill_on_drop: false }` [INFO] [stderr] warning: unnecessary parentheses around assigned value [INFO] [stderr] --> src/solve.rs:105:14 [INFO] [stderr] | [INFO] [stderr] 105 | board |= (board >> 3); [INFO] [stderr] | ^ ^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_parens)]` on by default [INFO] [stderr] help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] 105 - board |= (board >> 3); [INFO] [stderr] 105 + board |= board >> 3; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around assigned value [INFO] [stderr] --> src/solve.rs:108:14 [INFO] [stderr] | [INFO] [stderr] 108 | board |= (board >> 6); [INFO] [stderr] | ^ ^ [INFO] [stderr] | [INFO] [stderr] help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] 108 - board |= (board >> 6); [INFO] [stderr] 108 + board |= board >> 6; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around assigned value [INFO] [stderr] --> src/solve.rs:135:14 [INFO] [stderr] | [INFO] [stderr] 135 | board |= (board >> 27); [INFO] [stderr] | ^ ^ [INFO] [stderr] | [INFO] [stderr] help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] 135 - board |= (board >> 27); [INFO] [stderr] 135 + board |= board >> 27; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around assigned value [INFO] [stderr] --> src/solve.rs:138:14 [INFO] [stderr] | [INFO] [stderr] 138 | board |= (board >> 54); [INFO] [stderr] | ^ ^ [INFO] [stderr] | [INFO] [stderr] help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] 138 - board |= (board >> 54); [INFO] [stderr] 138 + board |= board >> 54; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: field is never read: `groups` [INFO] [stderr] --> src/solve.rs:194:5 [INFO] [stderr] | [INFO] [stderr] 194 | groups: [u128; 27], [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: `sudoku-solver` (lib) generated 5 warnings [INFO] [stderr] warning: unused import: `std::fs::File` [INFO] [stderr] --> src/main.rs:7:5 [INFO] [stderr] | [INFO] [stderr] 7 | use std::fs::File; [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused imports: `BufReader`, `Read`, `stdin` [INFO] [stderr] --> src/main.rs:8:22 [INFO] [stderr] | [INFO] [stderr] 8 | use std::io::{Lines, Read, BufRead, BufReader, stdin}; [INFO] [stderr] | ^^^^ ^^^^^^^^^ ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `test_from_lines` [INFO] [stderr] --> src/main.rs:10:4 [INFO] [stderr] | [INFO] [stderr] 10 | fn test_from_lines(lines: Lines) [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: function is never used: `solve_from_lines` [INFO] [stderr] --> src/main.rs:26:4 [INFO] [stderr] | [INFO] [stderr] 26 | fn solve_from_lines(lines: Lines) [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant is never used: `NEW_BOARD` [INFO] [stderr] --> src/puzzle.rs:16:1 [INFO] [stderr] | [INFO] [stderr] 16 | pub const NEW_BOARD: u128 = 0x1_fffff_fffff_fffff_fffff; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never read: `solved` [INFO] [stderr] --> src/puzzle.rs:21:5 [INFO] [stderr] | [INFO] [stderr] 21 | solved: u128 [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: `Puzzle` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stderr] --> src/puzzle.rs:18:10 [INFO] [stderr] | [INFO] [stderr] 18 | #[derive(Clone)] [INFO] [stderr] | ^^^^^ [INFO] [stderr] = note: this warning originates in the derive macro `Clone` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `new` [INFO] [stderr] --> src/puzzle.rs:25:18 [INFO] [stderr] | [INFO] [stderr] 25 | pub const fn new() -> Self { [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `from_str` [INFO] [stderr] --> src/puzzle.rs:32:12 [INFO] [stderr] | [INFO] [stderr] 32 | pub fn from_str(s: &str) -> Self { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `to_string` [INFO] [stderr] --> src/puzzle.rs:68:12 [INFO] [stderr] | [INFO] [stderr] 68 | pub fn to_string(&self) -> String { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `get_solved` [INFO] [stderr] --> src/puzzle.rs:83:12 [INFO] [stderr] | [INFO] [stderr] 83 | pub fn get_solved(&self) -> u128 { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `get_new_solved` [INFO] [stderr] --> src/puzzle.rs:95:12 [INFO] [stderr] | [INFO] [stderr] 95 | pub fn get_new_solved(&mut self) -> u128 { [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `is_valid` [INFO] [stderr] --> src/puzzle.rs:101:12 [INFO] [stderr] | [INFO] [stderr] 101 | pub fn is_valid(&self) -> bool { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `get_square_options` [INFO] [stderr] --> src/puzzle.rs:111:12 [INFO] [stderr] | [INFO] [stderr] 111 | pub fn get_square_options(&self) -> [u128; 9] { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant is never used: `ROW` [INFO] [stderr] --> src/solve.rs:3:1 [INFO] [stderr] | [INFO] [stderr] 3 | pub const ROW: u128 = 0o777; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant is never used: `BOX` [INFO] [stderr] --> src/solve.rs:5:1 [INFO] [stderr] | [INFO] [stderr] 5 | pub const BOX: u128 = 0o7007007; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `quick_columns` [INFO] [stderr] --> src/solve.rs:10:8 [INFO] [stderr] | [INFO] [stderr] 10 | pub fn quick_columns(mut board: u128) -> u128 { [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `quick_rows` [INFO] [stderr] --> src/solve.rs:34:8 [INFO] [stderr] | [INFO] [stderr] 34 | pub fn quick_rows(mut board: u128) -> u128 { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `quick_boxes` [INFO] [stderr] --> src/solve.rs:59:8 [INFO] [stderr] | [INFO] [stderr] 59 | pub fn quick_boxes(mut board: u128) -> u128 { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `quick_vert_triads` [INFO] [stderr] --> src/solve.rs:113:8 [INFO] [stderr] | [INFO] [stderr] 113 | pub fn quick_vert_triads(mut board: u128) -> (u128, u128) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `gen_group_table` [INFO] [stderr] --> src/solve.rs:143:8 [INFO] [stderr] | [INFO] [stderr] 143 | pub fn gen_group_table() -> [u128; 27] { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `gen_square_table` [INFO] [stderr] --> src/solve.rs:155:4 [INFO] [stderr] | [INFO] [stderr] 155 | fn gen_square_table() -> [u128; 81] { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct is never constructed: `Solver` [INFO] [stderr] --> src/solve.rs:191:12 [INFO] [stderr] | [INFO] [stderr] 191 | pub struct Solver { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `new` [INFO] [stderr] --> src/solve.rs:199:12 [INFO] [stderr] | [INFO] [stderr] 199 | pub fn new() -> Self { [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `slow_is_valid` [INFO] [stderr] --> src/solve.rs:208:12 [INFO] [stderr] | [INFO] [stderr] 208 | pub fn slow_is_valid(&self) -> bool { [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `update` [INFO] [stderr] --> src/solve.rs:226:12 [INFO] [stderr] | [INFO] [stderr] 226 | pub fn update(&mut self) { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `guess` [INFO] [stderr] --> src/solve.rs:291:12 [INFO] [stderr] | [INFO] [stderr] 291 | pub fn guess(&mut self) -> (u8, u8) { [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `solve` [INFO] [stderr] --> src/solve.rs:315:12 [INFO] [stderr] | [INFO] [stderr] 315 | pub fn solve(&mut self) -> bool { [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `test` [INFO] [stderr] --> src/solve.rs:344:12 [INFO] [stderr] | [INFO] [stderr] 344 | pub fn test(&mut self, puzzle: &str, solution: &str) { [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: `sudoku-solver` (lib test) generated 5 warnings (5 duplicates) [INFO] [stderr] warning: `sudoku-solver` (bin "sudoku-solver" test) generated 32 warnings (4 duplicates) [INFO] [stderr] Finished test [unoptimized + debuginfo] target(s) in 0.01s [INFO] [stderr] Running unittests (/opt/rustwide/target/debug/deps/sudoku_solver-ec310433114df6e9) [INFO] [stderr] Running unittests (/opt/rustwide/target/debug/deps/sudoku_solver-8734c6a00a7cd92f) [INFO] [stdout] [INFO] [stderr] Doc-tests sudoku-solver [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] warning: unnecessary parentheses around assigned value [INFO] [stdout] running 0 tests [INFO] [stderr] --> /opt/rustwide/workdir/src/solve.rs:105:14 [INFO] [stdout] [INFO] [stderr] | [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stderr] 105 | board |= (board >> 3); [INFO] [stdout] [INFO] [stderr] | ^ ^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_parens)]` on by default [INFO] [stderr] help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] 105 - board |= (board >> 3); [INFO] [stderr] 105 + board |= board >> 3; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around assigned value [INFO] [stderr] --> /opt/rustwide/workdir/src/solve.rs:108:14 [INFO] [stderr] | [INFO] [stderr] 108 | board |= (board >> 6); [INFO] [stderr] | ^ ^ [INFO] [stderr] | [INFO] [stderr] help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] 108 - board |= (board >> 6); [INFO] [stderr] 108 + board |= board >> 6; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around assigned value [INFO] [stderr] --> /opt/rustwide/workdir/src/solve.rs:135:14 [INFO] [stderr] | [INFO] [stderr] 135 | board |= (board >> 27); [INFO] [stderr] | ^ ^ [INFO] [stderr] | [INFO] [stderr] help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] 135 - board |= (board >> 27); [INFO] [stderr] 135 + board |= board >> 27; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around assigned value [INFO] [stderr] --> /opt/rustwide/workdir/src/solve.rs:138:14 [INFO] [stderr] | [INFO] [stderr] 138 | board |= (board >> 54); [INFO] [stderr] | ^ ^ [INFO] [stderr] | [INFO] [stderr] help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] 138 - board |= (board >> 54); [INFO] [stderr] 138 + board |= board >> 54; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: 4 warnings emitted [INFO] [stderr] [INFO] running `Command { std: "docker" "inspect" "4fc38a602bc08808df5b2a972a5cf545175c3b2422082fc4b96b16e3c8c4a322", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "4fc38a602bc08808df5b2a972a5cf545175c3b2422082fc4b96b16e3c8c4a322", kill_on_drop: false }` [INFO] [stdout] 4fc38a602bc08808df5b2a972a5cf545175c3b2422082fc4b96b16e3c8c4a322