[INFO] updating cached repository jounathaen/Sudoku_Rust [INFO] running `"git" "fetch" "--all"` [INFO] [stdout] Fetching origin [INFO] [stderr] From git://github.com/jounathaen/Sudoku_Rust [INFO] [stderr] * branch HEAD -> FETCH_HEAD [INFO] running `"git" "clone" "work/cache/sources/gh/jounathaen/Sudoku_Rust" "work/ex/clippy-test-run/sources/stable/gh/jounathaen/Sudoku_Rust"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable/gh/jounathaen/Sudoku_Rust'... [INFO] [stderr] done. [INFO] running `"git" "clone" "work/cache/sources/gh/jounathaen/Sudoku_Rust" "work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/jounathaen/Sudoku_Rust"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/jounathaen/Sudoku_Rust'... [INFO] [stderr] done. [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] 9f2b60f0a97884ef93bbcec023c8ce28476dc33b [INFO] sha for GitHub repo jounathaen/Sudoku_Rust: 9f2b60f0a97884ef93bbcec023c8ce28476dc33b [INFO] validating manifest of jounathaen/Sudoku_Rust on toolchain stable [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] validating manifest of jounathaen/Sudoku_Rust on toolchain stable+rustflags=-Dclippy::into_iter_on_array [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] started frobbing jounathaen/Sudoku_Rust [INFO] finished frobbing jounathaen/Sudoku_Rust [INFO] frobbed toml for jounathaen/Sudoku_Rust written to work/ex/clippy-test-run/sources/stable/gh/jounathaen/Sudoku_Rust/Cargo.toml [INFO] started frobbing jounathaen/Sudoku_Rust [INFO] finished frobbing jounathaen/Sudoku_Rust [INFO] frobbed toml for jounathaen/Sudoku_Rust written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/jounathaen/Sudoku_Rust/Cargo.toml [INFO] crate jounathaen/Sudoku_Rust has a lockfile. skipping [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] linting jounathaen/Sudoku_Rust against stable for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-7/stable:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable/gh/jounathaen/Sudoku_Rust:/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" "+stable" "clippy" "--frozen" "--all" "--all-targets"` [INFO] [stdout] 44d9902188b6d7dcd8086e921c941fc197cc125ef61b2681750af7f99b4eff55 [INFO] running `"docker" "start" "-a" "44d9902188b6d7dcd8086e921c941fc197cc125ef61b2681750af7f99b4eff55"` [INFO] [stderr] Checking libc v0.2.36 [INFO] [stderr] Checking serde v1.0.27 [INFO] [stderr] Checking memchr v2.0.1 [INFO] [stderr] Checking termion v1.5.1 [INFO] [stderr] Checking time v0.1.39 [INFO] [stderr] Checking csv-core v0.1.4 [INFO] [stderr] Checking csv v1.0.0-beta.5 [INFO] [stderr] Checking sudoku v0.1.0 (/opt/crater/workdir) [INFO] [stderr] warning: using `write!()` with a format string that ends in a single newline, consider using `writeln!()` instead [INFO] [stderr] --> src/field.rs:393:21 [INFO] [stderr] | [INFO] [stderr] 393 | write!(f, " ┃\n")?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::write_with_newline)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stderr] [INFO] [stderr] warning: using `write!()` with a format string that ends in a single newline, consider using `writeln!()` instead [INFO] [stderr] --> src/field.rs:397:25 [INFO] [stderr] | [INFO] [stderr] 397 | write!(f, " ┣━━━━━┿━━━━━┿━━━━━╋━━━━━┿━━━━━┿━━━━━╋━━━━━┿━━━━━┿━━━━━┫\n")?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stderr] [INFO] [stderr] warning: using `write!()` with a format string that ends in a single newline, consider using `writeln!()` instead [INFO] [stderr] --> src/field.rs:399:25 [INFO] [stderr] | [INFO] [stderr] 399 | write!(f, " ┠─────┼─────┼─────╂─────┼─────┼─────╂─────┼─────┼─────┨\n")?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stderr] [INFO] [stderr] warning: using `write!()` with a format string that ends in a single newline, consider using `writeln!()` instead [INFO] [stderr] --> src/field.rs:403:13 [INFO] [stderr] | [INFO] [stderr] 403 | write!(f, " ┗━━━━━┷━━━━━┷━━━━━┻━━━━━┷━━━━━┷━━━━━┻━━━━━┷━━━━━┷━━━━━┛\n") [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stderr] [INFO] [stderr] warning: using `write!()` with a format string that ends in a single newline, consider using `writeln!()` instead [INFO] [stderr] --> src/field.rs:420:17 [INFO] [stderr] | [INFO] [stderr] 420 | write!(f, " ┃\n")?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stderr] [INFO] [stderr] warning: using `write!()` with a format string that ends in a single newline, consider using `writeln!()` instead [INFO] [stderr] --> src/field.rs:423:25 [INFO] [stderr] | [INFO] [stderr] 423 | write!(f, " ┣━━━┿━━━┿━━━╋━━━┿━━━┿━━━╋━━━┿━━━┿━━━┫\n")?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stderr] [INFO] [stderr] warning: using `write!()` with a format string that ends in a single newline, consider using `writeln!()` instead [INFO] [stderr] --> src/field.rs:425:25 [INFO] [stderr] | [INFO] [stderr] 425 | write!(f, " ┠───┼───┼───╂───┼───┼───╂───┼───┼───┨\n")?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stderr] [INFO] [stderr] warning: using `write!()` with a format string that ends in a single newline, consider using `writeln!()` instead [INFO] [stderr] --> src/field.rs:429:13 [INFO] [stderr] | [INFO] [stderr] 429 | write!(f, " ┗━━━┷━━━┷━━━┻━━━┷━━━┷━━━┻━━━┷━━━┷━━━┛\n") [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stderr] [INFO] [stderr] warning: using `write!()` with a format string that ends in a single newline, consider using `writeln!()` instead [INFO] [stderr] --> src/field.rs:393:21 [INFO] [stderr] | [INFO] [stderr] 393 | write!(f, " ┃\n")?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::write_with_newline)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stderr] [INFO] [stderr] warning: using `write!()` with a format string that ends in a single newline, consider using `writeln!()` instead [INFO] [stderr] --> src/field.rs:397:25 [INFO] [stderr] | [INFO] [stderr] 397 | write!(f, " ┣━━━━━┿━━━━━┿━━━━━╋━━━━━┿━━━━━┿━━━━━╋━━━━━┿━━━━━┿━━━━━┫\n")?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stderr] [INFO] [stderr] warning: using `write!()` with a format string that ends in a single newline, consider using `writeln!()` instead [INFO] [stderr] --> src/field.rs:399:25 [INFO] [stderr] | [INFO] [stderr] 399 | write!(f, " ┠─────┼─────┼─────╂─────┼─────┼─────╂─────┼─────┼─────┨\n")?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stderr] [INFO] [stderr] warning: using `write!()` with a format string that ends in a single newline, consider using `writeln!()` instead [INFO] [stderr] --> src/field.rs:403:13 [INFO] [stderr] | [INFO] [stderr] 403 | write!(f, " ┗━━━━━┷━━━━━┷━━━━━┻━━━━━┷━━━━━┷━━━━━┻━━━━━┷━━━━━┷━━━━━┛\n") [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stderr] [INFO] [stderr] warning: using `write!()` with a format string that ends in a single newline, consider using `writeln!()` instead [INFO] [stderr] --> src/field.rs:420:17 [INFO] [stderr] | [INFO] [stderr] 420 | write!(f, " ┃\n")?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stderr] [INFO] [stderr] warning: using `write!()` with a format string that ends in a single newline, consider using `writeln!()` instead [INFO] [stderr] --> src/field.rs:423:25 [INFO] [stderr] | [INFO] [stderr] 423 | write!(f, " ┣━━━┿━━━┿━━━╋━━━┿━━━┿━━━╋━━━┿━━━┿━━━┫\n")?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stderr] [INFO] [stderr] warning: using `write!()` with a format string that ends in a single newline, consider using `writeln!()` instead [INFO] [stderr] --> src/field.rs:425:25 [INFO] [stderr] | [INFO] [stderr] 425 | write!(f, " ┠───┼───┼───╂───┼───┼───╂───┼───┼───┨\n")?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stderr] [INFO] [stderr] warning: using `write!()` with a format string that ends in a single newline, consider using `writeln!()` instead [INFO] [stderr] --> src/field.rs:429:13 [INFO] [stderr] | [INFO] [stderr] 429 | write!(f, " ┗━━━┷━━━┷━━━┻━━━┷━━━┷━━━┻━━━┷━━━┷━━━┛\n") [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/field.rs:88:9 [INFO] [stderr] | [INFO] [stderr] 88 | return Ok(()); [INFO] [stderr] | ^^^^^^^^^^^^^^ help: remove `return` as shown: `Ok(())` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_return)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/field.rs:101:9 [INFO] [stderr] | [INFO] [stderr] 101 | return cnt; [INFO] [stderr] | ^^^^^^^^^^^ help: remove `return` as shown: `cnt` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/field.rs:114:9 [INFO] [stderr] | [INFO] [stderr] 114 | return cnt; [INFO] [stderr] | ^^^^^^^^^^^ help: remove `return` as shown: `cnt` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/field.rs:130:9 [INFO] [stderr] | [INFO] [stderr] 130 | return cnt; [INFO] [stderr] | ^^^^^^^^^^^ help: remove `return` as shown: `cnt` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/field.rs:178:13 [INFO] [stderr] | [INFO] [stderr] 178 | return Err(From::from(SolvingError::new("no possible values left"))) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Err(From::from(SolvingError::new("no possible values left")))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/field.rs:203:13 [INFO] [stderr] | [INFO] [stderr] 203 | return Err(From::from(SolvingError::new("no possible values left"))) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Err(From::from(SolvingError::new("no possible values left")))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/field.rs:231:13 [INFO] [stderr] | [INFO] [stderr] 231 | return Err(From::from(SolvingError::new("no possible values left"))) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Err(From::from(SolvingError::new("no possible values left")))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/field.rs:256:9 [INFO] [stderr] | [INFO] [stderr] 256 | return Ok(changecount); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Ok(changecount)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/field.rs:269:9 [INFO] [stderr] | [INFO] [stderr] 269 | return true; [INFO] [stderr] | ^^^^^^^^^^^^ help: remove `return` as shown: `true` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/field.rs:466:9 [INFO] [stderr] | [INFO] [stderr] 466 | return sud; [INFO] [stderr] | ^^^^^^^^^^^ help: remove `return` as shown: `sud` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/field.rs:555:73 [INFO] [stderr] | [INFO] [stderr] 555 | let diff : f64 = (time::precise_time_ns() - start) as f64 / 1000000.0; [INFO] [stderr] | ^^^^^^^^^ help: consider: `1_000_000.0` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::unreadable_literal)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/field.rs:560:71 [INFO] [stderr] | [INFO] [stderr] 560 | let diff : f64 = (time::precise_time_ns() - beginn_time) as f64 / 1000000.0; [INFO] [stderr] | ^^^^^^^^^ help: consider: `1_000_000.0` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/field.rs:88:9 [INFO] [stderr] | [INFO] [stderr] 88 | return Ok(()); [INFO] [stderr] | ^^^^^^^^^^^^^^ help: remove `return` as shown: `Ok(())` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_return)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/field.rs:101:9 [INFO] [stderr] | [INFO] [stderr] 101 | return cnt; [INFO] [stderr] | ^^^^^^^^^^^ help: remove `return` as shown: `cnt` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/field.rs:114:9 [INFO] [stderr] | [INFO] [stderr] 114 | return cnt; [INFO] [stderr] | ^^^^^^^^^^^ help: remove `return` as shown: `cnt` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/field.rs:130:9 [INFO] [stderr] | [INFO] [stderr] 130 | return cnt; [INFO] [stderr] | ^^^^^^^^^^^ help: remove `return` as shown: `cnt` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/field.rs:178:13 [INFO] [stderr] | [INFO] [stderr] 178 | return Err(From::from(SolvingError::new("no possible values left"))) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Err(From::from(SolvingError::new("no possible values left")))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/field.rs:203:13 [INFO] [stderr] | [INFO] [stderr] 203 | return Err(From::from(SolvingError::new("no possible values left"))) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Err(From::from(SolvingError::new("no possible values left")))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/field.rs:231:13 [INFO] [stderr] | [INFO] [stderr] 231 | return Err(From::from(SolvingError::new("no possible values left"))) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Err(From::from(SolvingError::new("no possible values left")))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/field.rs:256:9 [INFO] [stderr] | [INFO] [stderr] 256 | return Ok(changecount); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Ok(changecount)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/field.rs:269:9 [INFO] [stderr] | [INFO] [stderr] 269 | return true; [INFO] [stderr] | ^^^^^^^^^^^^ help: remove `return` as shown: `true` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/field.rs:466:9 [INFO] [stderr] | [INFO] [stderr] 466 | return sud; [INFO] [stderr] | ^^^^^^^^^^^ help: remove `return` as shown: `sud` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/field.rs:555:73 [INFO] [stderr] | [INFO] [stderr] 555 | let diff : f64 = (time::precise_time_ns() - start) as f64 / 1000000.0; [INFO] [stderr] | ^^^^^^^^^ help: consider: `1_000_000.0` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::unreadable_literal)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/field.rs:560:71 [INFO] [stderr] | [INFO] [stderr] 560 | let diff : f64 = (time::precise_time_ns() - beginn_time) as f64 / 1000000.0; [INFO] [stderr] | ^^^^^^^^^ help: consider: `1_000_000.0` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/field.rs:71:28 [INFO] [stderr] | [INFO] [stderr] 71 | if pvec.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `pvec.is_empty()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::len_zero)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/field.rs:96:21 [INFO] [stderr] | [INFO] [stderr] 96 | cnt = cnt + 1; [INFO] [stderr] | ^^^^^^^^^^^^^ help: replace it with: `cnt += 1` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::assign_op_pattern)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/field.rs:109:21 [INFO] [stderr] | [INFO] [stderr] 109 | cnt = cnt + 1; [INFO] [stderr] | ^^^^^^^^^^^^^ help: replace it with: `cnt += 1` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/field.rs:124:25 [INFO] [stderr] | [INFO] [stderr] 124 | cnt = cnt + 1; [INFO] [stderr] | ^^^^^^^^^^^^^ help: replace it with: `cnt += 1` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/field.rs:169:24 [INFO] [stderr] | [INFO] [stderr] 169 | if vec.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `vec.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/field.rs:196:24 [INFO] [stderr] | [INFO] [stderr] 196 | if vec.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `vec.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/field.rs:223:28 [INFO] [stderr] | [INFO] [stderr] 223 | if vec.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `vec.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/field.rs:251:25 [INFO] [stderr] | [INFO] [stderr] 251 | changecount = changecount + 1; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `changecount += 1` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/field.rs:289:13 [INFO] [stderr] | [INFO] [stderr] 289 | count = count + 1; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: replace it with: `count += 1` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/field.rs:320:21 [INFO] [stderr] | [INFO] [stderr] 320 | / match newsud.insert_number(probe_number, first_choice.0, first_choice.1){ [INFO] [stderr] 321 | | Err(..) => {println!(">> Didn't work. DANG!\n\n\n"); break}, [INFO] [stderr] 322 | | Ok(..) => {}, [INFO] [stderr] 323 | | } [INFO] [stderr] | |_____________________^ help: try this: `if let Err(..) = newsud.insert_number(probe_number, first_choice.0, first_choice.1) {println!(">> Didn't work. DANG!\n\n\n"); break}` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::single_match)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/field.rs:532:42 [INFO] [stderr] | [INFO] [stderr] 532 | pub fn solve_sudokus_from_csv(file_path: &String) -> Result<(), Box> { [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::ptr_arg)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/field.rs:557:13 [INFO] [stderr] | [INFO] [stderr] 557 | counter = counter + 1; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `counter += 1` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/field.rs:71:28 [INFO] [stderr] | [INFO] [stderr] 71 | if pvec.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `pvec.is_empty()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::len_zero)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/field.rs:96:21 [INFO] [stderr] | [INFO] [stderr] 96 | cnt = cnt + 1; [INFO] [stderr] | ^^^^^^^^^^^^^ help: replace it with: `cnt += 1` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::assign_op_pattern)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/field.rs:109:21 [INFO] [stderr] | [INFO] [stderr] 109 | cnt = cnt + 1; [INFO] [stderr] | ^^^^^^^^^^^^^ help: replace it with: `cnt += 1` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/field.rs:124:25 [INFO] [stderr] | [INFO] [stderr] 124 | cnt = cnt + 1; [INFO] [stderr] | ^^^^^^^^^^^^^ help: replace it with: `cnt += 1` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/field.rs:169:24 [INFO] [stderr] | [INFO] [stderr] 169 | if vec.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `vec.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/field.rs:196:24 [INFO] [stderr] | [INFO] [stderr] 196 | if vec.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `vec.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/field.rs:223:28 [INFO] [stderr] | [INFO] [stderr] 223 | if vec.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `vec.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/field.rs:251:25 [INFO] [stderr] | [INFO] [stderr] 251 | changecount = changecount + 1; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `changecount += 1` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/field.rs:289:13 [INFO] [stderr] | [INFO] [stderr] 289 | count = count + 1; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: replace it with: `count += 1` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/field.rs:320:21 [INFO] [stderr] | [INFO] [stderr] 320 | / match newsud.insert_number(probe_number, first_choice.0, first_choice.1){ [INFO] [stderr] 321 | | Err(..) => {println!(">> Didn't work. DANG!\n\n\n"); break}, [INFO] [stderr] 322 | | Ok(..) => {}, [INFO] [stderr] 323 | | } [INFO] [stderr] | |_____________________^ help: try this: `if let Err(..) = newsud.insert_number(probe_number, first_choice.0, first_choice.1) {println!(">> Didn't work. DANG!\n\n\n"); break}` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::single_match)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/field.rs:532:42 [INFO] [stderr] | [INFO] [stderr] 532 | pub fn solve_sudokus_from_csv(file_path: &String) -> Result<(), Box> { [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::ptr_arg)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/field.rs:557:13 [INFO] [stderr] | [INFO] [stderr] 557 | counter = counter + 1; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `counter += 1` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: this if-then-else expression returns a bool literal [INFO] [stderr] --> src/field.rs:613:32 [INFO] [stderr] | [INFO] [stderr] 613 | Entry::Value(i) => if i == TESTNR {true} else {false}, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: you can reduce it to: `i == TESTNR` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_bool)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_bool [INFO] [stderr] [INFO] [stderr] warning: equality checks against false can be replaced by a negation [INFO] [stderr] --> src/field.rs:790:17 [INFO] [stderr] | [INFO] [stderr] 790 | assert!(_sud.is_solved() == false); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: try simplifying it as shown: `!_sud.is_solved()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::bool_comparison)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_comparison [INFO] [stderr] [INFO] [stderr] warning: equality checks against true are unnecessary [INFO] [stderr] --> src/field.rs:803:17 [INFO] [stderr] | [INFO] [stderr] 803 | assert!(_sud.is_solved() == true); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try simplifying it as shown: `_sud.is_solved()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_comparison [INFO] [stderr] [INFO] [stderr] Finished dev [optimized] target(s) in 15.94s [INFO] running `"docker" "inspect" "44d9902188b6d7dcd8086e921c941fc197cc125ef61b2681750af7f99b4eff55"` [INFO] running `"docker" "rm" "-f" "44d9902188b6d7dcd8086e921c941fc197cc125ef61b2681750af7f99b4eff55"` [INFO] [stdout] 44d9902188b6d7dcd8086e921c941fc197cc125ef61b2681750af7f99b4eff55