[INFO] fetching crate gsmm2-metric 0.5.0... [INFO] linting gsmm2-metric-0.5.0 against nightly for clippy-nonminimal_bool-denied [INFO] extracting crate gsmm2-metric 0.5.0 into /workspace/builds/worker-6-tc1/source [INFO] started tweaking crates.io crate gsmm2-metric 0.5.0 [INFO] finished tweaking crates.io crate gsmm2-metric 0.5.0 [INFO] tweaked toml for crates.io crate gsmm2-metric 0.5.0 written to /workspace/builds/worker-6-tc1/source/Cargo.toml [INFO] validating manifest of crates.io crate gsmm2-metric 0.5.0 on toolchain nightly [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+nightly" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate crates.io crate gsmm2-metric 0.5.0 already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+nightly" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Updating crates.io index [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded custom_derive v0.1.7 [INFO] [stderr] Downloaded editdistancek v1.0.2 [INFO] [stderr] Downloaded hp_tr_finder v0.3.0 [INFO] [stderr] Downloaded itertools-num v0.1.3 [INFO] [stderr] Downloaded multimap v0.9.1 [INFO] [stderr] Downloaded triple_accel v0.4.0 [INFO] [stderr] Downloaded bio-types v1.0.4 [INFO] [stderr] Downloaded gskits v0.15.14 [INFO] [stderr] Downloaded minimap2 v0.1.23+minimap2.2.28 [INFO] [stderr] Downloaded mm2 v0.25.4 [INFO] [stderr] Downloaded windows-link v0.1.2 [INFO] [stderr] Downloaded rust-htslib v0.49.0 [INFO] [stderr] Downloaded intervaltree v0.2.7 [INFO] [stderr] Downloaded bio v1.6.0 [INFO] [stderr] Downloaded bio v2.3.0 [INFO] [stderr] Downloaded hp_tr_finder v0.2.3 [INFO] [stderr] Downloaded fs-utils v1.1.4 [INFO] [stderr] Downloaded linear-map v1.2.0 [INFO] [stderr] Downloaded newtype_derive v0.1.6 [INFO] [stderr] Downloaded tracing-attributes v0.1.29 [INFO] [stderr] Downloaded ordered-float v5.0.0 [INFO] [stderr] Downloaded minimap2-sys v0.1.21+minimap2.2.28 [INFO] [stderr] Downloaded needletail v0.6.3 [INFO] [stderr] Downloaded curl-sys v0.4.82+curl-8.14.1 [INFO] [stderr] Downloaded hts-sys v2.2.0 [INFO] [stderr] Downloaded openssl-src v300.5.0+3.5.0 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+nightly" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] b8780ae7013c62bfad96d2b02a0c790745d217865086e4d87837fba92198c350 [INFO] running `Command { std: "docker" "start" "-a" "b8780ae7013c62bfad96d2b02a0c790745d217865086e4d87837fba92198c350", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "b8780ae7013c62bfad96d2b02a0c790745d217865086e4d87837fba92198c350", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "b8780ae7013c62bfad96d2b02a0c790745d217865086e4d87837fba92198c350", kill_on_drop: false }` [INFO] [stdout] b8780ae7013c62bfad96d2b02a0c790745d217865086e4d87837fba92198c350 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+nightly" "clippy" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 6767261bb847aaa87b6c7cd4cff91fcbad9f35092a10ad621a5835b4ab5a36d2 [INFO] running `Command { std: "docker" "start" "-a" "6767261bb847aaa87b6c7cd4cff91fcbad9f35092a10ad621a5835b4ab5a36d2", kill_on_drop: false }` [INFO] [stderr] Checking bytemuck v1.23.1 [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Compiling matrixmultiply v0.3.10 [INFO] [stderr] Compiling glob v0.3.2 [INFO] [stderr] Compiling typenum v1.18.0 [INFO] [stderr] Compiling syn v2.0.102 [INFO] [stderr] Compiling jobserver v0.1.33 [INFO] [stderr] Checking getrandom v0.2.16 [INFO] [stderr] Checking ppv-lite86 v0.2.21 [INFO] [stderr] Compiling regex-syntax v0.8.5 [INFO] [stderr] Compiling minimal-lexical v0.2.1 [INFO] [stderr] Compiling semver v0.1.20 [INFO] [stderr] Compiling memchr v2.7.5 [INFO] [stderr] Compiling cfg-if v1.0.1 [INFO] [stderr] Compiling bindgen v0.69.5 [INFO] [stderr] Compiling either v1.15.0 [INFO] [stderr] Checking safe_arch v0.7.4 [INFO] [stderr] Compiling libloading v0.8.8 [INFO] [stderr] Checking rand_core v0.6.4 [INFO] [stderr] Checking hashbrown v0.15.4 [INFO] [stderr] Compiling quick-error v1.2.3 [INFO] [stderr] Compiling lazycell v1.3.0 [INFO] [stderr] Compiling rustc_version v0.1.7 [INFO] [stderr] Compiling bitflags v2.9.1 [INFO] [stderr] Compiling itertools v0.12.1 [INFO] [stderr] Compiling rustc-hash v1.1.0 [INFO] [stderr] Compiling clang-sys v1.8.1 [INFO] [stderr] Compiling fs-utils v1.1.4 [INFO] [stderr] Checking rand_chacha v0.3.1 [INFO] [stderr] Compiling anyhow v1.0.98 [INFO] [stderr] Compiling cc v1.2.26 [INFO] [stderr] Compiling newtype_derive v0.1.6 [INFO] [stderr] Checking bytecount v0.6.9 [INFO] [stderr] Compiling syn v1.0.109 [INFO] [stderr] Compiling nom v7.1.3 [INFO] [stderr] Checking rand v0.8.5 [INFO] [stderr] Checking custom_derive v0.1.7 [INFO] [stderr] Checking editdistancek v1.0.2 [INFO] [stderr] Checking triple_accel v0.4.0 [INFO] [stderr] Checking console v0.15.11 [INFO] [stderr] Checking wide v0.7.32 [INFO] [stderr] Checking time v0.3.41 [INFO] [stderr] Checking bit-set v0.8.0 [INFO] [stderr] Checking thread_local v1.1.8 [INFO] [stderr] Checking intervaltree v0.2.7 [INFO] [stderr] Checking indexmap v2.9.0 [INFO] [stderr] Checking buffer-redux v1.0.2 [INFO] [stderr] Checking linear-map v1.2.0 [INFO] [stderr] Checking ieee754 v0.2.6 [INFO] [stderr] Checking num-complex v0.4.6 [INFO] [stderr] Compiling cmake v0.1.54 [INFO] [stderr] Checking num-integer v0.1.46 [INFO] [stderr] Compiling openssl-src v300.5.0+3.5.0 [INFO] [stderr] Checking approx v0.5.1 [INFO] [stderr] Checking num-rational v0.4.2 [INFO] [stderr] Checking itertools-num v0.1.3 [INFO] [stderr] Compiling regex-automata v0.4.9 [INFO] [stderr] Checking rand_distr v0.4.3 [INFO] [stderr] Checking ndarray v0.16.1 [INFO] [stderr] Checking ordered-float v5.0.0 [INFO] [stderr] Checking fixedbitset v0.4.2 [INFO] [stderr] Checking clap_builder v4.5.40 [INFO] [stderr] Checking petgraph v0.8.2 [INFO] [stderr] Checking indicatif v0.17.11 [INFO] [stderr] Checking uuid v1.17.0 [INFO] [stderr] Checking petgraph v0.6.5 [INFO] [stderr] Checking chrono v0.4.41 [INFO] [stderr] Checking ndarray v0.15.6 [INFO] [stderr] Compiling libz-sys v1.1.22 [INFO] [stderr] Compiling openssl-sys v0.9.109 [INFO] [stderr] Compiling bzip2-sys v0.1.13+1.0.8 [INFO] [stderr] Compiling cexpr v0.6.0 [INFO] [stderr] Compiling lzma-sys v0.1.20 [INFO] [stderr] Compiling curl-sys v0.4.82+curl-8.14.1 [INFO] [stderr] Checking simba v0.9.0 [INFO] [stderr] Checking simba v0.6.0 [INFO] [stderr] Compiling minimap2-sys v0.1.21+minimap2.2.28 [INFO] [stderr] Checking needletail v0.6.3 [INFO] [stderr] Checking ordered-float v3.9.2 [INFO] [stderr] Checking itertools v0.11.0 [INFO] [stderr] Checking sysinfo v0.34.2 [INFO] [stderr] Compiling regex v1.11.1 [INFO] [stderr] Checking strum v0.25.0 [INFO] [stderr] Checking crossbeam v0.8.4 [INFO] [stderr] Checking rayon v1.10.0 [INFO] [stderr] Checking hp_tr_finder v0.2.3 [INFO] [stderr] Checking hp_tr_finder v0.3.0 [INFO] [stderr] Compiling nalgebra-macros v0.1.0 [INFO] [stderr] Compiling synstructure v0.13.2 [INFO] [stderr] Compiling zerofrom-derive v0.1.6 [INFO] [stderr] Compiling yoke-derive v0.8.0 [INFO] [stderr] Compiling serde_derive v1.0.219 [INFO] [stderr] Compiling zerovec-derive v0.11.1 [INFO] [stderr] Compiling displaydoc v0.2.5 [INFO] [stderr] Compiling thiserror-impl v1.0.69 [INFO] [stderr] Compiling strum_macros v0.26.4 [INFO] [stderr] Compiling derive-new v0.6.0 [INFO] [stderr] Compiling tracing-attributes v0.1.29 [INFO] [stderr] Compiling thiserror-impl v2.0.12 [INFO] [stderr] Compiling enum-map-derive v0.17.0 [INFO] [stderr] Compiling derive-new v0.7.0 [INFO] [stderr] Checking zerofrom v0.1.6 [INFO] [stderr] Checking enum-map v2.7.3 [INFO] [stderr] Checking yoke v0.8.0 [INFO] [stderr] Compiling strum_macros v0.25.3 [INFO] [stderr] Compiling clap_derive v4.5.40 [INFO] [stderr] Checking zerotrie v0.2.2 [INFO] [stderr] Checking minimap2 v0.1.23+minimap2.2.28 [INFO] [stderr] Checking zerovec v0.11.2 [INFO] [stderr] Checking thiserror v2.0.12 [INFO] [stderr] Checking tracing v0.1.41 [INFO] [stderr] Checking thiserror v1.0.69 [INFO] [stderr] Checking bio-types v1.0.4 [INFO] [stderr] Checking nalgebra v0.33.2 [INFO] [stderr] Checking nalgebra v0.29.0 [INFO] [stderr] Checking tinystr v0.8.1 [INFO] [stderr] Checking potential_utf v0.1.2 [INFO] [stderr] Checking icu_collections v2.0.0 [INFO] [stderr] Checking serde v1.0.219 [INFO] [stderr] Checking clap v4.5.40 [INFO] [stderr] Checking icu_locale_core v2.0.0 [INFO] [stderr] Checking icu_provider v2.0.0 [INFO] [stderr] Compiling hts-sys v2.2.0 [INFO] [stderr] Checking icu_normalizer v2.0.0 [INFO] [stderr] Checking icu_properties v2.0.1 [INFO] [stderr] Checking idna_adapter v1.2.1 [INFO] [stderr] Checking idna v1.0.3 [INFO] [stderr] Checking url v2.5.4 [INFO] [stderr] Checking bv v0.11.1 [INFO] [stderr] Checking vec_map v0.8.2 [INFO] [stderr] Checking csv v1.3.1 [INFO] [stderr] Checking serde_json v1.0.140 [INFO] [stderr] Checking tracing-serde v0.2.0 [INFO] [stderr] Checking multimap v0.10.1 [INFO] [stderr] Checking multimap v0.9.1 [INFO] [stderr] Checking tracing-subscriber v0.3.19 [INFO] [stderr] Checking tracing-appender v0.2.3 [INFO] [stderr] Checking statrs v0.16.1 [INFO] [stderr] Checking statrs v0.18.0 [INFO] [stderr] Checking bio v1.6.0 [INFO] [stderr] Checking bio v2.3.0 [INFO] [stderr] Checking rust-htslib v0.49.0 [INFO] [stderr] Checking gskits v0.15.14 [INFO] [stderr] Checking mm2 v0.25.4 [INFO] [stderr] Checking gsmm2-metric v0.5.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused variable: `rev_part` [INFO] [stdout] --> src/metrics/hp_metric.rs:379:13 [INFO] [stdout] | [INFO] [stdout] 379 | let rev_part = &seq[1074..1074 + 100]; [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_rev_part` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `target_seq` [INFO] [stdout] --> src/metrics/hp_metric_v2.rs:277:13 [INFO] [stdout] | [INFO] [stdout] 277 | let target_seq = targetname2seq [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_target_seq` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `rev_part` [INFO] [stdout] --> src/metrics/hp_metric_v2.rs:418:13 [INFO] [stdout] | [INFO] [stdout] 418 | let rev_part = &seq[1074..1074 + 100]; [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_rev_part` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless conversion to the same type: `std::ops::Range` [INFO] [stdout] --> src/aligned_pairs.rs:61:30 [INFO] [stdout] | [INFO] [stdout] 61 | Box::new((0..cnt).into_iter().map(move |shift| { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: consider removing `.into_iter()`: `(0..cnt)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] = note: `#[warn(clippy::useless_conversion)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless conversion to the same type: `std::ops::Range` [INFO] [stdout] --> src/aligned_pairs.rs:75:25 [INFO] [stdout] | [INFO] [stdout] 75 | / (0..cnt) [INFO] [stdout] 76 | | .into_iter() [INFO] [stdout] | |________________________________________^ help: consider removing `.into_iter()`: `(0..cnt)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless conversion to the same type: `std::ops::Range` [INFO] [stdout] --> src/aligned_pairs.rs:87:30 [INFO] [stdout] | [INFO] [stdout] 87 | Box::new((0..cnt).into_iter().map(move |shift| { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: consider removing `.into_iter()`: `(0..cnt)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/aligned_pairs.rs:104:9 [INFO] [stdout] | [INFO] [stdout] 104 | &self.alignment.as_ref().unwrap().cigar.as_ref().unwrap() [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `self.alignment.as_ref().unwrap().cigar.as_ref().unwrap()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] = note: `#[warn(clippy::needless_borrow)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless conversion to the same type: `std::ops::Range` [INFO] [stdout] --> src/aligned_pairs.rs:61:30 [INFO] [stdout] | [INFO] [stdout] 61 | Box::new((0..cnt).into_iter().map(move |shift| { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: consider removing `.into_iter()`: `(0..cnt)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] = note: `#[warn(clippy::useless_conversion)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless conversion to the same type: `std::ops::Range` [INFO] [stdout] --> src/aligned_pairs.rs:75:25 [INFO] [stdout] | [INFO] [stdout] 75 | / (0..cnt) [INFO] [stdout] 76 | | .into_iter() [INFO] [stdout] | |________________________________________^ help: consider removing `.into_iter()`: `(0..cnt)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless conversion to the same type: `std::ops::Range` [INFO] [stdout] --> src/aligned_pairs.rs:87:30 [INFO] [stdout] | [INFO] [stdout] 87 | Box::new((0..cnt).into_iter().map(move |shift| { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: consider removing `.into_iter()`: `(0..cnt)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/aligned_pairs.rs:104:9 [INFO] [stdout] | [INFO] [stdout] 104 | &self.alignment.as_ref().unwrap().cigar.as_ref().unwrap() [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `self.alignment.as_ref().unwrap().cigar.as_ref().unwrap()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] = note: `#[warn(clippy::needless_borrow)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/cli.rs:172:9 [INFO] [stdout] | [INFO] [stdout] 172 | / if let Some(dir) = path::Path::new(&out_fn).to_path_buf().parent() { [INFO] [stdout] 173 | | if !dir.exists() { [INFO] [stdout] 174 | | fs::create_dir_all(dir).unwrap(); [INFO] [stdout] 175 | | } [INFO] [stdout] 176 | | } [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] = note: `#[warn(clippy::collapsible_if)]` on by default [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 172 ~ if let Some(dir) = path::Path::new(&out_fn).to_path_buf().parent() [INFO] [stdout] 173 ~ && !dir.exists() { [INFO] [stdout] 174 | fs::create_dir_all(dir).unwrap(); [INFO] [stdout] 175 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/cli.rs:172:9 [INFO] [stdout] | [INFO] [stdout] 172 | / if let Some(dir) = path::Path::new(&out_fn).to_path_buf().parent() { [INFO] [stdout] 173 | | if !dir.exists() { [INFO] [stdout] 174 | | fs::create_dir_all(dir).unwrap(); [INFO] [stdout] 175 | | } [INFO] [stdout] 176 | | } [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] = note: `#[warn(clippy::collapsible_if)]` on by default [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 172 ~ if let Some(dir) = path::Path::new(&out_fn).to_path_buf().parent() [INFO] [stdout] 173 ~ && !dir.exists() { [INFO] [stdout] 174 | fs::create_dir_all(dir).unwrap(); [INFO] [stdout] 175 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> src/global_data.rs:24:9 [INFO] [stdout] | [INFO] [stdout] 24 | / sync::OnceCell< [INFO] [stdout] 25 | | HashMap, Arc)>>>>, [INFO] [stdout] 26 | | >, [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] = note: `#[warn(clippy::type_complexity)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> src/global_data.rs:30:9 [INFO] [stdout] | [INFO] [stdout] 30 | / sync::OnceCell< [INFO] [stdout] 31 | | HashMap, Arc>>>, [INFO] [stdout] 32 | | >, [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> src/global_data.rs:109:39 [INFO] [stdout] | [INFO] [stdout] 109 | let region2motif: HashMap< [INFO] [stdout] | _______________________________________^ [INFO] [stdout] 110 | | Arc, [INFO] [stdout] 111 | | Arc)>>>, [INFO] [stdout] 112 | | > = all_seq_hp_tr_finder(&all_regs, &self.target_name2seq) [INFO] [stdout] | |_____________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: importing legacy numeric constants [INFO] [stdout] --> src/metrics/hp_metric.rs:1:33 [INFO] [stdout] | [INFO] [stdout] 1 | use std::{collections::HashMap, i64, sync::Arc}; [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = help: remove this import [INFO] [stdout] = note: then `i64::` will resolve to the respective associated constant [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#legacy_numeric_constants [INFO] [stdout] = note: `#[warn(clippy::legacy_numeric_constants)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field assignment outside of initializer for an instance created with Default::default() [INFO] [stdout] --> src/metrics/hp_metric.rs:240:9 [INFO] [stdout] | [INFO] [stdout] 240 | index_params.kmer = Some(11); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: consider initializing the variable with `mm2::params::IndexParams { kmer: Some(11), wins: Some(1) }` and removing relevant reassignments [INFO] [stdout] --> src/metrics/hp_metric.rs:239:9 [INFO] [stdout] | [INFO] [stdout] 239 | let mut index_params = IndexParams::default(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#field_reassign_with_default [INFO] [stdout] = note: `#[warn(clippy::field_reassign_with_default)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> src/global_data.rs:24:9 [INFO] [stdout] | [INFO] [stdout] 24 | / sync::OnceCell< [INFO] [stdout] 25 | | HashMap, Arc)>>>>, [INFO] [stdout] 26 | | >, [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] = note: `#[warn(clippy::type_complexity)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary map of the identity function [INFO] [stdout] --> src/metrics/hp_metric.rs:232:21 [INFO] [stdout] | [INFO] [stdout] 232 | .take(1) [INFO] [stdout] | _____________________^ [INFO] [stdout] 233 | | .map(|v| v) [INFO] [stdout] | |_______________________^ help: remove the call to `map` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_identity [INFO] [stdout] = note: `#[warn(clippy::map_identity)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> src/global_data.rs:30:9 [INFO] [stdout] | [INFO] [stdout] 30 | / sync::OnceCell< [INFO] [stdout] 31 | | HashMap, Arc>>>, [INFO] [stdout] 32 | | >, [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> src/global_data.rs:109:39 [INFO] [stdout] | [INFO] [stdout] 109 | let region2motif: HashMap< [INFO] [stdout] | _______________________________________^ [INFO] [stdout] 110 | | Arc, [INFO] [stdout] 111 | | Arc)>>>, [INFO] [stdout] 112 | | > = all_seq_hp_tr_finder(&all_regs, &self.target_name2seq) [INFO] [stdout] | |_____________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: empty string literal in `println!` [INFO] [stdout] --> src/metrics/hp_metric.rs:287:13 [INFO] [stdout] | [INFO] [stdout] 287 | println!(""); [INFO] [stdout] | ^^^^^^^^^--^ [INFO] [stdout] | | [INFO] [stdout] | help: remove the empty string [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#println_empty_string [INFO] [stdout] = note: `#[warn(clippy::println_empty_string)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: importing legacy numeric constants [INFO] [stdout] --> src/metrics/hp_metric.rs:1:33 [INFO] [stdout] | [INFO] [stdout] 1 | use std::{collections::HashMap, i64, sync::Arc}; [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = help: remove this import [INFO] [stdout] = note: then `i64::` will resolve to the respective associated constant [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#legacy_numeric_constants [INFO] [stdout] = note: `#[warn(clippy::legacy_numeric_constants)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: empty string literal in `println!` [INFO] [stdout] --> src/metrics/hp_metric.rs:315:13 [INFO] [stdout] | [INFO] [stdout] 315 | println!(""); [INFO] [stdout] | ^^^^^^^^^--^ [INFO] [stdout] | | [INFO] [stdout] | help: remove the empty string [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#println_empty_string [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field assignment outside of initializer for an instance created with Default::default() [INFO] [stdout] --> src/metrics/hp_metric.rs:349:9 [INFO] [stdout] | [INFO] [stdout] 349 | index_params.kmer = Some(11); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: consider initializing the variable with `mm2::params::IndexParams { kmer: Some(11), wins: Some(1) }` and removing relevant reassignments [INFO] [stdout] --> src/metrics/hp_metric.rs:348:9 [INFO] [stdout] | [INFO] [stdout] 348 | let mut index_params = IndexParams::default(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#field_reassign_with_default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary map of the identity function [INFO] [stdout] --> src/metrics/hp_metric.rs:341:21 [INFO] [stdout] | [INFO] [stdout] 341 | .take(1) [INFO] [stdout] | _____________________^ [INFO] [stdout] 342 | | .map(|v| v) [INFO] [stdout] | |_______________________^ help: remove the call to `map` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_identity [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: empty string literal in `println!` [INFO] [stdout] --> src/metrics/hp_metric.rs:396:13 [INFO] [stdout] | [INFO] [stdout] 396 | println!(""); [INFO] [stdout] | ^^^^^^^^^--^ [INFO] [stdout] | | [INFO] [stdout] | help: remove the empty string [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#println_empty_string [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: importing legacy numeric constants [INFO] [stdout] --> src/metrics/hp_metric_v2.rs:1:33 [INFO] [stdout] | [INFO] [stdout] 1 | use std::{collections::HashMap, i64, sync::Arc}; [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = help: remove this import [INFO] [stdout] = note: then `i64::` will resolve to the respective associated constant [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#legacy_numeric_constants [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: importing legacy numeric constants [INFO] [stdout] --> src/metrics/hp_metric_v2.rs:1:33 [INFO] [stdout] | [INFO] [stdout] 1 | use std::{collections::HashMap, i64, sync::Arc}; [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = help: remove this import [INFO] [stdout] = note: then `i64::` will resolve to the respective associated constant [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#legacy_numeric_constants [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field assignment outside of initializer for an instance created with Default::default() [INFO] [stdout] --> src/metrics/hp_metric_v2.rs:287:9 [INFO] [stdout] | [INFO] [stdout] 287 | index_params.kmer = Some(11); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: consider initializing the variable with `mm2::params::IndexParams { kmer: Some(11), wins: Some(1) }` and removing relevant reassignments [INFO] [stdout] --> src/metrics/hp_metric_v2.rs:286:9 [INFO] [stdout] | [INFO] [stdout] 286 | let mut index_params = IndexParams::default(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#field_reassign_with_default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary map of the identity function [INFO] [stdout] --> src/metrics/hp_metric_v2.rs:279:21 [INFO] [stdout] | [INFO] [stdout] 279 | .take(1) [INFO] [stdout] | _____________________^ [INFO] [stdout] 280 | | .map(|v| v) [INFO] [stdout] | |_______________________^ help: remove the call to `map` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_identity [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field assignment outside of initializer for an instance created with Default::default() [INFO] [stdout] --> src/metrics/hp_metric_v2.rs:392:9 [INFO] [stdout] | [INFO] [stdout] 392 | index_params.kmer = Some(11); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: consider initializing the variable with `mm2::params::IndexParams { kmer: Some(11), wins: Some(1) }` and removing relevant reassignments [INFO] [stdout] --> src/metrics/hp_metric_v2.rs:391:9 [INFO] [stdout] | [INFO] [stdout] 391 | let mut index_params = IndexParams::default(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#field_reassign_with_default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary map of the identity function [INFO] [stdout] --> src/metrics/hp_metric_v2.rs:384:21 [INFO] [stdout] | [INFO] [stdout] 384 | .take(1) [INFO] [stdout] | _____________________^ [INFO] [stdout] 385 | | .map(|v| v) [INFO] [stdout] | |_______________________^ help: remove the call to `map` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_identity [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/metrics/hp_tr_metric.rs:94:17 [INFO] [stdout] | [INFO] [stdout] 94 | / if let Some(rpos) = rpos { [INFO] [stdout] 95 | | if let Some(motifs) = region2motif.get(&(rpos as usize)) { [INFO] [stdout] 96 | | motifs [INFO] [stdout] 97 | | .iter() [INFO] [stdout] ... | [INFO] [stdout] 111 | | } [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 94 ~ if let Some(rpos) = rpos [INFO] [stdout] 95 ~ && let Some(motifs) = region2motif.get(&(rpos as usize)) { [INFO] [stdout] 96 | motifs [INFO] [stdout] ... [INFO] [stdout] 109 | }); [INFO] [stdout] 110 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: empty string literal in `println!` [INFO] [stdout] --> src/metrics/hp_metric_v2.rs:440:13 [INFO] [stdout] | [INFO] [stdout] 440 | println!(""); [INFO] [stdout] | ^^^^^^^^^--^ [INFO] [stdout] | | [INFO] [stdout] | help: remove the empty string [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#println_empty_string [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/metrics/hp_tr_metric.rs:94:17 [INFO] [stdout] | [INFO] [stdout] 94 | / if let Some(rpos) = rpos { [INFO] [stdout] 95 | | if let Some(motifs) = region2motif.get(&(rpos as usize)) { [INFO] [stdout] 96 | | motifs [INFO] [stdout] 97 | | .iter() [INFO] [stdout] ... | [INFO] [stdout] 111 | | } [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 94 ~ if let Some(rpos) = rpos [INFO] [stdout] 95 ~ && let Some(motifs) = region2motif.get(&(rpos as usize)) { [INFO] [stdout] 96 | motifs [INFO] [stdout] ... [INFO] [stdout] 109 | }); [INFO] [stdout] 110 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field assignment outside of initializer for an instance created with Default::default() [INFO] [stdout] --> src/metrics/hp_tr_metric.rs:216:9 [INFO] [stdout] | [INFO] [stdout] 216 | index_params.kmer = Some(11); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: consider initializing the variable with `mm2::params::IndexParams { kmer: Some(11), wins: Some(1) }` and removing relevant reassignments [INFO] [stdout] --> src/metrics/hp_tr_metric.rs:215:9 [INFO] [stdout] | [INFO] [stdout] 215 | let mut index_params = IndexParams::default(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#field_reassign_with_default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary map of the identity function [INFO] [stdout] --> src/metrics/hp_tr_metric.rs:208:21 [INFO] [stdout] | [INFO] [stdout] 208 | .take(1) [INFO] [stdout] | _____________________^ [INFO] [stdout] 209 | | .map(|v| v) [INFO] [stdout] | |_______________________^ help: remove the call to `map` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_identity [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: empty string literal in `println!` [INFO] [stdout] --> src/metrics/hp_tr_metric.rs:263:13 [INFO] [stdout] | [INFO] [stdout] 263 | println!(""); [INFO] [stdout] | ^^^^^^^^^--^ [INFO] [stdout] | | [INFO] [stdout] | help: remove the empty string [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#println_empty_string [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: empty string literal in `println!` [INFO] [stdout] --> src/metrics/hp_tr_metric.rs:291:13 [INFO] [stdout] | [INFO] [stdout] 291 | println!(""); [INFO] [stdout] | ^^^^^^^^^--^ [INFO] [stdout] | | [INFO] [stdout] | help: remove the empty string [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#println_empty_string [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/metrics/hp_tr_metric_v2.rs:149:17 [INFO] [stdout] | [INFO] [stdout] 149 | / if let Some(rpos) = rpos { [INFO] [stdout] 150 | | if let Some(motifs) = region2motif.get(&(rpos as usize)) { [INFO] [stdout] 151 | | motifs [INFO] [stdout] 152 | | .iter() [INFO] [stdout] ... | [INFO] [stdout] 166 | | } [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 149 ~ if let Some(rpos) = rpos [INFO] [stdout] 150 ~ && let Some(motifs) = region2motif.get(&(rpos as usize)) { [INFO] [stdout] 151 | motifs [INFO] [stdout] ... [INFO] [stdout] 164 | }); [INFO] [stdout] 165 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: calls to `push` immediately after creation [INFO] [stdout] --> src/metrics/hp_tr_metric_v2.rs:180:13 [INFO] [stdout] | [INFO] [stdout] 180 | / let mut innner_items = vec![]; [INFO] [stdout] 181 | | innner_items.push(self.qname.as_ref().unwrap().clone()); [INFO] [stdout] 182 | | innner_items.push(self.tname.as_ref().unwrap().as_ref().clone()); [INFO] [stdout] 183 | | innner_items.push(key.as_ref().clone()); [INFO] [stdout] ... | [INFO] [stdout] 187 | | innner_items.push(counter.ins.to_string()); [INFO] [stdout] 188 | | innner_items.push(counter.del.to_string()); [INFO] [stdout] | |_______________________________________________________^ help: consider using the `vec![]` macro: `let innner_items = vec![..];` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#vec_init_then_push [INFO] [stdout] = note: `#[warn(clippy::vec_init_then_push)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant closure [INFO] [stdout] --> src/metrics/hp_tr_tools.rs:69:14 [INFO] [stdout] | [INFO] [stdout] 69 | .map(|v| Some(v)) [INFO] [stdout] | ^^^^^^^^^^^ help: replace the closure with the tuple variant itself: `Some` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stdout] = note: `#[warn(clippy::redundant_closure)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: calling `as_bytes` after slicing a string [INFO] [stdout] --> src/metrics/hp_tr_tools.rs:59:13 [INFO] [stdout] | [INFO] [stdout] 59 | ori_query_seq[qstart..qend].as_bytes(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `&ori_query_seq.as_bytes()[qstart..qend]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#sliced_string_as_bytes [INFO] [stdout] = note: `#[warn(clippy::sliced_string_as_bytes)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` has identical blocks [INFO] [stdout] --> src/metrics/hp_tr_tools.rs:72:24 [INFO] [stdout] | [INFO] [stdout] 72 | if hits.is_empty() { [INFO] [stdout] | ________________________^ [INFO] [stdout] 73 | | None [INFO] [stdout] 74 | | } else if !hits[0].as_ref().unwrap().is_primary { [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] note: same as this [INFO] [stdout] --> src/metrics/hp_tr_tools.rs:74:53 [INFO] [stdout] | [INFO] [stdout] 74 | } else if !hits[0].as_ref().unwrap().is_primary { [INFO] [stdout] | _____________________________________________________^ [INFO] [stdout] 75 | | None [INFO] [stdout] 76 | | } else { [INFO] [stdout] | |_____^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#if_same_then_else [INFO] [stdout] = note: `#[warn(clippy::if_same_then_else)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting a character literal to `u8` truncates [INFO] [stdout] --> src/metrics/mod.rs:47:18 [INFO] [stdout] | [INFO] [stdout] 47 | m.insert('A' as u8, 'T' as u8); [INFO] [stdout] | ^^^^^^^^^ help: use a byte literal instead: `b'A'` [INFO] [stdout] | [INFO] [stdout] = note: `char` is four bytes wide, but `u8` is a single byte [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#char_lit_as_u8 [INFO] [stdout] = note: `#[warn(clippy::char_lit_as_u8)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting a character literal to `u8` truncates [INFO] [stdout] --> src/metrics/mod.rs:47:29 [INFO] [stdout] | [INFO] [stdout] 47 | m.insert('A' as u8, 'T' as u8); [INFO] [stdout] | ^^^^^^^^^ help: use a byte literal instead: `b'T'` [INFO] [stdout] | [INFO] [stdout] = note: `char` is four bytes wide, but `u8` is a single byte [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#char_lit_as_u8 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting a character literal to `u8` truncates [INFO] [stdout] --> src/metrics/mod.rs:48:18 [INFO] [stdout] | [INFO] [stdout] 48 | m.insert('C' as u8, 'G' as u8); [INFO] [stdout] | ^^^^^^^^^ help: use a byte literal instead: `b'C'` [INFO] [stdout] | [INFO] [stdout] = note: `char` is four bytes wide, but `u8` is a single byte [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#char_lit_as_u8 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting a character literal to `u8` truncates [INFO] [stdout] --> src/metrics/mod.rs:48:29 [INFO] [stdout] | [INFO] [stdout] 48 | m.insert('C' as u8, 'G' as u8); [INFO] [stdout] | ^^^^^^^^^ help: use a byte literal instead: `b'G'` [INFO] [stdout] | [INFO] [stdout] = note: `char` is four bytes wide, but `u8` is a single byte [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#char_lit_as_u8 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting a character literal to `u8` truncates [INFO] [stdout] --> src/metrics/mod.rs:49:18 [INFO] [stdout] | [INFO] [stdout] 49 | m.insert('G' as u8, 'C' as u8); [INFO] [stdout] | ^^^^^^^^^ help: use a byte literal instead: `b'G'` [INFO] [stdout] | [INFO] [stdout] = note: `char` is four bytes wide, but `u8` is a single byte [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#char_lit_as_u8 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting a character literal to `u8` truncates [INFO] [stdout] --> src/metrics/mod.rs:49:29 [INFO] [stdout] | [INFO] [stdout] 49 | m.insert('G' as u8, 'C' as u8); [INFO] [stdout] | ^^^^^^^^^ help: use a byte literal instead: `b'C'` [INFO] [stdout] | [INFO] [stdout] = note: `char` is four bytes wide, but `u8` is a single byte [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#char_lit_as_u8 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting a character literal to `u8` truncates [INFO] [stdout] --> src/metrics/mod.rs:50:18 [INFO] [stdout] | [INFO] [stdout] 50 | m.insert('T' as u8, 'A' as u8); [INFO] [stdout] | ^^^^^^^^^ help: use a byte literal instead: `b'T'` [INFO] [stdout] | [INFO] [stdout] = note: `char` is four bytes wide, but `u8` is a single byte [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#char_lit_as_u8 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting a character literal to `u8` truncates [INFO] [stdout] --> src/metrics/mod.rs:50:29 [INFO] [stdout] | [INFO] [stdout] 50 | m.insert('T' as u8, 'A' as u8); [INFO] [stdout] | ^^^^^^^^^ help: use a byte literal instead: `b'A'` [INFO] [stdout] | [INFO] [stdout] = note: `char` is four bytes wide, but `u8` is a single byte [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#char_lit_as_u8 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: importing legacy numeric constants [INFO] [stdout] --> src/msa.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | usize, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: remove this import [INFO] [stdout] = note: then `usize::` will resolve to the respective associated constant [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#legacy_numeric_constants [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `filter` for `Ok` followed by `unwrap` [INFO] [stdout] --> src/msa.rs:38:10 [INFO] [stdout] | [INFO] [stdout] 38 | .filter(|rec| rec.is_ok()) [INFO] [stdout] | __________^ [INFO] [stdout] 39 | | .map(|rec| rec.unwrap()) [INFO] [stdout] | |________________________________^ help: consider using `flatten` instead: `flatten()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#result_filter_map [INFO] [stdout] = note: `#[warn(clippy::result_filter_map)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `map` over `inspect` [INFO] [stdout] --> src/msa.rs:34:10 [INFO] [stdout] | [INFO] [stdout] 34 | .map(|rec| { [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_inspect [INFO] [stdout] = note: `#[warn(clippy::manual_inspect)]` on by default [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 34 ~ .inspect(|rec| { [INFO] [stdout] 35 ~ pb.inc(1); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless conversion to the same type: `rust_htslib::bam::Records<'_, rust_htslib::bam::Reader>` [INFO] [stdout] --> src/msa.rs:31:23 [INFO] [stdout] | [INFO] [stdout] 31 | let all_records = reader [INFO] [stdout] | _______________________^ [INFO] [stdout] 32 | | .records() [INFO] [stdout] 33 | | .into_iter() [INFO] [stdout] | |____________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] help: consider removing `.into_iter()` [INFO] [stdout] | [INFO] [stdout] 31 ~ let all_records = reader [INFO] [stdout] 32 + .records() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/metrics/hp_tr_metric_v2.rs:149:17 [INFO] [stdout] | [INFO] [stdout] 149 | / if let Some(rpos) = rpos { [INFO] [stdout] 150 | | if let Some(motifs) = region2motif.get(&(rpos as usize)) { [INFO] [stdout] 151 | | motifs [INFO] [stdout] 152 | | .iter() [INFO] [stdout] ... | [INFO] [stdout] 166 | | } [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 149 ~ if let Some(rpos) = rpos [INFO] [stdout] 150 ~ && let Some(motifs) = region2motif.get(&(rpos as usize)) { [INFO] [stdout] 151 | motifs [INFO] [stdout] ... [INFO] [stdout] 164 | }); [INFO] [stdout] 165 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: explicit call to `.into_iter()` in function argument accepting `IntoIterator` [INFO] [stdout] --> src/msa.rs:74:14 [INFO] [stdout] | [INFO] [stdout] 74 | .zip(major_start_point.into_iter()) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: this parameter accepts any `IntoIterator`, so you don't need to call `.into_iter()` [INFO] [stdout] --> /rustc/91021ccc790478a1a89c003e7d32b8d155ae6aae/library/core/src/iter/traits/iterator.rs:629:11 [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] help: consider removing the `.into_iter()` [INFO] [stdout] | [INFO] [stdout] 74 - .zip(major_start_point.into_iter()) [INFO] [stdout] 74 + .zip(major_start_point) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: calls to `push` immediately after creation [INFO] [stdout] --> src/metrics/hp_tr_metric_v2.rs:180:13 [INFO] [stdout] | [INFO] [stdout] 180 | / let mut innner_items = vec![]; [INFO] [stdout] 181 | | innner_items.push(self.qname.as_ref().unwrap().clone()); [INFO] [stdout] 182 | | innner_items.push(self.tname.as_ref().unwrap().as_ref().clone()); [INFO] [stdout] 183 | | innner_items.push(key.as_ref().clone()); [INFO] [stdout] ... | [INFO] [stdout] 187 | | innner_items.push(counter.ins.to_string()); [INFO] [stdout] 188 | | innner_items.push(counter.del.to_string()); [INFO] [stdout] | |_______________________________________________________^ help: consider using the `vec![]` macro: `let innner_items = vec![..];` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#vec_init_then_push [INFO] [stdout] = note: `#[warn(clippy::vec_init_then_push)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/msa.rs:113:12 [INFO] [stdout] | [INFO] [stdout] 113 | if aligned_pair_full.len() == 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `aligned_pair_full.is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stdout] = note: `#[warn(clippy::len_zero)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field assignment outside of initializer for an instance created with Default::default() [INFO] [stdout] --> src/metrics/hp_tr_metric_v2.rs:253:9 [INFO] [stdout] | [INFO] [stdout] 253 | index_params.kmer = Some(11); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: consider initializing the variable with `mm2::params::IndexParams { kmer: Some(11), wins: Some(1) }` and removing relevant reassignments [INFO] [stdout] --> src/metrics/hp_tr_metric_v2.rs:252:9 [INFO] [stdout] | [INFO] [stdout] 252 | let mut index_params = IndexParams::default(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#field_reassign_with_default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary map of the identity function [INFO] [stdout] --> src/metrics/hp_tr_metric_v2.rs:245:21 [INFO] [stdout] | [INFO] [stdout] 245 | .take(1) [INFO] [stdout] | _____________________^ [INFO] [stdout] 246 | | .map(|v| v) [INFO] [stdout] | |_______________________^ help: remove the call to `map` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_identity [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/msa.rs:149:13 [INFO] [stdout] | [INFO] [stdout] 149 | / if let Some(qpos_) = qpos { [INFO] [stdout] 150 | | if qpos_ as usize >= query_end { [INFO] [stdout] ... | [INFO] [stdout] 160 | | } [INFO] [stdout] | |_____________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 149 ~ if let Some(qpos_) = qpos [INFO] [stdout] 150 ~ && qpos_ as usize >= query_end { [INFO] [stdout] 151 | // println!("query hit end: {}", qpos_); [INFO] [stdout] ... [INFO] [stdout] 158 | break; [INFO] [stdout] 159 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/msa.rs:218:14 [INFO] [stdout] | [INFO] [stdout] 218 | records: &Vec, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] = note: `#[warn(clippy::ptr_arg)]` on by default [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 218 - records: &Vec, [INFO] [stdout] 218 + records: &[Record], [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: empty string literal in `println!` [INFO] [stdout] --> src/metrics/hp_tr_metric_v2.rs:300:13 [INFO] [stdout] | [INFO] [stdout] 300 | println!(""); [INFO] [stdout] | ^^^^^^^^^--^ [INFO] [stdout] | | [INFO] [stdout] | help: remove the empty string [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#println_empty_string [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: empty string literal in `println!` [INFO] [stdout] --> src/metrics/hp_tr_metric_v2.rs:328:13 [INFO] [stdout] | [INFO] [stdout] 328 | println!(""); [INFO] [stdout] | ^^^^^^^^^--^ [INFO] [stdout] | | [INFO] [stdout] | help: remove the empty string [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#println_empty_string [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function call inside of `expect` [INFO] [stdout] --> src/main.rs:33:10 [INFO] [stdout] | [INFO] [stdout] 33 | .expect(&format!("create run log file error: {}", &log_filepath)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `unwrap_or_else(|_| panic!("create run log file error: {}", &log_filepath))` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#expect_fun_call [INFO] [stdout] = note: `#[warn(clippy::expect_fun_call)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary closure used to substitute value for `Result::Err` [INFO] [stdout] --> src/main.rs:42:9 [INFO] [stdout] | [INFO] [stdout] 42 | time::UtcOffset::current_local_offset().unwrap_or_else(|_| time::UtcOffset::UTC); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_lazy_evaluations [INFO] [stdout] = note: `#[warn(clippy::unnecessary_lazy_evaluations)]` on by default [INFO] [stdout] help: use `unwrap_or` instead [INFO] [stdout] | [INFO] [stdout] 42 - time::UtcOffset::current_local_offset().unwrap_or_else(|_| time::UtcOffset::UTC); [INFO] [stdout] 42 + time::UtcOffset::current_local_offset().unwrap_or(time::UtcOffset::UTC); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant closure [INFO] [stdout] --> src/metrics/hp_tr_tools.rs:69:14 [INFO] [stdout] | [INFO] [stdout] 69 | .map(|v| Some(v)) [INFO] [stdout] | ^^^^^^^^^^^ help: replace the closure with the tuple variant itself: `Some` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stdout] = note: `#[warn(clippy::redundant_closure)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: calling `as_bytes` after slicing a string [INFO] [stdout] --> src/metrics/hp_tr_tools.rs:59:13 [INFO] [stdout] | [INFO] [stdout] 59 | ori_query_seq[qstart..qend].as_bytes(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `&ori_query_seq.as_bytes()[qstart..qend]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#sliced_string_as_bytes [INFO] [stdout] = note: `#[warn(clippy::sliced_string_as_bytes)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` has identical blocks [INFO] [stdout] --> src/metrics/hp_tr_tools.rs:72:24 [INFO] [stdout] | [INFO] [stdout] 72 | if hits.is_empty() { [INFO] [stdout] | ________________________^ [INFO] [stdout] 73 | | None [INFO] [stdout] 74 | | } else if !hits[0].as_ref().unwrap().is_primary { [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] note: same as this [INFO] [stdout] --> src/metrics/hp_tr_tools.rs:74:53 [INFO] [stdout] | [INFO] [stdout] 74 | } else if !hits[0].as_ref().unwrap().is_primary { [INFO] [stdout] | _____________________________________________________^ [INFO] [stdout] 75 | | None [INFO] [stdout] 76 | | } else { [INFO] [stdout] | |_____^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#if_same_then_else [INFO] [stdout] = note: `#[warn(clippy::if_same_then_else)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/main.rs:163:26 [INFO] [stdout] | [INFO] [stdout] 163 | let target_name = if hits.len() > 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^ help: using `!is_empty` is clearer and more explicit: `!hits.is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting a character literal to `u8` truncates [INFO] [stdout] --> src/metrics/mod.rs:47:18 [INFO] [stdout] | [INFO] [stdout] 47 | m.insert('A' as u8, 'T' as u8); [INFO] [stdout] | ^^^^^^^^^ help: use a byte literal instead: `b'A'` [INFO] [stdout] | [INFO] [stdout] = note: `char` is four bytes wide, but `u8` is a single byte [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#char_lit_as_u8 [INFO] [stdout] = note: `#[warn(clippy::char_lit_as_u8)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting a character literal to `u8` truncates [INFO] [stdout] --> src/metrics/mod.rs:47:29 [INFO] [stdout] | [INFO] [stdout] 47 | m.insert('A' as u8, 'T' as u8); [INFO] [stdout] | ^^^^^^^^^ help: use a byte literal instead: `b'T'` [INFO] [stdout] | [INFO] [stdout] = note: `char` is four bytes wide, but `u8` is a single byte [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#char_lit_as_u8 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting a character literal to `u8` truncates [INFO] [stdout] --> src/metrics/mod.rs:48:18 [INFO] [stdout] | [INFO] [stdout] 48 | m.insert('C' as u8, 'G' as u8); [INFO] [stdout] | ^^^^^^^^^ help: use a byte literal instead: `b'C'` [INFO] [stdout] | [INFO] [stdout] = note: `char` is four bytes wide, but `u8` is a single byte [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#char_lit_as_u8 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting a character literal to `u8` truncates [INFO] [stdout] --> src/metrics/mod.rs:48:29 [INFO] [stdout] | [INFO] [stdout] 48 | m.insert('C' as u8, 'G' as u8); [INFO] [stdout] | ^^^^^^^^^ help: use a byte literal instead: `b'G'` [INFO] [stdout] | [INFO] [stdout] = note: `char` is four bytes wide, but `u8` is a single byte [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#char_lit_as_u8 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting a character literal to `u8` truncates [INFO] [stdout] --> src/metrics/mod.rs:49:18 [INFO] [stdout] | [INFO] [stdout] 49 | m.insert('G' as u8, 'C' as u8); [INFO] [stdout] | ^^^^^^^^^ help: use a byte literal instead: `b'G'` [INFO] [stdout] | [INFO] [stdout] = note: `char` is four bytes wide, but `u8` is a single byte [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#char_lit_as_u8 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting a character literal to `u8` truncates [INFO] [stdout] --> src/metrics/mod.rs:49:29 [INFO] [stdout] | [INFO] [stdout] 49 | m.insert('G' as u8, 'C' as u8); [INFO] [stdout] | ^^^^^^^^^ help: use a byte literal instead: `b'C'` [INFO] [stdout] | [INFO] [stdout] = note: `char` is four bytes wide, but `u8` is a single byte [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#char_lit_as_u8 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting a character literal to `u8` truncates [INFO] [stdout] --> src/metrics/mod.rs:50:18 [INFO] [stdout] | [INFO] [stdout] 50 | m.insert('T' as u8, 'A' as u8); [INFO] [stdout] | ^^^^^^^^^ help: use a byte literal instead: `b'T'` [INFO] [stdout] | [INFO] [stdout] = note: `char` is four bytes wide, but `u8` is a single byte [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#char_lit_as_u8 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting a character literal to `u8` truncates [INFO] [stdout] --> src/metrics/mod.rs:50:29 [INFO] [stdout] | [INFO] [stdout] 50 | m.insert('T' as u8, 'A' as u8); [INFO] [stdout] | ^^^^^^^^^ help: use a byte literal instead: `b'A'` [INFO] [stdout] | [INFO] [stdout] = note: `char` is four bytes wide, but `u8` is a single byte [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#char_lit_as_u8 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: importing legacy numeric constants [INFO] [stdout] --> src/msa.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | usize, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: remove this import [INFO] [stdout] = note: then `usize::` will resolve to the respective associated constant [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#legacy_numeric_constants [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/main.rs:185:27 [INFO] [stdout] | [INFO] [stdout] 185 | metric.compute_metric(&read_info); [INFO] [stdout] | ^^^^^^^^^^ help: change this to: `read_info` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function call inside of `expect` [INFO] [stdout] --> src/main.rs:195:44 [INFO] [stdout] | [INFO] [stdout] 195 | BufWriter::new(File::create(fname).expect(&format!("create file error: {}", fname))); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `unwrap_or_else(|_| panic!("create file error: {}", fname))` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#expect_fun_call [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `map(f)` on an `Option` value where `f` is a closure that returns the unit type `()` [INFO] [stdout] --> src/main.rs:209:9 [INFO] [stdout] | [INFO] [stdout] 209 | pb.as_ref().map(|v| v.inc(1)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#option_map_unit_fn [INFO] [stdout] = note: `#[warn(clippy::option_map_unit_fn)]` on by default [INFO] [stdout] help: use `if let` instead [INFO] [stdout] | [INFO] [stdout] 209 - pb.as_ref().map(|v| v.inc(1)); [INFO] [stdout] 209 + if let Some(v) = pb.as_ref() { v.inc(1) } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `filter` for `Ok` followed by `unwrap` [INFO] [stdout] --> src/msa.rs:38:10 [INFO] [stdout] | [INFO] [stdout] 38 | .filter(|rec| rec.is_ok()) [INFO] [stdout] | __________^ [INFO] [stdout] 39 | | .map(|rec| rec.unwrap()) [INFO] [stdout] | |________________________________^ help: consider using `flatten` instead: `flatten()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#result_filter_map [INFO] [stdout] = note: `#[warn(clippy::result_filter_map)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `map` over `inspect` [INFO] [stdout] --> src/msa.rs:34:10 [INFO] [stdout] | [INFO] [stdout] 34 | .map(|rec| { [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_inspect [INFO] [stdout] = note: `#[warn(clippy::manual_inspect)]` on by default [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 34 ~ .inspect(|rec| { [INFO] [stdout] 35 ~ pb.inc(1); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless conversion to the same type: `rust_htslib::bam::Records<'_, rust_htslib::bam::Reader>` [INFO] [stdout] --> src/msa.rs:31:23 [INFO] [stdout] | [INFO] [stdout] 31 | let all_records = reader [INFO] [stdout] | _______________________^ [INFO] [stdout] 32 | | .records() [INFO] [stdout] 33 | | .into_iter() [INFO] [stdout] | |____________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] help: consider removing `.into_iter()` [INFO] [stdout] | [INFO] [stdout] 31 ~ let all_records = reader [INFO] [stdout] 32 + .records() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `map(f)` on an `Option` value where `f` is a closure that returns the unit type `()` [INFO] [stdout] --> src/main.rs:216:5 [INFO] [stdout] | [INFO] [stdout] 216 | pb.as_ref().map(|v| v.finish()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#option_map_unit_fn [INFO] [stdout] help: use `if let` instead [INFO] [stdout] | [INFO] [stdout] 216 - pb.as_ref().map(|v| v.finish()); [INFO] [stdout] 216 + if let Some(v) = pb.as_ref() { v.finish() } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `vec!` [INFO] [stdout] --> src/metrics/hp_metric.rs:37:26 [INFO] [stdout] | [INFO] [stdout] 37 | let csv_header = vec![ [INFO] [stdout] | __________________________^ [INFO] [stdout] 38 | | "qname".to_string(), [INFO] [stdout] 39 | | "rname".to_string(), [INFO] [stdout] 40 | | "motif".to_string(), [INFO] [stdout] ... | [INFO] [stdout] 43 | | "num".to_string(), [INFO] [stdout] 44 | | ]; [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stdout] = note: `#[warn(clippy::useless_vec)]` on by default [INFO] [stdout] help: you can use an array directly [INFO] [stdout] | [INFO] [stdout] 37 ~ let csv_header = ["qname".to_string(), [INFO] [stdout] 38 + "rname".to_string(), [INFO] [stdout] 39 + "motif".to_string(), [INFO] [stdout] 40 + "tag".to_string(), [INFO] [stdout] 41 + "called".to_string(), [INFO] [stdout] 42 ~ "num".to_string()]; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `vec!` [INFO] [stdout] --> src/metrics/hp_metric_v2.rs:47:26 [INFO] [stdout] | [INFO] [stdout] 47 | let csv_header = vec![ [INFO] [stdout] | __________________________^ [INFO] [stdout] 48 | | "qname".to_string(), [INFO] [stdout] 49 | | "rname".to_string(), [INFO] [stdout] 50 | | "motif".to_string(), [INFO] [stdout] ... | [INFO] [stdout] 53 | | "num".to_string(), [INFO] [stdout] 54 | | ]; [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stdout] help: you can use an array directly [INFO] [stdout] | [INFO] [stdout] 47 ~ let csv_header = ["qname".to_string(), [INFO] [stdout] 48 + "rname".to_string(), [INFO] [stdout] 49 + "motif".to_string(), [INFO] [stdout] 50 + "tag".to_string(), [INFO] [stdout] 51 + "called".to_string(), [INFO] [stdout] 52 ~ "num".to_string()]; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `vec!` [INFO] [stdout] --> src/metrics/hp_tr_metric.rs:45:26 [INFO] [stdout] | [INFO] [stdout] 45 | let csv_header = vec![ [INFO] [stdout] | __________________________^ [INFO] [stdout] 46 | | "qname".to_string(), [INFO] [stdout] 47 | | "rname".to_string(), [INFO] [stdout] 48 | | "motif".to_string(), [INFO] [stdout] ... | [INFO] [stdout] 52 | | "del".to_string(), [INFO] [stdout] 53 | | ]; [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stdout] help: you can use an array directly [INFO] [stdout] | [INFO] [stdout] 45 ~ let csv_header = ["qname".to_string(), [INFO] [stdout] 46 + "rname".to_string(), [INFO] [stdout] 47 + "motif".to_string(), [INFO] [stdout] 48 + "eq".to_string(), [INFO] [stdout] 49 + "diff".to_string(), [INFO] [stdout] 50 + "ins".to_string(), [INFO] [stdout] 51 ~ "del".to_string()]; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `vec!` [INFO] [stdout] --> src/metrics/hp_tr_metric_v2.rs:60:26 [INFO] [stdout] | [INFO] [stdout] 60 | let csv_header = vec![ [INFO] [stdout] | __________________________^ [INFO] [stdout] 61 | | "qname".to_string(), [INFO] [stdout] 62 | | "rname".to_string(), [INFO] [stdout] 63 | | "motif".to_string(), [INFO] [stdout] ... | [INFO] [stdout] 67 | | "del".to_string(), [INFO] [stdout] 68 | | ]; [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stdout] help: you can use an array directly [INFO] [stdout] | [INFO] [stdout] 60 ~ let csv_header = ["qname".to_string(), [INFO] [stdout] 61 + "rname".to_string(), [INFO] [stdout] 62 + "motif".to_string(), [INFO] [stdout] 63 + "eq".to_string(), [INFO] [stdout] 64 + "diff".to_string(), [INFO] [stdout] 65 + "ins".to_string(), [INFO] [stdout] 66 ~ "del".to_string()]; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: explicit call to `.into_iter()` in function argument accepting `IntoIterator` [INFO] [stdout] --> src/msa.rs:74:14 [INFO] [stdout] | [INFO] [stdout] 74 | .zip(major_start_point.into_iter()) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: this parameter accepts any `IntoIterator`, so you don't need to call `.into_iter()` [INFO] [stdout] --> /rustc/91021ccc790478a1a89c003e7d32b8d155ae6aae/library/core/src/iter/traits/iterator.rs:629:11 [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] help: consider removing the `.into_iter()` [INFO] [stdout] | [INFO] [stdout] 74 - .zip(major_start_point.into_iter()) [INFO] [stdout] 74 + .zip(major_start_point) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/msa.rs:113:12 [INFO] [stdout] | [INFO] [stdout] 113 | if aligned_pair_full.len() == 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `aligned_pair_full.is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stdout] = note: `#[warn(clippy::len_zero)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/msa.rs:149:13 [INFO] [stdout] | [INFO] [stdout] 149 | / if let Some(qpos_) = qpos { [INFO] [stdout] 150 | | if qpos_ as usize >= query_end { [INFO] [stdout] ... | [INFO] [stdout] 160 | | } [INFO] [stdout] | |_____________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 149 ~ if let Some(qpos_) = qpos [INFO] [stdout] 150 ~ && qpos_ as usize >= query_end { [INFO] [stdout] 151 | // println!("query hit end: {}", qpos_); [INFO] [stdout] ... [INFO] [stdout] 158 | break; [INFO] [stdout] 159 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/msa.rs:218:14 [INFO] [stdout] | [INFO] [stdout] 218 | records: &Vec, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] = note: `#[warn(clippy::ptr_arg)]` on by default [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 218 - records: &Vec, [INFO] [stdout] 218 + records: &[Record], [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function call inside of `expect` [INFO] [stdout] --> src/main.rs:33:10 [INFO] [stdout] | [INFO] [stdout] 33 | .expect(&format!("create run log file error: {}", &log_filepath)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `unwrap_or_else(|_| panic!("create run log file error: {}", &log_filepath))` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#expect_fun_call [INFO] [stdout] = note: `#[warn(clippy::expect_fun_call)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary closure used to substitute value for `Result::Err` [INFO] [stdout] --> src/main.rs:42:9 [INFO] [stdout] | [INFO] [stdout] 42 | time::UtcOffset::current_local_offset().unwrap_or_else(|_| time::UtcOffset::UTC); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_lazy_evaluations [INFO] [stdout] = note: `#[warn(clippy::unnecessary_lazy_evaluations)]` on by default [INFO] [stdout] help: use `unwrap_or` instead [INFO] [stdout] | [INFO] [stdout] 42 - time::UtcOffset::current_local_offset().unwrap_or_else(|_| time::UtcOffset::UTC); [INFO] [stdout] 42 + time::UtcOffset::current_local_offset().unwrap_or(time::UtcOffset::UTC); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/main.rs:163:26 [INFO] [stdout] | [INFO] [stdout] 163 | let target_name = if hits.len() > 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^ help: using `!is_empty` is clearer and more explicit: `!hits.is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/main.rs:185:27 [INFO] [stdout] | [INFO] [stdout] 185 | metric.compute_metric(&read_info); [INFO] [stdout] | ^^^^^^^^^^ help: change this to: `read_info` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function call inside of `expect` [INFO] [stdout] --> src/main.rs:195:44 [INFO] [stdout] | [INFO] [stdout] 195 | BufWriter::new(File::create(fname).expect(&format!("create file error: {}", fname))); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `unwrap_or_else(|_| panic!("create file error: {}", fname))` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#expect_fun_call [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `map(f)` on an `Option` value where `f` is a closure that returns the unit type `()` [INFO] [stdout] --> src/main.rs:209:9 [INFO] [stdout] | [INFO] [stdout] 209 | pb.as_ref().map(|v| v.inc(1)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#option_map_unit_fn [INFO] [stdout] = note: `#[warn(clippy::option_map_unit_fn)]` on by default [INFO] [stdout] help: use `if let` instead [INFO] [stdout] | [INFO] [stdout] 209 - pb.as_ref().map(|v| v.inc(1)); [INFO] [stdout] 209 + if let Some(v) = pb.as_ref() { v.inc(1) } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `map(f)` on an `Option` value where `f` is a closure that returns the unit type `()` [INFO] [stdout] --> src/main.rs:216:5 [INFO] [stdout] | [INFO] [stdout] 216 | pb.as_ref().map(|v| v.finish()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#option_map_unit_fn [INFO] [stdout] help: use `if let` instead [INFO] [stdout] | [INFO] [stdout] 216 - pb.as_ref().map(|v| v.finish()); [INFO] [stdout] 216 + if let Some(v) = pb.as_ref() { v.finish() } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `vec!` [INFO] [stdout] --> src/metrics/hp_metric.rs:37:26 [INFO] [stdout] | [INFO] [stdout] 37 | let csv_header = vec![ [INFO] [stdout] | __________________________^ [INFO] [stdout] 38 | | "qname".to_string(), [INFO] [stdout] 39 | | "rname".to_string(), [INFO] [stdout] 40 | | "motif".to_string(), [INFO] [stdout] ... | [INFO] [stdout] 43 | | "num".to_string(), [INFO] [stdout] 44 | | ]; [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stdout] = note: `#[warn(clippy::useless_vec)]` on by default [INFO] [stdout] help: you can use an array directly [INFO] [stdout] | [INFO] [stdout] 37 ~ let csv_header = ["qname".to_string(), [INFO] [stdout] 38 + "rname".to_string(), [INFO] [stdout] 39 + "motif".to_string(), [INFO] [stdout] 40 + "tag".to_string(), [INFO] [stdout] 41 + "called".to_string(), [INFO] [stdout] 42 ~ "num".to_string()]; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `vec!` [INFO] [stdout] --> src/metrics/hp_metric_v2.rs:47:26 [INFO] [stdout] | [INFO] [stdout] 47 | let csv_header = vec![ [INFO] [stdout] | __________________________^ [INFO] [stdout] 48 | | "qname".to_string(), [INFO] [stdout] 49 | | "rname".to_string(), [INFO] [stdout] 50 | | "motif".to_string(), [INFO] [stdout] ... | [INFO] [stdout] 53 | | "num".to_string(), [INFO] [stdout] 54 | | ]; [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stdout] help: you can use an array directly [INFO] [stdout] | [INFO] [stdout] 47 ~ let csv_header = ["qname".to_string(), [INFO] [stdout] 48 + "rname".to_string(), [INFO] [stdout] 49 + "motif".to_string(), [INFO] [stdout] 50 + "tag".to_string(), [INFO] [stdout] 51 + "called".to_string(), [INFO] [stdout] 52 ~ "num".to_string()]; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `vec!` [INFO] [stdout] --> src/metrics/hp_tr_metric.rs:45:26 [INFO] [stdout] | [INFO] [stdout] 45 | let csv_header = vec![ [INFO] [stdout] | __________________________^ [INFO] [stdout] 46 | | "qname".to_string(), [INFO] [stdout] 47 | | "rname".to_string(), [INFO] [stdout] 48 | | "motif".to_string(), [INFO] [stdout] ... | [INFO] [stdout] 52 | | "del".to_string(), [INFO] [stdout] 53 | | ]; [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stdout] help: you can use an array directly [INFO] [stdout] | [INFO] [stdout] 45 ~ let csv_header = ["qname".to_string(), [INFO] [stdout] 46 + "rname".to_string(), [INFO] [stdout] 47 + "motif".to_string(), [INFO] [stdout] 48 + "eq".to_string(), [INFO] [stdout] 49 + "diff".to_string(), [INFO] [stdout] 50 + "ins".to_string(), [INFO] [stdout] 51 ~ "del".to_string()]; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `vec!` [INFO] [stdout] --> src/metrics/hp_tr_metric_v2.rs:60:26 [INFO] [stdout] | [INFO] [stdout] 60 | let csv_header = vec![ [INFO] [stdout] | __________________________^ [INFO] [stdout] 61 | | "qname".to_string(), [INFO] [stdout] 62 | | "rname".to_string(), [INFO] [stdout] 63 | | "motif".to_string(), [INFO] [stdout] ... | [INFO] [stdout] 67 | | "del".to_string(), [INFO] [stdout] 68 | | ]; [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stdout] help: you can use an array directly [INFO] [stdout] | [INFO] [stdout] 60 ~ let csv_header = ["qname".to_string(), [INFO] [stdout] 61 + "rname".to_string(), [INFO] [stdout] 62 + "motif".to_string(), [INFO] [stdout] 63 + "eq".to_string(), [INFO] [stdout] 64 + "diff".to_string(), [INFO] [stdout] 65 + "ins".to_string(), [INFO] [stdout] 66 ~ "del".to_string()]; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 3m 00s [INFO] running `Command { std: "docker" "inspect" "6767261bb847aaa87b6c7cd4cff91fcbad9f35092a10ad621a5835b4ab5a36d2", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "6767261bb847aaa87b6c7cd4cff91fcbad9f35092a10ad621a5835b4ab5a36d2", kill_on_drop: false }` [INFO] [stdout] 6767261bb847aaa87b6c7cd4cff91fcbad9f35092a10ad621a5835b4ab5a36d2