[INFO] crate fpa_lr 0.3.0 is already in cache [INFO] extracting crate fpa_lr 0.3.0 into work/ex/clippy-test-run/sources/stable/reg/fpa_lr/0.3.0 [INFO] extracting crate fpa_lr 0.3.0 into work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/fpa_lr/0.3.0 [INFO] validating manifest of fpa_lr-0.3.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 fpa_lr-0.3.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 fpa_lr-0.3.0 [INFO] finished frobbing fpa_lr-0.3.0 [INFO] frobbed toml for fpa_lr-0.3.0 written to work/ex/clippy-test-run/sources/stable/reg/fpa_lr/0.3.0/Cargo.toml [INFO] started frobbing fpa_lr-0.3.0 [INFO] finished frobbing fpa_lr-0.3.0 [INFO] frobbed toml for fpa_lr-0.3.0 written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/fpa_lr/0.3.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 fpa_lr-0.3.0 against stable for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-0/stable:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable/reg/fpa_lr/0.3.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] 62dfc8d9b659453fe548997da9f8adac6e67029edd33fd85949153ef7040f905 [INFO] running `"docker" "start" "-a" "62dfc8d9b659453fe548997da9f8adac6e67029edd33fd85949153ef7040f905"` [INFO] [stderr] Checking fpa_lr v0.3.0 (/opt/crater/workdir) [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/io/gfa/gfa1.rs:57:13 [INFO] [stderr] | [INFO] [stderr] 57 | keep_internal: keep_internal, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `keep_internal` [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/io/gfa/gfa1.rs:58:13 [INFO] [stderr] | [INFO] [stderr] 58 | keep_containment: keep_containment, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `keep_containment` [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/filter/length.rs:38:13 [INFO] [stderr] | [INFO] [stderr] 38 | length_threshold: length_threshold, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `length_threshold` [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/filter/dovetails.rs:38:13 [INFO] [stderr] | [INFO] [stderr] 38 | internal_threshold: internal_threshold, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `internal_threshold` [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/filter/dovetails.rs:39:13 [INFO] [stderr] | [INFO] [stderr] 39 | reverse: reverse, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `reverse` [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/filter/containment.rs:38:13 [INFO] [stderr] | [INFO] [stderr] 38 | internal_threshold: internal_threshold, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `internal_threshold` [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/filter/containment.rs:39:13 [INFO] [stderr] | [INFO] [stderr] 39 | reverse: reverse, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `reverse` [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: literal with an empty format string [INFO] [stderr] --> src/filter/containment.rs:111:45 [INFO] [stderr] | [INFO] [stderr] 111 | println!("{} {}", nm.run(&*RECORD), true); [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::print_literal)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#print_literal [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/filter/internalmatch.rs:39:13 [INFO] [stderr] | [INFO] [stderr] 39 | internal_threshold: internal_threshold, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `internal_threshold` [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/filter/internalmatch.rs:40:13 [INFO] [stderr] | [INFO] [stderr] 40 | reverse: reverse, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `reverse` [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/filter/samename.rs:36:20 [INFO] [stderr] | [INFO] [stderr] 36 | SameName { reverse: reverse } [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `reverse` [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: literal with an empty format string [INFO] [stderr] --> src/filter/samename.rs:77:45 [INFO] [stderr] | [INFO] [stderr] 77 | println!("{} {}", nm.run(&*RECORD), true); [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#print_literal [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/filter/namematch.rs:42:13 [INFO] [stderr] | [INFO] [stderr] 42 | reverse: reverse, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `reverse` [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/io/gfa/gfa1.rs:57:13 [INFO] [stderr] | [INFO] [stderr] 57 | keep_internal: keep_internal, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `keep_internal` [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/io/gfa/gfa1.rs:58:13 [INFO] [stderr] | [INFO] [stderr] 58 | keep_containment: keep_containment, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `keep_containment` [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/filter/length.rs:38:13 [INFO] [stderr] | [INFO] [stderr] 38 | length_threshold: length_threshold, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `length_threshold` [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/filter/dovetails.rs:38:13 [INFO] [stderr] | [INFO] [stderr] 38 | internal_threshold: internal_threshold, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `internal_threshold` [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/filter/dovetails.rs:39:13 [INFO] [stderr] | [INFO] [stderr] 39 | reverse: reverse, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `reverse` [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/filter/containment.rs:38:13 [INFO] [stderr] | [INFO] [stderr] 38 | internal_threshold: internal_threshold, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `internal_threshold` [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/filter/containment.rs:39:13 [INFO] [stderr] | [INFO] [stderr] 39 | reverse: reverse, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `reverse` [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: literal with an empty format string [INFO] [stderr] --> src/filter/containment.rs:111:45 [INFO] [stderr] | [INFO] [stderr] 111 | println!("{} {}", nm.run(&*RECORD), true); [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::print_literal)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#print_literal [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/filter/internalmatch.rs:39:13 [INFO] [stderr] | [INFO] [stderr] 39 | internal_threshold: internal_threshold, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `internal_threshold` [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/filter/internalmatch.rs:40:13 [INFO] [stderr] | [INFO] [stderr] 40 | reverse: reverse, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `reverse` [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/filter/samename.rs:36:20 [INFO] [stderr] | [INFO] [stderr] 36 | SameName { reverse: reverse } [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `reverse` [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: literal with an empty format string [INFO] [stderr] --> src/filter/samename.rs:77:45 [INFO] [stderr] | [INFO] [stderr] 77 | println!("{} {}", nm.run(&*RECORD), true); [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#print_literal [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/filter/namematch.rs:42:13 [INFO] [stderr] | [INFO] [stderr] 42 | reverse: reverse, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `reverse` [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: unneeded return statement [INFO] [stderr] --> src/io/mhap.rs:69:9 [INFO] [stderr] | [INFO] [stderr] 69 | / return if self.strand_a == self.strand_b { [INFO] [stderr] 70 | | '+' [INFO] [stderr] 71 | | } else { [INFO] [stderr] 72 | | '-' [INFO] [stderr] 73 | | }; [INFO] [stderr] | |__________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_return)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] help: remove `return` as shown [INFO] [stderr] | [INFO] [stderr] 69 | if self.strand_a == self.strand_b { [INFO] [stderr] 70 | '+' [INFO] [stderr] 71 | } else { [INFO] [stderr] 72 | '-' [INFO] [stderr] 73 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: this `else { if .. }` block can be collapsed [INFO] [stderr] --> src/io/gfa/gfa1.rs:120:16 [INFO] [stderr] | [INFO] [stderr] 120 | } else { [INFO] [stderr] | ________________^ [INFO] [stderr] 121 | | if record.begin_a() <= record.len_to_end_b() && [INFO] [stderr] 122 | | record.len_to_end_a() < record.begin_b() [INFO] [stderr] 123 | | { [INFO] [stderr] ... | [INFO] [stderr] 161 | | } [INFO] [stderr] 162 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::collapsible_if)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 120 | } else if record.begin_a() <= record.len_to_end_b() && [INFO] [stderr] 121 | record.len_to_end_a() < record.begin_b() [INFO] [stderr] 122 | { [INFO] [stderr] 123 | // B contain A [INFO] [stderr] 124 | self.containments.insert( [INFO] [stderr] 125 | (record.read_a(), record.length_a()), [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: this `else { if .. }` block can be collapsed [INFO] [stderr] --> src/io/gfa/gfa1.rs:196:16 [INFO] [stderr] | [INFO] [stderr] 196 | } else { [INFO] [stderr] | ________________^ [INFO] [stderr] 197 | | if record.begin_a() > record.len_to_end_a() { [INFO] [stderr] 198 | | if record.begin_a() > record.len_to_end_b() { [INFO] [stderr] 199 | | // A overlap B [INFO] [stderr] ... | [INFO] [stderr] 237 | | } [INFO] [stderr] 238 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 196 | } else if record.begin_a() > record.len_to_end_a() { [INFO] [stderr] 197 | if record.begin_a() > record.len_to_end_b() { [INFO] [stderr] 198 | // A overlap B [INFO] [stderr] 199 | self.add_edge(node_a, node_b, ( [INFO] [stderr] 200 | record.read_a(), [INFO] [stderr] 201 | '+', [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: this `else { if .. }` block can be collapsed [INFO] [stderr] --> src/io/gfa/gfa1.rs:217:20 [INFO] [stderr] | [INFO] [stderr] 217 | } else { [INFO] [stderr] | ____________________^ [INFO] [stderr] 218 | | if (record.length_a() - record.begin_a()) > record.end_b() { [INFO] [stderr] 219 | | // A overlap B [INFO] [stderr] 220 | | self.add_edge(node_a, node_b, ( [INFO] [stderr] ... | [INFO] [stderr] 236 | | } [INFO] [stderr] 237 | | } [INFO] [stderr] | |_____________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 217 | } else if (record.length_a() - record.begin_a()) > record.end_b() { [INFO] [stderr] 218 | // A overlap B [INFO] [stderr] 219 | self.add_edge(node_a, node_b, ( [INFO] [stderr] 220 | record.read_a(), [INFO] [stderr] 221 | '-', [INFO] [stderr] 222 | record.read_b(), [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/io/gfa/gfa1.rs:315:9 [INFO] [stderr] | [INFO] [stderr] 315 | / return if self.node2index.contains_key(&node) { [INFO] [stderr] 316 | | *self.node2index.get(&node).expect("Impossible") [INFO] [stderr] 317 | | } else { [INFO] [stderr] 318 | | let index = self.graph.add_node(node.clone()); [INFO] [stderr] 319 | | self.node2index.insert(node, index); [INFO] [stderr] 320 | | index [INFO] [stderr] 321 | | }; [INFO] [stderr] | |__________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] help: remove `return` as shown [INFO] [stderr] | [INFO] [stderr] 315 | if self.node2index.contains_key(&node) { [INFO] [stderr] 316 | *self.node2index.get(&node).expect("Impossible") [INFO] [stderr] 317 | } else { [INFO] [stderr] 318 | let index = self.graph.add_node(node.clone()); [INFO] [stderr] 319 | self.node2index.insert(node, index); [INFO] [stderr] 320 | index [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/cli.rs:176:5 [INFO] [stderr] | [INFO] [stderr] 176 | return modifiers; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `modifiers` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/cli.rs:187:5 [INFO] [stderr] | [INFO] [stderr] 187 | return filters; [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: remove `return` as shown: `filters` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/file.rs:40:16 [INFO] [stderr] | [INFO] [stderr] 40 | Lzma = 0xFD377A585A, [INFO] [stderr] | ^^^^^^^^^^^^ help: consider: `0x00FD_377A_585A` [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: unneeded return statement [INFO] [stderr] --> src/file.rs:51:5 [INFO] [stderr] | [INFO] [stderr] 51 | return get_readable_file(input_name); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `get_readable_file(input_name)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: operator precedence can trip the unwary [INFO] [stderr] --> src/file.rs:98:25 [INFO] [stderr] | [INFO] [stderr] 98 | five_bit_val |= (buf[i] as u64) << 8 * (4 - i); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider parenthesizing your expression: `(buf[i] as u64) << (8 * (4 - i))` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::precedence)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#precedence [INFO] [stderr] [INFO] [stderr] warning: operator precedence can trip the unwary [INFO] [stderr] --> src/file.rs:107:24 [INFO] [stderr] | [INFO] [stderr] 107 | two_bit_val |= (buf[i] as u64) << 8 * (1 - i); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider parenthesizing your expression: `(buf[i] as u64) << (8 * (1 - i))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#precedence [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/filter/length.rs:46:9 [INFO] [stderr] | [INFO] [stderr] 46 | return r.length().cmp(&self.length_threshold) == self.ordering; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `r.length().cmp(&self.length_threshold) == self.ordering` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/filter/dovetails.rs:48:9 [INFO] [stderr] | [INFO] [stderr] 48 | return if self.reverse { !test } else { test }; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `if self.reverse { !test } else { test }` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/filter/containment.rs:78:9 [INFO] [stderr] | [INFO] [stderr] 78 | return if self.reverse { !test } else { test }; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `if self.reverse { !test } else { test }` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/filter/internalmatch.rs:57:9 [INFO] [stderr] | [INFO] [stderr] 57 | return if self.reverse { !test } else { test }; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `if self.reverse { !test } else { test }` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/filter/samename.rs:44:9 [INFO] [stderr] | [INFO] [stderr] 44 | return if self.reverse { !test } else { test }; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `if self.reverse { !test } else { test }` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/filter/namematch.rs:51:9 [INFO] [stderr] | [INFO] [stderr] 51 | return if self.reverse { !test } else { test }; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `if self.reverse { !test } else { test }` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/modifier/renaming.rs:46:13 [INFO] [stderr] | [INFO] [stderr] 46 | / return Renaming { [INFO] [stderr] 47 | | file_rename_path: file_rename_path.to_string(), [INFO] [stderr] 48 | | rename_table: HashMap::new(), [INFO] [stderr] 49 | | index: 1, [INFO] [stderr] 50 | | index_mode: true, [INFO] [stderr] 51 | | }; [INFO] [stderr] | |______________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] help: remove `return` as shown [INFO] [stderr] | [INFO] [stderr] 46 | Renaming { [INFO] [stderr] 47 | file_rename_path: file_rename_path.to_string(), [INFO] [stderr] 48 | rename_table: HashMap::new(), [INFO] [stderr] 49 | index: 1, [INFO] [stderr] 50 | index_mode: true, [INFO] [stderr] 51 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/modifier/renaming.rs:65:13 [INFO] [stderr] | [INFO] [stderr] 65 | / return Renaming { [INFO] [stderr] 66 | | file_rename_path: file_rename_path.to_string(), [INFO] [stderr] 67 | | rename_table: table, [INFO] [stderr] 68 | | index: 0, [INFO] [stderr] 69 | | index_mode: false, [INFO] [stderr] 70 | | }; [INFO] [stderr] | |______________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] help: remove `return` as shown [INFO] [stderr] | [INFO] [stderr] 65 | Renaming { [INFO] [stderr] 66 | file_rename_path: file_rename_path.to_string(), [INFO] [stderr] 67 | rename_table: table, [INFO] [stderr] 68 | index: 0, [INFO] [stderr] 69 | index_mode: false, [INFO] [stderr] 70 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/io/paf.rs:229:22 [INFO] [stderr] | [INFO] [stderr] 229 | const PAF_FILE: &'static [u8] = b"1\t12000\t20\t4500\t-\t2\t10000\t5500\t10000\t4500\t4500\t255 [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/io/paf.rs:233:32 [INFO] [stderr] | [INFO] [stderr] 233 | const PAF_SAM_FIELD_FILE: &'static [u8] = b"1\t12000\t20\t4500\t-\t2\t10000\t5500\t10000\t4500\t4500\t255\tam:I:5 [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/paf.rs:237:20 [INFO] [stderr] | [INFO] [stderr] 237 | const READ_A: &'static [&str; 2] = &["1", "1"]; [INFO] [stderr] | -^^^^^^^---------- help: consider removing `'static`: `&[&str; 2]` [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/paf.rs:238:22 [INFO] [stderr] | [INFO] [stderr] 238 | const LENGTH_A: &'static [u64; 2] = &[12000, 12000]; [INFO] [stderr] | -^^^^^^^--------- help: consider removing `'static`: `&[u64; 2]` [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/paf.rs:239:21 [INFO] [stderr] | [INFO] [stderr] 239 | const BEGIN_A: &'static [u64; 2] = &[20, 5500]; [INFO] [stderr] | -^^^^^^^--------- help: consider removing `'static`: `&[u64; 2]` [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/paf.rs:240:19 [INFO] [stderr] | [INFO] [stderr] 240 | const END_A: &'static [u64; 2] = &[4500, 10000]; [INFO] [stderr] | -^^^^^^^--------- help: consider removing `'static`: `&[u64; 2]` [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/paf.rs:241:20 [INFO] [stderr] | [INFO] [stderr] 241 | const STRAND: &'static [char; 2] = &['-', '-']; [INFO] [stderr] | -^^^^^^^---------- help: consider removing `'static`: `&[char; 2]` [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/paf.rs:242:20 [INFO] [stderr] | [INFO] [stderr] 242 | const READ_B: &'static [&str; 2] = &["2", "3"]; [INFO] [stderr] | -^^^^^^^---------- help: consider removing `'static`: `&[&str; 2]` [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/paf.rs:243:22 [INFO] [stderr] | [INFO] [stderr] 243 | const LENGTH_B: &'static [u64; 2] = &[10000, 10000]; [INFO] [stderr] | -^^^^^^^--------- help: consider removing `'static`: `&[u64; 2]` [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/paf.rs:244:21 [INFO] [stderr] | [INFO] [stderr] 244 | const BEGIN_B: &'static [u64; 2] = &[5500, 0]; [INFO] [stderr] | -^^^^^^^--------- help: consider removing `'static`: `&[u64; 2]` [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/paf.rs:245:19 [INFO] [stderr] | [INFO] [stderr] 245 | const END_B: &'static [u64; 2] = &[10000, 4500]; [INFO] [stderr] | -^^^^^^^--------- help: consider removing `'static`: `&[u64; 2]` [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/paf.rs:246:27 [INFO] [stderr] | [INFO] [stderr] 246 | const NB_MATCH_BASE: &'static [u64; 2] = &[4500, 4500]; [INFO] [stderr] | -^^^^^^^--------- help: consider removing `'static`: `&[u64; 2]` [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/paf.rs:247:21 [INFO] [stderr] | [INFO] [stderr] 247 | const NB_BASE: &'static [u64; 2] = &[4500, 4500]; [INFO] [stderr] | -^^^^^^^--------- help: consider removing `'static`: `&[u64; 2]` [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/paf.rs:248:29 [INFO] [stderr] | [INFO] [stderr] 248 | const MAPPING_QUALITY: &'static [u64; 2] = &[255, 255]; [INFO] [stderr] | -^^^^^^^--------- help: consider removing `'static`: `&[u64; 2]` [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: unneeded return statement [INFO] [stderr] --> src/io/mhap.rs:69:9 [INFO] [stderr] | [INFO] [stderr] 69 | / return if self.strand_a == self.strand_b { [INFO] [stderr] 70 | | '+' [INFO] [stderr] 71 | | } else { [INFO] [stderr] 72 | | '-' [INFO] [stderr] 73 | | }; [INFO] [stderr] | |__________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_return)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] help: remove `return` as shown [INFO] [stderr] | [INFO] [stderr] 69 | if self.strand_a == self.strand_b { [INFO] [stderr] 70 | '+' [INFO] [stderr] 71 | } else { [INFO] [stderr] 72 | '-' [INFO] [stderr] 73 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/io/mhap.rs:223:23 [INFO] [stderr] | [INFO] [stderr] 223 | const MHAP_FILE: &'static [u8] = b"1 2 0.1 2 0 100 450 1000 0 550 900 1000 [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/mhap.rs:227:20 [INFO] [stderr] | [INFO] [stderr] 227 | const READ_A: &'static [&str; 2] = &["1", "1"]; [INFO] [stderr] | -^^^^^^^---------- help: consider removing `'static`: `&[&str; 2]` [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/mhap.rs:228:20 [INFO] [stderr] | [INFO] [stderr] 228 | const READ_B: &'static [&str; 2] = &["2", "3"]; [INFO] [stderr] | -^^^^^^^---------- help: consider removing `'static`: `&[&str; 2]` [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/mhap.rs:229:19 [INFO] [stderr] | [INFO] [stderr] 229 | const ERROR: &'static [f64; 2] = &[0.1, 0.1]; [INFO] [stderr] | -^^^^^^^--------- help: consider removing `'static`: `&[f64; 2]` [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/mhap.rs:230:29 [INFO] [stderr] | [INFO] [stderr] 230 | const SHARED_MIN_MERS: &'static [u64; 2] = &[2, 2]; [INFO] [stderr] | -^^^^^^^--------- help: consider removing `'static`: `&[u64; 2]` [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/mhap.rs:231:22 [INFO] [stderr] | [INFO] [stderr] 231 | const STRAND_A: &'static [char; 2] = &['0', '0']; [INFO] [stderr] | -^^^^^^^---------- help: consider removing `'static`: `&[char; 2]` [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/mhap.rs:232:22 [INFO] [stderr] | [INFO] [stderr] 232 | const STRAND_B: &'static [char; 2] = &['0', '0']; [INFO] [stderr] | -^^^^^^^---------- help: consider removing `'static`: `&[char; 2]` [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/mhap.rs:233:21 [INFO] [stderr] | [INFO] [stderr] 233 | const BEGIN_A: &'static [u64; 2] = &[100, 550]; [INFO] [stderr] | -^^^^^^^--------- help: consider removing `'static`: `&[u64; 2]` [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/mhap.rs:234:19 [INFO] [stderr] | [INFO] [stderr] 234 | const END_A: &'static [u64; 2] = &[450, 900]; [INFO] [stderr] | -^^^^^^^--------- help: consider removing `'static`: `&[u64; 2]` [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/mhap.rs:235:22 [INFO] [stderr] | [INFO] [stderr] 235 | const LENGTH_A: &'static [u64; 2] = &[1000, 1000]; [INFO] [stderr] | -^^^^^^^--------- help: consider removing `'static`: `&[u64; 2]` [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/mhap.rs:236:21 [INFO] [stderr] | [INFO] [stderr] 236 | const BEGIN_B: &'static [u64; 2] = &[550, 100]; [INFO] [stderr] | -^^^^^^^--------- help: consider removing `'static`: `&[u64; 2]` [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/mhap.rs:237:19 [INFO] [stderr] | [INFO] [stderr] 237 | const END_B: &'static [u64; 2] = &[900, 450]; [INFO] [stderr] | -^^^^^^^--------- help: consider removing `'static`: `&[u64; 2]` [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/mhap.rs:238:22 [INFO] [stderr] | [INFO] [stderr] 238 | const LENGTH_B: &'static [u64; 2] = &[1000, 1000]; [INFO] [stderr] | -^^^^^^^--------- help: consider removing `'static`: `&[u64; 2]` [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: this `else { if .. }` block can be collapsed [INFO] [stderr] --> src/io/gfa/gfa1.rs:120:16 [INFO] [stderr] | [INFO] [stderr] 120 | } else { [INFO] [stderr] | ________________^ [INFO] [stderr] 121 | | if record.begin_a() <= record.len_to_end_b() && [INFO] [stderr] 122 | | record.len_to_end_a() < record.begin_b() [INFO] [stderr] 123 | | { [INFO] [stderr] ... | [INFO] [stderr] 161 | | } [INFO] [stderr] 162 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::collapsible_if)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 120 | } else if record.begin_a() <= record.len_to_end_b() && [INFO] [stderr] 121 | record.len_to_end_a() < record.begin_b() [INFO] [stderr] 122 | { [INFO] [stderr] 123 | // B contain A [INFO] [stderr] 124 | self.containments.insert( [INFO] [stderr] 125 | (record.read_a(), record.length_a()), [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: this `else { if .. }` block can be collapsed [INFO] [stderr] --> src/io/gfa/gfa1.rs:196:16 [INFO] [stderr] | [INFO] [stderr] 196 | } else { [INFO] [stderr] | ________________^ [INFO] [stderr] 197 | | if record.begin_a() > record.len_to_end_a() { [INFO] [stderr] 198 | | if record.begin_a() > record.len_to_end_b() { [INFO] [stderr] 199 | | // A overlap B [INFO] [stderr] ... | [INFO] [stderr] 237 | | } [INFO] [stderr] 238 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 196 | } else if record.begin_a() > record.len_to_end_a() { [INFO] [stderr] 197 | if record.begin_a() > record.len_to_end_b() { [INFO] [stderr] 198 | // A overlap B [INFO] [stderr] 199 | self.add_edge(node_a, node_b, ( [INFO] [stderr] 200 | record.read_a(), [INFO] [stderr] 201 | '+', [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: this `else { if .. }` block can be collapsed [INFO] [stderr] --> src/io/gfa/gfa1.rs:217:20 [INFO] [stderr] | [INFO] [stderr] 217 | } else { [INFO] [stderr] | ____________________^ [INFO] [stderr] 218 | | if (record.length_a() - record.begin_a()) > record.end_b() { [INFO] [stderr] 219 | | // A overlap B [INFO] [stderr] 220 | | self.add_edge(node_a, node_b, ( [INFO] [stderr] ... | [INFO] [stderr] 236 | | } [INFO] [stderr] 237 | | } [INFO] [stderr] | |_____________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 217 | } else if (record.length_a() - record.begin_a()) > record.end_b() { [INFO] [stderr] 218 | // A overlap B [INFO] [stderr] 219 | self.add_edge(node_a, node_b, ( [INFO] [stderr] 220 | record.read_a(), [INFO] [stderr] 221 | '-', [INFO] [stderr] 222 | record.read_b(), [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/io/gfa/gfa1.rs:315:9 [INFO] [stderr] | [INFO] [stderr] 315 | / return if self.node2index.contains_key(&node) { [INFO] [stderr] 316 | | *self.node2index.get(&node).expect("Impossible") [INFO] [stderr] 317 | | } else { [INFO] [stderr] 318 | | let index = self.graph.add_node(node.clone()); [INFO] [stderr] 319 | | self.node2index.insert(node, index); [INFO] [stderr] 320 | | index [INFO] [stderr] 321 | | }; [INFO] [stderr] | |__________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] help: remove `return` as shown [INFO] [stderr] | [INFO] [stderr] 315 | if self.node2index.contains_key(&node) { [INFO] [stderr] 316 | *self.node2index.get(&node).expect("Impossible") [INFO] [stderr] 317 | } else { [INFO] [stderr] 318 | let index = self.graph.add_node(node.clone()); [INFO] [stderr] 319 | self.node2index.insert(node, index); [INFO] [stderr] 320 | index [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/cli.rs:176:5 [INFO] [stderr] | [INFO] [stderr] 176 | return modifiers; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `modifiers` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/cli.rs:187:5 [INFO] [stderr] | [INFO] [stderr] 187 | return filters; [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: remove `return` as shown: `filters` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/file.rs:40:16 [INFO] [stderr] | [INFO] [stderr] 40 | Lzma = 0xFD377A585A, [INFO] [stderr] | ^^^^^^^^^^^^ help: consider: `0x00FD_377A_585A` [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: unneeded return statement [INFO] [stderr] --> src/file.rs:51:5 [INFO] [stderr] | [INFO] [stderr] 51 | return get_readable_file(input_name); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `get_readable_file(input_name)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: operator precedence can trip the unwary [INFO] [stderr] --> src/file.rs:98:25 [INFO] [stderr] | [INFO] [stderr] 98 | five_bit_val |= (buf[i] as u64) << 8 * (4 - i); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider parenthesizing your expression: `(buf[i] as u64) << (8 * (4 - i))` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::precedence)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#precedence [INFO] [stderr] [INFO] [stderr] warning: operator precedence can trip the unwary [INFO] [stderr] --> src/file.rs:107:24 [INFO] [stderr] | [INFO] [stderr] 107 | two_bit_val |= (buf[i] as u64) << 8 * (1 - i); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider parenthesizing your expression: `(buf[i] as u64) << (8 * (1 - i))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#precedence [INFO] [stderr] [INFO] [stderr] warning: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/file.rs:166:23 [INFO] [stderr] | [INFO] [stderr] 166 | const GZIP_FILE: &'static [u8] = &[0o037, 0o213, 0o0, 0o0, 0o0]; [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/file.rs:167:23 [INFO] [stderr] | [INFO] [stderr] 167 | const BZIP_FILE: &'static [u8] = &[0o102, 0o132, 0o0, 0o0, 0o0]; [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/file.rs:168:23 [INFO] [stderr] | [INFO] [stderr] 168 | const LZMA_FILE: &'static [u8] = &[0o375, 0o067, 0o172, 0o130, 0o132]; [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/work/gfa.rs:177:21 [INFO] [stderr] | [INFO] [stderr] 177 | const PAF: &'static [u8] = b"1\t10000\t1999\t10000\t-\t2\t10000\t1999\t10000\t8001\t8001\t255 [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/work/gfa.rs:183:21 [INFO] [stderr] | [INFO] [stderr] 183 | const GFA: &'static [u8] = b"H VN:Z:1.0 [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/work/gfa.rs:200:21 [INFO] [stderr] | [INFO] [stderr] 200 | const PAF: &'static [u8] = b"1\t10000\t2000\t10000\t-\t2\t10000\t1999\t10000\t8001\t8001\t255 [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/work/gfa.rs:211:21 [INFO] [stderr] | [INFO] [stderr] 211 | const GFA: &'static [u8] = b"H\tVN:Z:1.0 [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/work/gfa.rs:240:21 [INFO] [stderr] | [INFO] [stderr] 240 | const PAF: &'static [u8] = b"1\t2000\t500\t1500\t+\t2\t1000\t0\t1000\t30\t1000\t255"; [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/work/gfa.rs:241:21 [INFO] [stderr] | [INFO] [stderr] 241 | const GFA: &'static [u8] = b"H\tVN:Z:1.0 [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/work/gfa.rs:255:21 [INFO] [stderr] | [INFO] [stderr] 255 | const PAF: &'static [u8] = b"1\t2000\t500\t1500\t-\t2\t1000\t0\t1000\t30\t1000\t255"; [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/work/gfa.rs:256:21 [INFO] [stderr] | [INFO] [stderr] 256 | const GFA: &'static [u8] = b"H\tVN:Z:1.0 [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/work/gfa.rs:270:21 [INFO] [stderr] | [INFO] [stderr] 270 | const PAF: &'static [u8] = b"2\t1000\t0\t1000\t+\t1\t2000\t500\t1500\t30\t1000\t255"; [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/work/gfa.rs:271:21 [INFO] [stderr] | [INFO] [stderr] 271 | const GFA: &'static [u8] = b"H\tVN:Z:1.0 [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/work/gfa.rs:285:21 [INFO] [stderr] | [INFO] [stderr] 285 | const PAF: &'static [u8] = b"2\t1000\t0\t1000\t-\t1\t2000\t500\t1500\t30\t1000\t255"; [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/work/gfa.rs:286:21 [INFO] [stderr] | [INFO] [stderr] 286 | const GFA: &'static [u8] = b"H\tVN:Z:1.0 [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/work/gfa.rs:300:21 [INFO] [stderr] | [INFO] [stderr] 300 | const PAF: &'static [u8] = b"1\t2000\t500\t1500\t+\t2\t1000\t0\t1000\t30\t1000\t255"; [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/work/gfa.rs:301:21 [INFO] [stderr] | [INFO] [stderr] 301 | const GFA: &'static [u8] = b"H\tVN:Z:1.0\n"; [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/work/gfa.rs:311:21 [INFO] [stderr] | [INFO] [stderr] 311 | const PAF: &'static [u8] = b"1\t2000\t500\t1500\t-\t2\t1000\t0\t1000\t30\t1000\t255"; [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/work/gfa.rs:312:21 [INFO] [stderr] | [INFO] [stderr] 312 | const GFA: &'static [u8] = b"H\tVN:Z:1.0\n"; [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/work/gfa.rs:322:21 [INFO] [stderr] | [INFO] [stderr] 322 | const PAF: &'static [u8] = b"2\t1000\t0\t1000\t+\t1\t2000\t500\t1500\t30\t1000\t255"; [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/work/gfa.rs:323:21 [INFO] [stderr] | [INFO] [stderr] 323 | const GFA: &'static [u8] = b"H\tVN:Z:1.0\n"; [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/work/gfa.rs:333:21 [INFO] [stderr] | [INFO] [stderr] 333 | const PAF: &'static [u8] = b"2\t1000\t0\t1000\t-\t1\t2000\t500\t1500\t30\t1000\t255"; [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/work/gfa.rs:334:21 [INFO] [stderr] | [INFO] [stderr] 334 | const GFA: &'static [u8] = b"H\tVN:Z:1.0\n"; [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/work/gfa.rs:341:21 [INFO] [stderr] | [INFO] [stderr] 341 | const PAF: &'static [u8] = b"A\t1000\t0\t1000\t+\tB\t1000\t1\t999\t0\t1000\t255 [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/work/gfa.rs:343:21 [INFO] [stderr] | [INFO] [stderr] 343 | const GFA: &'static [u8] = b"H\tVN:Z:1.0 [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/work/gfa.rs:355:21 [INFO] [stderr] | [INFO] [stderr] 355 | const PAF: &'static [u8] = b"A\t1000\t200\t1000\t+\tB\t1000\t0\t800\t800\t800\t255 [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/work/gfa.rs:360:21 [INFO] [stderr] | [INFO] [stderr] 360 | const GFA: &'static [u8] = b"H\tVN:Z:1.0 [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: unneeded return statement [INFO] [stderr] --> src/filter/length.rs:46:9 [INFO] [stderr] | [INFO] [stderr] 46 | return r.length().cmp(&self.length_threshold) == self.ordering; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `r.length().cmp(&self.length_threshold) == self.ordering` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/filter/dovetails.rs:48:9 [INFO] [stderr] | [INFO] [stderr] 48 | return if self.reverse { !test } else { test }; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `if self.reverse { !test } else { test }` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/filter/containment.rs:78:9 [INFO] [stderr] | [INFO] [stderr] 78 | return if self.reverse { !test } else { test }; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `if self.reverse { !test } else { test }` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/filter/internalmatch.rs:57:9 [INFO] [stderr] | [INFO] [stderr] 57 | return if self.reverse { !test } else { test }; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `if self.reverse { !test } else { test }` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/filter/samename.rs:44:9 [INFO] [stderr] | [INFO] [stderr] 44 | return if self.reverse { !test } else { test }; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `if self.reverse { !test } else { test }` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/filter/namematch.rs:51:9 [INFO] [stderr] | [INFO] [stderr] 51 | return if self.reverse { !test } else { test }; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `if self.reverse { !test } else { test }` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/modifier/renaming.rs:46:13 [INFO] [stderr] | [INFO] [stderr] 46 | / return Renaming { [INFO] [stderr] 47 | | file_rename_path: file_rename_path.to_string(), [INFO] [stderr] 48 | | rename_table: HashMap::new(), [INFO] [stderr] 49 | | index: 1, [INFO] [stderr] 50 | | index_mode: true, [INFO] [stderr] 51 | | }; [INFO] [stderr] | |______________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] help: remove `return` as shown [INFO] [stderr] | [INFO] [stderr] 46 | Renaming { [INFO] [stderr] 47 | file_rename_path: file_rename_path.to_string(), [INFO] [stderr] 48 | rename_table: HashMap::new(), [INFO] [stderr] 49 | index: 1, [INFO] [stderr] 50 | index_mode: true, [INFO] [stderr] 51 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/modifier/renaming.rs:65:13 [INFO] [stderr] | [INFO] [stderr] 65 | / return Renaming { [INFO] [stderr] 66 | | file_rename_path: file_rename_path.to_string(), [INFO] [stderr] 67 | | rename_table: table, [INFO] [stderr] 68 | | index: 0, [INFO] [stderr] 69 | | index_mode: false, [INFO] [stderr] 70 | | }; [INFO] [stderr] | |______________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] help: remove `return` as shown [INFO] [stderr] | [INFO] [stderr] 65 | Renaming { [INFO] [stderr] 66 | file_rename_path: file_rename_path.to_string(), [INFO] [stderr] 67 | rename_table: table, [INFO] [stderr] 68 | index: 0, [INFO] [stderr] 69 | index_mode: false, [INFO] [stderr] 70 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: `if _ { .. } else { .. }` is an expression [INFO] [stderr] --> src/io/paf.rs:133:17 [INFO] [stderr] | [INFO] [stderr] 133 | / let mut sam_field = Vec::new(); [INFO] [stderr] 134 | | if mapping_quality_and_sam.len() > 1 { [INFO] [stderr] 135 | | sam_field = mapping_quality_and_sam[1..].to_vec(); [INFO] [stderr] 136 | | } [INFO] [stderr] | |_________________^ help: it is more idiomatic to write: `let sam_field = if mapping_quality_and_sam.len() > 1 { mapping_quality_and_sam[1..].to_vec() } else { Vec::new() };` [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: methods called `to_*` usually take self by reference; consider choosing a less ambiguous name [INFO] [stderr] --> src/io/paf.rs:187:36 [INFO] [stderr] | [INFO] [stderr] 187 | pub fn to_file>(path: P) -> std::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: redundant closure found [INFO] [stderr] --> src/io/paf.rs:188:36 [INFO] [stderr] | [INFO] [stderr] 188 | fs::File::create(path).map(|f| Writer::new(f)) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: remove closure as shown: `Writer::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: methods called `to_*` usually take self by reference; consider choosing a less ambiguous name [INFO] [stderr] --> src/io/mhap.rs:182:36 [INFO] [stderr] | [INFO] [stderr] 182 | pub fn to_file>(path: P) -> std::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: redundant closure found [INFO] [stderr] --> src/io/mhap.rs:183:36 [INFO] [stderr] | [INFO] [stderr] 183 | fs::File::create(path).map(|f| Writer::new(f)) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: remove closure as shown: `Writer::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: local variable doesn't need to be boxed here [INFO] [stderr] --> src/io/gfa/gfa1.rs:77:76 [INFO] [stderr] | [INFO] [stderr] 77 | fn add_containment(self: &mut Self, record: Box) { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::boxed_local)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#boxed_local [INFO] [stderr] [INFO] [stderr] warning: local variable doesn't need to be boxed here [INFO] [stderr] --> src/io/gfa/gfa1.rs:171:74 [INFO] [stderr] | [INFO] [stderr] 171 | fn add_dovetails(self: &mut Self, record: Box) { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#boxed_local [INFO] [stderr] [INFO] [stderr] warning: usage of `contains_key` followed by `insert` on a `HashMap` [INFO] [stderr] --> src/io/gfa/gfa1.rs:315:16 [INFO] [stderr] | [INFO] [stderr] 315 | return if self.node2index.contains_key(&node) { [INFO] [stderr] | ________________^ [INFO] [stderr] 316 | | *self.node2index.get(&node).expect("Impossible") [INFO] [stderr] 317 | | } else { [INFO] [stderr] 318 | | let index = self.graph.add_node(node.clone()); [INFO] [stderr] 319 | | self.node2index.insert(node, index); [INFO] [stderr] 320 | | index [INFO] [stderr] 321 | | }; [INFO] [stderr] | |_________^ help: consider using: `self.node2index.entry(node)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::map_entry)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_entry [INFO] [stderr] [INFO] [stderr] warning: this lifetime isn't used in the function definition [INFO] [stderr] --> src/cli.rs:168:27 [INFO] [stderr] | [INFO] [stderr] 168 | pub fn generate_modifiers<'a>(matches: &ArgMatches) -> Vec>> { [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: use of `expect` followed by a function call [INFO] [stderr] --> src/file.rs:81:61 [INFO] [stderr] | [INFO] [stderr] 81 | _ => Box::new(BufReader::new(File::open(input_name).expect(&format!( [INFO] [stderr] | _____________________________________________________________^ [INFO] [stderr] 82 | | "Can't open input file {}", [INFO] [stderr] 83 | | input_name [INFO] [stderr] 84 | | )))), [INFO] [stderr] | |__________^ help: try this: `unwrap_or_else(|_| panic!("Can't open input file {}", input_name))` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::expect_fun_call)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#expect_fun_call [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is used to index `buf` [INFO] [stderr] --> src/file.rs:97:14 [INFO] [stderr] | [INFO] [stderr] 97 | for i in 0..5 { [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] 97 | for (i, ) in buf.iter().enumerate().take(5) { [INFO] [stderr] | ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u64 may become silently lossy if types change [INFO] [stderr] --> src/file.rs:98:25 [INFO] [stderr] | [INFO] [stderr] 98 | five_bit_val |= (buf[i] as u64) << 8 * (4 - i); [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `u64::from(buf[i])` [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: the loop variable `i` is used to index `buf` [INFO] [stderr] --> src/file.rs:106:14 [INFO] [stderr] | [INFO] [stderr] 106 | for i in 0..2 { [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] 106 | for (i, ) in buf.iter().enumerate().take(2) { [INFO] [stderr] | ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u64 may become silently lossy if types change [INFO] [stderr] --> src/file.rs:107:24 [INFO] [stderr] | [INFO] [stderr] 107 | two_bit_val |= (buf[i] as u64) << 8 * (1 - i); [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `u64::from(buf[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: use of `expect` followed by a function call [INFO] [stderr] --> src/file.rs:154:64 [INFO] [stderr] | [INFO] [stderr] 154 | _ => Box::new(BufWriter::new(File::create(output_name).expect(&format!( [INFO] [stderr] | ________________________________________________________________^ [INFO] [stderr] 155 | | "Can't open output file {}", [INFO] [stderr] 156 | | output_name [INFO] [stderr] 157 | | )))), [INFO] [stderr] | |__________^ help: try this: `unwrap_or_else(|_| panic!("Can't open output file {}", output_name))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#expect_fun_call [INFO] [stderr] [INFO] [stderr] warning: this lifetime isn't used in the function definition [INFO] [stderr] --> src/work/gfa.rs:64:8 [INFO] [stderr] | [INFO] [stderr] 64 | fn paf<'a, R: std::io::Read, W: std::io::Write>( [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: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/work/basic.rs:37:14 [INFO] [stderr] | [INFO] [stderr] 37 | filters: &Vec>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `&[Box]` [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: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/work/basic.rs:75:14 [INFO] [stderr] | [INFO] [stderr] 75 | filters: &Vec>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `&[Box]` [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/work/basic.rs:99:14 [INFO] [stderr] | [INFO] [stderr] 99 | filters: &Vec>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `&[Box]` [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: this lifetime isn't used in the function definition [INFO] [stderr] --> src/work/basic.rs:96:9 [INFO] [stderr] | [INFO] [stderr] 96 | fn mhap<'a, R: std::io::Read, W: std::io::Write>( [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: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/work/mod.rs:55:14 [INFO] [stderr] | [INFO] [stderr] 55 | filters: &Vec>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `&[Box]` [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: you seem to be trying to match on a boolean expression [INFO] [stderr] --> src/filter/containment.rs:48:9 [INFO] [stderr] | [INFO] [stderr] 48 | / match filter::InternalMatch::new(self.internal_threshold, false).run(r) { [INFO] [stderr] 49 | | true => return if self.reverse { false } else { true }, [INFO] [stderr] 50 | | false => (), [INFO] [stderr] 51 | | }; [INFO] [stderr] | |_________^ help: consider using an if/else expression: `if filter::InternalMatch::new(self.internal_threshold, false).run(r) { return if self.reverse { false } else { true } }` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::match_bool)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_bool [INFO] [stderr] [INFO] [stderr] warning: this if-then-else expression returns a bool literal [INFO] [stderr] --> src/filter/containment.rs:49:28 [INFO] [stderr] | [INFO] [stderr] 49 | true => return if self.reverse { false } else { true }, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: you can reduce it to: `!self.reverse` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_bool)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_bool [INFO] [stderr] [INFO] [stderr] error: this `if` has identical blocks [INFO] [stderr] --> src/filter/containment.rs:61:9 [INFO] [stderr] | [INFO] [stderr] 61 | / { [INFO] [stderr] 62 | | // B containe A [INFO] [stderr] 63 | | test = true; [INFO] [stderr] 64 | | } else if r.strand() == '+' && r.begin_a() >= r.begin_b() && [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::if_same_then_else)] on by default [INFO] [stderr] note: same as this [INFO] [stderr] --> src/filter/containment.rs:56:9 [INFO] [stderr] | [INFO] [stderr] 56 | / { [INFO] [stderr] 57 | | // B containe A [INFO] [stderr] 58 | | test = true; [INFO] [stderr] 59 | | } else if r.strand() == '-' && r.begin_a() <= r.length_b() - r.end_b() && [INFO] [stderr] | |_________^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#if_same_then_else [INFO] [stderr] [INFO] [stderr] warning: called `.get().unwrap()` on a HashMap. Using `[]` is more clear and more concise [INFO] [stderr] --> src/modifier/renaming.rs:77:26 [INFO] [stderr] | [INFO] [stderr] 77 | r.set_read_a(self.rename_table.get(&key).unwrap().to_string()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `&self.rename_table[&key]` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::get_unwrap)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_unwrap [INFO] [stderr] [INFO] [stderr] warning: called `.get().unwrap()` on a HashMap. Using `[]` is more clear and more concise [INFO] [stderr] --> src/modifier/renaming.rs:82:26 [INFO] [stderr] | [INFO] [stderr] 82 | r.set_read_b(self.rename_table.get(&key).unwrap().to_string()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `&self.rename_table[&key]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_unwrap [INFO] [stderr] [INFO] [stderr] warning: called `.get().unwrap()` on a HashMap. Using `[]` is more clear and more concise [INFO] [stderr] --> src/modifier/renaming.rs:93:22 [INFO] [stderr] | [INFO] [stderr] 93 | r.set_read_a(self.rename_table.get(&key).unwrap().to_string()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `&self.rename_table[&key]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_unwrap [INFO] [stderr] [INFO] [stderr] warning: called `.get().unwrap()` on a HashMap. Using `[]` is more clear and more concise [INFO] [stderr] --> src/modifier/renaming.rs:100:22 [INFO] [stderr] | [INFO] [stderr] 100 | r.set_read_b(self.rename_table.get(&key).unwrap().to_string()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `&self.rename_table[&key]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_unwrap [INFO] [stderr] [INFO] [stderr] error: aborting due to previous error [INFO] [stderr] [INFO] [stderr] error: Could not compile `fpa_lr`. [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stderr] warning: `if _ { .. } else { .. }` is an expression [INFO] [stderr] --> src/io/paf.rs:133:17 [INFO] [stderr] | [INFO] [stderr] 133 | / let mut sam_field = Vec::new(); [INFO] [stderr] 134 | | if mapping_quality_and_sam.len() > 1 { [INFO] [stderr] 135 | | sam_field = mapping_quality_and_sam[1..].to_vec(); [INFO] [stderr] 136 | | } [INFO] [stderr] | |_________________^ help: it is more idiomatic to write: `let sam_field = if mapping_quality_and_sam.len() > 1 { mapping_quality_and_sam[1..].to_vec() } else { Vec::new() };` [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: methods called `to_*` usually take self by reference; consider choosing a less ambiguous name [INFO] [stderr] --> src/io/paf.rs:187:36 [INFO] [stderr] | [INFO] [stderr] 187 | pub fn to_file>(path: P) -> std::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: redundant closure found [INFO] [stderr] --> src/io/paf.rs:188:36 [INFO] [stderr] | [INFO] [stderr] 188 | fs::File::create(path).map(|f| Writer::new(f)) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: remove closure as shown: `Writer::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: called `ok().expect()` on a Result value. You can call `expect` directly on the `Result` [INFO] [stderr] --> src/io/paf.rs:305:13 [INFO] [stderr] | [INFO] [stderr] 305 | / writer [INFO] [stderr] 306 | | .write(&r.ok().expect("Error reading record")) [INFO] [stderr] 307 | | .ok() [INFO] [stderr] 308 | | .expect("Error writing 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: called `ok().expect()` on a Result value. You can call `expect` directly on the `Result` [INFO] [stderr] --> src/io/paf.rs:306:25 [INFO] [stderr] | [INFO] [stderr] 306 | .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/paf.rs:318:13 [INFO] [stderr] | [INFO] [stderr] 318 | / writer [INFO] [stderr] 319 | | .write(&r.ok().expect("Error reading record")) [INFO] [stderr] 320 | | .ok() [INFO] [stderr] 321 | | .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/paf.rs:319:25 [INFO] [stderr] | [INFO] [stderr] 319 | .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: methods called `to_*` usually take self by reference; consider choosing a less ambiguous name [INFO] [stderr] --> src/io/mhap.rs:182:36 [INFO] [stderr] | [INFO] [stderr] 182 | pub fn to_file>(path: P) -> std::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: redundant closure found [INFO] [stderr] --> src/io/mhap.rs:183:36 [INFO] [stderr] | [INFO] [stderr] 183 | fs::File::create(path).map(|f| Writer::new(f)) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: remove closure as shown: `Writer::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] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/io/mhap.rs:249:13 [INFO] [stderr] | [INFO] [stderr] 249 | assert_eq!(record.error, ERROR[i]); [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/io/mhap.rs:249:13 [INFO] [stderr] | [INFO] [stderr] 249 | assert_eq!(record.error, ERROR[i]); [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: called `ok().expect()` on a Result value. You can call `expect` directly on the `Result` [INFO] [stderr] --> src/io/mhap.rs:267:13 [INFO] [stderr] | [INFO] [stderr] 267 | / writer [INFO] [stderr] 268 | | .write(&r.ok().expect("Error reading record")) [INFO] [stderr] 269 | | .ok() [INFO] [stderr] 270 | | .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/mhap.rs:268:25 [INFO] [stderr] | [INFO] [stderr] 268 | .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: local variable doesn't need to be boxed here [INFO] [stderr] --> src/io/gfa/gfa1.rs:77:76 [INFO] [stderr] | [INFO] [stderr] 77 | fn add_containment(self: &mut Self, record: Box) { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::boxed_local)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#boxed_local [INFO] [stderr] [INFO] [stderr] warning: local variable doesn't need to be boxed here [INFO] [stderr] --> src/io/gfa/gfa1.rs:171:74 [INFO] [stderr] | [INFO] [stderr] 171 | fn add_dovetails(self: &mut Self, record: Box) { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#boxed_local [INFO] [stderr] [INFO] [stderr] warning: usage of `contains_key` followed by `insert` on a `HashMap` [INFO] [stderr] --> src/io/gfa/gfa1.rs:315:16 [INFO] [stderr] | [INFO] [stderr] 315 | return if self.node2index.contains_key(&node) { [INFO] [stderr] | ________________^ [INFO] [stderr] 316 | | *self.node2index.get(&node).expect("Impossible") [INFO] [stderr] 317 | | } else { [INFO] [stderr] 318 | | let index = self.graph.add_node(node.clone()); [INFO] [stderr] 319 | | self.node2index.insert(node, index); [INFO] [stderr] 320 | | index [INFO] [stderr] 321 | | }; [INFO] [stderr] | |_________^ help: consider using: `self.node2index.entry(node)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::map_entry)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_entry [INFO] [stderr] [INFO] [stderr] warning: this lifetime isn't used in the function definition [INFO] [stderr] --> src/cli.rs:168:27 [INFO] [stderr] | [INFO] [stderr] 168 | pub fn generate_modifiers<'a>(matches: &ArgMatches) -> Vec>> { [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: use of `expect` followed by a function call [INFO] [stderr] --> src/file.rs:81:61 [INFO] [stderr] | [INFO] [stderr] 81 | _ => Box::new(BufReader::new(File::open(input_name).expect(&format!( [INFO] [stderr] | _____________________________________________________________^ [INFO] [stderr] 82 | | "Can't open input file {}", [INFO] [stderr] 83 | | input_name [INFO] [stderr] 84 | | )))), [INFO] [stderr] | |__________^ help: try this: `unwrap_or_else(|_| panic!("Can't open input file {}", input_name))` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::expect_fun_call)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#expect_fun_call [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is used to index `buf` [INFO] [stderr] --> src/file.rs:97:14 [INFO] [stderr] | [INFO] [stderr] 97 | for i in 0..5 { [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] 97 | for (i, ) in buf.iter().enumerate().take(5) { [INFO] [stderr] | ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u64 may become silently lossy if types change [INFO] [stderr] --> src/file.rs:98:25 [INFO] [stderr] | [INFO] [stderr] 98 | five_bit_val |= (buf[i] as u64) << 8 * (4 - i); [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `u64::from(buf[i])` [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: the loop variable `i` is used to index `buf` [INFO] [stderr] --> src/file.rs:106:14 [INFO] [stderr] | [INFO] [stderr] 106 | for i in 0..2 { [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] 106 | for (i, ) in buf.iter().enumerate().take(2) { [INFO] [stderr] | ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u64 may become silently lossy if types change [INFO] [stderr] --> src/file.rs:107:24 [INFO] [stderr] | [INFO] [stderr] 107 | two_bit_val |= (buf[i] as u64) << 8 * (1 - i); [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `u64::from(buf[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: use of `expect` followed by a function call [INFO] [stderr] --> src/file.rs:154:64 [INFO] [stderr] | [INFO] [stderr] 154 | _ => Box::new(BufWriter::new(File::create(output_name).expect(&format!( [INFO] [stderr] | ________________________________________________________________^ [INFO] [stderr] 155 | | "Can't open output file {}", [INFO] [stderr] 156 | | output_name [INFO] [stderr] 157 | | )))), [INFO] [stderr] | |__________^ help: try this: `unwrap_or_else(|_| panic!("Can't open output file {}", output_name))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#expect_fun_call [INFO] [stderr] [INFO] [stderr] warning: this lifetime isn't used in the function definition [INFO] [stderr] --> src/work/gfa.rs:64:8 [INFO] [stderr] | [INFO] [stderr] 64 | fn paf<'a, R: std::io::Read, W: std::io::Write>( [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: single-character string constant used as pattern [INFO] [stderr] --> src/work/gfa.rs:168:37 [INFO] [stderr] | [INFO] [stderr] 168 | let thrut = thrut_str.split("\n").collect::>(); [INFO] [stderr] | ^^^^ help: try using a char instead: `'\n'` [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] warning: single-character string constant used as pattern [INFO] [stderr] --> src/work/gfa.rs:169:39 [INFO] [stderr] | [INFO] [stderr] 169 | let output = output_str.split("\n").collect::>(); [INFO] [stderr] | ^^^^ help: try using a char instead: `'\n'` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [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/work/basic.rs:37:14 [INFO] [stderr] | [INFO] [stderr] 37 | filters: &Vec>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `&[Box]` [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: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/work/basic.rs:75:14 [INFO] [stderr] | [INFO] [stderr] 75 | filters: &Vec>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `&[Box]` [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/work/basic.rs:99:14 [INFO] [stderr] | [INFO] [stderr] 99 | filters: &Vec>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `&[Box]` [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: this lifetime isn't used in the function definition [INFO] [stderr] --> src/work/basic.rs:96:9 [INFO] [stderr] | [INFO] [stderr] 96 | fn mhap<'a, R: std::io::Read, W: std::io::Write>( [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: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/work/mod.rs:55:14 [INFO] [stderr] | [INFO] [stderr] 55 | filters: &Vec>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `&[Box]` [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: you seem to be trying to match on a boolean expression [INFO] [stderr] --> src/filter/containment.rs:48:9 [INFO] [stderr] | [INFO] [stderr] 48 | / match filter::InternalMatch::new(self.internal_threshold, false).run(r) { [INFO] [stderr] 49 | | true => return if self.reverse { false } else { true }, [INFO] [stderr] 50 | | false => (), [INFO] [stderr] 51 | | }; [INFO] [stderr] | |_________^ help: consider using an if/else expression: `if filter::InternalMatch::new(self.internal_threshold, false).run(r) { return if self.reverse { false } else { true } }` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::match_bool)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_bool [INFO] [stderr] [INFO] [stderr] warning: this if-then-else expression returns a bool literal [INFO] [stderr] --> src/filter/containment.rs:49:28 [INFO] [stderr] | [INFO] [stderr] 49 | true => return if self.reverse { false } else { true }, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: you can reduce it to: `!self.reverse` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_bool)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_bool [INFO] [stderr] [INFO] [stderr] error: this `if` has identical blocks [INFO] [stderr] --> src/filter/containment.rs:61:9 [INFO] [stderr] | [INFO] [stderr] 61 | / { [INFO] [stderr] 62 | | // B containe A [INFO] [stderr] 63 | | test = true; [INFO] [stderr] 64 | | } else if r.strand() == '+' && r.begin_a() >= r.begin_b() && [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::if_same_then_else)] on by default [INFO] [stderr] note: same as this [INFO] [stderr] --> src/filter/containment.rs:56:9 [INFO] [stderr] | [INFO] [stderr] 56 | / { [INFO] [stderr] 57 | | // B containe A [INFO] [stderr] 58 | | test = true; [INFO] [stderr] 59 | | } else if r.strand() == '-' && r.begin_a() <= r.length_b() - r.end_b() && [INFO] [stderr] | |_________^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#if_same_then_else [INFO] [stderr] [INFO] [stderr] warning: called `.get().unwrap()` on a HashMap. Using `[]` is more clear and more concise [INFO] [stderr] --> src/modifier/renaming.rs:77:26 [INFO] [stderr] | [INFO] [stderr] 77 | r.set_read_a(self.rename_table.get(&key).unwrap().to_string()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `&self.rename_table[&key]` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::get_unwrap)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_unwrap [INFO] [stderr] [INFO] [stderr] warning: called `.get().unwrap()` on a HashMap. Using `[]` is more clear and more concise [INFO] [stderr] --> src/modifier/renaming.rs:82:26 [INFO] [stderr] | [INFO] [stderr] 82 | r.set_read_b(self.rename_table.get(&key).unwrap().to_string()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `&self.rename_table[&key]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_unwrap [INFO] [stderr] [INFO] [stderr] warning: called `.get().unwrap()` on a HashMap. Using `[]` is more clear and more concise [INFO] [stderr] --> src/modifier/renaming.rs:93:22 [INFO] [stderr] | [INFO] [stderr] 93 | r.set_read_a(self.rename_table.get(&key).unwrap().to_string()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `&self.rename_table[&key]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_unwrap [INFO] [stderr] [INFO] [stderr] warning: called `.get().unwrap()` on a HashMap. Using `[]` is more clear and more concise [INFO] [stderr] --> src/modifier/renaming.rs:100:22 [INFO] [stderr] | [INFO] [stderr] 100 | r.set_read_b(self.rename_table.get(&key).unwrap().to_string()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `&self.rename_table[&key]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_unwrap [INFO] [stderr] [INFO] [stderr] error: aborting due to 2 previous errors [INFO] [stderr] [INFO] [stderr] error: Could not compile `fpa_lr`. [INFO] [stderr] [INFO] [stderr] To learn more, run the command again with --verbose. [INFO] running `"docker" "inspect" "62dfc8d9b659453fe548997da9f8adac6e67029edd33fd85949153ef7040f905"` [INFO] running `"docker" "rm" "-f" "62dfc8d9b659453fe548997da9f8adac6e67029edd33fd85949153ef7040f905"` [INFO] [stdout] 62dfc8d9b659453fe548997da9f8adac6e67029edd33fd85949153ef7040f905