[INFO] crate compactmap 0.3.7 is already in cache [INFO] extracting crate compactmap 0.3.7 into work/ex/clippy-test-run/sources/stable/reg/compactmap/0.3.7 [INFO] extracting crate compactmap 0.3.7 into work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/compactmap/0.3.7 [INFO] validating manifest of compactmap-0.3.7 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 compactmap-0.3.7 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 compactmap-0.3.7 [INFO] finished frobbing compactmap-0.3.7 [INFO] frobbed toml for compactmap-0.3.7 written to work/ex/clippy-test-run/sources/stable/reg/compactmap/0.3.7/Cargo.toml [INFO] started frobbing compactmap-0.3.7 [INFO] finished frobbing compactmap-0.3.7 [INFO] frobbed toml for compactmap-0.3.7 written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/compactmap/0.3.7/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 compactmap-0.3.7 against stable for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-3/stable:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable/reg/compactmap/0.3.7:/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] 4ab9444a8273200305d5287867cbd58a79151ea1284a2a37bcb6822923463943 [INFO] running `"docker" "start" "-a" "4ab9444a8273200305d5287867cbd58a79151ea1284a2a37bcb6822923463943"` [INFO] [stderr] Checking compactmap v0.3.7 (/opt/crater/workdir) [INFO] [stderr] warning: lint name `map_clone` is deprecated and may not have an effect in the future. Also `cfg_attr(cargo-clippy)` won't be necessary anymore [INFO] [stderr] --> src/lib.rs:527:13 [INFO] [stderr] | [INFO] [stderr] 527 | #[allow(map_clone)] [INFO] [stderr] | ^^^^^^^^^ help: change it to: `clippy::map_clone` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(renamed_and_removed_lints)] on by default [INFO] [stderr] [INFO] [stderr] warning: lint name `map_clone` is deprecated and may not have an effect in the future. Also `cfg_attr(cargo-clippy)` won't be necessary anymore [INFO] [stderr] --> src/lib.rs:568:13 [INFO] [stderr] | [INFO] [stderr] 568 | #[allow(map_clone)] [INFO] [stderr] | ^^^^^^^^^ help: change it to: `clippy::map_clone` [INFO] [stderr] [INFO] [stderr] warning: lint name `match_ref_pats` is deprecated and may not have an effect in the future. Also `cfg_attr(cargo-clippy)` won't be necessary anymore [INFO] [stderr] --> src/lib.rs:678:13 [INFO] [stderr] | [INFO] [stderr] 678 | #[allow(match_ref_pats)] [INFO] [stderr] | ^^^^^^^^^^^^^^ help: change it to: `clippy::match_ref_pats` [INFO] [stderr] [INFO] [stderr] warning: lint name `map_clone` is deprecated and may not have an effect in the future. Also `cfg_attr(cargo-clippy)` won't be necessary anymore [INFO] [stderr] --> src/wrapped.rs:214:13 [INFO] [stderr] | [INFO] [stderr] 214 | #[allow(map_clone)] [INFO] [stderr] | ^^^^^^^^^ help: change it to: `clippy::map_clone` [INFO] [stderr] [INFO] [stderr] warning: lint name `map_clone` is deprecated and may not have an effect in the future. Also `cfg_attr(cargo-clippy)` won't be necessary anymore [INFO] [stderr] --> src/wrapped.rs:235:13 [INFO] [stderr] | [INFO] [stderr] 235 | #[allow(map_clone)] [INFO] [stderr] | ^^^^^^^^^ help: change it to: `clippy::map_clone` [INFO] [stderr] [INFO] [stderr] warning: lint name `map_clone` is deprecated and may not have an effect in the future. Also `cfg_attr(cargo-clippy)` won't be necessary anymore [INFO] [stderr] --> src/lib.rs:527:13 [INFO] [stderr] | [INFO] [stderr] 527 | #[allow(map_clone)] [INFO] [stderr] | ^^^^^^^^^ help: change it to: `clippy::map_clone` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(renamed_and_removed_lints)] on by default [INFO] [stderr] [INFO] [stderr] warning: lint name `map_clone` is deprecated and may not have an effect in the future. Also `cfg_attr(cargo-clippy)` won't be necessary anymore [INFO] [stderr] --> src/lib.rs:568:13 [INFO] [stderr] | [INFO] [stderr] 568 | #[allow(map_clone)] [INFO] [stderr] | ^^^^^^^^^ help: change it to: `clippy::map_clone` [INFO] [stderr] [INFO] [stderr] warning: lint name `match_ref_pats` is deprecated and may not have an effect in the future. Also `cfg_attr(cargo-clippy)` won't be necessary anymore [INFO] [stderr] --> src/lib.rs:678:13 [INFO] [stderr] | [INFO] [stderr] 678 | #[allow(match_ref_pats)] [INFO] [stderr] | ^^^^^^^^^^^^^^ help: change it to: `clippy::match_ref_pats` [INFO] [stderr] [INFO] [stderr] warning: lint name `map_clone` is deprecated and may not have an effect in the future. Also `cfg_attr(cargo-clippy)` won't be necessary anymore [INFO] [stderr] --> src/wrapped.rs:214:13 [INFO] [stderr] | [INFO] [stderr] 214 | #[allow(map_clone)] [INFO] [stderr] | ^^^^^^^^^ help: change it to: `clippy::map_clone` [INFO] [stderr] [INFO] [stderr] warning: lint name `map_clone` is deprecated and may not have an effect in the future. Also `cfg_attr(cargo-clippy)` won't be necessary anymore [INFO] [stderr] --> src/wrapped.rs:235:13 [INFO] [stderr] | [INFO] [stderr] 235 | #[allow(map_clone)] [INFO] [stderr] | ^^^^^^^^^ help: change it to: `clippy::map_clone` [INFO] [stderr] [INFO] [stderr] warning: lint name `map_clone` is deprecated and may not have an effect in the future. Also `cfg_attr(cargo-clippy)` won't be necessary anymore [INFO] [stderr] --> src/lib.rs:527:13 [INFO] [stderr] | [INFO] [stderr] 527 | #[allow(map_clone)] [INFO] [stderr] | ^^^^^^^^^ help: change it to: `clippy::map_clone` [INFO] [stderr] [INFO] [stderr] warning: defining a method called `into_iter` on this type; consider implementing the `std::iter::IntoIterator` trait or choosing a less ambiguous name [INFO] [stderr] --> src/lib.rs:294:5 [INFO] [stderr] | [INFO] [stderr] 294 | / pub fn into_iter(self) -> IntoIter { [INFO] [stderr] 295 | | IntoIterator::into_iter(self) [INFO] [stderr] 296 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::should_implement_trait)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#should_implement_trait [INFO] [stderr] [INFO] [stderr] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stderr] --> src/lib.rs:383:21 [INFO] [stderr] | [INFO] [stderr] 383 | let filter: fn((usize, Entry)) -> Option<(usize, V)> = filter; // coerce to fn ptr [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::type_complexity)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/lib.rs:649:17 [INFO] [stderr] | [INFO] [stderr] 649 | / if let $pp = a { [INFO] [stderr] 650 | | return Some(($self_.counter_back, $x)); [INFO] [stderr] 651 | | } [INFO] [stderr] | |_________________^ [INFO] [stderr] ... [INFO] [stderr] 688 | generate_rev_iterator!(self, const); [INFO] [stderr] | ------------------------------------ in this macro invocation [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] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/lib.rs:623:17 [INFO] [stderr] | [INFO] [stderr] 623 | / if let $pp = a { [INFO] [stderr] 624 | | return Some(($self_.counter-1, $x)); [INFO] [stderr] 625 | | } [INFO] [stderr] | |_________________^ [INFO] [stderr] ... [INFO] [stderr] 714 | generate_iterator!(self, mut); [INFO] [stderr] | ------------------------------ in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/lib.rs:649:17 [INFO] [stderr] | [INFO] [stderr] 649 | / if let $pp = a { [INFO] [stderr] 650 | | return Some(($self_.counter_back, $x)); [INFO] [stderr] 651 | | } [INFO] [stderr] | |_________________^ [INFO] [stderr] ... [INFO] [stderr] 722 | generate_rev_iterator!(self, mut); [INFO] [stderr] | ---------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] [INFO] [stderr] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stderr] --> src/lib.rs:848:11 [INFO] [stderr] | [INFO] [stderr] 848 | iter: std::iter::FilterMap< [INFO] [stderr] | ___________^ [INFO] [stderr] 849 | | std::iter::Enumerate>>, [INFO] [stderr] 850 | | fn((usize, Entry)) -> Option<(usize, V)> [INFO] [stderr] 851 | | > [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stderr] [INFO] [stderr] warning: defining a method called `into_iter` on this type; consider implementing the `std::iter::IntoIterator` trait or choosing a less ambiguous name [INFO] [stderr] --> src/wrapped.rs:156:5 [INFO] [stderr] | [INFO] [stderr] 156 | / pub fn into_iter(self) -> IntoIter { [INFO] [stderr] 157 | | IntoIter { [INFO] [stderr] 158 | | inner: self.inner.into_iter(), [INFO] [stderr] 159 | | _pd: Default::default(), [INFO] [stderr] 160 | | } [INFO] [stderr] 161 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#should_implement_trait [INFO] [stderr] [INFO] [stderr] warning: lint name `map_clone` is deprecated and may not have an effect in the future. Also `cfg_attr(cargo-clippy)` won't be necessary anymore [INFO] [stderr] --> src/lib.rs:527:13 [INFO] [stderr] | [INFO] [stderr] 527 | #[allow(map_clone)] [INFO] [stderr] | ^^^^^^^^^ help: change it to: `clippy::map_clone` [INFO] [stderr] [INFO] [stderr] warning: this is an `else if` but the formatting might hide it [INFO] [stderr] --> src/quickcheck.rs:38:10 [INFO] [stderr] | [INFO] [stderr] 38 | } else [INFO] [stderr] | __________^ [INFO] [stderr] 39 | | if g.gen_weighted_bool(2) { [INFO] [stderr] | |________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::suspicious_else_formatting)] on by default [INFO] [stderr] = note: to remove this lint, remove the `else` or remove the new line between `else` and `if` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#suspicious_else_formatting [INFO] [stderr] [INFO] [stderr] warning: this `else { if .. }` block can be collapsed [INFO] [stderr] --> src/quickcheck.rs:72:24 [INFO] [stderr] | [INFO] [stderr] 72 | } else { [INFO] [stderr] | ________________________^ [INFO] [stderr] 73 | | if cm.remove(n) != None { [INFO] [stderr] 74 | | println!("rm5 n={}", n); [INFO] [stderr] 75 | | return false [INFO] [stderr] 76 | | } [INFO] [stderr] 77 | | } [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] 72 | } else if cm.remove(n) != None { [INFO] [stderr] 73 | println!("rm5 n={}", n); [INFO] [stderr] 74 | return false [INFO] [stderr] 75 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: defining a method called `into_iter` on this type; consider implementing the `std::iter::IntoIterator` trait or choosing a less ambiguous name [INFO] [stderr] --> src/lib.rs:294:5 [INFO] [stderr] | [INFO] [stderr] 294 | / pub fn into_iter(self) -> IntoIter { [INFO] [stderr] 295 | | IntoIterator::into_iter(self) [INFO] [stderr] 296 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::should_implement_trait)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#should_implement_trait [INFO] [stderr] [INFO] [stderr] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stderr] --> src/lib.rs:383:21 [INFO] [stderr] | [INFO] [stderr] 383 | let filter: fn((usize, Entry)) -> Option<(usize, V)> = filter; // coerce to fn ptr [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::type_complexity)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/lib.rs:649:17 [INFO] [stderr] | [INFO] [stderr] 649 | / if let $pp = a { [INFO] [stderr] 650 | | return Some(($self_.counter_back, $x)); [INFO] [stderr] 651 | | } [INFO] [stderr] | |_________________^ [INFO] [stderr] ... [INFO] [stderr] 688 | generate_rev_iterator!(self, const); [INFO] [stderr] | ------------------------------------ in this macro invocation [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] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/lib.rs:623:17 [INFO] [stderr] | [INFO] [stderr] 623 | / if let $pp = a { [INFO] [stderr] 624 | | return Some(($self_.counter-1, $x)); [INFO] [stderr] 625 | | } [INFO] [stderr] | |_________________^ [INFO] [stderr] ... [INFO] [stderr] 714 | generate_iterator!(self, mut); [INFO] [stderr] | ------------------------------ in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/lib.rs:649:17 [INFO] [stderr] | [INFO] [stderr] 649 | / if let $pp = a { [INFO] [stderr] 650 | | return Some(($self_.counter_back, $x)); [INFO] [stderr] 651 | | } [INFO] [stderr] | |_________________^ [INFO] [stderr] ... [INFO] [stderr] 722 | generate_rev_iterator!(self, mut); [INFO] [stderr] | ---------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] [INFO] [stderr] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stderr] --> src/lib.rs:848:11 [INFO] [stderr] | [INFO] [stderr] 848 | iter: std::iter::FilterMap< [INFO] [stderr] | ___________^ [INFO] [stderr] 849 | | std::iter::Enumerate>>, [INFO] [stderr] 850 | | fn((usize, Entry)) -> Option<(usize, V)> [INFO] [stderr] 851 | | > [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stderr] [INFO] [stderr] warning: defining a method called `into_iter` on this type; consider implementing the `std::iter::IntoIterator` trait or choosing a less ambiguous name [INFO] [stderr] --> src/wrapped.rs:156:5 [INFO] [stderr] | [INFO] [stderr] 156 | / pub fn into_iter(self) -> IntoIter { [INFO] [stderr] 157 | | IntoIter { [INFO] [stderr] 158 | | inner: self.inner.into_iter(), [INFO] [stderr] 159 | | _pd: Default::default(), [INFO] [stderr] 160 | | } [INFO] [stderr] 161 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#should_implement_trait [INFO] [stderr] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 2.70s [INFO] running `"docker" "inspect" "4ab9444a8273200305d5287867cbd58a79151ea1284a2a37bcb6822923463943"` [INFO] running `"docker" "rm" "-f" "4ab9444a8273200305d5287867cbd58a79151ea1284a2a37bcb6822923463943"` [INFO] [stdout] 4ab9444a8273200305d5287867cbd58a79151ea1284a2a37bcb6822923463943