[INFO] crate rust-bio-tools 0.2.6 is already in cache [INFO] extracting crate rust-bio-tools 0.2.6 into work/ex/clippy-test-run/sources/stable/reg/rust-bio-tools/0.2.6 [INFO] extracting crate rust-bio-tools 0.2.6 into work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/rust-bio-tools/0.2.6 [INFO] validating manifest of rust-bio-tools-0.2.6 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 rust-bio-tools-0.2.6 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 rust-bio-tools-0.2.6 [INFO] finished frobbing rust-bio-tools-0.2.6 [INFO] frobbed toml for rust-bio-tools-0.2.6 written to work/ex/clippy-test-run/sources/stable/reg/rust-bio-tools/0.2.6/Cargo.toml [INFO] started frobbing rust-bio-tools-0.2.6 [INFO] finished frobbing rust-bio-tools-0.2.6 [INFO] frobbed toml for rust-bio-tools-0.2.6 written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/rust-bio-tools/0.2.6/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 rust-bio-tools-0.2.6 against stable for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-6/stable:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable/reg/rust-bio-tools/0.2.6:/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] e73265e623fa7a547fd36cc3071134e584c31e948e21ea48a10f348a760004ba [INFO] running `"docker" "start" "-a" "e73265e623fa7a547fd36cc3071134e584c31e948e21ea48a10f348a760004ba"` [INFO] [stderr] Compiling ndarray v0.9.1 [INFO] [stderr] Checking ieee754 v0.2.6 [INFO] [stderr] Compiling fs-utils v1.1.0 [INFO] [stderr] Checking fern v0.4.4 [INFO] [stderr] Checking csv v0.15.0 [INFO] [stderr] Checking newtype_derive v0.1.6 [INFO] [stderr] Checking multimap v0.4.0 [INFO] [stderr] Checking vec_map v0.8.1 [INFO] [stderr] Compiling rust-htslib v0.15.0 [INFO] [stderr] Checking clap v2.32.0 [INFO] [stderr] Checking bio v0.14.2 [INFO] [stderr] Checking rust-bio-tools v0.2.6 (/opt/crater/workdir) [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/bcf/to_txt.rs:20:13 [INFO] [stderr] | [INFO] [stderr] 20 | inner: inner, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `inner` [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/bcf/match_variants.rs:39:13 [INFO] [stderr] | [INFO] [stderr] 39 | inner: inner, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `inner` [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/bcf/match_variants.rs:40:13 [INFO] [stderr] | [INFO] [stderr] 40 | max_dist: max_dist [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `max_dist` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/bcf/match_variants.rs:185:13 [INFO] [stderr] | [INFO] [stderr] 185 | pos: pos, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `pos` [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/bcf/to_txt.rs:20:13 [INFO] [stderr] | [INFO] [stderr] 20 | inner: inner, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `inner` [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/bcf/match_variants.rs:39:13 [INFO] [stderr] | [INFO] [stderr] 39 | inner: inner, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `inner` [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/bcf/match_variants.rs:40:13 [INFO] [stderr] | [INFO] [stderr] 40 | max_dist: max_dist [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `max_dist` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/bcf/match_variants.rs:185:13 [INFO] [stderr] | [INFO] [stderr] 185 | pos: pos, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `pos` [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: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/bcf/to_txt.rs:54:23 [INFO] [stderr] | [INFO] [stderr] 54 | const HEADER_COMMON: &'static [u8] = b"VARIANT"; [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] error: handle written amount returned or use `Write::write_all` instead [INFO] [stderr] --> src/bcf/to_txt.rs:39:13 [INFO] [stderr] | [INFO] [stderr] 39 | try!(self.inner.write(b"\t")); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::unused_io_amount)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_io_amount [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error: handle written amount returned or use `Write::write_all` instead [INFO] [stderr] --> src/bcf/to_txt.rs:41:9 [INFO] [stderr] | [INFO] [stderr] 41 | try!(self.inner.write(value)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_io_amount [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error: handle written amount returned or use `Write::write_all` instead [INFO] [stderr] --> src/bcf/to_txt.rs:47:9 [INFO] [stderr] | [INFO] [stderr] 47 | try!(self.inner.write(b"\n")); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_io_amount [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: use of `or_insert` followed by a function call [INFO] [stderr] --> src/bcf/match_variants.rs:28:58 [INFO] [stderr] | [INFO] [stderr] 28 | let recs = inner.entry(chrom.to_owned()).or_insert(BTreeMap::new()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `or_insert_with(BTreeMap::new)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::or_fun_call)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: redundant closure found [INFO] [stderr] --> src/bcf/match_variants.rs:29:54 [INFO] [stderr] | [INFO] [stderr] 29 | recs.entry(rec.pos()).or_insert_with(|| Vec::new()).push(Variant::new(&mut rec, &mut i)?); [INFO] [stderr] | ^^^^^^^^^^^^^ help: remove closure as shown: `Vec::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: you don't need to add `&` to all patterns [INFO] [stderr] --> src/bcf/match_variants.rs:193:9 [INFO] [stderr] | [INFO] [stderr] 193 | / match allele { [INFO] [stderr] 194 | | &VariantType::SNV(_) => self.pos, [INFO] [stderr] 195 | | &VariantType::Insertion(_) => self.pos, [INFO] [stderr] 196 | | &VariantType::Deletion(len) => (self.pos as f64 + len as f64 / 2.0) as u32, [INFO] [stderr] 197 | | &VariantType::Unsupported => panic!("Unsupported variant.") [INFO] [stderr] 198 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::match_ref_pats)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 193 | match *allele { [INFO] [stderr] 194 | VariantType::SNV(_) => self.pos, [INFO] [stderr] 195 | VariantType::Insertion(_) => self.pos, [INFO] [stderr] 196 | VariantType::Deletion(len) => (self.pos as f64 + len as f64 / 2.0) as u32, [INFO] [stderr] 197 | VariantType::Unsupported => panic!("Unsupported variant.") [INFO] [stderr] | [INFO] [stderr] warning: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/bcf/to_txt.rs:54:23 [INFO] [stderr] | [INFO] [stderr] 54 | const HEADER_COMMON: &'static [u8] = b"VARIANT"; [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] [INFO] [stderr] warning: casting u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/bcf/match_variants.rs:196:45 [INFO] [stderr] | [INFO] [stderr] 196 | &VariantType::Deletion(len) => (self.pos as f64 + len as f64 / 2.0) as u32, [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `f64::from(self.pos)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::cast_lossless)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/bcf/match_variants.rs:196:63 [INFO] [stderr] | [INFO] [stderr] 196 | &VariantType::Deletion(len) => (self.pos as f64 + len as f64 / 2.0) as u32, [INFO] [stderr] | ^^^^^^^^^^ help: try: `f64::from(len)` [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: you don't need to add `&` to all patterns [INFO] [stderr] --> src/bcf/match_variants.rs:246:9 [INFO] [stderr] | [INFO] [stderr] 246 | / match self { [INFO] [stderr] 247 | | &VariantType::Unsupported => true, [INFO] [stderr] 248 | | _ => false [INFO] [stderr] 249 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 246 | match *self { [INFO] [stderr] 247 | VariantType::Unsupported => true, [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: this .into_iter() call is equivalent to .iter() and will not move the slice [INFO] [stderr] --> src/bcf/baf.rs:37:56 [INFO] [stderr] | [INFO] [stderr] 37 | sample_alt_depth.into_iter().sum::(); [INFO] [stderr] | ^^^^^^^^^ help: call directly: `iter` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::into_iter_on_ref)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#into_iter_on_ref [INFO] [stderr] [INFO] [stderr] warning: the function has a cyclomatic complexity of 32 [INFO] [stderr] --> src/main.rs:25:1 [INFO] [stderr] | [INFO] [stderr] 25 | / fn main() { [INFO] [stderr] 26 | | let yaml = load_yaml!("cli.yaml"); [INFO] [stderr] 27 | | let matches = App::from_yaml(yaml) [INFO] [stderr] 28 | | .version(env!("CARGO_PKG_VERSION")) [INFO] [stderr] ... | [INFO] [stderr] 94 | | } [INFO] [stderr] 95 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::cyclomatic_complexity)] on by default [INFO] [stderr] = help: you could split it up into multiple smaller functions [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cyclomatic_complexity [INFO] [stderr] [INFO] [stderr] warning: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/main.rs:73:75 [INFO] [stderr] | [INFO] [stderr] 73 | &matches.values_of("info").map(|values| values.collect_vec()).unwrap_or(vec![]), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|| vec![])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/main.rs:74:77 [INFO] [stderr] | [INFO] [stderr] 74 | &matches.values_of("format").map(|values| values.collect_vec()).unwrap_or(vec![]), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|| vec![])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: redundant pattern matching, consider using `is_some()` [INFO] [stderr] --> src/main.rs:89:19 [INFO] [stderr] | [INFO] [stderr] 89 | } else if let Some(_) = matches.subcommand_matches("vcf-baf") { [INFO] [stderr] | ____________- ^^^^^^^ [INFO] [stderr] 90 | | if let Err(e) = bcf::baf::calculate_baf() { [INFO] [stderr] 91 | | error!("{}", e); [INFO] [stderr] 92 | | process::exit(1); [INFO] [stderr] 93 | | } [INFO] [stderr] 94 | | } [INFO] [stderr] | |_____- help: try this: `if matches.subcommand_matches("vcf-baf").is_some()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_pattern_matching)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stderr] [INFO] [stderr] error: aborting due to 3 previous errors [INFO] [stderr] [INFO] [stderr] error: Could not compile `rust-bio-tools`. [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stderr] error: handle written amount returned or use `Write::write_all` instead [INFO] [stderr] --> src/bcf/to_txt.rs:39:13 [INFO] [stderr] | [INFO] [stderr] 39 | try!(self.inner.write(b"\t")); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::unused_io_amount)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_io_amount [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error: handle written amount returned or use `Write::write_all` instead [INFO] [stderr] --> src/bcf/to_txt.rs:41:9 [INFO] [stderr] | [INFO] [stderr] 41 | try!(self.inner.write(value)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_io_amount [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error: handle written amount returned or use `Write::write_all` instead [INFO] [stderr] --> src/bcf/to_txt.rs:47:9 [INFO] [stderr] | [INFO] [stderr] 47 | try!(self.inner.write(b"\n")); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_io_amount [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: use of `or_insert` followed by a function call [INFO] [stderr] --> src/bcf/match_variants.rs:28:58 [INFO] [stderr] | [INFO] [stderr] 28 | let recs = inner.entry(chrom.to_owned()).or_insert(BTreeMap::new()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `or_insert_with(BTreeMap::new)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::or_fun_call)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: redundant closure found [INFO] [stderr] --> src/bcf/match_variants.rs:29:54 [INFO] [stderr] | [INFO] [stderr] 29 | recs.entry(rec.pos()).or_insert_with(|| Vec::new()).push(Variant::new(&mut rec, &mut i)?); [INFO] [stderr] | ^^^^^^^^^^^^^ help: remove closure as shown: `Vec::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: you don't need to add `&` to all patterns [INFO] [stderr] --> src/bcf/match_variants.rs:193:9 [INFO] [stderr] | [INFO] [stderr] 193 | / match allele { [INFO] [stderr] 194 | | &VariantType::SNV(_) => self.pos, [INFO] [stderr] 195 | | &VariantType::Insertion(_) => self.pos, [INFO] [stderr] 196 | | &VariantType::Deletion(len) => (self.pos as f64 + len as f64 / 2.0) as u32, [INFO] [stderr] 197 | | &VariantType::Unsupported => panic!("Unsupported variant.") [INFO] [stderr] 198 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::match_ref_pats)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 193 | match *allele { [INFO] [stderr] 194 | VariantType::SNV(_) => self.pos, [INFO] [stderr] 195 | VariantType::Insertion(_) => self.pos, [INFO] [stderr] 196 | VariantType::Deletion(len) => (self.pos as f64 + len as f64 / 2.0) as u32, [INFO] [stderr] 197 | VariantType::Unsupported => panic!("Unsupported variant.") [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: casting u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/bcf/match_variants.rs:196:45 [INFO] [stderr] | [INFO] [stderr] 196 | &VariantType::Deletion(len) => (self.pos as f64 + len as f64 / 2.0) as u32, [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `f64::from(self.pos)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::cast_lossless)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/bcf/match_variants.rs:196:63 [INFO] [stderr] | [INFO] [stderr] 196 | &VariantType::Deletion(len) => (self.pos as f64 + len as f64 / 2.0) as u32, [INFO] [stderr] | ^^^^^^^^^^ help: try: `f64::from(len)` [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: you don't need to add `&` to all patterns [INFO] [stderr] --> src/bcf/match_variants.rs:246:9 [INFO] [stderr] | [INFO] [stderr] 246 | / match self { [INFO] [stderr] 247 | | &VariantType::Unsupported => true, [INFO] [stderr] 248 | | _ => false [INFO] [stderr] 249 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 246 | match *self { [INFO] [stderr] 247 | VariantType::Unsupported => true, [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: this .into_iter() call is equivalent to .iter() and will not move the slice [INFO] [stderr] --> src/bcf/baf.rs:37:56 [INFO] [stderr] | [INFO] [stderr] 37 | sample_alt_depth.into_iter().sum::(); [INFO] [stderr] | ^^^^^^^^^ help: call directly: `iter` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::into_iter_on_ref)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#into_iter_on_ref [INFO] [stderr] [INFO] [stderr] warning: the function has a cyclomatic complexity of 32 [INFO] [stderr] --> src/main.rs:25:1 [INFO] [stderr] | [INFO] [stderr] 25 | / fn main() { [INFO] [stderr] 26 | | let yaml = load_yaml!("cli.yaml"); [INFO] [stderr] 27 | | let matches = App::from_yaml(yaml) [INFO] [stderr] 28 | | .version(env!("CARGO_PKG_VERSION")) [INFO] [stderr] ... | [INFO] [stderr] 94 | | } [INFO] [stderr] 95 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::cyclomatic_complexity)] on by default [INFO] [stderr] = help: you could split it up into multiple smaller functions [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cyclomatic_complexity [INFO] [stderr] [INFO] [stderr] warning: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/main.rs:73:75 [INFO] [stderr] | [INFO] [stderr] 73 | &matches.values_of("info").map(|values| values.collect_vec()).unwrap_or(vec![]), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|| vec![])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/main.rs:74:77 [INFO] [stderr] | [INFO] [stderr] 74 | &matches.values_of("format").map(|values| values.collect_vec()).unwrap_or(vec![]), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|| vec![])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: redundant pattern matching, consider using `is_some()` [INFO] [stderr] --> src/main.rs:89:19 [INFO] [stderr] | [INFO] [stderr] 89 | } else if let Some(_) = matches.subcommand_matches("vcf-baf") { [INFO] [stderr] | ____________- ^^^^^^^ [INFO] [stderr] 90 | | if let Err(e) = bcf::baf::calculate_baf() { [INFO] [stderr] 91 | | error!("{}", e); [INFO] [stderr] 92 | | process::exit(1); [INFO] [stderr] 93 | | } [INFO] [stderr] 94 | | } [INFO] [stderr] | |_____- help: try this: `if matches.subcommand_matches("vcf-baf").is_some()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_pattern_matching)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stderr] [INFO] [stderr] error: aborting due to 3 previous errors [INFO] [stderr] [INFO] [stderr] error: Could not compile `rust-bio-tools`. [INFO] [stderr] [INFO] [stderr] To learn more, run the command again with --verbose. [INFO] running `"docker" "inspect" "e73265e623fa7a547fd36cc3071134e584c31e948e21ea48a10f348a760004ba"` [INFO] running `"docker" "rm" "-f" "e73265e623fa7a547fd36cc3071134e584c31e948e21ea48a10f348a760004ba"` [INFO] [stdout] e73265e623fa7a547fd36cc3071134e584c31e948e21ea48a10f348a760004ba