[INFO] crate drux 0.3.2 is already in cache [INFO] extracting crate drux 0.3.2 into work/ex/clippy-test-run/sources/stable/reg/drux/0.3.2 [INFO] extracting crate drux 0.3.2 into work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/drux/0.3.2 [INFO] validating manifest of drux-0.3.2 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 drux-0.3.2 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 drux-0.3.2 [INFO] finished frobbing drux-0.3.2 [INFO] frobbed toml for drux-0.3.2 written to work/ex/clippy-test-run/sources/stable/reg/drux/0.3.2/Cargo.toml [INFO] started frobbing drux-0.3.2 [INFO] finished frobbing drux-0.3.2 [INFO] frobbed toml for drux-0.3.2 written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/drux/0.3.2/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 drux-0.3.2 against stable for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-0/stable:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable/reg/drux/0.3.2:/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] b3a2e4a82ab7989e586ff8e16412f0d2bec7e6091ba7defef72c97478a7649cf [INFO] running `"docker" "start" "-a" "b3a2e4a82ab7989e586ff8e16412f0d2bec7e6091ba7defef72c97478a7649cf"` [INFO] [stderr] Checking drux v0.3.2 (/opt/crater/workdir) [INFO] [stderr] warning: unused `#[macro_use]` import [INFO] [stderr] --> src/main.rs:13:1 [INFO] [stderr] | [INFO] [stderr] 13 | #[macro_use] [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_imports)] on by default [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/main.rs:59:13 [INFO] [stderr] | [INFO] [stderr] 59 | current_git_branch: _, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::unneeded_field_pattern)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/main.rs:60:13 [INFO] [stderr] | [INFO] [stderr] 60 | git_branches: _, [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/main.rs:61:13 [INFO] [stderr] | [INFO] [stderr] 61 | upstream_git_tags: _, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `Environment { debcargo_toml, manifest, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/main.rs:197:13 [INFO] [stderr] | [INFO] [stderr] 197 | current_git_branch: _, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/main.rs:198:13 [INFO] [stderr] | [INFO] [stderr] 198 | git_branches: _, [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/main.rs:199:13 [INFO] [stderr] | [INFO] [stderr] 199 | upstream_git_tags: _, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `Environment { debcargo_toml, manifest, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: this if statement can be collapsed [INFO] [stderr] --> src/main.rs:586:20 [INFO] [stderr] | [INFO] [stderr] 586 | } else if !repo_pattern.is_match(¤t_git_branch) { [INFO] [stderr] | ____________________^ [INFO] [stderr] 587 | | if !self.git_ignore_branch { [INFO] [stderr] 588 | | bail!( [INFO] [stderr] 589 | | "You must be working on either a /master, \ [INFO] [stderr] ... | [INFO] [stderr] 592 | | }; [INFO] [stderr] 593 | | } [INFO] [stderr] | |_____________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::collapsible_if)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 586 | } else if !repo_pattern.is_match(¤t_git_branch) && !self.git_ignore_branch { [INFO] [stderr] 587 | bail!( [INFO] [stderr] 588 | "You must be working on either a /master, \ [INFO] [stderr] 589 | /debian or /repo/ branch." [INFO] [stderr] 590 | ) [INFO] [stderr] 591 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/main.rs:727:13 [INFO] [stderr] | [INFO] [stderr] 727 | current_git_branch: _, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/main.rs:728:13 [INFO] [stderr] | [INFO] [stderr] 728 | git_branches: _, [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/main.rs:729:13 [INFO] [stderr] | [INFO] [stderr] 729 | upstream_git_tags: _, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/main.rs:730:13 [INFO] [stderr] | [INFO] [stderr] 730 | debcargo_toml: _, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `Environment { manifest, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: unused `#[macro_use]` import [INFO] [stderr] --> src/main.rs:13:1 [INFO] [stderr] | [INFO] [stderr] 13 | #[macro_use] [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_imports)] on by default [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/main.rs:59:13 [INFO] [stderr] | [INFO] [stderr] 59 | current_git_branch: _, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::unneeded_field_pattern)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/main.rs:60:13 [INFO] [stderr] | [INFO] [stderr] 60 | git_branches: _, [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/main.rs:61:13 [INFO] [stderr] | [INFO] [stderr] 61 | upstream_git_tags: _, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `Environment { debcargo_toml, manifest, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/main.rs:197:13 [INFO] [stderr] | [INFO] [stderr] 197 | current_git_branch: _, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/main.rs:198:13 [INFO] [stderr] | [INFO] [stderr] 198 | git_branches: _, [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/main.rs:199:13 [INFO] [stderr] | [INFO] [stderr] 199 | upstream_git_tags: _, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `Environment { debcargo_toml, manifest, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: this if statement can be collapsed [INFO] [stderr] --> src/main.rs:586:20 [INFO] [stderr] | [INFO] [stderr] 586 | } else if !repo_pattern.is_match(¤t_git_branch) { [INFO] [stderr] | ____________________^ [INFO] [stderr] 587 | | if !self.git_ignore_branch { [INFO] [stderr] 588 | | bail!( [INFO] [stderr] 589 | | "You must be working on either a /master, \ [INFO] [stderr] ... | [INFO] [stderr] 592 | | }; [INFO] [stderr] 593 | | } [INFO] [stderr] | |_____________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::collapsible_if)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 586 | } else if !repo_pattern.is_match(¤t_git_branch) && !self.git_ignore_branch { [INFO] [stderr] 587 | bail!( [INFO] [stderr] 588 | "You must be working on either a /master, \ [INFO] [stderr] 589 | /debian or /repo/ branch." [INFO] [stderr] 590 | ) [INFO] [stderr] 591 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/main.rs:727:13 [INFO] [stderr] | [INFO] [stderr] 727 | current_git_branch: _, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/main.rs:728:13 [INFO] [stderr] | [INFO] [stderr] 728 | git_branches: _, [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/main.rs:729:13 [INFO] [stderr] | [INFO] [stderr] 729 | upstream_git_tags: _, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/main.rs:730:13 [INFO] [stderr] | [INFO] [stderr] 730 | debcargo_toml: _, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `Environment { manifest, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] error: this `if` has identical blocks [INFO] [stderr] --> src/cargo_info.rs:33:38 [INFO] [stderr] | [INFO] [stderr] 33 | } else if !a.is_prerelease() { [INFO] [stderr] | ______________________________________^ [INFO] [stderr] 34 | | Ok(available) [INFO] [stderr] 35 | | } else { [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::if_same_then_else)] on by default [INFO] [stderr] note: same as this [INFO] [stderr] --> src/cargo_info.rs:31:50 [INFO] [stderr] | [INFO] [stderr] 31 | if a.is_prerelease() && allow_prerelease { [INFO] [stderr] | __________________________________________________^ [INFO] [stderr] 32 | | Ok(available) [INFO] [stderr] 33 | | } else if !a.is_prerelease() { [INFO] [stderr] | |_________^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#if_same_then_else [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/cargo_info.rs:111:5 [INFO] [stderr] | [INFO] [stderr] 111 | fn version_string<'a>(&'a self) -> &'a str; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_lifetimes)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/cargo_info.rs:115:5 [INFO] [stderr] | [INFO] [stderr] 115 | / fn version_string<'a>(&'a self) -> &'a str { [INFO] [stderr] 116 | | self [INFO] [stderr] 117 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/cargo_info.rs:121:5 [INFO] [stderr] | [INFO] [stderr] 121 | / fn version_string<'a>(&'a self) -> &'a str { [INFO] [stderr] 122 | | &self.num [INFO] [stderr] 123 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: this loop could be written as a `for` loop [INFO] [stderr] --> src/cargo_info.rs:145:32 [INFO] [stderr] | [INFO] [stderr] 145 | while let Some(item) = self.next() { [INFO] [stderr] | ^^^^^^^^^^^ help: try: `for item in self { .. }` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::while_let_on_iterator)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#while_let_on_iterator [INFO] [stderr] [INFO] [stderr] warning: called `is_some()` after searching an `Iterator` with find. This is more succinctly expressed by calling `any()`. [INFO] [stderr] --> src/cargo_info.rs:195:9 [INFO] [stderr] | [INFO] [stderr] 195 | / self.iter() [INFO] [stderr] 196 | | .find(|s| s.version_string() == version) [INFO] [stderr] 197 | | .is_some() [INFO] [stderr] | |______________________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::search_is_some)] on by default [INFO] [stderr] = note: replace `find(|s| s.version_string() == version).is_some()` with `any(|s| s.version_string() == version)` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#search_is_some [INFO] [stderr] [INFO] [stderr] error: this `if` has identical blocks [INFO] [stderr] --> src/cargo_info.rs:33:38 [INFO] [stderr] | [INFO] [stderr] 33 | } else if !a.is_prerelease() { [INFO] [stderr] | ______________________________________^ [INFO] [stderr] 34 | | Ok(available) [INFO] [stderr] 35 | | } else { [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::if_same_then_else)] on by default [INFO] [stderr] note: same as this [INFO] [stderr] --> src/cargo_info.rs:31:50 [INFO] [stderr] | [INFO] [stderr] 31 | if a.is_prerelease() && allow_prerelease { [INFO] [stderr] | __________________________________________________^ [INFO] [stderr] 32 | | Ok(available) [INFO] [stderr] 33 | | } else if !a.is_prerelease() { [INFO] [stderr] | |_________^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#if_same_then_else [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/cargo_info.rs:111:5 [INFO] [stderr] | [INFO] [stderr] 111 | fn version_string<'a>(&'a self) -> &'a str; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_lifetimes)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/cargo_info.rs:115:5 [INFO] [stderr] | [INFO] [stderr] 115 | / fn version_string<'a>(&'a self) -> &'a str { [INFO] [stderr] 116 | | self [INFO] [stderr] 117 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/cargo_info.rs:121:5 [INFO] [stderr] | [INFO] [stderr] 121 | / fn version_string<'a>(&'a self) -> &'a str { [INFO] [stderr] 122 | | &self.num [INFO] [stderr] 123 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: this loop could be written as a `for` loop [INFO] [stderr] --> src/cargo_info.rs:145:32 [INFO] [stderr] | [INFO] [stderr] 145 | while let Some(item) = self.next() { [INFO] [stderr] | ^^^^^^^^^^^ help: try: `for item in self { .. }` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::while_let_on_iterator)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#while_let_on_iterator [INFO] [stderr] [INFO] [stderr] warning: called `is_some()` after searching an `Iterator` with find. This is more succinctly expressed by calling `any()`. [INFO] [stderr] --> src/cargo_info.rs:195:9 [INFO] [stderr] | [INFO] [stderr] 195 | / self.iter() [INFO] [stderr] 196 | | .find(|s| s.version_string() == version) [INFO] [stderr] 197 | | .is_some() [INFO] [stderr] | |______________________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::search_is_some)] on by default [INFO] [stderr] = note: replace `find(|s| s.version_string() == version).is_some()` with `any(|s| s.version_string() == version)` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#search_is_some [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/debcargo_toml.rs:13:13 [INFO] [stderr] | [INFO] [stderr] 13 | fn value(b: &bool) -> bool { [INFO] [stderr] | ^^^^^ help: consider passing by value instead: `bool` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::trivially_copy_pass_by_ref)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/debcargo_toml.rs:16:17 [INFO] [stderr] | [INFO] [stderr] 16 | fn not_value(b: &bool) -> bool { [INFO] [stderr] | ^^^^^ help: consider passing by value instead: `bool` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: passing a unit value to a function [INFO] [stderr] --> src/debcargo_toml.rs:92:12 [INFO] [stderr] | [INFO] [stderr] 92 | Ok(::std::fs::write(path, s)?) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::unit_arg)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unit_arg [INFO] [stderr] help: if you intended to pass a unit value, use a unit literal instead [INFO] [stderr] | [INFO] [stderr] 92 | Ok(()) [INFO] [stderr] | ^^ [INFO] [stderr] [INFO] [stderr] warning: called `.get().unwrap()` on a BTreeMap. Using `[]` is more clear and more concise [INFO] [stderr] --> src/debcargo_toml.rs:113:13 [INFO] [stderr] | [INFO] [stderr] 113 | / config [INFO] [stderr] 114 | | .suites [INFO] [stderr] 115 | | .get(suite) [INFO] [stderr] 116 | | .unwrap() [INFO] [stderr] | |_________________________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::get_unwrap)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_unwrap [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 113 | &config [INFO] [stderr] 114 | .suites[suite] [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: called `.get().unwrap()` on a BTreeMap. Using `[]` is more clear and more concise [INFO] [stderr] --> src/main.rs:129:21 [INFO] [stderr] | [INFO] [stderr] 129 | let suite = config.suites.get(suite).unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `&config.suites[suite]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_unwrap [INFO] [stderr] [INFO] [stderr] warning: the function has a cyclomatic complexity of 29 [INFO] [stderr] --> src/main.rs:492:5 [INFO] [stderr] | [INFO] [stderr] 492 | / fn run>( [INFO] [stderr] 493 | | &self, [INFO] [stderr] 494 | | config: &config::Config, [INFO] [stderr] 495 | | suite: &str, [INFO] [stderr] ... | [INFO] [stderr] 717 | | } [INFO] [stderr] 718 | | } [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: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/debcargo_toml.rs:13:13 [INFO] [stderr] | [INFO] [stderr] 13 | fn value(b: &bool) -> bool { [INFO] [stderr] | ^^^^^ help: consider passing by value instead: `bool` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::trivially_copy_pass_by_ref)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/debcargo_toml.rs:16:17 [INFO] [stderr] | [INFO] [stderr] 16 | fn not_value(b: &bool) -> bool { [INFO] [stderr] | ^^^^^ help: consider passing by value instead: `bool` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: useless use of `format!` [INFO] [stderr] --> src/main.rs:768:13 [INFO] [stderr] | [INFO] [stderr] 768 | format!("") [INFO] [stderr] | ^^^^^^^^^^^ help: consider using .to_string(): `"".to_string()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::useless_format)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stderr] [INFO] [stderr] warning: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/main.rs:776:45 [INFO] [stderr] | [INFO] [stderr] 776 | String::from_utf8(o.stderr).unwrap_or("".to_string()) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|_| "".to_string())` [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: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/main.rs:782:45 [INFO] [stderr] | [INFO] [stderr] 782 | String::from_utf8(o.stderr).unwrap_or("".to_string()) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|_| "".to_string())` [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: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/main.rs:793:24 [INFO] [stderr] | [INFO] [stderr] 793 | upstream_git_tags: &Vec, [INFO] [stderr] | ^^^^^^^^^^^^ help: change this to: `&[String]` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::ptr_arg)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] error: this loop never actually loops [INFO] [stderr] --> src/main.rs:801:5 [INFO] [stderr] | [INFO] [stderr] 801 | / for entry in glob(&pattern)? { [INFO] [stderr] 802 | | let path = entry?; [INFO] [stderr] 803 | | info!("Found orig archive {:?}", path); [INFO] [stderr] 804 | | let filename = path.file_name().unwrap().to_str().unwrap(); [INFO] [stderr] ... | [INFO] [stderr] 828 | | return Ok(DebianOrigPackageVersionInformation { _name, version }); [INFO] [stderr] 829 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::never_loop)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#never_loop [INFO] [stderr] [INFO] [stderr] warning: passing a unit value to a function [INFO] [stderr] --> src/debcargo_toml.rs:92:12 [INFO] [stderr] | [INFO] [stderr] 92 | Ok(::std::fs::write(path, s)?) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::unit_arg)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unit_arg [INFO] [stderr] help: if you intended to pass a unit value, use a unit literal instead [INFO] [stderr] | [INFO] [stderr] 92 | Ok(()) [INFO] [stderr] | ^^ [INFO] [stderr] [INFO] [stderr] warning: called `.get().unwrap()` on a BTreeMap. Using `[]` is more clear and more concise [INFO] [stderr] --> src/debcargo_toml.rs:113:13 [INFO] [stderr] | [INFO] [stderr] 113 | / config [INFO] [stderr] 114 | | .suites [INFO] [stderr] 115 | | .get(suite) [INFO] [stderr] 116 | | .unwrap() [INFO] [stderr] | |_________________________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::get_unwrap)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_unwrap [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 113 | &config [INFO] [stderr] 114 | .suites[suite] [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: called `.get().unwrap()` on a BTreeMap. Using `[]` is more clear and more concise [INFO] [stderr] --> src/main.rs:129:21 [INFO] [stderr] | [INFO] [stderr] 129 | let suite = config.suites.get(suite).unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `&config.suites[suite]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_unwrap [INFO] [stderr] [INFO] [stderr] warning: the function has a cyclomatic complexity of 29 [INFO] [stderr] --> src/main.rs:492:5 [INFO] [stderr] | [INFO] [stderr] 492 | / fn run>( [INFO] [stderr] 493 | | &self, [INFO] [stderr] 494 | | config: &config::Config, [INFO] [stderr] 495 | | suite: &str, [INFO] [stderr] ... | [INFO] [stderr] 717 | | } [INFO] [stderr] 718 | | } [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] error: aborting due to 2 previous errors [INFO] [stderr] [INFO] [stderr] error: Could not compile `drux`. [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stderr] warning: useless use of `format!` [INFO] [stderr] --> src/main.rs:768:13 [INFO] [stderr] | [INFO] [stderr] 768 | format!("") [INFO] [stderr] | ^^^^^^^^^^^ help: consider using .to_string(): `"".to_string()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::useless_format)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stderr] [INFO] [stderr] warning: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/main.rs:776:45 [INFO] [stderr] | [INFO] [stderr] 776 | String::from_utf8(o.stderr).unwrap_or("".to_string()) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|_| "".to_string())` [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: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/main.rs:782:45 [INFO] [stderr] | [INFO] [stderr] 782 | String::from_utf8(o.stderr).unwrap_or("".to_string()) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|_| "".to_string())` [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: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/main.rs:793:24 [INFO] [stderr] | [INFO] [stderr] 793 | upstream_git_tags: &Vec, [INFO] [stderr] | ^^^^^^^^^^^^ help: change this to: `&[String]` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::ptr_arg)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] error: this loop never actually loops [INFO] [stderr] --> src/main.rs:801:5 [INFO] [stderr] | [INFO] [stderr] 801 | / for entry in glob(&pattern)? { [INFO] [stderr] 802 | | let path = entry?; [INFO] [stderr] 803 | | info!("Found orig archive {:?}", path); [INFO] [stderr] 804 | | let filename = path.file_name().unwrap().to_str().unwrap(); [INFO] [stderr] ... | [INFO] [stderr] 828 | | return Ok(DebianOrigPackageVersionInformation { _name, version }); [INFO] [stderr] 829 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::never_loop)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#never_loop [INFO] [stderr] [INFO] [stderr] error: aborting due to 2 previous errors [INFO] [stderr] [INFO] [stderr] error: Could not compile `drux`. [INFO] [stderr] [INFO] [stderr] To learn more, run the command again with --verbose. [INFO] running `"docker" "inspect" "b3a2e4a82ab7989e586ff8e16412f0d2bec7e6091ba7defef72c97478a7649cf"` [INFO] running `"docker" "rm" "-f" "b3a2e4a82ab7989e586ff8e16412f0d2bec7e6091ba7defef72c97478a7649cf"` [INFO] [stdout] b3a2e4a82ab7989e586ff8e16412f0d2bec7e6091ba7defef72c97478a7649cf