[INFO] updating cached repository danielschemmel/drsat [INFO] running `"git" "fetch" "--all"` [INFO] [stdout] Fetching origin [INFO] [stderr] From git://github.com/danielschemmel/drsat [INFO] [stderr] * branch HEAD -> FETCH_HEAD [INFO] running `"git" "clone" "work/cache/sources/gh/danielschemmel/drsat" "work/ex/clippy-test-run/sources/stable/gh/danielschemmel/drsat"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable/gh/danielschemmel/drsat'... [INFO] [stderr] done. [INFO] running `"git" "clone" "work/cache/sources/gh/danielschemmel/drsat" "work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/danielschemmel/drsat"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/danielschemmel/drsat'... [INFO] [stderr] done. [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] 9b61bf57d84caa5800084df3a4e587c74480b6c5 [INFO] sha for GitHub repo danielschemmel/drsat: 9b61bf57d84caa5800084df3a4e587c74480b6c5 [INFO] validating manifest of danielschemmel/drsat 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 danielschemmel/drsat 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 danielschemmel/drsat [INFO] finished frobbing danielschemmel/drsat [INFO] frobbed toml for danielschemmel/drsat written to work/ex/clippy-test-run/sources/stable/gh/danielschemmel/drsat/Cargo.toml [INFO] started frobbing danielschemmel/drsat [INFO] finished frobbing danielschemmel/drsat [INFO] frobbed toml for danielschemmel/drsat written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/danielschemmel/drsat/Cargo.toml [INFO] crate danielschemmel/drsat 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 danielschemmel/drsat against stable for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-4/stable:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable/gh/danielschemmel/drsat:/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] 6c7ff724eba9ac28670c34b3e221001734e894cecef55c82b31e4eb1064f0ae6 [INFO] running `"docker" "start" "-a" "6c7ff724eba9ac28670c34b3e221001734e894cecef55c82b31e4eb1064f0ae6"` [INFO] [stderr] Compiling openssl-probe v0.1.2 [INFO] [stderr] Compiling libz-sys v1.0.20 [INFO] [stderr] Compiling cmake v0.1.33 [INFO] [stderr] Compiling curl-sys v0.4.8 [INFO] [stderr] Compiling miniz-sys v0.1.10 [INFO] [stderr] Compiling openssl-sys v0.9.35 [INFO] [stderr] Compiling backtrace-sys v0.1.24 [INFO] [stderr] Compiling backtrace v0.3.9 [INFO] [stderr] Compiling libssh2-sys v0.2.10 [INFO] [stderr] Compiling libgit2-sys v0.7.7 [INFO] [stderr] Compiling error-chain v0.12.0 [INFO] [stderr] Checking flate2 v1.0.2 [INFO] [stderr] Compiling git2 v0.7.5 [INFO] [stderr] Compiling drsat v0.1.0 (/opt/crater/workdir) [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/cnf/clause.rs:21:4 [INFO] [stderr] | [INFO] [stderr] 21 | literals: literals, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `literals` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_field_names)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/cnf/clause.rs:23:4 [INFO] [stderr] | [INFO] [stderr] 23 | glue: glue, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `glue` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/cnf/clause.rs:62:6 [INFO] [stderr] | [INFO] [stderr] 62 | literals: literals, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `literals` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/cnf/clause.rs:64:6 [INFO] [stderr] | [INFO] [stderr] 64 | glue: glue, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `glue` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/cnf/problem/initialization.rs:21:4 [INFO] [stderr] | [INFO] [stderr] 21 | variables: variables, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `variables` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/cnf/problem/initialization.rs:28:4 [INFO] [stderr] | [INFO] [stderr] 28 | irreducible: irreducible, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `irreducible` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/cnf/problem/initialization.rs:30:4 [INFO] [stderr] | [INFO] [stderr] 30 | last_conflict: last_conflict, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `last_conflict` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/cnf/problem/initialization.rs:33:4 [INFO] [stderr] | [INFO] [stderr] 33 | active_variables: active_variables, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `active_variables` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/cnf/problem/initialization.rs:35:4 [INFO] [stderr] | [INFO] [stderr] 35 | solution: solution, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `solution` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: 5th binding whose name is just one char [INFO] [stderr] --> src/cnf/problem/precompute.rs:26:14 [INFO] [stderr] | [INFO] [stderr] 26 | let mut j = 0; [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::many_single_char_names)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] [INFO] [stderr] warning: using `writeln!(writer, "")` [INFO] [stderr] --> src/cnf/problem/print.rs:12:4 [INFO] [stderr] | [INFO] [stderr] 12 | writeln!(writer, "")?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `writeln!(writer)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::writeln_empty_string)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#writeln_empty_string [INFO] [stderr] [INFO] [stderr] warning: using `writeln!(writer, "")` [INFO] [stderr] --> src/cnf/problem/print.rs:34:4 [INFO] [stderr] | [INFO] [stderr] 34 | writeln!(writer, "")?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `writeln!(writer)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#writeln_empty_string [INFO] [stderr] [INFO] [stderr] warning: using `writeln!(f, "")` [INFO] [stderr] --> src/driver/stats.rs:23:2 [INFO] [stderr] | [INFO] [stderr] 23 | writeln!(f, "")?; [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: replace it with: `writeln!(f)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#writeln_empty_string [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/gp/ast/variable.rs:10:4 [INFO] [stderr] | [INFO] [stderr] 10 | negated: negated, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `negated` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/gp/ast/variable.rs:11:4 [INFO] [stderr] | [INFO] [stderr] 11 | id: id, [INFO] [stderr] | ^^^^^^ help: replace it with: `id` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/sudoku/board.rs:31:4 [INFO] [stderr] | [INFO] [stderr] 31 | count: count, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `count` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/sudoku/board.rs:32:4 [INFO] [stderr] | [INFO] [stderr] 32 | cols: cols, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `cols` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/sudoku/board.rs:33:4 [INFO] [stderr] | [INFO] [stderr] 33 | rows: rows, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `rows` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/sudoku/board.rs:34:4 [INFO] [stderr] | [INFO] [stderr] 34 | data: data, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `data` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: using `println!("")` [INFO] [stderr] --> src/sudoku/board.rs:50:4 [INFO] [stderr] | [INFO] [stderr] 50 | println!(""); [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `println!()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::println_empty_string)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#println_empty_string [INFO] [stderr] [INFO] [stderr] warning: using `println!("")` [INFO] [stderr] --> src/sudoku/board.rs:140:4 [INFO] [stderr] | [INFO] [stderr] 140 | println!(""); [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `println!()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#println_empty_string [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/cnf/clause.rs:21:4 [INFO] [stderr] | [INFO] [stderr] 21 | literals: literals, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `literals` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_field_names)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/cnf/clause.rs:23:4 [INFO] [stderr] | [INFO] [stderr] 23 | glue: glue, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `glue` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/cnf/clause.rs:62:6 [INFO] [stderr] | [INFO] [stderr] 62 | literals: literals, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `literals` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/cnf/clause.rs:64:6 [INFO] [stderr] | [INFO] [stderr] 64 | glue: glue, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `glue` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/cnf/problem/initialization.rs:21:4 [INFO] [stderr] | [INFO] [stderr] 21 | variables: variables, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `variables` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/cnf/problem/initialization.rs:28:4 [INFO] [stderr] | [INFO] [stderr] 28 | irreducible: irreducible, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `irreducible` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/cnf/problem/initialization.rs:30:4 [INFO] [stderr] | [INFO] [stderr] 30 | last_conflict: last_conflict, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `last_conflict` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/cnf/problem/initialization.rs:33:4 [INFO] [stderr] | [INFO] [stderr] 33 | active_variables: active_variables, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `active_variables` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/cnf/problem/initialization.rs:35:4 [INFO] [stderr] | [INFO] [stderr] 35 | solution: solution, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `solution` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: 5th binding whose name is just one char [INFO] [stderr] --> src/cnf/problem/precompute.rs:26:14 [INFO] [stderr] | [INFO] [stderr] 26 | let mut j = 0; [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::many_single_char_names)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] [INFO] [stderr] warning: using `writeln!(writer, "")` [INFO] [stderr] --> src/cnf/problem/print.rs:12:4 [INFO] [stderr] | [INFO] [stderr] 12 | writeln!(writer, "")?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `writeln!(writer)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::writeln_empty_string)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#writeln_empty_string [INFO] [stderr] [INFO] [stderr] warning: using `writeln!(writer, "")` [INFO] [stderr] --> src/cnf/problem/print.rs:34:4 [INFO] [stderr] | [INFO] [stderr] 34 | writeln!(writer, "")?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `writeln!(writer)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#writeln_empty_string [INFO] [stderr] [INFO] [stderr] warning: using `writeln!(f, "")` [INFO] [stderr] --> src/driver/stats.rs:23:2 [INFO] [stderr] | [INFO] [stderr] 23 | writeln!(f, "")?; [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: replace it with: `writeln!(f)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#writeln_empty_string [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/gp/ast/variable.rs:10:4 [INFO] [stderr] | [INFO] [stderr] 10 | negated: negated, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `negated` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/gp/ast/variable.rs:11:4 [INFO] [stderr] | [INFO] [stderr] 11 | id: id, [INFO] [stderr] | ^^^^^^ help: replace it with: `id` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/sudoku/board.rs:31:4 [INFO] [stderr] | [INFO] [stderr] 31 | count: count, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `count` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/sudoku/board.rs:32:4 [INFO] [stderr] | [INFO] [stderr] 32 | cols: cols, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `cols` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/sudoku/board.rs:33:4 [INFO] [stderr] | [INFO] [stderr] 33 | rows: rows, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `rows` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/sudoku/board.rs:34:4 [INFO] [stderr] | [INFO] [stderr] 34 | data: data, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `data` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: using `println!("")` [INFO] [stderr] --> src/sudoku/board.rs:50:4 [INFO] [stderr] | [INFO] [stderr] 50 | println!(""); [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `println!()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::println_empty_string)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#println_empty_string [INFO] [stderr] [INFO] [stderr] warning: using `println!("")` [INFO] [stderr] --> src/sudoku/board.rs:140:4 [INFO] [stderr] | [INFO] [stderr] 140 | println!(""); [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `println!()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#println_empty_string [INFO] [stderr] [INFO] [stderr] warning: this `else { if .. }` block can be collapsed [INFO] [stderr] --> src/cnf/clause.rs:222:10 [INFO] [stderr] | [INFO] [stderr] 222 | } else { [INFO] [stderr] | ________________^ [INFO] [stderr] 223 | | if variables[lit1.id()].has_value() { [INFO] [stderr] 224 | | Apply::Unit(lit0) [INFO] [stderr] 225 | | } else { [INFO] [stderr] 226 | | Apply::Continue [INFO] [stderr] 227 | | } [INFO] [stderr] 228 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::collapsible_if)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 222 | } else if variables[lit1.id()].has_value() { [INFO] [stderr] 223 | Apply::Unit(lit0) [INFO] [stderr] 224 | } else { [INFO] [stderr] 225 | Apply::Continue [INFO] [stderr] 226 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/cnf/problembuilder.rs:79:3 [INFO] [stderr] | [INFO] [stderr] 79 | return self.problembuilder.clauses[self.index].len(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `self.problembuilder.clauses[self.index].len()` [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: Constants have by default a `'static` lifetime [INFO] [stderr] --> /opt/crater/target/debug/build/drsat-fa55a074fb3515a5/out/version.rs:1:21 [INFO] [stderr] | [INFO] [stderr] 1 | pub const VERSION: &'static str = "0.1.0 9b61bf57d84caa58.+"; [INFO] [stderr] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::const_static_lifetime)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#const_static_lifetime [INFO] [stderr] [INFO] [stderr] warning: this `else { if .. }` block can be collapsed [INFO] [stderr] --> src/cnf/clause.rs:222:10 [INFO] [stderr] | [INFO] [stderr] 222 | } else { [INFO] [stderr] | ________________^ [INFO] [stderr] 223 | | if variables[lit1.id()].has_value() { [INFO] [stderr] 224 | | Apply::Unit(lit0) [INFO] [stderr] 225 | | } else { [INFO] [stderr] 226 | | Apply::Continue [INFO] [stderr] 227 | | } [INFO] [stderr] 228 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::collapsible_if)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 222 | } else if variables[lit1.id()].has_value() { [INFO] [stderr] 223 | Apply::Unit(lit0) [INFO] [stderr] 224 | } else { [INFO] [stderr] 225 | Apply::Continue [INFO] [stderr] 226 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/cnf/problembuilder.rs:79:3 [INFO] [stderr] | [INFO] [stderr] 79 | return self.problembuilder.clauses[self.index].len(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `self.problembuilder.clauses[self.index].len()` [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: Constants have by default a `'static` lifetime [INFO] [stderr] --> /opt/crater/target/debug/build/drsat-fa55a074fb3515a5/out/version.rs:1:21 [INFO] [stderr] | [INFO] [stderr] 1 | pub const VERSION: &'static str = "0.1.0 9b61bf57d84caa58.+"; [INFO] [stderr] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::const_static_lifetime)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#const_static_lifetime [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/cnf/problem/precompute.rs:6:19 [INFO] [stderr] | [INFO] [stderr] 6 | pub fn precompute(mut variables: &mut IndexedVec, mut clauses: &mut Vec>) -> SolverResult { [INFO] [stderr] | ----^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_mut)] on by default [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/cnf/problem/precompute.rs:6:73 [INFO] [stderr] | [INFO] [stderr] 6 | pub fn precompute(mut variables: &mut IndexedVec, mut clauses: &mut Vec>) -> SolverResult { [INFO] [stderr] | ----^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/cnf/literal.rs:19:12 [INFO] [stderr] | [INFO] [stderr] 19 | pub fn id(&self) -> VariableId { [INFO] [stderr] | ^^^^^ help: consider passing by value instead: `self` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::trivially_copy_pass_by_ref)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/cnf/literal.rs:24:17 [INFO] [stderr] | [INFO] [stderr] 24 | pub fn negated(&self) -> bool { [INFO] [stderr] | ^^^^^ help: consider passing by value instead: `self` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/cnf/literal.rs:29:21 [INFO] [stderr] | [INFO] [stderr] 29 | pub fn disassemble(&self) -> (VariableId, bool) { [INFO] [stderr] | ^^^^^ help: consider passing by value instead: `self` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/cnf/literal.rs:33:39 [INFO] [stderr] | [INFO] [stderr] 33 | pub fn print(&self, f: &mut io::Write, name: &T) -> io::Result<()> { [INFO] [stderr] | ^^^^^ help: consider passing by value instead: `self` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: item `cnf::clause::Clause` has a public `len` method but no corresponding `is_empty` method [INFO] [stderr] --> src/cnf/clause.rs:18:1 [INFO] [stderr] | [INFO] [stderr] 18 | / impl Clause { [INFO] [stderr] 19 | | pub fn new(literals: IndexedVec, glue: VariableId) -> Clause { [INFO] [stderr] 20 | | Clause { [INFO] [stderr] 21 | | literals: literals, [INFO] [stderr] ... | [INFO] [stderr] 269 | | } [INFO] [stderr] 270 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::len_without_is_empty)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_without_is_empty [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/cnf/clause.rs:174:5 [INFO] [stderr] | [INFO] [stderr] 174 | i = i + 1; [INFO] [stderr] | ^^^^^^^^^ help: replace it with: `i += 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/cnf/clause.rs:180:6 [INFO] [stderr] | [INFO] [stderr] 180 | i = i + 1; [INFO] [stderr] | ^^^^^^^^^ help: replace it with: `i += 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/cnf/clause.rs:238:5 [INFO] [stderr] | [INFO] [stderr] 238 | i = i + 1; [INFO] [stderr] | ^^^^^^^^^ help: replace it with: `i += 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/cnf/clause.rs:244:6 [INFO] [stderr] | [INFO] [stderr] 244 | i = i + 1; [INFO] [stderr] | ^^^^^^^^^ help: replace it with: `i += 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: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/cnf/problem/precompute.rs:25:10 [INFO] [stderr] | [INFO] [stderr] 25 | let ref mut clause = clauses[ci]; [INFO] [stderr] | ----^^^^^^^^^^^^^^--------------- help: try: `let clause = &mut clauses[ci];` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::toplevel_ref_arg)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_arg [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/cnf/problem/precompute.rs:27:20 [INFO] [stderr] | [INFO] [stderr] 27 | debug_assert!(clause.len() > 0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!clause.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: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/cnf/problem/precompute.rs:38:12 [INFO] [stderr] | [INFO] [stderr] 38 | let ref var = variables[v[j]]; [INFO] [stderr] | ----^^^^^^^------------------- help: try: `let var = &variables[v[j]];` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_arg [INFO] [stderr] [INFO] [stderr] warning: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/cnf/problem/precompute.rs:66:10 [INFO] [stderr] | [INFO] [stderr] 66 | let ref mut var = variables[lit.id()]; [INFO] [stderr] | ----^^^^^^^^^^^----------------------- help: try: `let var = &mut variables[lit.id()];` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_arg [INFO] [stderr] [INFO] [stderr] warning: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/cnf/problem/solve.rs:152:8 [INFO] [stderr] | [INFO] [stderr] 152 | let ref var = self.variables[lits[i].id()]; [INFO] [stderr] | ----^^^^^^^-------------------------------- help: try: `let var = &self.variables[lits[i].id()];` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_arg [INFO] [stderr] [INFO] [stderr] warning: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/cnf/problem/solve.rs:171:8 [INFO] [stderr] | [INFO] [stderr] 171 | let ref mut var = self.variables[*self.applications.last().unwrap()]; [INFO] [stderr] | ----^^^^^^^^^^^------------------------------------------------------ help: try: `let var = &mut self.variables[*self.applications.last().unwrap()];` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_arg [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/cnf/problem/solve.rs:224:7 [INFO] [stderr] | [INFO] [stderr] 224 | if 0 != self.variables[id].get_clauses(val).len() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!self.variables[id].get_clauses(val).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: The function/method `update_glue` doesn't need a mutable reference [INFO] [stderr] --> src/cnf/problem/solve.rs:235:27 [INFO] [stderr] | [INFO] [stderr] 235 | clause.update_glue(&mut self.variables, self.depth); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::unnecessary_mut_passed)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_mut_passed [INFO] [stderr] [INFO] [stderr] warning: you should consider deriving a `Default` implementation for `cnf::problembuilder::ProblemBuilder` [INFO] [stderr] --> src/cnf/problembuilder.rs:15:2 [INFO] [stderr] | [INFO] [stderr] 15 | pub fn new() -> ProblemBuilder { [INFO] [stderr] | _____^ [INFO] [stderr] 16 | | ProblemBuilder { [INFO] [stderr] 17 | | names2index: HashMap::new(), [INFO] [stderr] 18 | | names: Vec::new(), [INFO] [stderr] 19 | | clauses: Vec::new(), [INFO] [stderr] 20 | | } [INFO] [stderr] 21 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::new_without_default_derive)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default_derive [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 6 | #[derive(Default)] [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: methods called `as_*` usually take self by reference or self by mutable reference; consider choosing a less ambiguous name [INFO] [stderr] --> src/cnf/problembuilder.rs:41:20 [INFO] [stderr] | [INFO] [stderr] 41 | pub fn as_problem(self) -> Problem { [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::wrong_self_convention)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#wrong_self_convention [INFO] [stderr] [INFO] [stderr] warning: you should consider deriving a `Default` implementation for `cnf::variable::Variable` [INFO] [stderr] --> src/cnf/variable.rs:30:2 [INFO] [stderr] | [INFO] [stderr] 30 | pub fn new() -> Variable { [INFO] [stderr] | _____^ [INFO] [stderr] 31 | | Variable { [INFO] [stderr] 32 | | watchlists: [Vec::new(), Vec::new()], [INFO] [stderr] 33 | | ante: ::std::usize::MAX, [INFO] [stderr] ... | [INFO] [stderr] 37 | | } [INFO] [stderr] 38 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default_derive [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 21 | #[derive(Default)] [INFO] [stderr] | [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/driver/dimacs.rs:68:3 [INFO] [stderr] | [INFO] [stderr] 68 | match result { [INFO] [stderr] | _________^ [INFO] [stderr] 69 | | SolverResult::Sat => { [INFO] [stderr] 70 | | println!("Model:"); [INFO] [stderr] 71 | | problem.print_model(&mut ::std::io::stdout(), " ")?; [INFO] [stderr] 72 | | } [INFO] [stderr] 73 | | _ => {} [INFO] [stderr] 74 | | } [INFO] [stderr] | |_________^ [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] help: try this [INFO] [stderr] | [INFO] [stderr] 68 | if let SolverResult::Sat = result { [INFO] [stderr] 69 | println!("Model:"); [INFO] [stderr] 70 | problem.print_model(&mut ::std::io::stdout(), " ")?; [INFO] [stderr] 71 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/driver/errors.rs:26:3 [INFO] [stderr] | [INFO] [stderr] 26 | match self.kind() { [INFO] [stderr] | _________^ [INFO] [stderr] 27 | | &ErrorKind::Parse(_) => 2, [INFO] [stderr] 28 | | &ErrorKind::ParseInt(_) => 2, [INFO] [stderr] 29 | | &ErrorKind::Io(_) => 100, [INFO] [stderr] ... | [INFO] [stderr] 32 | | _ => 127, [INFO] [stderr] 33 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::match_ref_pats)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 26 | match *self.kind() { [INFO] [stderr] 27 | ErrorKind::Parse(_) => 2, [INFO] [stderr] 28 | ErrorKind::ParseInt(_) => 2, [INFO] [stderr] 29 | ErrorKind::Io(_) => 100, [INFO] [stderr] 30 | ErrorKind::RawIo(_) => 100, [INFO] [stderr] 31 | ErrorKind::Msg(_) => 126, [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you should consider deriving a `Default` implementation for `gp::ast::and::And` [INFO] [stderr] --> src/gp/ast/and.rs:11:2 [INFO] [stderr] | [INFO] [stderr] 11 | pub fn new() -> And { [INFO] [stderr] | _____^ [INFO] [stderr] 12 | | And { [INFO] [stderr] 13 | | nodes: Vec::new(), [INFO] [stderr] 14 | | variables: Vec::new(), [INFO] [stderr] 15 | | } [INFO] [stderr] 16 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default_derive [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 5 | #[derive(Default)] [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you should consider deriving a `Default` implementation for `gp::ast::or::Or` [INFO] [stderr] --> src/gp/ast/or.rs:11:2 [INFO] [stderr] | [INFO] [stderr] 11 | pub fn new() -> Or { [INFO] [stderr] | _____^ [INFO] [stderr] 12 | | Or { [INFO] [stderr] 13 | | nodes: Vec::new(), [INFO] [stderr] 14 | | variables: Vec::new(), [INFO] [stderr] 15 | | } [INFO] [stderr] 16 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default_derive [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 5 | #[derive(Default)] [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/parser/dimacs.rs:16:7 [INFO] [stderr] | [INFO] [stderr] 16 | if buf.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `buf.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: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/parser/dimacs.rs:21:16 [INFO] [stderr] | [INFO] [stderr] 21 | (skip_count.unwrap_or(buf.len()), buf.len()) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|| buf.len())` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::or_fun_call)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/parser/dimacs.rs:36:7 [INFO] [stderr] | [INFO] [stderr] 36 | if buf.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `buf.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: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/parser/dimacs.rs:41:16 [INFO] [stderr] | [INFO] [stderr] 41 | (skip_count.unwrap_or(buf.len()), buf.len()) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|| buf.len())` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/parser/dimacs.rs:55:7 [INFO] [stderr] | [INFO] [stderr] 55 | if buf.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `buf.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/parser/dimacs.rs:75:7 [INFO] [stderr] | [INFO] [stderr] 75 | if buf.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `buf.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 one [INFO] [stderr] --> src/parser/dimacs.rs:111:7 [INFO] [stderr] | [INFO] [stderr] 111 | buf.len() >= 1 && buf[0] == b'p' [INFO] [stderr] | ^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!buf.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 one [INFO] [stderr] --> src/parser/dimacs.rs:135:3 [INFO] [stderr] | [INFO] [stderr] 135 | buf.len() >= 1 && buf[0] == b'-' [INFO] [stderr] | ^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!buf.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/parser/npn.rs:16:7 [INFO] [stderr] | [INFO] [stderr] 16 | if buf.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `buf.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: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/parser/npn.rs:21:16 [INFO] [stderr] | [INFO] [stderr] 21 | (skip_count.unwrap_or(buf.len()), buf.len()) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|| buf.len())` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/parser/npn.rs:36:7 [INFO] [stderr] | [INFO] [stderr] 36 | if buf.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `buf.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: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/parser/npn.rs:41:16 [INFO] [stderr] | [INFO] [stderr] 41 | (skip_count.unwrap_or(buf.len()), buf.len()) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|| buf.len())` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/parser/npn.rs:55:7 [INFO] [stderr] | [INFO] [stderr] 55 | if buf.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `buf.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/parser/npn.rs:75:7 [INFO] [stderr] | [INFO] [stderr] 75 | if buf.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `buf.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 one [INFO] [stderr] --> src/parser/npn.rs:111:7 [INFO] [stderr] | [INFO] [stderr] 111 | buf.len() >= 1 && buf[0] == b'p' [INFO] [stderr] | ^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!buf.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 one [INFO] [stderr] --> src/parser/npn.rs:135:3 [INFO] [stderr] | [INFO] [stderr] 135 | buf.len() >= 1 && buf[0] == b'-' [INFO] [stderr] | ^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!buf.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: this if-then-else expression returns a bool literal [INFO] [stderr] --> src/sudoku/board.rs:60:28 [INFO] [stderr] | [INFO] [stderr] 60 | self.data[offset + i] = if i == val - 1 { true } else { false }; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: you can reduce it to: `i == val - 1` [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 true are unnecessary [INFO] [stderr] --> src/sudoku/board.rs:243:39 [INFO] [stderr] | [INFO] [stderr] 243 | for t in model.iter().filter(|t| t.1 == true) { [INFO] [stderr] | ^^^^^^^^^^^ help: try simplifying it as shown: `t.1` [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: you should consider deriving a `Default` implementation for `util::histo::Histo` [INFO] [stderr] --> src/util/histo.rs:9:2 [INFO] [stderr] | [INFO] [stderr] 9 | pub fn new() -> Histo { [INFO] [stderr] | _____^ [INFO] [stderr] 10 | | Histo { bins: Vec::new() } [INFO] [stderr] 11 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default_derive [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 4 | #[derive(Default)] [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: item `util::indexed_vec::IndexedVec` has a public `len` method but no corresponding `is_empty` method [INFO] [stderr] --> src/util/indexed_vec.rs:36:1 [INFO] [stderr] | [INFO] [stderr] 36 | / impl IndexedVec [INFO] [stderr] 37 | | where Key: USizeCast [INFO] [stderr] 38 | | { [INFO] [stderr] 39 | | pub fn new() -> IndexedVec { [INFO] [stderr] ... | [INFO] [stderr] 88 | | } [INFO] [stderr] 89 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_without_is_empty [INFO] [stderr] [INFO] [stderr] warning: you should consider deriving a `Default` implementation for `util::indexed_vec::IndexedVec` [INFO] [stderr] --> src/util/indexed_vec.rs:39:2 [INFO] [stderr] | [INFO] [stderr] 39 | pub fn new() -> IndexedVec { [INFO] [stderr] | _____^ [INFO] [stderr] 40 | | IndexedVec { [INFO] [stderr] 41 | | data: Vec::new(), [INFO] [stderr] 42 | | key_type: PhantomData, [INFO] [stderr] 43 | | } [INFO] [stderr] 44 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default_derive [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 31 | #[derive(Default)] [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/util/indexed_vec.rs:127:2 [INFO] [stderr] | [INFO] [stderr] 127 | fn index_mut<'a>(&'a mut self, index: Key) -> &'a mut Value { [INFO] [stderr] | _____^ [INFO] [stderr] 128 | | &mut self.data[index.to_usize()] [INFO] [stderr] 129 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_lifetimes)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: you should consider adding a `Default` implementation for `util::stopwatch::Stopwatch` [INFO] [stderr] --> src/util/stopwatch.rs:11:2 [INFO] [stderr] | [INFO] [stderr] 11 | pub fn new() -> Stopwatch { [INFO] [stderr] | _____^ [INFO] [stderr] 12 | | let time = SteadyTime::now(); [INFO] [stderr] 13 | | Stopwatch { [INFO] [stderr] 14 | | start: time, [INFO] [stderr] 15 | | stop: time, [INFO] [stderr] 16 | | } [INFO] [stderr] 17 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::new_without_default)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 10 | impl Default for util::stopwatch::Stopwatch { [INFO] [stderr] 11 | fn default() -> Self { [INFO] [stderr] 12 | Self::new() [INFO] [stderr] 13 | } [INFO] [stderr] 14 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you should consider deriving a `Default` implementation for `util::typeinfo::Typeinfo` [INFO] [stderr] --> src/util/typeinfo.rs:10:2 [INFO] [stderr] | [INFO] [stderr] 10 | pub fn new() -> Self { [INFO] [stderr] | _____^ [INFO] [stderr] 11 | | Typeinfo { phantom: PhantomData } [INFO] [stderr] 12 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default_derive [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 5 | #[derive(Default)] [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/cnf/problem/precompute.rs:6:19 [INFO] [stderr] | [INFO] [stderr] 6 | pub fn precompute(mut variables: &mut IndexedVec, mut clauses: &mut Vec>) -> SolverResult { [INFO] [stderr] | ----^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_mut)] on by default [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/cnf/problem/precompute.rs:6:73 [INFO] [stderr] | [INFO] [stderr] 6 | pub fn precompute(mut variables: &mut IndexedVec, mut clauses: &mut Vec>) -> SolverResult { [INFO] [stderr] | ----^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/cnf/literal.rs:19:12 [INFO] [stderr] | [INFO] [stderr] 19 | pub fn id(&self) -> VariableId { [INFO] [stderr] | ^^^^^ help: consider passing by value instead: `self` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::trivially_copy_pass_by_ref)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/cnf/literal.rs:24:17 [INFO] [stderr] | [INFO] [stderr] 24 | pub fn negated(&self) -> bool { [INFO] [stderr] | ^^^^^ help: consider passing by value instead: `self` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/cnf/literal.rs:29:21 [INFO] [stderr] | [INFO] [stderr] 29 | pub fn disassemble(&self) -> (VariableId, bool) { [INFO] [stderr] | ^^^^^ help: consider passing by value instead: `self` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/cnf/literal.rs:33:39 [INFO] [stderr] | [INFO] [stderr] 33 | pub fn print(&self, f: &mut io::Write, name: &T) -> io::Result<()> { [INFO] [stderr] | ^^^^^ help: consider passing by value instead: `self` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: item `cnf::clause::Clause` has a public `len` method but no corresponding `is_empty` method [INFO] [stderr] --> src/cnf/clause.rs:18:1 [INFO] [stderr] | [INFO] [stderr] 18 | / impl Clause { [INFO] [stderr] 19 | | pub fn new(literals: IndexedVec, glue: VariableId) -> Clause { [INFO] [stderr] 20 | | Clause { [INFO] [stderr] 21 | | literals: literals, [INFO] [stderr] ... | [INFO] [stderr] 269 | | } [INFO] [stderr] 270 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::len_without_is_empty)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_without_is_empty [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/cnf/clause.rs:174:5 [INFO] [stderr] | [INFO] [stderr] 174 | i = i + 1; [INFO] [stderr] | ^^^^^^^^^ help: replace it with: `i += 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/cnf/clause.rs:180:6 [INFO] [stderr] | [INFO] [stderr] 180 | i = i + 1; [INFO] [stderr] | ^^^^^^^^^ help: replace it with: `i += 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/cnf/clause.rs:238:5 [INFO] [stderr] | [INFO] [stderr] 238 | i = i + 1; [INFO] [stderr] | ^^^^^^^^^ help: replace it with: `i += 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/cnf/clause.rs:244:6 [INFO] [stderr] | [INFO] [stderr] 244 | i = i + 1; [INFO] [stderr] | ^^^^^^^^^ help: replace it with: `i += 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: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/cnf/problem/precompute.rs:25:10 [INFO] [stderr] | [INFO] [stderr] 25 | let ref mut clause = clauses[ci]; [INFO] [stderr] | ----^^^^^^^^^^^^^^--------------- help: try: `let clause = &mut clauses[ci];` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::toplevel_ref_arg)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_arg [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/cnf/problem/precompute.rs:27:20 [INFO] [stderr] | [INFO] [stderr] 27 | debug_assert!(clause.len() > 0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!clause.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: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/cnf/problem/precompute.rs:38:12 [INFO] [stderr] | [INFO] [stderr] 38 | let ref var = variables[v[j]]; [INFO] [stderr] | ----^^^^^^^------------------- help: try: `let var = &variables[v[j]];` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_arg [INFO] [stderr] [INFO] [stderr] warning: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/cnf/problem/precompute.rs:66:10 [INFO] [stderr] | [INFO] [stderr] 66 | let ref mut var = variables[lit.id()]; [INFO] [stderr] | ----^^^^^^^^^^^----------------------- help: try: `let var = &mut variables[lit.id()];` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_arg [INFO] [stderr] [INFO] [stderr] warning: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/cnf/problem/solve.rs:152:8 [INFO] [stderr] | [INFO] [stderr] 152 | let ref var = self.variables[lits[i].id()]; [INFO] [stderr] | ----^^^^^^^-------------------------------- help: try: `let var = &self.variables[lits[i].id()];` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_arg [INFO] [stderr] [INFO] [stderr] warning: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/cnf/problem/solve.rs:171:8 [INFO] [stderr] | [INFO] [stderr] 171 | let ref mut var = self.variables[*self.applications.last().unwrap()]; [INFO] [stderr] | ----^^^^^^^^^^^------------------------------------------------------ help: try: `let var = &mut self.variables[*self.applications.last().unwrap()];` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_arg [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/cnf/problem/solve.rs:224:7 [INFO] [stderr] | [INFO] [stderr] 224 | if 0 != self.variables[id].get_clauses(val).len() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!self.variables[id].get_clauses(val).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: The function/method `update_glue` doesn't need a mutable reference [INFO] [stderr] --> src/cnf/problem/solve.rs:235:27 [INFO] [stderr] | [INFO] [stderr] 235 | clause.update_glue(&mut self.variables, self.depth); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::unnecessary_mut_passed)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_mut_passed [INFO] [stderr] [INFO] [stderr] warning: you should consider deriving a `Default` implementation for `cnf::problembuilder::ProblemBuilder` [INFO] [stderr] --> src/cnf/problembuilder.rs:15:2 [INFO] [stderr] | [INFO] [stderr] 15 | pub fn new() -> ProblemBuilder { [INFO] [stderr] | _____^ [INFO] [stderr] 16 | | ProblemBuilder { [INFO] [stderr] 17 | | names2index: HashMap::new(), [INFO] [stderr] 18 | | names: Vec::new(), [INFO] [stderr] 19 | | clauses: Vec::new(), [INFO] [stderr] 20 | | } [INFO] [stderr] 21 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::new_without_default_derive)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default_derive [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 6 | #[derive(Default)] [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: methods called `as_*` usually take self by reference or self by mutable reference; consider choosing a less ambiguous name [INFO] [stderr] --> src/cnf/problembuilder.rs:41:20 [INFO] [stderr] | [INFO] [stderr] 41 | pub fn as_problem(self) -> Problem { [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::wrong_self_convention)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#wrong_self_convention [INFO] [stderr] [INFO] [stderr] warning: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/bin/npn.rs:8:14 [INFO] [stderr] | [INFO] [stderr] 8 | const NAME: &'static str = "npn"; [INFO] [stderr] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::const_static_lifetime)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#const_static_lifetime [INFO] [stderr] [INFO] [stderr] warning: you should consider deriving a `Default` implementation for `cnf::variable::Variable` [INFO] [stderr] --> src/cnf/variable.rs:30:2 [INFO] [stderr] | [INFO] [stderr] 30 | pub fn new() -> Variable { [INFO] [stderr] | _____^ [INFO] [stderr] 31 | | Variable { [INFO] [stderr] 32 | | watchlists: [Vec::new(), Vec::new()], [INFO] [stderr] 33 | | ante: ::std::usize::MAX, [INFO] [stderr] ... | [INFO] [stderr] 37 | | } [INFO] [stderr] 38 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default_derive [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 21 | #[derive(Default)] [INFO] [stderr] | [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/driver/dimacs.rs:68:3 [INFO] [stderr] | [INFO] [stderr] 68 | match result { [INFO] [stderr] | _________^ [INFO] [stderr] 69 | | SolverResult::Sat => { [INFO] [stderr] 70 | | println!("Model:"); [INFO] [stderr] 71 | | problem.print_model(&mut ::std::io::stdout(), " ")?; [INFO] [stderr] 72 | | } [INFO] [stderr] 73 | | _ => {} [INFO] [stderr] 74 | | } [INFO] [stderr] | |_________^ [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] help: try this [INFO] [stderr] | [INFO] [stderr] 68 | if let SolverResult::Sat = result { [INFO] [stderr] 69 | println!("Model:"); [INFO] [stderr] 70 | problem.print_model(&mut ::std::io::stdout(), " ")?; [INFO] [stderr] 71 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/driver/errors.rs:26:3 [INFO] [stderr] | [INFO] [stderr] 26 | match self.kind() { [INFO] [stderr] | _________^ [INFO] [stderr] 27 | | &ErrorKind::Parse(_) => 2, [INFO] [stderr] 28 | | &ErrorKind::ParseInt(_) => 2, [INFO] [stderr] 29 | | &ErrorKind::Io(_) => 100, [INFO] [stderr] ... | [INFO] [stderr] 32 | | _ => 127, [INFO] [stderr] 33 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::match_ref_pats)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 26 | match *self.kind() { [INFO] [stderr] 27 | ErrorKind::Parse(_) => 2, [INFO] [stderr] 28 | ErrorKind::ParseInt(_) => 2, [INFO] [stderr] 29 | ErrorKind::Io(_) => 100, [INFO] [stderr] 30 | ErrorKind::RawIo(_) => 100, [INFO] [stderr] 31 | ErrorKind::Msg(_) => 126, [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you should consider deriving a `Default` implementation for `gp::ast::and::And` [INFO] [stderr] --> src/gp/ast/and.rs:11:2 [INFO] [stderr] | [INFO] [stderr] 11 | pub fn new() -> And { [INFO] [stderr] | _____^ [INFO] [stderr] 12 | | And { [INFO] [stderr] 13 | | nodes: Vec::new(), [INFO] [stderr] 14 | | variables: Vec::new(), [INFO] [stderr] 15 | | } [INFO] [stderr] 16 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default_derive [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 5 | #[derive(Default)] [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you should consider deriving a `Default` implementation for `gp::ast::or::Or` [INFO] [stderr] --> src/gp/ast/or.rs:11:2 [INFO] [stderr] | [INFO] [stderr] 11 | pub fn new() -> Or { [INFO] [stderr] | _____^ [INFO] [stderr] 12 | | Or { [INFO] [stderr] 13 | | nodes: Vec::new(), [INFO] [stderr] 14 | | variables: Vec::new(), [INFO] [stderr] 15 | | } [INFO] [stderr] 16 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default_derive [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 5 | #[derive(Default)] [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/parser/dimacs.rs:16:7 [INFO] [stderr] | [INFO] [stderr] 16 | if buf.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `buf.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: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/parser/dimacs.rs:21:16 [INFO] [stderr] | [INFO] [stderr] 21 | (skip_count.unwrap_or(buf.len()), buf.len()) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|| buf.len())` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::or_fun_call)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/parser/dimacs.rs:36:7 [INFO] [stderr] | [INFO] [stderr] 36 | if buf.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `buf.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: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/parser/dimacs.rs:41:16 [INFO] [stderr] | [INFO] [stderr] 41 | (skip_count.unwrap_or(buf.len()), buf.len()) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|| buf.len())` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/parser/dimacs.rs:55:7 [INFO] [stderr] | [INFO] [stderr] 55 | if buf.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `buf.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/parser/dimacs.rs:75:7 [INFO] [stderr] | [INFO] [stderr] 75 | if buf.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `buf.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 one [INFO] [stderr] --> src/parser/dimacs.rs:111:7 [INFO] [stderr] | [INFO] [stderr] 111 | buf.len() >= 1 && buf[0] == b'p' [INFO] [stderr] | ^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!buf.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 one [INFO] [stderr] --> src/parser/dimacs.rs:135:3 [INFO] [stderr] | [INFO] [stderr] 135 | buf.len() >= 1 && buf[0] == b'-' [INFO] [stderr] | ^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!buf.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/parser/npn.rs:16:7 [INFO] [stderr] | [INFO] [stderr] 16 | if buf.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `buf.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: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/parser/npn.rs:21:16 [INFO] [stderr] | [INFO] [stderr] 21 | (skip_count.unwrap_or(buf.len()), buf.len()) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|| buf.len())` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/parser/npn.rs:36:7 [INFO] [stderr] | [INFO] [stderr] 36 | if buf.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `buf.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: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/parser/npn.rs:41:16 [INFO] [stderr] | [INFO] [stderr] 41 | (skip_count.unwrap_or(buf.len()), buf.len()) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|| buf.len())` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/parser/npn.rs:55:7 [INFO] [stderr] | [INFO] [stderr] 55 | if buf.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `buf.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/parser/npn.rs:75:7 [INFO] [stderr] | [INFO] [stderr] 75 | if buf.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `buf.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 one [INFO] [stderr] --> src/parser/npn.rs:111:7 [INFO] [stderr] | [INFO] [stderr] 111 | buf.len() >= 1 && buf[0] == b'p' [INFO] [stderr] | ^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!buf.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 one [INFO] [stderr] --> src/parser/npn.rs:135:3 [INFO] [stderr] | [INFO] [stderr] 135 | buf.len() >= 1 && buf[0] == b'-' [INFO] [stderr] | ^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!buf.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: this if-then-else expression returns a bool literal [INFO] [stderr] --> src/sudoku/board.rs:60:28 [INFO] [stderr] | [INFO] [stderr] 60 | self.data[offset + i] = if i == val - 1 { true } else { false }; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: you can reduce it to: `i == val - 1` [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 true are unnecessary [INFO] [stderr] --> src/sudoku/board.rs:243:39 [INFO] [stderr] | [INFO] [stderr] 243 | for t in model.iter().filter(|t| t.1 == true) { [INFO] [stderr] | ^^^^^^^^^^^ help: try simplifying it as shown: `t.1` [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: you should consider deriving a `Default` implementation for `util::histo::Histo` [INFO] [stderr] --> src/util/histo.rs:9:2 [INFO] [stderr] | [INFO] [stderr] 9 | pub fn new() -> Histo { [INFO] [stderr] | _____^ [INFO] [stderr] 10 | | Histo { bins: Vec::new() } [INFO] [stderr] 11 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default_derive [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 4 | #[derive(Default)] [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: item `util::indexed_vec::IndexedVec` has a public `len` method but no corresponding `is_empty` method [INFO] [stderr] --> src/util/indexed_vec.rs:36:1 [INFO] [stderr] | [INFO] [stderr] 36 | / impl IndexedVec [INFO] [stderr] 37 | | where Key: USizeCast [INFO] [stderr] 38 | | { [INFO] [stderr] 39 | | pub fn new() -> IndexedVec { [INFO] [stderr] ... | [INFO] [stderr] 88 | | } [INFO] [stderr] 89 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_without_is_empty [INFO] [stderr] [INFO] [stderr] warning: you should consider deriving a `Default` implementation for `util::indexed_vec::IndexedVec` [INFO] [stderr] --> src/util/indexed_vec.rs:39:2 [INFO] [stderr] | [INFO] [stderr] 39 | pub fn new() -> IndexedVec { [INFO] [stderr] | _____^ [INFO] [stderr] 40 | | IndexedVec { [INFO] [stderr] 41 | | data: Vec::new(), [INFO] [stderr] 42 | | key_type: PhantomData, [INFO] [stderr] 43 | | } [INFO] [stderr] 44 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default_derive [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 31 | #[derive(Default)] [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/util/indexed_vec.rs:127:2 [INFO] [stderr] | [INFO] [stderr] 127 | fn index_mut<'a>(&'a mut self, index: Key) -> &'a mut Value { [INFO] [stderr] | _____^ [INFO] [stderr] 128 | | &mut self.data[index.to_usize()] [INFO] [stderr] 129 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_lifetimes)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: you should consider adding a `Default` implementation for `util::stopwatch::Stopwatch` [INFO] [stderr] --> src/util/stopwatch.rs:11:2 [INFO] [stderr] | [INFO] [stderr] 11 | pub fn new() -> Stopwatch { [INFO] [stderr] | _____^ [INFO] [stderr] 12 | | let time = SteadyTime::now(); [INFO] [stderr] 13 | | Stopwatch { [INFO] [stderr] 14 | | start: time, [INFO] [stderr] 15 | | stop: time, [INFO] [stderr] 16 | | } [INFO] [stderr] 17 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::new_without_default)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 10 | impl Default for util::stopwatch::Stopwatch { [INFO] [stderr] 11 | fn default() -> Self { [INFO] [stderr] 12 | Self::new() [INFO] [stderr] 13 | } [INFO] [stderr] 14 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/bin/sudoku.rs:8:14 [INFO] [stderr] | [INFO] [stderr] 8 | const NAME: &'static str = "sudoku"; [INFO] [stderr] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::const_static_lifetime)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#const_static_lifetime [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/bin/comp.rs:15:12 [INFO] [stderr] | [INFO] [stderr] 15 | usage(if args.len() > 0 { &args[0] } else { "comp" }); [INFO] [stderr] | ^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!args.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: you should consider deriving a `Default` implementation for `util::typeinfo::Typeinfo` [INFO] [stderr] --> src/util/typeinfo.rs:10:2 [INFO] [stderr] | [INFO] [stderr] 10 | pub fn new() -> Self { [INFO] [stderr] | _____^ [INFO] [stderr] 11 | | Typeinfo { phantom: PhantomData } [INFO] [stderr] 12 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default_derive [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 5 | #[derive(Default)] [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/bin/dimacs.rs:8:14 [INFO] [stderr] | [INFO] [stderr] 8 | const NAME: &'static str = "dimacs"; [INFO] [stderr] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::const_static_lifetime)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#const_static_lifetime [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/bin/comp.rs:15:12 [INFO] [stderr] | [INFO] [stderr] 15 | usage(if args.len() > 0 { &args[0] } else { "comp" }); [INFO] [stderr] | ^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!args.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: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/bin/dimacs.rs:8:14 [INFO] [stderr] | [INFO] [stderr] 8 | const NAME: &'static str = "dimacs"; [INFO] [stderr] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::const_static_lifetime)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#const_static_lifetime [INFO] [stderr] [INFO] [stderr] warning: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/bin/drsat.rs:9:14 [INFO] [stderr] | [INFO] [stderr] 9 | const NAME: &'static str = "drsat"; [INFO] [stderr] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::const_static_lifetime)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#const_static_lifetime [INFO] [stderr] [INFO] [stderr] warning: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/bin/drsat.rs:9:14 [INFO] [stderr] | [INFO] [stderr] 9 | const NAME: &'static str = "drsat"; [INFO] [stderr] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::const_static_lifetime)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#const_static_lifetime [INFO] [stderr] [INFO] [stderr] warning: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/bin/sudoku.rs:8:14 [INFO] [stderr] | [INFO] [stderr] 8 | const NAME: &'static str = "sudoku"; [INFO] [stderr] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::const_static_lifetime)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#const_static_lifetime [INFO] [stderr] [INFO] [stderr] warning: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/bin/npn.rs:8:14 [INFO] [stderr] | [INFO] [stderr] 8 | const NAME: &'static str = "npn"; [INFO] [stderr] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::const_static_lifetime)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#const_static_lifetime [INFO] [stderr] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 3m 22s [INFO] running `"docker" "inspect" "6c7ff724eba9ac28670c34b3e221001734e894cecef55c82b31e4eb1064f0ae6"` [INFO] running `"docker" "rm" "-f" "6c7ff724eba9ac28670c34b3e221001734e894cecef55c82b31e4eb1064f0ae6"` [INFO] [stdout] 6c7ff724eba9ac28670c34b3e221001734e894cecef55c82b31e4eb1064f0ae6