[INFO] crate bio 0.24.0 is already in cache [INFO] extracting crate bio 0.24.0 into work/ex/clippy-test-run/sources/stable/reg/bio/0.24.0 [INFO] extracting crate bio 0.24.0 into work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/bio/0.24.0 [INFO] validating manifest of bio-0.24.0 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 bio-0.24.0 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 bio-0.24.0 [INFO] finished frobbing bio-0.24.0 [INFO] frobbed toml for bio-0.24.0 written to work/ex/clippy-test-run/sources/stable/reg/bio/0.24.0/Cargo.toml [INFO] started frobbing bio-0.24.0 [INFO] finished frobbing bio-0.24.0 [INFO] frobbed toml for bio-0.24.0 written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/bio/0.24.0/Cargo.toml [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update"` [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 bio-0.24.0 against stable for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-6/stable:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable/reg/bio/0.24.0:/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] 81f9895b950da47f742b7096e18a68061119027d9c1d33c591bd39777f9bebeb [INFO] running `"docker" "start" "-a" "81f9895b950da47f742b7096e18a68061119027d9c1d33c591bd39777f9bebeb"` [INFO] [stderr] Compiling feature-probe v0.1.1 [INFO] [stderr] Compiling bio v0.24.0 (/opt/crater/workdir) [INFO] [stderr] Checking approx v0.3.1 [INFO] [stderr] Checking bio-types v0.4.0 [INFO] [stderr] Compiling bv v0.10.0 [INFO] [stderr] warning: 5th binding whose name is just one char [INFO] [stderr] --> src/alignment/pairwise/banded.rs:521:17 [INFO] [stderr] | [INFO] [stderr] 521 | let q = y[j - 1]; [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: 6th binding whose name is just one char [INFO] [stderr] --> src/alignment/pairwise/banded.rs:528:21 [INFO] [stderr] | [INFO] [stderr] 528 | let p = x[i - 1]; [INFO] [stderr] | ^ [INFO] [stderr] | [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: 5th binding whose name is just one char [INFO] [stderr] --> src/alignment/pairwise/banded.rs:628:17 [INFO] [stderr] | [INFO] [stderr] 628 | let j = n; [INFO] [stderr] | ^ [INFO] [stderr] | [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: 5th binding whose name is just one char [INFO] [stderr] --> src/alignment/pairwise/banded.rs:644:17 [INFO] [stderr] | [INFO] [stderr] 644 | let j = n; [INFO] [stderr] | ^ [INFO] [stderr] | [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: 5th binding whose name is just one char [INFO] [stderr] --> src/alignment/pairwise/banded.rs:663:17 [INFO] [stderr] | [INFO] [stderr] 663 | let mut i = m; [INFO] [stderr] | ^ [INFO] [stderr] | [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: 6th binding whose name is just one char [INFO] [stderr] --> src/alignment/pairwise/banded.rs:664:17 [INFO] [stderr] | [INFO] [stderr] 664 | let mut j = n; [INFO] [stderr] | ^ [INFO] [stderr] | [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: 5th binding whose name is just one char [INFO] [stderr] --> src/alignment/pairwise/banded.rs:986:13 [INFO] [stderr] | [INFO] [stderr] 986 | let i = r.saturating_sub(w); [INFO] [stderr] | ^ [INFO] [stderr] | [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: 6th binding whose name is just one char [INFO] [stderr] --> src/alignment/pairwise/banded.rs:998:17 [INFO] [stderr] | [INFO] [stderr] 998 | let mut j = (c + k - 1).saturating_sub(w); [INFO] [stderr] | ^ [INFO] [stderr] | [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: 5th binding whose name is just one char [INFO] [stderr] --> src/alignment/pairwise/banded.rs:1075:21 [INFO] [stderr] | [INFO] [stderr] 1075 | let d = min(lazy_extend, min(r, c)); [INFO] [stderr] | ^ [INFO] [stderr] | [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: 5th binding whose name is just one char [INFO] [stderr] --> src/alignment/pairwise/banded.rs:1103:25 [INFO] [stderr] | [INFO] [stderr] 1103 | let d = min(r, c); [INFO] [stderr] | ^ [INFO] [stderr] | [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: 5th binding whose name is just one char [INFO] [stderr] --> src/alignment/pairwise/banded.rs:1140:21 [INFO] [stderr] | [INFO] [stderr] 1140 | let d = min(lazy_extend, min(self.rows - r, self.cols - c)); [INFO] [stderr] | ^ [INFO] [stderr] | [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: 5th binding whose name is just one char [INFO] [stderr] --> src/alignment/pairwise/banded.rs:1169:25 [INFO] [stderr] | [INFO] [stderr] 1169 | let d = min(dr, dc); [INFO] [stderr] | ^ [INFO] [stderr] | [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: 5th binding whose name is just one char [INFO] [stderr] --> src/alignment/pairwise/banded.rs:1227:19 [INFO] [stderr] | [INFO] [stderr] 1227 | Some((m, _)) => m, [INFO] [stderr] | ^ [INFO] [stderr] | [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: 5th binding whose name is just one char [INFO] [stderr] --> src/alignment/pairwise/banded.rs:1267:21 [INFO] [stderr] | [INFO] [stderr] 1267 | let p = prev.unwrap(); [INFO] [stderr] | ^ [INFO] [stderr] | [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: 5th binding whose name is just one char [INFO] [stderr] --> src/alignment/pairwise/mod.rs:563:17 [INFO] [stderr] | [INFO] [stderr] 563 | let q = y[j - 1]; [INFO] [stderr] | ^ [INFO] [stderr] | [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: 6th binding whose name is just one char [INFO] [stderr] --> src/alignment/pairwise/mod.rs:569:21 [INFO] [stderr] | [INFO] [stderr] 569 | let p = x[i - 1]; [INFO] [stderr] | ^ [INFO] [stderr] | [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: 5th binding whose name is just one char [INFO] [stderr] --> src/alignment/pairwise/mod.rs:649:17 [INFO] [stderr] | [INFO] [stderr] 649 | let j = n; [INFO] [stderr] | ^ [INFO] [stderr] | [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: 5th binding whose name is just one char [INFO] [stderr] --> src/alignment/pairwise/mod.rs:665:17 [INFO] [stderr] | [INFO] [stderr] 665 | let j = n; [INFO] [stderr] | ^ [INFO] [stderr] | [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: 5th binding whose name is just one char [INFO] [stderr] --> src/alignment/pairwise/mod.rs:684:17 [INFO] [stderr] | [INFO] [stderr] 684 | let mut i = m; [INFO] [stderr] | ^ [INFO] [stderr] | [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: 6th binding whose name is just one char [INFO] [stderr] --> src/alignment/pairwise/mod.rs:685:17 [INFO] [stderr] | [INFO] [stderr] 685 | let mut j = n; [INFO] [stderr] | ^ [INFO] [stderr] | [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: 5th binding whose name is just one char [INFO] [stderr] --> src/data_structures/fmindex.rs:395:13 [INFO] [stderr] | [INFO] [stderr] 395 | let k = self.fmindex.less(a) + o; [INFO] [stderr] | ^ [INFO] [stderr] | [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: 5th binding whose name is just one char [INFO] [stderr] --> src/data_structures/rank_select.rs:207:13 [INFO] [stderr] | [INFO] [stderr] 207 | let b = bits.get_block(block); [INFO] [stderr] | ^ [INFO] [stderr] | [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: redundant field names in struct initialization [INFO] [stderr] --> src/pattern_matching/myers/builder.rs:184:13 [INFO] [stderr] | [INFO] [stderr] 184 | peq: peq, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `peq` [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/pattern_matching/myers/builder.rs:186:13 [INFO] [stderr] | [INFO] [stderr] 186 | m: m, [INFO] [stderr] | ^^^^ help: replace it with: `m` [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 `print!()` with a format string that ends in a single newline, consider using `println!()` instead [INFO] [stderr] --> src/pattern_matching/myers/traceback.rs:261:13 [INFO] [stderr] | [INFO] [stderr] 261 | print!("\n"); [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::print_with_newline)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#print_with_newline [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/pattern_matching/myers/mod.rs:286:13 [INFO] [stderr] | [INFO] [stderr] 286 | peq: peq, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `peq` [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/pattern_matching/myers/mod.rs:288:13 [INFO] [stderr] | [INFO] [stderr] 288 | m: m, [INFO] [stderr] | ^^^^ help: replace it with: `m` [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/pattern_matching/myers/mod.rs:441:13 [INFO] [stderr] | [INFO] [stderr] 441 | myers: myers, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `myers` [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/pattern_matching/myers/mod.rs:442:13 [INFO] [stderr] | [INFO] [stderr] 442 | state: state, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `state` [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/pattern_matching/myers/mod.rs:444:13 [INFO] [stderr] | [INFO] [stderr] 444 | max_dist: max_dist, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `max_dist` [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/pattern_matching/myers/mod.rs:498:13 [INFO] [stderr] | [INFO] [stderr] 498 | state: state, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `state` [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/pattern_matching/myers/mod.rs:500:13 [INFO] [stderr] | [INFO] [stderr] 500 | myers: myers, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `myers` [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/pattern_matching/myers/mod.rs:503:13 [INFO] [stderr] | [INFO] [stderr] 503 | max_dist: max_dist, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `max_dist` [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/pattern_matching/myers/mod.rs:652:13 [INFO] [stderr] | [INFO] [stderr] 652 | state: state, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `state` [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/pattern_matching/myers/mod.rs:654:13 [INFO] [stderr] | [INFO] [stderr] 654 | myers: myers, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `myers` [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/pattern_matching/myers/mod.rs:657:13 [INFO] [stderr] | [INFO] [stderr] 657 | max_dist: max_dist, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `max_dist` [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: `cfg_attr` is deprecated for rustfmt and got replaced by tool_attributes [INFO] [stderr] --> src/pattern_matching/myers/mod.rs:809:5 [INFO] [stderr] | [INFO] [stderr] 809 | #[cfg_attr(rustfmt, rustfmt_skip)] [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use: `#[rustfmt::skip]` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::deprecated_cfg_attr)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#deprecated_cfg_attr [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/pattern_matching/pssm/dnamotif.rs:174:13 [INFO] [stderr] | [INFO] [stderr] 174 | scores: scores, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `scores` [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/pattern_matching/pssm/protmotif.rs:148:13 [INFO] [stderr] | [INFO] [stderr] 148 | scores: scores, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `scores` [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/stats/pairhmm.rs:486:52 [INFO] [stderr] | [INFO] [stderr] 486 | let emission_params = TestEmissionParams { x: x, y: y }; [INFO] [stderr] | ^^^^ help: replace it with: `x` [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/stats/pairhmm.rs:486:58 [INFO] [stderr] | [INFO] [stderr] 486 | let emission_params = TestEmissionParams { x: x, y: y }; [INFO] [stderr] | ^^^^ help: replace it with: `y` [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/stats/pairhmm.rs:501:52 [INFO] [stderr] | [INFO] [stderr] 501 | let emission_params = TestEmissionParams { x: x, y: y }; [INFO] [stderr] | ^^^^ help: replace it with: `x` [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/stats/pairhmm.rs:501:58 [INFO] [stderr] | [INFO] [stderr] 501 | let emission_params = TestEmissionParams { x: x, y: y }; [INFO] [stderr] | ^^^^ help: replace it with: `y` [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/stats/pairhmm.rs:516:52 [INFO] [stderr] | [INFO] [stderr] 516 | let emission_params = TestEmissionParams { x: x, y: y }; [INFO] [stderr] | ^^^^ help: replace it with: `x` [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/stats/pairhmm.rs:516:58 [INFO] [stderr] | [INFO] [stderr] 516 | let emission_params = TestEmissionParams { x: x, y: y }; [INFO] [stderr] | ^^^^ help: replace it with: `y` [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/stats/pairhmm.rs:538:52 [INFO] [stderr] | [INFO] [stderr] 538 | let emission_params = TestEmissionParams { x: x, y: y }; [INFO] [stderr] | ^^^^ help: replace it with: `x` [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/stats/pairhmm.rs:538:58 [INFO] [stderr] | [INFO] [stderr] 538 | let emission_params = TestEmissionParams { x: x, y: y }; [INFO] [stderr] | ^^^^ help: replace it with: `y` [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/alignment/pairwise/banded.rs:521:17 [INFO] [stderr] | [INFO] [stderr] 521 | let q = y[j - 1]; [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: 6th binding whose name is just one char [INFO] [stderr] --> src/alignment/pairwise/banded.rs:528:21 [INFO] [stderr] | [INFO] [stderr] 528 | let p = x[i - 1]; [INFO] [stderr] | ^ [INFO] [stderr] | [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: 5th binding whose name is just one char [INFO] [stderr] --> src/alignment/pairwise/banded.rs:628:17 [INFO] [stderr] | [INFO] [stderr] 628 | let j = n; [INFO] [stderr] | ^ [INFO] [stderr] | [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: 5th binding whose name is just one char [INFO] [stderr] --> src/alignment/pairwise/banded.rs:644:17 [INFO] [stderr] | [INFO] [stderr] 644 | let j = n; [INFO] [stderr] | ^ [INFO] [stderr] | [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: 5th binding whose name is just one char [INFO] [stderr] --> src/alignment/pairwise/banded.rs:663:17 [INFO] [stderr] | [INFO] [stderr] 663 | let mut i = m; [INFO] [stderr] | ^ [INFO] [stderr] | [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: 6th binding whose name is just one char [INFO] [stderr] --> src/alignment/pairwise/banded.rs:664:17 [INFO] [stderr] | [INFO] [stderr] 664 | let mut j = n; [INFO] [stderr] | ^ [INFO] [stderr] | [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: 5th binding whose name is just one char [INFO] [stderr] --> src/alignment/pairwise/banded.rs:986:13 [INFO] [stderr] | [INFO] [stderr] 986 | let i = r.saturating_sub(w); [INFO] [stderr] | ^ [INFO] [stderr] | [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: 6th binding whose name is just one char [INFO] [stderr] --> src/alignment/pairwise/banded.rs:998:17 [INFO] [stderr] | [INFO] [stderr] 998 | let mut j = (c + k - 1).saturating_sub(w); [INFO] [stderr] | ^ [INFO] [stderr] | [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: 5th binding whose name is just one char [INFO] [stderr] --> src/alignment/pairwise/banded.rs:1075:21 [INFO] [stderr] | [INFO] [stderr] 1075 | let d = min(lazy_extend, min(r, c)); [INFO] [stderr] | ^ [INFO] [stderr] | [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: 5th binding whose name is just one char [INFO] [stderr] --> src/alignment/pairwise/banded.rs:1103:25 [INFO] [stderr] | [INFO] [stderr] 1103 | let d = min(r, c); [INFO] [stderr] | ^ [INFO] [stderr] | [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: 5th binding whose name is just one char [INFO] [stderr] --> src/alignment/pairwise/banded.rs:1140:21 [INFO] [stderr] | [INFO] [stderr] 1140 | let d = min(lazy_extend, min(self.rows - r, self.cols - c)); [INFO] [stderr] | ^ [INFO] [stderr] | [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: 5th binding whose name is just one char [INFO] [stderr] --> src/alignment/pairwise/banded.rs:1169:25 [INFO] [stderr] | [INFO] [stderr] 1169 | let d = min(dr, dc); [INFO] [stderr] | ^ [INFO] [stderr] | [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: 5th binding whose name is just one char [INFO] [stderr] --> src/alignment/pairwise/banded.rs:1227:19 [INFO] [stderr] | [INFO] [stderr] 1227 | Some((m, _)) => m, [INFO] [stderr] | ^ [INFO] [stderr] | [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: 5th binding whose name is just one char [INFO] [stderr] --> src/alignment/pairwise/banded.rs:1267:21 [INFO] [stderr] | [INFO] [stderr] 1267 | let p = prev.unwrap(); [INFO] [stderr] | ^ [INFO] [stderr] | [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: 5th binding whose name is just one char [INFO] [stderr] --> src/alignment/pairwise/mod.rs:563:17 [INFO] [stderr] | [INFO] [stderr] 563 | let q = y[j - 1]; [INFO] [stderr] | ^ [INFO] [stderr] | [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: 6th binding whose name is just one char [INFO] [stderr] --> src/alignment/pairwise/mod.rs:569:21 [INFO] [stderr] | [INFO] [stderr] 569 | let p = x[i - 1]; [INFO] [stderr] | ^ [INFO] [stderr] | [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: 5th binding whose name is just one char [INFO] [stderr] --> src/alignment/pairwise/mod.rs:649:17 [INFO] [stderr] | [INFO] [stderr] 649 | let j = n; [INFO] [stderr] | ^ [INFO] [stderr] | [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: 5th binding whose name is just one char [INFO] [stderr] --> src/alignment/pairwise/mod.rs:665:17 [INFO] [stderr] | [INFO] [stderr] 665 | let j = n; [INFO] [stderr] | ^ [INFO] [stderr] | [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: 5th binding whose name is just one char [INFO] [stderr] --> src/alignment/pairwise/mod.rs:684:17 [INFO] [stderr] | [INFO] [stderr] 684 | let mut i = m; [INFO] [stderr] | ^ [INFO] [stderr] | [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: 6th binding whose name is just one char [INFO] [stderr] --> src/alignment/pairwise/mod.rs:685:17 [INFO] [stderr] | [INFO] [stderr] 685 | let mut j = n; [INFO] [stderr] | ^ [INFO] [stderr] | [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: 5th binding whose name is just one char [INFO] [stderr] --> src/data_structures/fmindex.rs:395:13 [INFO] [stderr] | [INFO] [stderr] 395 | let k = self.fmindex.less(a) + o; [INFO] [stderr] | ^ [INFO] [stderr] | [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: 5th binding whose name is just one char [INFO] [stderr] --> src/data_structures/rank_select.rs:207:13 [INFO] [stderr] | [INFO] [stderr] 207 | let b = bits.get_block(block); [INFO] [stderr] | ^ [INFO] [stderr] | [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: redundant field names in struct initialization [INFO] [stderr] --> src/pattern_matching/myers/builder.rs:184:13 [INFO] [stderr] | [INFO] [stderr] 184 | peq: peq, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `peq` [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/pattern_matching/myers/builder.rs:186:13 [INFO] [stderr] | [INFO] [stderr] 186 | m: m, [INFO] [stderr] | ^^^^ help: replace it with: `m` [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 `print!()` with a format string that ends in a single newline, consider using `println!()` instead [INFO] [stderr] --> src/pattern_matching/myers/traceback.rs:261:13 [INFO] [stderr] | [INFO] [stderr] 261 | print!("\n"); [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::print_with_newline)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#print_with_newline [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/pattern_matching/myers/mod.rs:286:13 [INFO] [stderr] | [INFO] [stderr] 286 | peq: peq, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `peq` [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/pattern_matching/myers/mod.rs:288:13 [INFO] [stderr] | [INFO] [stderr] 288 | m: m, [INFO] [stderr] | ^^^^ help: replace it with: `m` [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/pattern_matching/myers/mod.rs:441:13 [INFO] [stderr] | [INFO] [stderr] 441 | myers: myers, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `myers` [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/pattern_matching/myers/mod.rs:442:13 [INFO] [stderr] | [INFO] [stderr] 442 | state: state, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `state` [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/pattern_matching/myers/mod.rs:444:13 [INFO] [stderr] | [INFO] [stderr] 444 | max_dist: max_dist, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `max_dist` [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/pattern_matching/myers/mod.rs:498:13 [INFO] [stderr] | [INFO] [stderr] 498 | state: state, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `state` [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/pattern_matching/myers/mod.rs:500:13 [INFO] [stderr] | [INFO] [stderr] 500 | myers: myers, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `myers` [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/pattern_matching/myers/mod.rs:503:13 [INFO] [stderr] | [INFO] [stderr] 503 | max_dist: max_dist, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `max_dist` [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/pattern_matching/myers/mod.rs:652:13 [INFO] [stderr] | [INFO] [stderr] 652 | state: state, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `state` [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/pattern_matching/myers/mod.rs:654:13 [INFO] [stderr] | [INFO] [stderr] 654 | myers: myers, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `myers` [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/pattern_matching/myers/mod.rs:657:13 [INFO] [stderr] | [INFO] [stderr] 657 | max_dist: max_dist, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `max_dist` [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: `cfg_attr` is deprecated for rustfmt and got replaced by tool_attributes [INFO] [stderr] --> src/pattern_matching/myers/mod.rs:809:5 [INFO] [stderr] | [INFO] [stderr] 809 | #[cfg_attr(rustfmt, rustfmt_skip)] [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use: `#[rustfmt::skip]` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::deprecated_cfg_attr)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#deprecated_cfg_attr [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/pattern_matching/pssm/dnamotif.rs:174:13 [INFO] [stderr] | [INFO] [stderr] 174 | scores: scores, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `scores` [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/pattern_matching/pssm/protmotif.rs:148:13 [INFO] [stderr] | [INFO] [stderr] 148 | scores: scores, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `scores` [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/stats/pairhmm.rs:486:52 [INFO] [stderr] | [INFO] [stderr] 486 | let emission_params = TestEmissionParams { x: x, y: y }; [INFO] [stderr] | ^^^^ help: replace it with: `x` [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/stats/pairhmm.rs:486:58 [INFO] [stderr] | [INFO] [stderr] 486 | let emission_params = TestEmissionParams { x: x, y: y }; [INFO] [stderr] | ^^^^ help: replace it with: `y` [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/stats/pairhmm.rs:501:52 [INFO] [stderr] | [INFO] [stderr] 501 | let emission_params = TestEmissionParams { x: x, y: y }; [INFO] [stderr] | ^^^^ help: replace it with: `x` [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/stats/pairhmm.rs:501:58 [INFO] [stderr] | [INFO] [stderr] 501 | let emission_params = TestEmissionParams { x: x, y: y }; [INFO] [stderr] | ^^^^ help: replace it with: `y` [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/stats/pairhmm.rs:516:52 [INFO] [stderr] | [INFO] [stderr] 516 | let emission_params = TestEmissionParams { x: x, y: y }; [INFO] [stderr] | ^^^^ help: replace it with: `x` [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/stats/pairhmm.rs:516:58 [INFO] [stderr] | [INFO] [stderr] 516 | let emission_params = TestEmissionParams { x: x, y: y }; [INFO] [stderr] | ^^^^ help: replace it with: `y` [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/stats/pairhmm.rs:538:52 [INFO] [stderr] | [INFO] [stderr] 538 | let emission_params = TestEmissionParams { x: x, y: y }; [INFO] [stderr] | ^^^^ help: replace it with: `x` [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/stats/pairhmm.rs:538:58 [INFO] [stderr] | [INFO] [stderr] 538 | let emission_params = TestEmissionParams { x: x, y: y }; [INFO] [stderr] | ^^^^ help: replace it with: `y` [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: unused import: `std::ops::Deref` [INFO] [stderr] --> src/data_structures/bwt.rs:15:5 [INFO] [stderr] | [INFO] [stderr] 15 | use std::ops::Deref; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_imports)] on by default [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/utils/fastexp.rs:14:22 [INFO] [stderr] | [INFO] [stderr] 14 | const COEFF_1: f64 = 4.831794110; [INFO] [stderr] | ^^^^^^^^^^^ help: consider: `4.831_794_110` [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/utils/fastexp.rs:15:22 [INFO] [stderr] | [INFO] [stderr] 15 | const COEFF_2: f64 = 0.143440676; [INFO] [stderr] | ^^^^^^^^^^^ help: consider: `0.143_440_676` [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: long literal lacking separators [INFO] [stderr] --> src/utils/fastexp.rs:16:22 [INFO] [stderr] | [INFO] [stderr] 16 | const COEFF_3: f64 = 0.019890581; [INFO] [stderr] | ^^^^^^^^^^^ help: consider: `0.019_890_581` [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: long literal lacking separators [INFO] [stderr] --> src/utils/fastexp.rs:17:22 [INFO] [stderr] | [INFO] [stderr] 17 | const COEFF_4: f64 = 0.006935931; [INFO] [stderr] | ^^^^^^^^^^^ help: consider: `0.006_935_931` [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: long literal lacking separators [INFO] [stderr] --> src/utils/fastexp.rs:18:24 [INFO] [stderr] | [INFO] [stderr] 18 | const ONEBYLOG2: f64 = 1.442695041; [INFO] [stderr] | ^^^^^^^^^^^ help: consider: `1.442_695_041` [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: module has the same name as its containing module [INFO] [stderr] --> src/alignment/pairwise/banded.rs:1327:1 [INFO] [stderr] | [INFO] [stderr] 1327 | / mod banded { [INFO] [stderr] 1328 | | use alignment::pairwise::{self, banded, Scoring}; [INFO] [stderr] 1329 | | use alignment::sparse::hash_kmers; [INFO] [stderr] 1330 | | use utils::TextSlice; [INFO] [stderr] ... | [INFO] [stderr] 2092 | | } [INFO] [stderr] 2093 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::module_inception)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#module_inception [INFO] [stderr] [INFO] [stderr] warning: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/alignment/sparse.rs:611:26 [INFO] [stderr] | [INFO] [stderr] 611 | const QUERY_REPEAT: &'static [u8] = b"CCTCCCATCTCCACCCACCCTATCCAACCCTGGGGTGGCAGGTCATGAGTGA\ [INFO] [stderr] | -^^^^^^^----- help: consider removing `'static`: `&[u8]` [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/alignment/sparse.rs:616:27 [INFO] [stderr] | [INFO] [stderr] 616 | const TARGET_REPEAT: &'static [u8] = b"CCTCCCATCTCCACCCACCCTATCCAACCCTGGGGTGGCAG\ [INFO] [stderr] | -^^^^^^^----- help: consider removing `'static`: `&[u8]` [INFO] [stderr] | [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: long literal lacking separators [INFO] [stderr] --> src/data_structures/annot_map.rs:233:17 [INFO] [stderr] | [INFO] [stderr] 233 | 461829, [INFO] [stderr] | ^^^^^^ help: consider: `461_829` [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/data_structures/annot_map.rs:234:17 [INFO] [stderr] | [INFO] [stderr] 234 | 462426 - 461829, [INFO] [stderr] | ^^^^^^ help: consider: `462_426` [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: long literal lacking separators [INFO] [stderr] --> src/data_structures/annot_map.rs:234:26 [INFO] [stderr] | [INFO] [stderr] 234 | 462426 - 461829, [INFO] [stderr] | ^^^^^^ help: consider: `461_829` [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: long literal lacking separators [INFO] [stderr] --> src/data_structures/annot_map.rs:242:17 [INFO] [stderr] | [INFO] [stderr] 242 | 334412, [INFO] [stderr] | ^^^^^^ help: consider: `334_412` [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: long literal lacking separators [INFO] [stderr] --> src/data_structures/annot_map.rs:243:17 [INFO] [stderr] | [INFO] [stderr] 243 | 334916 - 334412, [INFO] [stderr] | ^^^^^^ help: consider: `334_916` [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: long literal lacking separators [INFO] [stderr] --> src/data_structures/annot_map.rs:243:26 [INFO] [stderr] | [INFO] [stderr] 243 | 334916 - 334412, [INFO] [stderr] | ^^^^^^ help: consider: `334_412` [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: long literal lacking separators [INFO] [stderr] --> src/data_structures/annot_map.rs:248:52 [INFO] [stderr] | [INFO] [stderr] 248 | let query = Contig::new("chrX".to_owned(), 462400, 100, ReqStrand::Forward); [INFO] [stderr] | ^^^^^^ help: consider: `462_400` [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: long literal lacking separators [INFO] [stderr] --> src/data_structures/annot_map.rs:252:53 [INFO] [stderr] | [INFO] [stderr] 252 | let query = Contig::new("chrXI".to_owned(), 334400, 100, ReqStrand::Forward); [INFO] [stderr] | ^^^^^^ help: consider: `334_400` [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: long literal lacking separators [INFO] [stderr] --> src/data_structures/annot_map.rs:256:53 [INFO] [stderr] | [INFO] [stderr] 256 | let query = Contig::new("chrXI".to_owned(), 334916, 100, ReqStrand::Forward); [INFO] [stderr] | ^^^^^^ help: consider: `334_916` [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: long literal lacking separators [INFO] [stderr] --> src/data_structures/annot_map.rs:260:52 [INFO] [stderr] | [INFO] [stderr] 260 | let query = Contig::new("chrX".to_owned(), 461729, 100, ReqStrand::Forward); [INFO] [stderr] | ^^^^^^ help: consider: `461_729` [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: long literal lacking separators [INFO] [stderr] --> src/data_structures/annot_map.rs:264:53 [INFO] [stderr] | [INFO] [stderr] 264 | let query = Contig::new("chrXI".to_owned(), 462400, 100, ReqStrand::Forward); [INFO] [stderr] | ^^^^^^ help: consider: `462_400` [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: unused import: `std::ops::Deref` [INFO] [stderr] --> src/data_structures/bwt.rs:15:5 [INFO] [stderr] | [INFO] [stderr] 15 | use std::ops::Deref; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_imports)] on by default [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/data_structures/interpolation_table.rs:89:33 [INFO] [stderr] | [INFO] [stderr] 89 | for &x in &[0.02, 0.04, 0.45678686, 0.23875, 1.45345e-6] { [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0.456_786_86` [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: long literal lacking separators [INFO] [stderr] --> src/data_structures/suffix_array.rs:682:25 [INFO] [stderr] | [INFO] [stderr] 682 | test.push_block(0b001001101100100101100110); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider: `0b0010_0110_1100_1001_0110_0110` [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: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/io/bed.rs:389:22 [INFO] [stderr] | [INFO] [stderr] 389 | const BED_FILE: &'static [u8] = b"1\t5\t5000\tname1\tup [INFO] [stderr] | -^^^^^^^----- help: consider removing `'static`: `&[u8]` [INFO] [stderr] | [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: long literal lacking separators [INFO] [stderr] --> src/io/bed.rs:448:13 [INFO] [stderr] | [INFO] [stderr] 448 | 166236, [INFO] [stderr] | ^^^^^^ help: consider: `166_236` [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: long literal lacking separators [INFO] [stderr] --> src/io/bed.rs:468:13 [INFO] [stderr] | [INFO] [stderr] 468 | 173151, [INFO] [stderr] | ^^^^^^ help: consider: `173_151` [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: long literal lacking separators [INFO] [stderr] --> src/io/bed.rs:488:13 [INFO] [stderr] | [INFO] [stderr] 488 | 765265, [INFO] [stderr] | ^^^^^^ help: consider: `765_265` [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: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/io/fasta.rs:692:24 [INFO] [stderr] | [INFO] [stderr] 692 | const FASTA_FILE: &'static [u8] = b">id desc [INFO] [stderr] | -^^^^^^^----- help: consider removing `'static`: `&[u8]` [INFO] [stderr] | [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/io/fasta.rs:704:22 [INFO] [stderr] | [INFO] [stderr] 704 | const FAI_FILE: &'static [u8] = b"id\t52\t9\t12\t13 [INFO] [stderr] | -^^^^^^^----- help: consider removing `'static`: `&[u8]` [INFO] [stderr] | [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/io/fasta.rs:708:29 [INFO] [stderr] | [INFO] [stderr] 708 | const TRUNCATED_FASTA: &'static [u8] = b">id desc\nACCGTAGGCTGA"; [INFO] [stderr] | -^^^^^^^----- help: consider removing `'static`: `&[u8]` [INFO] [stderr] | [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/io/fasta.rs:710:29 [INFO] [stderr] | [INFO] [stderr] 710 | const FASTA_FILE_CRLF: &'static [u8] = b">id desc\r [INFO] [stderr] | -^^^^^^^----- help: consider removing `'static`: `&[u8]` [INFO] [stderr] | [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/io/fasta.rs:722:27 [INFO] [stderr] | [INFO] [stderr] 722 | const FAI_FILE_CRLF: &'static [u8] = b"id\t52\t10\t12\t14\r [INFO] [stderr] | -^^^^^^^----- help: consider removing `'static`: `&[u8]` [INFO] [stderr] | [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/io/fasta.rs:726:39 [INFO] [stderr] | [INFO] [stderr] 726 | const FASTA_FILE_NO_TRAILING_LF: &'static [u8] = b">id desc [INFO] [stderr] | -^^^^^^^----- help: consider removing `'static`: `&[u8]` [INFO] [stderr] | [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/io/fasta.rs:729:37 [INFO] [stderr] | [INFO] [stderr] 729 | const FAI_FILE_NO_TRAILING_LF: &'static [u8] = b"id\t16\t9\t12\t13"; [INFO] [stderr] | -^^^^^^^----- help: consider removing `'static`: `&[u8]` [INFO] [stderr] | [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/io/fasta.rs:731:30 [INFO] [stderr] | [INFO] [stderr] 731 | const WRITE_FASTA_FILE: &'static [u8] = b">id desc [INFO] [stderr] | -^^^^^^^----- help: consider removing `'static`: `&[u8]` [INFO] [stderr] | [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/io/fastq.rs:278:24 [INFO] [stderr] | [INFO] [stderr] 278 | const FASTQ_FILE: &'static [u8] = b"@id desc [INFO] [stderr] | -^^^^^^^----- help: consider removing `'static`: `&[u8]` [INFO] [stderr] | [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/io/gff.rs:360:22 [INFO] [stderr] | [INFO] [stderr] 360 | const GFF_FILE: &'static [u8] = b"P0A7B8\tUniProtKB\tInitiator methionine\t1\t1\t.\t.\t.\t\ [INFO] [stderr] | -^^^^^^^----- help: consider removing `'static`: `&[u8]` [INFO] [stderr] | [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/io/gff.rs:364:35 [INFO] [stderr] | [INFO] [stderr] 364 | const GFF_FILE_WITH_COMMENT: &'static [u8] = b"#comment [INFO] [stderr] | -^^^^^^^----- help: consider removing `'static`: `&[u8]` [INFO] [stderr] | [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/io/gff.rs:371:33 [INFO] [stderr] | [INFO] [stderr] 371 | const GFF_FILE_ONE_ATTRIB: &'static [u8] = [INFO] [stderr] | -^^^^^^^----- help: consider removing `'static`: `&[u8]` [INFO] [stderr] | [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/io/gff.rs:376:22 [INFO] [stderr] | [INFO] [stderr] 376 | const GTF_FILE: &'static [u8] = [INFO] [stderr] | -^^^^^^^----- help: consider removing `'static`: `&[u8]` [INFO] [stderr] | [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/io/gff.rs:382:24 [INFO] [stderr] | [INFO] [stderr] 382 | const GTF_FILE_2: &'static [u8] = b"chr1\tHAVANA\tgene\t11869\t14409\t.\t+\t.\t\ [INFO] [stderr] | -^^^^^^^----- help: consider removing `'static`: `&[u8]` [INFO] [stderr] | [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/io/gff.rs:388:36 [INFO] [stderr] | [INFO] [stderr] 388 | const GTF_FILE_DUP_ATTR_KEYS: &'static [u8] = b"chr1\tENSEMBL\ttranscript\t182393\t\ [INFO] [stderr] | -^^^^^^^----- help: consider removing `'static`: `&[u8]` [INFO] [stderr] | [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/io/gff.rs:396:33 [INFO] [stderr] | [INFO] [stderr] 396 | const GTF_FILE_ONE_ATTRIB: &'static [u8] = [INFO] [stderr] | -^^^^^^^----- help: consider removing `'static`: `&[u8]` [INFO] [stderr] | [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: long literal lacking separators [INFO] [stderr] --> src/stats/bayesian.rs:61:81 [INFO] [stderr] | [INFO] [stderr] 61 | assert_relative_eq!(*fdrs[2], *LogProb((0.35 / 3.0f64).ln()), epsilon = 0.000001); [INFO] [stderr] | ^^^^^^^^ help: consider: `0.000_001` [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: long literal lacking separators [INFO] [stderr] --> src/stats/combinatorics.rs:46:43 [INFO] [stderr] | [INFO] [stderr] 46 | assert_eq!(combinations(200, 10), 22451004309013280.0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: consider: `22_451_004_309_013_280.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: long literal lacking separators [INFO] [stderr] --> src/stats/combinatorics.rs:51:55 [INFO] [stderr] | [INFO] [stderr] 51 | assert!((scaled_combinations(150, 80, 1e-5) - 6.6643938163479384e+38).abs() < 0.0000001); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: consider: `6.664_393_816_347_938_4e+38` [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: long literal lacking separators [INFO] [stderr] --> src/stats/combinatorics.rs:51:87 [INFO] [stderr] | [INFO] [stderr] 51 | assert!((scaled_combinations(150, 80, 1e-5) - 6.6643938163479384e+38).abs() < 0.0000001); [INFO] [stderr] | ^^^^^^^^^ help: consider: `0.000_000_1` [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: long literal lacking separators [INFO] [stderr] --> src/stats/hmm.rs:720:29 [INFO] [stderr] | [INFO] [stderr] 720 | assert_relative_eq!(0.0038432_f64, *prob, epsilon = 0.0001); [INFO] [stderr] | ^^^^^^^^^^^^^ help: consider: `0.003_843_2_f64` [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: long literal lacking separators [INFO] [stderr] --> src/stats/hmm.rs:735:29 [INFO] [stderr] | [INFO] [stderr] 735 | assert_relative_eq!(0.0038432_f64, *prob, epsilon = 0.0001); [INFO] [stderr] | ^^^^^^^^^^^^^ help: consider: `0.003_843_2_f64` [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: long literal lacking separators [INFO] [stderr] --> src/stats/probs/cdf.rs:282:85 [INFO] [stderr] | [INFO] [stderr] 282 | assert_relative_eq!(*e.prob, *cdf.get_pmf(&e.value).unwrap(), epsilon = 0.000003); [INFO] [stderr] | ^^^^^^^^ help: consider: `0.000_003` [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: long literal lacking separators [INFO] [stderr] --> src/stats/probs/cdf.rs:288:23 [INFO] [stderr] | [INFO] [stderr] 288 | epsilon = 0.00000001 [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0.000_000_01` [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: long literal lacking separators [INFO] [stderr] --> src/stats/probs/mod.rs:495:66 [INFO] [stderr] | [INFO] [stderr] 495 | assert_relative_eq!(*cumsum[2], 0.011f64.ln(), epsilon = 0.000001); [INFO] [stderr] | ^^^^^^^^ help: consider: `0.000_001` [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: long literal lacking separators [INFO] [stderr] --> src/stats/probs/mod.rs:507:23 [INFO] [stderr] | [INFO] [stderr] 507 | epsilon = 0.0000000001 [INFO] [stderr] | ^^^^^^^^^^^^ help: consider: `0.000_000_000_1` [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: long literal lacking separators [INFO] [stderr] --> src/stats/probs/mod.rs:510:23 [INFO] [stderr] | [INFO] [stderr] 510 | *LogProb(-1.6094379124341).ln_sub_exp(LogProb::ln_zero()), [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: consider: `1.609_437_912_434_1` [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: long literal lacking separators [INFO] [stderr] --> src/stats/probs/mod.rs:511:23 [INFO] [stderr] | [INFO] [stderr] 511 | *LogProb(-1.6094379124341) [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: consider: `1.609_437_912_434_1` [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: long literal lacking separators [INFO] [stderr] --> src/stats/probs/mod.rs:525:66 [INFO] [stderr] | [INFO] [stderr] 525 | assert_relative_eq!(*prob, *LogProb::ln_one(), epsilon = 0.0000001); [INFO] [stderr] | ^^^^^^^^^ help: consider: `0.000_000_1` [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: long literal lacking separators [INFO] [stderr] --> src/stats/probs/mod.rs:532:66 [INFO] [stderr] | [INFO] [stderr] 532 | assert_relative_eq!(*prob, *LogProb::ln_one(), epsilon = 0.0000001); [INFO] [stderr] | ^^^^^^^^^ help: consider: `0.000_000_1` [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: long literal lacking separators [INFO] [stderr] --> src/stats/probs/mod.rs:537:34 [INFO] [stderr] | [INFO] [stderr] 537 | let under_top = LogProb(-0.00000005); [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0.000_000_05` [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: long literal lacking separators [INFO] [stderr] --> src/stats/probs/mod.rs:538:65 [INFO] [stderr] | [INFO] [stderr] 538 | assert_eq!(under_top, under_top.cap_numerical_overshoot(0.0000001)); [INFO] [stderr] | ^^^^^^^^^ help: consider: `0.000_000_1` [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: long literal lacking separators [INFO] [stderr] --> src/stats/probs/mod.rs:539:32 [INFO] [stderr] | [INFO] [stderr] 539 | let over_top = LogProb(0.00000005); [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0.000_000_05` [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: long literal lacking separators [INFO] [stderr] --> src/stats/probs/mod.rs:542:46 [INFO] [stderr] | [INFO] [stderr] 542 | over_top.cap_numerical_overshoot(0.0000001) [INFO] [stderr] | ^^^^^^^^^ help: consider: `0.000_000_1` [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: long literal lacking separators [INFO] [stderr] --> src/stats/probs/mod.rs:549:32 [INFO] [stderr] | [INFO] [stderr] 549 | let over_top = LogProb(0.00000005); [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0.000_000_05` [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: long literal lacking separators [INFO] [stderr] --> src/stats/probs/mod.rs:550:42 [INFO] [stderr] | [INFO] [stderr] 550 | over_top.cap_numerical_overshoot(0.00000001); [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0.000_000_01` [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: long literal lacking separators [INFO] [stderr] --> src/utils/fastexp.rs:14:22 [INFO] [stderr] | [INFO] [stderr] 14 | const COEFF_1: f64 = 4.831794110; [INFO] [stderr] | ^^^^^^^^^^^ help: consider: `4.831_794_110` [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: long literal lacking separators [INFO] [stderr] --> src/utils/fastexp.rs:15:22 [INFO] [stderr] | [INFO] [stderr] 15 | const COEFF_2: f64 = 0.143440676; [INFO] [stderr] | ^^^^^^^^^^^ help: consider: `0.143_440_676` [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: long literal lacking separators [INFO] [stderr] --> src/utils/fastexp.rs:16:22 [INFO] [stderr] | [INFO] [stderr] 16 | const COEFF_3: f64 = 0.019890581; [INFO] [stderr] | ^^^^^^^^^^^ help: consider: `0.019_890_581` [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: long literal lacking separators [INFO] [stderr] --> src/utils/fastexp.rs:17:22 [INFO] [stderr] | [INFO] [stderr] 17 | const COEFF_4: f64 = 0.006935931; [INFO] [stderr] | ^^^^^^^^^^^ help: consider: `0.006_935_931` [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: long literal lacking separators [INFO] [stderr] --> src/utils/fastexp.rs:18:24 [INFO] [stderr] | [INFO] [stderr] 18 | const ONEBYLOG2: f64 = 1.442695041; [INFO] [stderr] | ^^^^^^^^^^^ help: consider: `1.442_695_041` [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: long literal lacking separators [INFO] [stderr] --> src/utils/fastexp.rs:76:58 [INFO] [stderr] | [INFO] [stderr] 76 | assert_relative_eq!(x.fastexp(), 1e-8, epsilon = 0.00000000000002); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: consider: `0.000_000_000_000_02` [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: long literal lacking separators [INFO] [stderr] --> src/utils/fastexp.rs:79:18 [INFO] [stderr] | [INFO] [stderr] 79 | let x = -159.00000002327861_f64; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: consider: `159.000_000_023_278_61_f64` [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: long literal lacking separators [INFO] [stderr] --> src/utils/fastexp.rs:80:44 [INFO] [stderr] | [INFO] [stderr] 80 | assert_relative_eq!(x.fastexp(), (-159.00000002327861).exp()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider: `159.000_000_023_278_61` [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: use of deprecated item 'ndarray::impl_methods::>::subview': renamed to `index_axis` [INFO] [stderr] --> src/stats/hmm.rs:266:22 [INFO] [stderr] | [INFO] [stderr] 266 | .subview(Axis(0), i - 1) [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(deprecated)] on by default [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'ndarray::impl_methods::>::subview': renamed to `index_axis` [INFO] [stderr] --> src/stats/hmm.rs:266:22 [INFO] [stderr] | [INFO] [stderr] 266 | .subview(Axis(0), i - 1) [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(deprecated)] on by default [INFO] [stderr] [INFO] [stderr] warning: the function has a cyclomatic complexity of 49 [INFO] [stderr] --> src/alignment/pairwise/banded.rs:373:5 [INFO] [stderr] | [INFO] [stderr] 373 | / fn compute_alignment(&mut self, x: TextSlice, y: TextSlice) -> Alignment { [INFO] [stderr] 374 | | if self.band.num_cells() > MAX_CELLS { [INFO] [stderr] 375 | | // Too many cells in the band. Return an empty alignment [INFO] [stderr] 376 | | return Alignment { [INFO] [stderr] ... | [INFO] [stderr] 768 | | } [INFO] [stderr] 769 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::cyclomatic_complexity)] on by default [INFO] [stderr] = help: you could split it up into multiple smaller functions [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cyclomatic_complexity [INFO] [stderr] [INFO] [stderr] warning: an inclusive range would be more readable [INFO] [stderr] --> src/alignment/pairwise/banded.rs:469:18 [INFO] [stderr] | [INFO] [stderr] 469 | for j in 1..n + 1 { [INFO] [stderr] | ^^^^^^^^ help: use: `1..=n` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::range_plus_one)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#range_plus_one [INFO] [stderr] [INFO] [stderr] warning: an inclusive range would be more readable [INFO] [stderr] --> src/alignment/pairwise/banded.rs:627:18 [INFO] [stderr] | [INFO] [stderr] 627 | for i in 0..m + 1 { [INFO] [stderr] | ^^^^^^^^ help: use: `0..=m` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#range_plus_one [INFO] [stderr] [INFO] [stderr] warning: an inclusive range would be more readable [INFO] [stderr] --> src/alignment/pairwise/banded.rs:963:18 [INFO] [stderr] | [INFO] [stderr] 963 | for _ in 0..n + 1 { [INFO] [stderr] | ^^^^^^^^ help: use: `0..=n` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#range_plus_one [INFO] [stderr] [INFO] [stderr] warning: the function has a cyclomatic complexity of 37 [INFO] [stderr] --> src/alignment/pairwise/mod.rs:436:5 [INFO] [stderr] | [INFO] [stderr] 436 | / pub fn custom(&mut self, x: TextSlice, y: TextSlice) -> Alignment { [INFO] [stderr] 437 | | let (m, n) = (x.len(), y.len()); [INFO] [stderr] 438 | | self.traceback.init(m, n); [INFO] [stderr] 439 | | [INFO] [stderr] ... | [INFO] [stderr] 760 | | } [INFO] [stderr] 761 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: you could split it up into multiple smaller functions [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cyclomatic_complexity [INFO] [stderr] [INFO] [stderr] warning: an inclusive range would be more readable [INFO] [stderr] --> src/alignment/pairwise/mod.rs:465:22 [INFO] [stderr] | [INFO] [stderr] 465 | for i in 1..m + 1 { [INFO] [stderr] | ^^^^^^^^ help: use: `1..=m` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#range_plus_one [INFO] [stderr] [INFO] [stderr] warning: an inclusive range would be more readable [INFO] [stderr] --> src/alignment/pairwise/mod.rs:513:18 [INFO] [stderr] | [INFO] [stderr] 513 | for j in 1..n + 1 { [INFO] [stderr] | ^^^^^^^^ help: use: `1..=n` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#range_plus_one [INFO] [stderr] [INFO] [stderr] warning: an inclusive range would be more readable [INFO] [stderr] --> src/alignment/pairwise/mod.rs:559:22 [INFO] [stderr] | [INFO] [stderr] 559 | for i in 1..m + 1 { [INFO] [stderr] | ^^^^^^^^ help: use: `1..=m` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#range_plus_one [INFO] [stderr] [INFO] [stderr] warning: an inclusive range would be more readable [INFO] [stderr] --> src/alignment/pairwise/mod.rs:568:22 [INFO] [stderr] | [INFO] [stderr] 568 | for i in 1..m + 1 { [INFO] [stderr] | ^^^^^^^^ help: use: `1..=m` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#range_plus_one [INFO] [stderr] [INFO] [stderr] warning: an inclusive range would be more readable [INFO] [stderr] --> src/alignment/pairwise/mod.rs:648:18 [INFO] [stderr] | [INFO] [stderr] 648 | for i in 0..m + 1 { [INFO] [stderr] | ^^^^^^^^ help: use: `0..=m` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#range_plus_one [INFO] [stderr] [INFO] [stderr] warning: an inclusive range would be more readable [INFO] [stderr] --> src/alignment/pairwise/mod.rs:664:18 [INFO] [stderr] | [INFO] [stderr] 664 | for i in 1..m + 1 { [INFO] [stderr] | ^^^^^^^^ help: use: `1..=m` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#range_plus_one [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/alignment/pairwise/mod.rs:932:17 [INFO] [stderr] | [INFO] [stderr] 932 | fn get_bits(&self, pos: u8) -> u16 { [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/alignment/pairwise/mod.rs:937:23 [INFO] [stderr] | [INFO] [stderr] 937 | pub fn get_i_bits(&self) -> u16 { [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/alignment/pairwise/mod.rs:942:23 [INFO] [stderr] | [INFO] [stderr] 942 | pub fn get_d_bits(&self) -> u16 { [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/alignment/pairwise/mod.rs:947:23 [INFO] [stderr] | [INFO] [stderr] 947 | pub fn get_s_bits(&self) -> u16 { [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/alignment/pairwise/mod.rs:1005:49 [INFO] [stderr] | [INFO] [stderr] 1005 | fn resize(&mut self, m: usize, n: usize, v: &TracebackCell) { [INFO] [stderr] | ^^^^^^^^^^^^^^ help: consider passing by value instead: `TracebackCell` [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: you should consider deriving a `Default` implementation for `data_structures::annot_map::AnnotMap` [INFO] [stderr] --> src/data_structures/annot_map.rs:44:5 [INFO] [stderr] | [INFO] [stderr] 44 | / pub fn new() -> Self { [INFO] [stderr] 45 | | AnnotMap { [INFO] [stderr] 46 | | refid_itrees: HashMap::new(), [INFO] [stderr] 47 | | } [INFO] [stderr] 48 | | } [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] 26 | #[derive(Default)] [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: redundant closure found [INFO] [stderr] --> src/data_structures/annot_map.rs:78:29 [INFO] [stderr] | [INFO] [stderr] 78 | .or_insert_with(|| IntervalTree::new()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: remove closure as shown: `IntervalTree::new` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_closure)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stderr] [INFO] [stderr] warning: redundant closure found [INFO] [stderr] --> src/data_structures/annot_map.rs:147:29 [INFO] [stderr] | [INFO] [stderr] 147 | .or_insert_with(|| IntervalTree::new()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: remove closure as shown: `IntervalTree::new` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/data_structures/bwt.rs:41:30 [INFO] [stderr] | [INFO] [stderr] 41 | pub fn bwt(text: &[u8], pos: &RawSuffixArray) -> BWT { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [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: casting u32 to u64 may become silently lossy if types change [INFO] [stderr] --> src/data_structures/rank_select.rs:101:21 [INFO] [stderr] | [INFO] [stderr] 101 | rank += (self.bits.get_block(b as usize) & mask).count_ones() as u64; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u64::from((self.bits.get_block(b as usize) & mask).count_ones())` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::cast_lossless)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to u64 may become silently lossy if types change [INFO] [stderr] --> src/data_structures/rank_select.rs:105:25 [INFO] [stderr] | [INFO] [stderr] 105 | rank += b.count_ones() as u64; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: try: `u64::from(b.count_ones())` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to u64 may become silently lossy if types change [INFO] [stderr] --> src/data_structures/rank_select.rs:175:21 [INFO] [stderr] | [INFO] [stderr] 175 | let p = count_all(b) as u64; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try: `u64::from(count_all(b))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to u64 may become silently lossy if types change [INFO] [stderr] --> src/data_structures/rank_select.rs:212:13 [INFO] [stderr] | [INFO] [stderr] 212 | b.count_ones() as u64 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: try: `u64::from(b.count_ones())` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to u64 may become silently lossy if types change [INFO] [stderr] --> src/data_structures/rank_select.rs:214:13 [INFO] [stderr] | [INFO] [stderr] 214 | b.count_zeros() as u64 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: try: `u64::from(b.count_zeros())` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: methods called `to_*` usually take self by reference; consider choosing a less ambiguous name [INFO] [stderr] --> src/io/bed.rs:98:36 [INFO] [stderr] | [INFO] [stderr] 98 | pub fn to_file>(path: P) -> io::Result { [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: length comparison to one [INFO] [stderr] --> src/io/bed.rs:209:12 [INFO] [stderr] | [INFO] [stderr] 209 | if self.aux.len() < 1 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `self.aux.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: length comparison to one [INFO] [stderr] --> src/io/bed.rs:218:12 [INFO] [stderr] | [INFO] [stderr] 218 | if self.aux.len() < 1 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `self.aux.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: methods called `to_*` usually take self by reference; consider choosing a less ambiguous name [INFO] [stderr] --> src/io/fasta.rs:548:36 [INFO] [stderr] | [INFO] [stderr] 548 | pub fn to_file>(path: P) -> io::Result { [INFO] [stderr] | ^^^^ [INFO] [stderr] | [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: methods called `to_*` usually take self by reference; consider choosing a less ambiguous name [INFO] [stderr] --> src/io/fastq.rs:226:36 [INFO] [stderr] | [INFO] [stderr] 226 | pub fn to_file>(path: P) -> io::Result { [INFO] [stderr] | ^^^^ [INFO] [stderr] | [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: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/io/gff.rs:56:18 [INFO] [stderr] | [INFO] [stderr] 56 | fn separator(&self) -> (u8, u8, u8) { [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: methods called `to_*` usually take self by reference; consider choosing a less ambiguous name [INFO] [stderr] --> src/io/gff.rs:180:36 [INFO] [stderr] | [INFO] [stderr] 180 | pub fn to_file>(path: P, fileformat: GffType) -> io::Result { [INFO] [stderr] | ^^^^ [INFO] [stderr] | [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: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/pattern_matching/kmp.rs:61:5 [INFO] [stderr] | [INFO] [stderr] 61 | / pub fn find_all<'b, C, T>(&'b self, text: T) -> Matches<'b, C, T::IntoIter> [INFO] [stderr] 62 | | where [INFO] [stderr] 63 | | C: Borrow, [INFO] [stderr] 64 | | T: IntoIterator, [INFO] [stderr] ... | [INFO] [stderr] 70 | | } [INFO] [stderr] 71 | | } [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: this lifetime isn't used in the function definition [INFO] [stderr] --> src/pattern_matching/myers/builder.rs:152:18 [INFO] [stderr] | [INFO] [stderr] 152 | pub fn build<'a, T, C, P>(&self, pattern: P) -> Myers [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::extra_unused_lifetimes)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#extra_unused_lifetimes [INFO] [stderr] [INFO] [stderr] warning: an inclusive range would be more readable [INFO] [stderr] --> src/pattern_matching/myers/traceback.rs:100:38 [INFO] [stderr] | [INFO] [stderr] 100 | let mut states = self.states[..pos + 1] [INFO] [stderr] | ^^^^^^^^^ help: use: `..=pos` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#range_plus_one [INFO] [stderr] [INFO] [stderr] warning: an inclusive range would be more readable [INFO] [stderr] --> src/pattern_matching/myers/traceback.rs:231:34 [INFO] [stderr] | [INFO] [stderr] 231 | let states = self.states[..pos + 1] [INFO] [stderr] | ^^^^^^^^^ help: use: `..=pos` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#range_plus_one [INFO] [stderr] [INFO] [stderr] warning: an inclusive range would be more readable [INFO] [stderr] --> src/pattern_matching/myers/traceback.rs:238:31 [INFO] [stderr] | [INFO] [stderr] 238 | let mut out: Vec<_> = (0..m + 1).map(|_| vec![]).collect(); [INFO] [stderr] | ^^^^^^^^^^ help: use: `(0..=m)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#range_plus_one [INFO] [stderr] [INFO] [stderr] warning: identical conversion [INFO] [stderr] --> src/pattern_matching/myers/traceback.rs:239:22 [INFO] [stderr] | [INFO] [stderr] 239 | for mut s in states.into_iter().cloned() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider removing `.into_iter()`: `states` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::identity_conversion)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_conversion [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is only used to index `out`. [INFO] [stderr] --> src/pattern_matching/myers/traceback.rs:242:22 [INFO] [stderr] | [INFO] [stderr] 242 | for i in 0..m + 1 { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_range_loop)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stderr] help: consider using an iterator [INFO] [stderr] | [INFO] [stderr] 242 | for in out.iter_mut().take(m + 1) { [INFO] [stderr] | ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: an inclusive range would be more readable [INFO] [stderr] --> src/pattern_matching/myers/traceback.rs:242:22 [INFO] [stderr] | [INFO] [stderr] 242 | for i in 0..m + 1 { [INFO] [stderr] | ^^^^^^^^ help: use: `0..=m` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#range_plus_one [INFO] [stderr] [INFO] [stderr] warning: this lifetime isn't used in the function definition [INFO] [stderr] --> src/pattern_matching/myers/mod.rs:267:16 [INFO] [stderr] | [INFO] [stderr] 267 | pub fn new<'a, C, P>(pattern: P) -> Self [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#extra_unused_lifetimes [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/pattern_matching/myers/mod.rs:364:5 [INFO] [stderr] | [INFO] [stderr] 364 | / pub fn find_all<'a, C, I>( [INFO] [stderr] 365 | | &'a mut self, [INFO] [stderr] 366 | | text: I, [INFO] [stderr] 367 | | max_dist: T::DistType, [INFO] [stderr] ... | [INFO] [stderr] 374 | | FullMatches::new(self, text.into_iter(), max_dist) [INFO] [stderr] 375 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [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/pattern_matching/myers/mod.rs:380:5 [INFO] [stderr] | [INFO] [stderr] 380 | / pub fn find_all_lazy<'a, C, I>( [INFO] [stderr] 381 | | &'a mut self, [INFO] [stderr] 382 | | text: I, [INFO] [stderr] 383 | | max_dist: T::DistType, [INFO] [stderr] ... | [INFO] [stderr] 390 | | LazyMatches::new(self, text.into_iter(), max_dist) [INFO] [stderr] 391 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/pattern_matching/pssm/dnamotif.rs:32:28 [INFO] [stderr] | [INFO] [stderr] 32 | pub fn from_seqs(seqs: &Vec>, pseudos: Option<&[f32]>) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^ help: change this to: `&[Vec]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/pattern_matching/pssm/protmotif.rs:32:28 [INFO] [stderr] | [INFO] [stderr] 32 | pub fn from_seqs(seqs: &Vec>, pseudos: Option<&[f32]>) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^ help: change this to: `&[Vec]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: trait `Motif` has a `len` method but no (possibly inherited) `is_empty` method [INFO] [stderr] --> src/pattern_matching/pssm/mod.rs:106:1 [INFO] [stderr] | [INFO] [stderr] 106 | / pub trait Motif { [INFO] [stderr] 107 | | /// Lookup table mapping monomer -> index [INFO] [stderr] 108 | | const LK: [u8; 127] = [INVALID_MONO; 127]; [INFO] [stderr] 109 | | /// All monomers, in order corresponding to lookup table [INFO] [stderr] ... | [INFO] [stderr] 327 | | } [INFO] [stderr] 328 | | } [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: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/pattern_matching/pssm/mod.rs:124:15 [INFO] [stderr] | [INFO] [stderr] 124 | seqs: &Vec>, [INFO] [stderr] | ^^^^^^^^^^^^^ help: change this to: `&[Vec]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/pattern_matching/pssm/mod.rs:140:12 [INFO] [stderr] | [INFO] [stderr] 140 | if seqs.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `seqs.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: an inclusive range would be more readable [INFO] [stderr] --> src/pattern_matching/pssm/mod.rs:235:22 [INFO] [stderr] | [INFO] [stderr] 235 | for start in 0..seq.len() - pssm_len + 1 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use: `0..=seq.len() - pssm_len` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#range_plus_one [INFO] [stderr] [INFO] [stderr] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/pattern_matching/pssm/mod.rs:289:12 [INFO] [stderr] | [INFO] [stderr] 289 | if max_score == min_score { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: consider comparing them within some error: `(max_score - min_score).abs() < error` [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::float_cmp)] on by default [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/pattern_matching/pssm/mod.rs:289:12 [INFO] [stderr] | [INFO] [stderr] 289 | if max_score == min_score { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#float_cmp [INFO] [stderr] [INFO] [stderr] warning: this lifetime isn't used in the function definition [INFO] [stderr] --> src/pattern_matching/shift_and.rs:33:16 [INFO] [stderr] | [INFO] [stderr] 33 | pub fn new<'a, C, P>(pattern: P) -> Self [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#extra_unused_lifetimes [INFO] [stderr] [INFO] [stderr] warning: an inclusive range would be more readable [INFO] [stderr] --> src/pattern_matching/ukkonen.rs:78:26 [INFO] [stderr] | [INFO] [stderr] 78 | self.D[1].extend(0..m + 1); [INFO] [stderr] | ^^^^^^^^ help: use: `0..=m` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#range_plus_one [INFO] [stderr] [INFO] [stderr] warning: an inclusive range would be more readable [INFO] [stderr] --> src/pattern_matching/ukkonen.rs:124:22 [INFO] [stderr] | [INFO] [stderr] 124 | for j in 1..self.lastk + 1 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: use: `1..=self.lastk` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#range_plus_one [INFO] [stderr] [INFO] [stderr] error: this .into_iter() call is equivalent to .iter() and will not move the array [INFO] [stderr] --> src/seq_analysis/orf.rs:55:23 [INFO] [stderr] | [INFO] [stderr] 55 | x.into_iter() // Vec<&[u8;3]> to [INFO] [stderr] | ^^^^^^^^^ help: call directly: `iter` [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::into_iter_on_array)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#into_iter_on_array [INFO] [stderr] [INFO] [stderr] error: this .into_iter() call is equivalent to .iter() and will not move the array [INFO] [stderr] --> src/seq_analysis/orf.rs:64:23 [INFO] [stderr] | [INFO] [stderr] 64 | x.into_iter().map(|&x| x as u8).collect::>() [INFO] [stderr] | ^^^^^^^^^ help: call directly: `iter` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#into_iter_on_array [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/stats/pairhmm.rs:64:9 [INFO] [stderr] | [INFO] [stderr] 64 | / match self { [INFO] [stderr] 65 | | &XYEmission::Match(p) => p, [INFO] [stderr] 66 | | &XYEmission::Mismatch(p) => p, [INFO] [stderr] 67 | | } [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] 64 | match *self { [INFO] [stderr] 65 | XYEmission::Match(p) => p, [INFO] [stderr] 66 | XYEmission::Mismatch(p) => p, [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/stats/pairhmm.rs:71:9 [INFO] [stderr] | [INFO] [stderr] 71 | / match self { [INFO] [stderr] 72 | | &XYEmission::Match(_) => true, [INFO] [stderr] 73 | | &XYEmission::Mismatch(_) => false, [INFO] [stderr] 74 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [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] 71 | match *self { [INFO] [stderr] 72 | XYEmission::Match(_) => true, [INFO] [stderr] 73 | XYEmission::Mismatch(_) => false, [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/stats/probs/mod.rs:169:21 [INFO] [stderr] | [INFO] [stderr] 169 | pub fn is_valid(&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/stats/probs/mod.rs:190:36 [INFO] [stderr] | [INFO] [stderr] 190 | pub fn cap_numerical_overshoot(&self, epsilon: f64) -> LogProb { [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/stats/probs/mod.rs:207:29 [INFO] [stderr] | [INFO] [stderr] 207 | pub fn ln_one_minus_exp(&self) -> LogProb { [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] error: approximate value of `f{32, 64}::consts::LOG2_E` found. Consider using it directly [INFO] [stderr] --> src/utils/fastexp.rs:18:24 [INFO] [stderr] | [INFO] [stderr] 18 | const ONEBYLOG2: f64 = 1.442695041; [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::approx_constant)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#approx_constant [INFO] [stderr] [INFO] [stderr] error: aborting due to 4 previous errors [INFO] [stderr] [INFO] [stderr] error: Could not compile `bio`. [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stderr] warning: the function has a cyclomatic complexity of 49 [INFO] [stderr] --> src/alignment/pairwise/banded.rs:373:5 [INFO] [stderr] | [INFO] [stderr] 373 | / fn compute_alignment(&mut self, x: TextSlice, y: TextSlice) -> Alignment { [INFO] [stderr] 374 | | if self.band.num_cells() > MAX_CELLS { [INFO] [stderr] 375 | | // Too many cells in the band. Return an empty alignment [INFO] [stderr] 376 | | return Alignment { [INFO] [stderr] ... | [INFO] [stderr] 768 | | } [INFO] [stderr] 769 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::cyclomatic_complexity)] on by default [INFO] [stderr] = help: you could split it up into multiple smaller functions [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cyclomatic_complexity [INFO] [stderr] [INFO] [stderr] warning: an inclusive range would be more readable [INFO] [stderr] --> src/alignment/pairwise/banded.rs:469:18 [INFO] [stderr] | [INFO] [stderr] 469 | for j in 1..n + 1 { [INFO] [stderr] | ^^^^^^^^ help: use: `1..=n` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::range_plus_one)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#range_plus_one [INFO] [stderr] [INFO] [stderr] warning: an inclusive range would be more readable [INFO] [stderr] --> src/alignment/pairwise/banded.rs:627:18 [INFO] [stderr] | [INFO] [stderr] 627 | for i in 0..m + 1 { [INFO] [stderr] | ^^^^^^^^ help: use: `0..=m` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#range_plus_one [INFO] [stderr] [INFO] [stderr] warning: an inclusive range would be more readable [INFO] [stderr] --> src/alignment/pairwise/banded.rs:963:18 [INFO] [stderr] | [INFO] [stderr] 963 | for _ in 0..n + 1 { [INFO] [stderr] | ^^^^^^^^ help: use: `0..=n` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#range_plus_one [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/alignment/pairwise/banded.rs:1536:17 [INFO] [stderr] | [INFO] [stderr] 1536 | let y = x.clone(); [INFO] [stderr] | ^^^^^^^^^ help: try dereferencing it: `*x` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::clone_on_copy)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: the function has a cyclomatic complexity of 37 [INFO] [stderr] --> src/alignment/pairwise/mod.rs:436:5 [INFO] [stderr] | [INFO] [stderr] 436 | / pub fn custom(&mut self, x: TextSlice, y: TextSlice) -> Alignment { [INFO] [stderr] 437 | | let (m, n) = (x.len(), y.len()); [INFO] [stderr] 438 | | self.traceback.init(m, n); [INFO] [stderr] 439 | | [INFO] [stderr] ... | [INFO] [stderr] 760 | | } [INFO] [stderr] 761 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: you could split it up into multiple smaller functions [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cyclomatic_complexity [INFO] [stderr] [INFO] [stderr] warning: an inclusive range would be more readable [INFO] [stderr] --> src/alignment/pairwise/mod.rs:465:22 [INFO] [stderr] | [INFO] [stderr] 465 | for i in 1..m + 1 { [INFO] [stderr] | ^^^^^^^^ help: use: `1..=m` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#range_plus_one [INFO] [stderr] [INFO] [stderr] warning: an inclusive range would be more readable [INFO] [stderr] --> src/alignment/pairwise/mod.rs:513:18 [INFO] [stderr] | [INFO] [stderr] 513 | for j in 1..n + 1 { [INFO] [stderr] | ^^^^^^^^ help: use: `1..=n` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#range_plus_one [INFO] [stderr] [INFO] [stderr] warning: an inclusive range would be more readable [INFO] [stderr] --> src/alignment/pairwise/mod.rs:559:22 [INFO] [stderr] | [INFO] [stderr] 559 | for i in 1..m + 1 { [INFO] [stderr] | ^^^^^^^^ help: use: `1..=m` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#range_plus_one [INFO] [stderr] [INFO] [stderr] warning: an inclusive range would be more readable [INFO] [stderr] --> src/alignment/pairwise/mod.rs:568:22 [INFO] [stderr] | [INFO] [stderr] 568 | for i in 1..m + 1 { [INFO] [stderr] | ^^^^^^^^ help: use: `1..=m` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#range_plus_one [INFO] [stderr] [INFO] [stderr] warning: an inclusive range would be more readable [INFO] [stderr] --> src/alignment/pairwise/mod.rs:648:18 [INFO] [stderr] | [INFO] [stderr] 648 | for i in 0..m + 1 { [INFO] [stderr] | ^^^^^^^^ help: use: `0..=m` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#range_plus_one [INFO] [stderr] [INFO] [stderr] warning: an inclusive range would be more readable [INFO] [stderr] --> src/alignment/pairwise/mod.rs:664:18 [INFO] [stderr] | [INFO] [stderr] 664 | for i in 1..m + 1 { [INFO] [stderr] | ^^^^^^^^ help: use: `1..=m` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#range_plus_one [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/alignment/pairwise/mod.rs:932:17 [INFO] [stderr] | [INFO] [stderr] 932 | fn get_bits(&self, pos: u8) -> u16 { [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/alignment/pairwise/mod.rs:937:23 [INFO] [stderr] | [INFO] [stderr] 937 | pub fn get_i_bits(&self) -> u16 { [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/alignment/pairwise/mod.rs:942:23 [INFO] [stderr] | [INFO] [stderr] 942 | pub fn get_d_bits(&self) -> u16 { [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/alignment/pairwise/mod.rs:947:23 [INFO] [stderr] | [INFO] [stderr] 947 | pub fn get_s_bits(&self) -> u16 { [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/alignment/pairwise/mod.rs:1005:49 [INFO] [stderr] | [INFO] [stderr] 1005 | fn resize(&mut self, m: usize, n: usize, v: &TracebackCell) { [INFO] [stderr] | ^^^^^^^^^^^^^^ help: consider passing by value instead: `TracebackCell` [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: identical conversion [INFO] [stderr] --> src/alignment/sparse.rs:726:13 [INFO] [stderr] | [INFO] [stderr] 726 | / (0..5) [INFO] [stderr] 727 | | .into_iter() [INFO] [stderr] | |____________________________^ help: consider removing `.into_iter()`: `(0..5)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::identity_conversion)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_conversion [INFO] [stderr] [INFO] [stderr] warning: identical conversion [INFO] [stderr] --> src/alignment/sparse.rs:740:13 [INFO] [stderr] | [INFO] [stderr] 740 | / (0..11) [INFO] [stderr] 741 | | .into_iter() [INFO] [stderr] | |____________________________^ help: consider removing `.into_iter()`: `(0..11)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_conversion [INFO] [stderr] [INFO] [stderr] warning: identical conversion [INFO] [stderr] --> src/alignment/sparse.rs:784:13 [INFO] [stderr] | [INFO] [stderr] 784 | / (0..5) [INFO] [stderr] 785 | | .into_iter() [INFO] [stderr] | |____________________________^ help: consider removing `.into_iter()`: `(0..5)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_conversion [INFO] [stderr] [INFO] [stderr] warning: you should consider deriving a `Default` implementation for `data_structures::annot_map::AnnotMap` [INFO] [stderr] --> src/data_structures/annot_map.rs:44:5 [INFO] [stderr] | [INFO] [stderr] 44 | / pub fn new() -> Self { [INFO] [stderr] 45 | | AnnotMap { [INFO] [stderr] 46 | | refid_itrees: HashMap::new(), [INFO] [stderr] 47 | | } [INFO] [stderr] 48 | | } [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] 26 | #[derive(Default)] [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: redundant closure found [INFO] [stderr] --> src/data_structures/annot_map.rs:78:29 [INFO] [stderr] | [INFO] [stderr] 78 | .or_insert_with(|| IntervalTree::new()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: remove closure as shown: `IntervalTree::new` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_closure)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stderr] [INFO] [stderr] warning: redundant closure found [INFO] [stderr] --> src/data_structures/annot_map.rs:147:29 [INFO] [stderr] | [INFO] [stderr] 147 | .or_insert_with(|| IntervalTree::new()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: remove closure as shown: `IntervalTree::new` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/data_structures/bwt.rs:41:30 [INFO] [stderr] | [INFO] [stderr] 41 | pub fn bwt(text: &[u8], pos: &RawSuffixArray) -> BWT { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [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: called `map(f)` on an Option value where `f` is a unit closure [INFO] [stderr] --> src/data_structures/interval_tree.rs:388:9 [INFO] [stderr] | [INFO] [stderr] 388 | node.left.as_ref().map(|n| validate(n)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^- [INFO] [stderr] | | [INFO] [stderr] | help: try this: `if let Some(n) = node.left.as_ref() { validate(n) }` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::option_map_unit_fn)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#option_map_unit_fn [INFO] [stderr] [INFO] [stderr] warning: called `map(f)` on an Option value where `f` is a unit closure [INFO] [stderr] --> src/data_structures/interval_tree.rs:389:9 [INFO] [stderr] | [INFO] [stderr] 389 | node.right.as_ref().map(|n| validate(n)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^- [INFO] [stderr] | | [INFO] [stderr] | help: try this: `if let Some(n) = node.right.as_ref() { validate(n) }` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#option_map_unit_fn [INFO] [stderr] [INFO] [stderr] warning: `if _ { .. } else { .. }` is an expression [INFO] [stderr] --> src/data_structures/interval_tree.rs:400:9 [INFO] [stderr] | [INFO] [stderr] 400 | / let mut reached_maximum: bool = false; [INFO] [stderr] 401 | | if node.interval.end == node.max { [INFO] [stderr] 402 | | reached_maximum = true; [INFO] [stderr] 403 | | } [INFO] [stderr] | |_________^ help: it is more idiomatic to write: `let reached_maximum = if node.interval.end == node.max { true } else { false };` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::useless_let_if_seq)] on by default [INFO] [stderr] = note: you might not need `mut` at all [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_let_if_seq [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/data_structures/interval_tree.rs:606:45 [INFO] [stderr] | [INFO] [stderr] 606 | .map(|e| (e.interval().clone(), e.data().clone())) [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: try dereferencing it: `*e.data()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: length comparison to one [INFO] [stderr] --> src/data_structures/qgram_index.rs:300:17 [INFO] [stderr] | [INFO] [stderr] 300 | assert!(exact_matches.len() >= 1); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!exact_matches.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: casting u32 to u64 may become silently lossy if types change [INFO] [stderr] --> src/data_structures/rank_select.rs:101:21 [INFO] [stderr] | [INFO] [stderr] 101 | rank += (self.bits.get_block(b as usize) & mask).count_ones() as u64; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u64::from((self.bits.get_block(b as usize) & mask).count_ones())` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::cast_lossless)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to u64 may become silently lossy if types change [INFO] [stderr] --> src/data_structures/rank_select.rs:105:25 [INFO] [stderr] | [INFO] [stderr] 105 | rank += b.count_ones() as u64; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: try: `u64::from(b.count_ones())` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to u64 may become silently lossy if types change [INFO] [stderr] --> src/data_structures/rank_select.rs:175:21 [INFO] [stderr] | [INFO] [stderr] 175 | let p = count_all(b) as u64; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try: `u64::from(count_all(b))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to u64 may become silently lossy if types change [INFO] [stderr] --> src/data_structures/rank_select.rs:212:13 [INFO] [stderr] | [INFO] [stderr] 212 | b.count_ones() as u64 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: try: `u64::from(b.count_ones())` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to u64 may become silently lossy if types change [INFO] [stderr] --> src/data_structures/rank_select.rs:214:13 [INFO] [stderr] | [INFO] [stderr] 214 | b.count_zeros() as u64 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: try: `u64::from(b.count_zeros())` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/data_structures/suffix_array.rs:752:25 [INFO] [stderr] | [INFO] [stderr] 752 | fn str_from_pos(sa: &Vec, text: &[u8], index: usize) -> String { [INFO] [stderr] | ^^^^^^^^^^^ help: change this to: `&[usize]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/data_structures/suffix_array.rs:756:24 [INFO] [stderr] | [INFO] [stderr] 756 | .split("$") [INFO] [stderr] | ^^^ help: try using a char instead: `'$'` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::single_char_pattern)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] error: this .into_iter() call is equivalent to .iter() and will not move the array [INFO] [stderr] --> src/data_structures/suffix_array.rs:780:46 [INFO] [stderr] | [INFO] [stderr] 780 | for &(text, test_name) in test_cases.into_iter() { [INFO] [stderr] | ^^^^^^^^^ help: call directly: `iter` [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::into_iter_on_array)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#into_iter_on_array [INFO] [stderr] [INFO] [stderr] warning: methods called `to_*` usually take self by reference; consider choosing a less ambiguous name [INFO] [stderr] --> src/io/bed.rs:98:36 [INFO] [stderr] | [INFO] [stderr] 98 | pub fn to_file>(path: P) -> io::Result { [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: length comparison to one [INFO] [stderr] --> src/io/bed.rs:209:12 [INFO] [stderr] | [INFO] [stderr] 209 | if self.aux.len() < 1 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `self.aux.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/io/bed.rs:218:12 [INFO] [stderr] | [INFO] [stderr] 218 | if self.aux.len() < 1 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `self.aux.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: called `ok().expect()` on a Result value. You can call `expect` directly on the `Result` [INFO] [stderr] --> src/io/bed.rs:404:26 [INFO] [stderr] | [INFO] [stderr] 404 | let record = r.ok().expect("Error reading record"); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::ok_expect)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ok_expect [INFO] [stderr] [INFO] [stderr] warning: useless use of `vec!` [INFO] [stderr] --> src/io/bed.rs:449:13 [INFO] [stderr] | [INFO] [stderr] 449 | &vec![535, 11], [INFO] [stderr] | ^^^^^^^^^^^^^^ help: you can use a slice directly: `&[535, 11]` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::useless_vec)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stderr] [INFO] [stderr] warning: useless use of `vec!` [INFO] [stderr] --> src/io/bed.rs:450:13 [INFO] [stderr] | [INFO] [stderr] 450 | &vec![0, 638], [INFO] [stderr] | ^^^^^^^^^^^^^ help: you can use a slice directly: `&[0, 638]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stderr] [INFO] [stderr] warning: useless use of `vec!` [INFO] [stderr] --> src/io/bed.rs:469:13 [INFO] [stderr] | [INFO] [stderr] 469 | &vec![11, 94, 630], [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: you can use a slice directly: `&[11, 94, 630]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stderr] [INFO] [stderr] warning: useless use of `vec!` [INFO] [stderr] --> src/io/bed.rs:470:13 [INFO] [stderr] | [INFO] [stderr] 470 | &vec![0, 420, 921], [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: you can use a slice directly: `&[0, 420, 921]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stderr] [INFO] [stderr] warning: useless use of `vec!` [INFO] [stderr] --> src/io/bed.rs:489:13 [INFO] [stderr] | [INFO] [stderr] 489 | &vec![808, 52, 109], [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: you can use a slice directly: `&[808, 52, 109]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stderr] [INFO] [stderr] warning: useless use of `vec!` [INFO] [stderr] --> src/io/bed.rs:490:13 [INFO] [stderr] | [INFO] [stderr] 490 | &vec![0, 864, 984], [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: you can use a slice directly: `&[0, 864, 984]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stderr] [INFO] [stderr] warning: methods called `to_*` usually take self by reference; consider choosing a less ambiguous name [INFO] [stderr] --> src/io/fasta.rs:548:36 [INFO] [stderr] | [INFO] [stderr] 548 | pub fn to_file>(path: P) -> io::Result { [INFO] [stderr] | ^^^^ [INFO] [stderr] | [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: this lifetime isn't used in the function definition [INFO] [stderr] --> src/io/fasta.rs:945:48 [INFO] [stderr] | [INFO] [stderr] 945 | fn _test_indexed_reader_extreme_whitespace<'a, F>(read: F) [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::extra_unused_lifetimes)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#extra_unused_lifetimes [INFO] [stderr] [INFO] [stderr] warning: methods called `to_*` usually take self by reference; consider choosing a less ambiguous name [INFO] [stderr] --> src/io/fastq.rs:226:36 [INFO] [stderr] | [INFO] [stderr] 226 | pub fn to_file>(path: P) -> io::Result { [INFO] [stderr] | ^^^^ [INFO] [stderr] | [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: called `ok().expect()` on a Result value. You can call `expect` directly on the `Result` [INFO] [stderr] --> src/io/fastq.rs:311:9 [INFO] [stderr] | [INFO] [stderr] 311 | / writer [INFO] [stderr] 312 | | .write("id", Some("desc"), b"ACCGTAGGCTGA", b"IIIIIIJJJJJJ") [INFO] [stderr] 313 | | .ok() [INFO] [stderr] 314 | | .expect("Expected successful write"); [INFO] [stderr] | |________________________________________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ok_expect [INFO] [stderr] [INFO] [stderr] warning: called `ok().expect()` on a Result value. You can call `expect` directly on the `Result` [INFO] [stderr] --> src/io/fastq.rs:315:9 [INFO] [stderr] | [INFO] [stderr] 315 | writer.flush().ok().expect("Expected successful write"); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ok_expect [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/io/gff.rs:56:18 [INFO] [stderr] | [INFO] [stderr] 56 | fn separator(&self) -> (u8, u8, u8) { [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: methods called `to_*` usually take self by reference; consider choosing a less ambiguous name [INFO] [stderr] --> src/io/gff.rs:180:36 [INFO] [stderr] | [INFO] [stderr] 180 | pub fn to_file>(path: P, fileformat: GffType) -> io::Result { [INFO] [stderr] | ^^^^ [INFO] [stderr] | [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: called `ok().expect()` on a Result value. You can call `expect` directly on the `Result` [INFO] [stderr] --> src/io/gff.rs:537:13 [INFO] [stderr] | [INFO] [stderr] 537 | / writer [INFO] [stderr] 538 | | .write(&r.ok().expect("Error reading record")) [INFO] [stderr] 539 | | .ok() [INFO] [stderr] 540 | | .expect("Error writing record"); [INFO] [stderr] | |_______________________________________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ok_expect [INFO] [stderr] [INFO] [stderr] warning: called `ok().expect()` on a Result value. You can call `expect` directly on the `Result` [INFO] [stderr] --> src/io/gff.rs:538:25 [INFO] [stderr] | [INFO] [stderr] 538 | .write(&r.ok().expect("Error reading record")) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ok_expect [INFO] [stderr] [INFO] [stderr] warning: called `ok().expect()` on a Result value. You can call `expect` directly on the `Result` [INFO] [stderr] --> src/io/gff.rs:550:13 [INFO] [stderr] | [INFO] [stderr] 550 | / writer [INFO] [stderr] 551 | | .write(&r.ok().expect("Error reading record")) [INFO] [stderr] 552 | | .ok() [INFO] [stderr] 553 | | .expect("Error writing record"); [INFO] [stderr] | |_______________________________________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ok_expect [INFO] [stderr] [INFO] [stderr] warning: called `ok().expect()` on a Result value. You can call `expect` directly on the `Result` [INFO] [stderr] --> src/io/gff.rs:551:25 [INFO] [stderr] | [INFO] [stderr] 551 | .write(&r.ok().expect("Error reading record")) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ok_expect [INFO] [stderr] [INFO] [stderr] warning: called `ok().expect()` on a Result value. You can call `expect` directly on the `Result` [INFO] [stderr] --> src/io/gff.rs:563:13 [INFO] [stderr] | [INFO] [stderr] 563 | / writer [INFO] [stderr] 564 | | .write(&r.ok().expect("Error reading record")) [INFO] [stderr] 565 | | .ok() [INFO] [stderr] 566 | | .expect("Error writing record"); [INFO] [stderr] | |_______________________________________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ok_expect [INFO] [stderr] [INFO] [stderr] warning: called `ok().expect()` on a Result value. You can call `expect` directly on the `Result` [INFO] [stderr] --> src/io/gff.rs:564:25 [INFO] [stderr] | [INFO] [stderr] 564 | .write(&r.ok().expect("Error reading record")) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ok_expect [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/pattern_matching/kmp.rs:61:5 [INFO] [stderr] | [INFO] [stderr] 61 | / pub fn find_all<'b, C, T>(&'b self, text: T) -> Matches<'b, C, T::IntoIter> [INFO] [stderr] 62 | | where [INFO] [stderr] 63 | | C: Borrow, [INFO] [stderr] 64 | | T: IntoIterator, [INFO] [stderr] ... | [INFO] [stderr] 70 | | } [INFO] [stderr] 71 | | } [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: this lifetime isn't used in the function definition [INFO] [stderr] --> src/pattern_matching/myers/builder.rs:152:18 [INFO] [stderr] | [INFO] [stderr] 152 | pub fn build<'a, T, C, P>(&self, pattern: P) -> Myers [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#extra_unused_lifetimes [INFO] [stderr] [INFO] [stderr] warning: an inclusive range would be more readable [INFO] [stderr] --> src/pattern_matching/myers/traceback.rs:100:38 [INFO] [stderr] | [INFO] [stderr] 100 | let mut states = self.states[..pos + 1] [INFO] [stderr] | ^^^^^^^^^ help: use: `..=pos` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#range_plus_one [INFO] [stderr] [INFO] [stderr] warning: an inclusive range would be more readable [INFO] [stderr] --> src/pattern_matching/myers/traceback.rs:231:34 [INFO] [stderr] | [INFO] [stderr] 231 | let states = self.states[..pos + 1] [INFO] [stderr] | ^^^^^^^^^ help: use: `..=pos` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#range_plus_one [INFO] [stderr] [INFO] [stderr] warning: an inclusive range would be more readable [INFO] [stderr] --> src/pattern_matching/myers/traceback.rs:238:31 [INFO] [stderr] | [INFO] [stderr] 238 | let mut out: Vec<_> = (0..m + 1).map(|_| vec![]).collect(); [INFO] [stderr] | ^^^^^^^^^^ help: use: `(0..=m)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#range_plus_one [INFO] [stderr] [INFO] [stderr] warning: identical conversion [INFO] [stderr] --> src/pattern_matching/myers/traceback.rs:239:22 [INFO] [stderr] | [INFO] [stderr] 239 | for mut s in states.into_iter().cloned() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider removing `.into_iter()`: `states` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_conversion [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is only used to index `out`. [INFO] [stderr] --> src/pattern_matching/myers/traceback.rs:242:22 [INFO] [stderr] | [INFO] [stderr] 242 | for i in 0..m + 1 { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_range_loop)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stderr] help: consider using an iterator [INFO] [stderr] | [INFO] [stderr] 242 | for in out.iter_mut().take(m + 1) { [INFO] [stderr] | ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: an inclusive range would be more readable [INFO] [stderr] --> src/pattern_matching/myers/traceback.rs:242:22 [INFO] [stderr] | [INFO] [stderr] 242 | for i in 0..m + 1 { [INFO] [stderr] | ^^^^^^^^ help: use: `0..=m` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#range_plus_one [INFO] [stderr] [INFO] [stderr] warning: this lifetime isn't used in the function definition [INFO] [stderr] --> src/pattern_matching/myers/mod.rs:267:16 [INFO] [stderr] | [INFO] [stderr] 267 | pub fn new<'a, C, P>(pattern: P) -> Self [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#extra_unused_lifetimes [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/pattern_matching/myers/mod.rs:364:5 [INFO] [stderr] | [INFO] [stderr] 364 | / pub fn find_all<'a, C, I>( [INFO] [stderr] 365 | | &'a mut self, [INFO] [stderr] 366 | | text: I, [INFO] [stderr] 367 | | max_dist: T::DistType, [INFO] [stderr] ... | [INFO] [stderr] 374 | | FullMatches::new(self, text.into_iter(), max_dist) [INFO] [stderr] 375 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [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/pattern_matching/myers/mod.rs:380:5 [INFO] [stderr] | [INFO] [stderr] 380 | / pub fn find_all_lazy<'a, C, I>( [INFO] [stderr] 381 | | &'a mut self, [INFO] [stderr] 382 | | text: I, [INFO] [stderr] 383 | | max_dist: T::DistType, [INFO] [stderr] ... | [INFO] [stderr] 390 | | LazyMatches::new(self, text.into_iter(), max_dist) [INFO] [stderr] 391 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] error: this .into_iter() call is equivalent to .iter() and will not move the array [INFO] [stderr] --> src/pattern_matching/myers/mod.rs:873:24 [INFO] [stderr] | [INFO] [stderr] 873 | starts_exp.into_iter().zip(end_dist).zip(full_hits) [INFO] [stderr] | ^^^^^^^^^ help: call directly: `iter` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#into_iter_on_array [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/pattern_matching/pssm/dnamotif.rs:32:28 [INFO] [stderr] | [INFO] [stderr] 32 | pub fn from_seqs(seqs: &Vec>, pseudos: Option<&[f32]>) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^ help: change this to: `&[Vec]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/pattern_matching/pssm/dnamotif.rs:210:13 [INFO] [stderr] | [INFO] [stderr] 210 | assert_eq!(*sum, 1.0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::float_cmp)] on by default [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/pattern_matching/pssm/dnamotif.rs:210:13 [INFO] [stderr] | [INFO] [stderr] 210 | assert_eq!(*sum, 1.0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#float_cmp [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/pattern_matching/pssm/dnamotif.rs:223:9 [INFO] [stderr] | [INFO] [stderr] 223 | assert_eq!(pssm.info_content(), 8.0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/pattern_matching/pssm/dnamotif.rs:223:9 [INFO] [stderr] | [INFO] [stderr] 223 | assert_eq!(pssm.info_content(), 8.0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#float_cmp [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/pattern_matching/pssm/protmotif.rs:32:28 [INFO] [stderr] | [INFO] [stderr] 32 | pub fn from_seqs(seqs: &Vec>, pseudos: Option<&[f32]>) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^ help: change this to: `&[Vec]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/pattern_matching/pssm/protmotif.rs:166:9 [INFO] [stderr] | [INFO] [stderr] 166 | assert_eq!(pssm.info_content(), ProtMotif::get_bits() * 4.0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/pattern_matching/pssm/protmotif.rs:166:9 [INFO] [stderr] | [INFO] [stderr] 166 | assert_eq!(pssm.info_content(), ProtMotif::get_bits() * 4.0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#float_cmp [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: trait `Motif` has a `len` method but no (possibly inherited) `is_empty` method [INFO] [stderr] --> src/pattern_matching/pssm/mod.rs:106:1 [INFO] [stderr] | [INFO] [stderr] 106 | / pub trait Motif { [INFO] [stderr] 107 | | /// Lookup table mapping monomer -> index [INFO] [stderr] 108 | | const LK: [u8; 127] = [INVALID_MONO; 127]; [INFO] [stderr] 109 | | /// All monomers, in order corresponding to lookup table [INFO] [stderr] ... | [INFO] [stderr] 327 | | } [INFO] [stderr] 328 | | } [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: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/pattern_matching/pssm/mod.rs:124:15 [INFO] [stderr] | [INFO] [stderr] 124 | seqs: &Vec>, [INFO] [stderr] | ^^^^^^^^^^^^^ help: change this to: `&[Vec]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/pattern_matching/pssm/mod.rs:140:12 [INFO] [stderr] | [INFO] [stderr] 140 | if seqs.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `seqs.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: an inclusive range would be more readable [INFO] [stderr] --> src/pattern_matching/pssm/mod.rs:235:22 [INFO] [stderr] | [INFO] [stderr] 235 | for start in 0..seq.len() - pssm_len + 1 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use: `0..=seq.len() - pssm_len` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#range_plus_one [INFO] [stderr] [INFO] [stderr] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/pattern_matching/pssm/mod.rs:289:12 [INFO] [stderr] | [INFO] [stderr] 289 | if max_score == min_score { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: consider comparing them within some error: `(max_score - min_score).abs() < error` [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/pattern_matching/pssm/mod.rs:289:12 [INFO] [stderr] | [INFO] [stderr] 289 | if max_score == min_score { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#float_cmp [INFO] [stderr] [INFO] [stderr] warning: this lifetime isn't used in the function definition [INFO] [stderr] --> src/pattern_matching/shift_and.rs:33:16 [INFO] [stderr] | [INFO] [stderr] 33 | pub fn new<'a, C, P>(pattern: P) -> Self [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#extra_unused_lifetimes [INFO] [stderr] [INFO] [stderr] warning: an inclusive range would be more readable [INFO] [stderr] --> src/pattern_matching/ukkonen.rs:78:26 [INFO] [stderr] | [INFO] [stderr] 78 | self.D[1].extend(0..m + 1); [INFO] [stderr] | ^^^^^^^^ help: use: `0..=m` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#range_plus_one [INFO] [stderr] [INFO] [stderr] warning: an inclusive range would be more readable [INFO] [stderr] --> src/pattern_matching/ukkonen.rs:124:22 [INFO] [stderr] | [INFO] [stderr] 124 | for j in 1..self.lastk + 1 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: use: `1..=self.lastk` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#range_plus_one [INFO] [stderr] [INFO] [stderr] error: this .into_iter() call is equivalent to .iter() and will not move the array [INFO] [stderr] --> src/seq_analysis/orf.rs:55:23 [INFO] [stderr] | [INFO] [stderr] 55 | x.into_iter() // Vec<&[u8;3]> to [INFO] [stderr] | ^^^^^^^^^ help: call directly: `iter` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#into_iter_on_array [INFO] [stderr] [INFO] [stderr] error: this .into_iter() call is equivalent to .iter() and will not move the array [INFO] [stderr] --> src/seq_analysis/orf.rs:64:23 [INFO] [stderr] | [INFO] [stderr] 64 | x.into_iter().map(|&x| x as u8).collect::>() [INFO] [stderr] | ^^^^^^^^^ help: call directly: `iter` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#into_iter_on_array [INFO] [stderr] [INFO] [stderr] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/stats/combinatorics.rs:44:9 [INFO] [stderr] | [INFO] [stderr] 44 | assert_eq!(combinations(10, 3), 120.0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/stats/combinatorics.rs:44:9 [INFO] [stderr] | [INFO] [stderr] 44 | assert_eq!(combinations(10, 3), 120.0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#float_cmp [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/stats/combinatorics.rs:45:9 [INFO] [stderr] | [INFO] [stderr] 45 | assert_eq!(combinations_with_repl(10, 3), 220.0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/stats/combinatorics.rs:45:9 [INFO] [stderr] | [INFO] [stderr] 45 | assert_eq!(combinations_with_repl(10, 3), 220.0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#float_cmp [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/stats/combinatorics.rs:46:9 [INFO] [stderr] | [INFO] [stderr] 46 | assert_eq!(combinations(200, 10), 22451004309013280.0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/stats/combinatorics.rs:46:9 [INFO] [stderr] | [INFO] [stderr] 46 | assert_eq!(combinations(200, 10), 22451004309013280.0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#float_cmp [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: float has excessive precision [INFO] [stderr] --> src/stats/combinatorics.rs:51:55 [INFO] [stderr] | [INFO] [stderr] 51 | assert!((scaled_combinations(150, 80, 1e-5) - 6.6643938163479384e+38).abs() < 0.0000001); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: consider changing the type or truncating it to: `6.664_393_816_347_938_4e38` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::excessive_precision)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#excessive_precision [INFO] [stderr] [INFO] [stderr] warning: useless use of `vec!` [INFO] [stderr] --> src/stats/hmm.rs:697:46 [INFO] [stderr] | [INFO] [stderr] 697 | let (path, log_prob) = viterbi(&hmm, &vec![2, 2, 1, 0, 1, 3, 2, 0, 0]); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: you can use a slice directly: `&[2, 2, 1, 0, 1, 3, 2, 0, 0]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stderr] [INFO] [stderr] warning: useless use of `vec!` [INFO] [stderr] --> src/stats/hmm.rs:717:38 [INFO] [stderr] | [INFO] [stderr] 717 | let log_prob = forward(&hmm, &vec![2, 2, 1, 0]).1; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: you can use a slice directly: `&[2, 2, 1, 0]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stderr] [INFO] [stderr] warning: useless use of `vec!` [INFO] [stderr] --> src/stats/hmm.rs:732:39 [INFO] [stderr] | [INFO] [stderr] 732 | let log_prob = backward(&hmm, &vec![2, 2, 1, 0]).1; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: you can use a slice directly: `&[2, 2, 1, 0]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is only used to index `seq`. [INFO] [stderr] --> src/stats/hmm.rs:750:26 [INFO] [stderr] | [INFO] [stderr] 750 | for i in 0..len { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stderr] help: consider using an iterator [INFO] [stderr] | [INFO] [stderr] 750 | for in seq.iter_mut().take(len) { [INFO] [stderr] | ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: useless use of `vec!` [INFO] [stderr] --> src/stats/hmm.rs:779:13 [INFO] [stderr] | [INFO] [stderr] 779 | &vec![-0.1, 0.1, -0.2, 0.5, 0.8, 1.1, 1.2, 1.5, 0.5, 0.2], [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: you can use a slice directly: `&[-0.1, 0.1, -0.2, 0.5, 0.8, 1.1, 1.2, 1.5, 0.5, 0.2]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stderr] [INFO] [stderr] warning: useless use of `vec!` [INFO] [stderr] --> src/stats/hmm.rs:802:38 [INFO] [stderr] | [INFO] [stderr] 802 | let log_prob = forward(&hmm, &vec![0.1, 1.5, 1.8, 2.2, 0.5]).1; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: you can use a slice directly: `&[0.1, 1.5, 1.8, 2.2, 0.5]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stderr] [INFO] [stderr] warning: useless use of `vec!` [INFO] [stderr] --> src/stats/hmm.rs:819:39 [INFO] [stderr] | [INFO] [stderr] 819 | let log_prob = backward(&hmm, &vec![0.1, 1.5, 1.8, 2.2, 0.5]).1; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: you can use a slice directly: `&[0.1, 1.5, 1.8, 2.2, 0.5]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/stats/pairhmm.rs:64:9 [INFO] [stderr] | [INFO] [stderr] 64 | / match self { [INFO] [stderr] 65 | | &XYEmission::Match(p) => p, [INFO] [stderr] 66 | | &XYEmission::Mismatch(p) => p, [INFO] [stderr] 67 | | } [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] 64 | match *self { [INFO] [stderr] 65 | XYEmission::Match(p) => p, [INFO] [stderr] 66 | XYEmission::Mismatch(p) => p, [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/stats/pairhmm.rs:71:9 [INFO] [stderr] | [INFO] [stderr] 71 | / match self { [INFO] [stderr] 72 | | &XYEmission::Match(_) => true, [INFO] [stderr] 73 | | &XYEmission::Mismatch(_) => false, [INFO] [stderr] 74 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [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] 71 | match *self { [INFO] [stderr] 72 | XYEmission::Match(_) => true, [INFO] [stderr] 73 | XYEmission::Mismatch(_) => false, [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: casting i32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/stats/probs/cdf.rs:273:29 [INFO] [stderr] | [INFO] [stderr] 273 | NotNan::new(i as f64).unwrap(), [INFO] [stderr] | ^^^^^^^^ help: try: `f64::from(i)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/stats/probs/mod.rs:169:21 [INFO] [stderr] | [INFO] [stderr] 169 | pub fn is_valid(&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/stats/probs/mod.rs:190:36 [INFO] [stderr] | [INFO] [stderr] 190 | pub fn cap_numerical_overshoot(&self, epsilon: f64) -> LogProb { [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/stats/probs/mod.rs:207:29 [INFO] [stderr] | [INFO] [stderr] 207 | pub fn ln_one_minus_exp(&self) -> LogProb { [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] error: approximate value of `f{32, 64}::consts::LOG2_E` found. Consider using it directly [INFO] [stderr] --> src/utils/fastexp.rs:18:24 [INFO] [stderr] | [INFO] [stderr] 18 | const ONEBYLOG2: f64 = 1.442695041; [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::approx_constant)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#approx_constant [INFO] [stderr] [INFO] [stderr] warning: float has excessive precision [INFO] [stderr] --> src/utils/fastexp.rs:79:18 [INFO] [stderr] | [INFO] [stderr] 79 | let x = -159.00000002327861_f64; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: consider changing the type or truncating it to: `159.000_000_023_278_6` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#excessive_precision [INFO] [stderr] [INFO] [stderr] warning: float has excessive precision [INFO] [stderr] --> src/utils/fastexp.rs:80:44 [INFO] [stderr] | [INFO] [stderr] 80 | assert_relative_eq!(x.fastexp(), (-159.00000002327861).exp()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider changing the type or truncating it to: `159.000_000_023_278_6` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#excessive_precision [INFO] [stderr] [INFO] [stderr] warning: this lifetime isn't used in the function definition [INFO] [stderr] --> src/utils/text.rs:20:23 [INFO] [stderr] | [INFO] [stderr] 20 | fn print_sequence<'a, Item: Deref, T: IntoIterator>(sequence: T) { [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#extra_unused_lifetimes [INFO] [stderr] [INFO] [stderr] error: aborting due to 12 previous errors [INFO] [stderr] [INFO] [stderr] error: Could not compile `bio`. [INFO] [stderr] [INFO] [stderr] To learn more, run the command again with --verbose. [INFO] running `"docker" "inspect" "81f9895b950da47f742b7096e18a68061119027d9c1d33c591bd39777f9bebeb"` [INFO] running `"docker" "rm" "-f" "81f9895b950da47f742b7096e18a68061119027d9c1d33c591bd39777f9bebeb"` [INFO] [stdout] 81f9895b950da47f742b7096e18a68061119027d9c1d33c591bd39777f9bebeb