[INFO] crate cargo 0.32.0 is already in cache [INFO] extracting crate cargo 0.32.0 into work/ex/clippy-test-run/sources/stable/reg/cargo/0.32.0 [INFO] extracting crate cargo 0.32.0 into work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/cargo/0.32.0 [INFO] validating manifest of cargo-0.32.0 on toolchain stable [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] validating manifest of cargo-0.32.0 on toolchain stable+rustflags=-Dclippy::into_iter_on_array [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] started frobbing cargo-0.32.0 [INFO] finished frobbing cargo-0.32.0 [INFO] frobbed toml for cargo-0.32.0 written to work/ex/clippy-test-run/sources/stable/reg/cargo/0.32.0/Cargo.toml [INFO] started frobbing cargo-0.32.0 [INFO] finished frobbing cargo-0.32.0 [INFO] frobbed toml for cargo-0.32.0 written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/cargo/0.32.0/Cargo.toml [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] linting cargo-0.32.0 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/cargo/0.32.0:/opt/crater/workdir:ro,Z" "-v" "/mnt/big/crater/work/local/cargo-home:/opt/crater/cargo-home:ro,Z" "-v" "/mnt/big/crater/work/local/rustup-home:/opt/crater/rustup-home:ro,Z" "-e" "USER_ID=1000" "-e" "SOURCE_DIR=/opt/crater/workdir" "-e" "MAP_USER_ID=1000" "-e" "CARGO_TARGET_DIR=/opt/crater/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/crater/cargo-home" "-e" "RUSTUP_HOME=/opt/crater/rustup-home" "-w" "/opt/crater/workdir" "-m" "1536M" "--network" "none" "rustops/crates-build-env" "/opt/crater/cargo-home/bin/cargo" "+stable" "clippy" "--frozen" "--all" "--all-targets"` [INFO] [stdout] 3f8dc7f44fd82ac3dcc461a54e0e97bde599e1f9049e664bf168a72f0bf9c5b8 [INFO] running `"docker" "start" "-a" "3f8dc7f44fd82ac3dcc461a54e0e97bde599e1f9049e664bf168a72f0bf9c5b8"` [INFO] [stderr] Compiling libnghttp2-sys v0.1.1 [INFO] [stderr] Compiling curl-sys v0.4.16 [INFO] [stderr] Checking serde_json v1.0.37 [INFO] [stderr] Checking rand_pcg v0.1.1 [INFO] [stderr] Checking opener v0.3.2 [INFO] [stderr] Checking rand v0.6.5 [INFO] [stderr] Checking tempfile v3.0.5 [INFO] [stderr] Checking rustfix v0.4.4 [INFO] [stderr] Checking rusty-fork v0.2.1 [INFO] [stderr] Checking proptest v0.8.7 [INFO] [stderr] Compiling libgit2-sys v0.7.11 [INFO] [stderr] Checking curl v0.4.19 [INFO] [stderr] Checking crates-io v0.20.0 [INFO] [stderr] Checking git2 v0.7.5 [INFO] [stderr] Checking git2-curl v0.8.2 [INFO] [stderr] Checking cargo v0.32.0 (/opt/crater/workdir) [INFO] [stderr] warning: lint name `boxed_local` is deprecated and may not have an effect in the future. Also `cfg_attr(cargo-clippy)` won't be necessary anymore [INFO] [stderr] --> src/cargo/lib.rs:4:45 [INFO] [stderr] | [INFO] [stderr] 4 | #![cfg_attr(feature = "cargo-clippy", allow(boxed_local))] // bug rust-lang-nursery/rust-clippy#1123 [INFO] [stderr] | ^^^^^^^^^^^ help: change it to: `clippy::boxed_local` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(renamed_and_removed_lints)] on by default [INFO] [stderr] [INFO] [stderr] warning: lint name `cyclomatic_complexity` is deprecated and may not have an effect in the future. Also `cfg_attr(cargo-clippy)` won't be necessary anymore [INFO] [stderr] --> src/cargo/lib.rs:5:45 [INFO] [stderr] | [INFO] [stderr] 5 | #![cfg_attr(feature = "cargo-clippy", allow(cyclomatic_complexity))] // large project [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: change it to: `clippy::cyclomatic_complexity` [INFO] [stderr] [INFO] [stderr] warning: lint name `derive_hash_xor_eq` is deprecated and may not have an effect in the future. Also `cfg_attr(cargo-clippy)` won't be necessary anymore [INFO] [stderr] --> src/cargo/lib.rs:6:45 [INFO] [stderr] | [INFO] [stderr] 6 | #![cfg_attr(feature = "cargo-clippy", allow(derive_hash_xor_eq))] // there's an intentional incoherence [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: change it to: `clippy::derive_hash_xor_eq` [INFO] [stderr] [INFO] [stderr] warning: lint name `explicit_into_iter_loop` is deprecated and may not have an effect in the future. Also `cfg_attr(cargo-clippy)` won't be necessary anymore [INFO] [stderr] --> src/cargo/lib.rs:7:45 [INFO] [stderr] | [INFO] [stderr] 7 | #![cfg_attr(feature = "cargo-clippy", allow(explicit_into_iter_loop))] // explicit loops are clearer [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: change it to: `clippy::explicit_into_iter_loop` [INFO] [stderr] [INFO] [stderr] warning: lint name `explicit_iter_loop` is deprecated and may not have an effect in the future. Also `cfg_attr(cargo-clippy)` won't be necessary anymore [INFO] [stderr] --> src/cargo/lib.rs:8:45 [INFO] [stderr] | [INFO] [stderr] 8 | #![cfg_attr(feature = "cargo-clippy", allow(explicit_iter_loop))] // explicit loops are clearer [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: change it to: `clippy::explicit_iter_loop` [INFO] [stderr] [INFO] [stderr] warning: lint name `identity_op` is deprecated and may not have an effect in the future. Also `cfg_attr(cargo-clippy)` won't be necessary anymore [INFO] [stderr] --> src/cargo/lib.rs:9:45 [INFO] [stderr] | [INFO] [stderr] 9 | #![cfg_attr(feature = "cargo-clippy", allow(identity_op))] // used for vertical alignment [INFO] [stderr] | ^^^^^^^^^^^ help: change it to: `clippy::identity_op` [INFO] [stderr] [INFO] [stderr] warning: lint name `implicit_hasher` is deprecated and may not have an effect in the future. Also `cfg_attr(cargo-clippy)` won't be necessary anymore [INFO] [stderr] --> src/cargo/lib.rs:10:45 [INFO] [stderr] | [INFO] [stderr] 10 | #![cfg_attr(feature = "cargo-clippy", allow(implicit_hasher))] // large project [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: change it to: `clippy::implicit_hasher` [INFO] [stderr] [INFO] [stderr] warning: lint name `large_enum_variant` is deprecated and may not have an effect in the future. Also `cfg_attr(cargo-clippy)` won't be necessary anymore [INFO] [stderr] --> src/cargo/lib.rs:11:45 [INFO] [stderr] | [INFO] [stderr] 11 | #![cfg_attr(feature = "cargo-clippy", allow(large_enum_variant))] // large project [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: change it to: `clippy::large_enum_variant` [INFO] [stderr] [INFO] [stderr] warning: lint name `redundant_closure_call` is deprecated and may not have an effect in the future. Also `cfg_attr(cargo-clippy)` won't be necessary anymore [INFO] [stderr] --> src/cargo/lib.rs:12:45 [INFO] [stderr] | [INFO] [stderr] 12 | #![cfg_attr(feature = "cargo-clippy", allow(redundant_closure_call))] // closures over try catch blocks [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: change it to: `clippy::redundant_closure_call` [INFO] [stderr] [INFO] [stderr] warning: lint name `too_many_arguments` is deprecated and may not have an effect in the future. Also `cfg_attr(cargo-clippy)` won't be necessary anymore [INFO] [stderr] --> src/cargo/lib.rs:13:45 [INFO] [stderr] | [INFO] [stderr] 13 | #![cfg_attr(feature = "cargo-clippy", allow(too_many_arguments))] // large project [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: change it to: `clippy::too_many_arguments` [INFO] [stderr] [INFO] [stderr] warning: lint name `type_complexity` is deprecated and may not have an effect in the future. Also `cfg_attr(cargo-clippy)` won't be necessary anymore [INFO] [stderr] --> src/cargo/lib.rs:14:45 [INFO] [stderr] | [INFO] [stderr] 14 | #![cfg_attr(feature = "cargo-clippy", allow(type_complexity))] // there's an exceptionally complex type [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: change it to: `clippy::type_complexity` [INFO] [stderr] [INFO] [stderr] warning: lint name `wrong_self_convention` is deprecated and may not have an effect in the future. Also `cfg_attr(cargo-clippy)` won't be necessary anymore [INFO] [stderr] --> src/cargo/lib.rs:15:45 [INFO] [stderr] | [INFO] [stderr] 15 | #![cfg_attr(feature = "cargo-clippy", allow(wrong_self_convention))] // perhaps Rc should be special cased in Clippy? [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: change it to: `clippy::wrong_self_convention` [INFO] [stderr] [INFO] [stderr] error: lint name `boxed_local` is deprecated and may not have an effect in the future. Also `cfg_attr(cargo-clippy)` won't be necessary anymore [INFO] [stderr] --> src/cargo/lib.rs:4:45 [INFO] [stderr] | [INFO] [stderr] 4 | #![cfg_attr(feature = "cargo-clippy", allow(boxed_local))] // bug rust-lang-nursery/rust-clippy#1123 [INFO] [stderr] | ^^^^^^^^^^^ help: change it to: `clippy::boxed_local` [INFO] [stderr] | [INFO] [stderr] note: lint level defined here [INFO] [stderr] --> src/cargo/lib.rs:1:24 [INFO] [stderr] | [INFO] [stderr] 1 | #![cfg_attr(test, deny(warnings))] [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] = note: #[deny(renamed_and_removed_lints)] implied by #[deny(warnings)] [INFO] [stderr] [INFO] [stderr] error: lint name `cyclomatic_complexity` is deprecated and may not have an effect in the future. Also `cfg_attr(cargo-clippy)` won't be necessary anymore [INFO] [stderr] --> src/cargo/lib.rs:5:45 [INFO] [stderr] | [INFO] [stderr] 5 | #![cfg_attr(feature = "cargo-clippy", allow(cyclomatic_complexity))] // large project [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: change it to: `clippy::cyclomatic_complexity` [INFO] [stderr] [INFO] [stderr] error: lint name `derive_hash_xor_eq` is deprecated and may not have an effect in the future. Also `cfg_attr(cargo-clippy)` won't be necessary anymore [INFO] [stderr] --> src/cargo/lib.rs:6:45 [INFO] [stderr] | [INFO] [stderr] 6 | #![cfg_attr(feature = "cargo-clippy", allow(derive_hash_xor_eq))] // there's an intentional incoherence [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: change it to: `clippy::derive_hash_xor_eq` [INFO] [stderr] [INFO] [stderr] error: lint name `explicit_into_iter_loop` is deprecated and may not have an effect in the future. Also `cfg_attr(cargo-clippy)` won't be necessary anymore [INFO] [stderr] --> src/cargo/lib.rs:7:45 [INFO] [stderr] | [INFO] [stderr] 7 | #![cfg_attr(feature = "cargo-clippy", allow(explicit_into_iter_loop))] // explicit loops are clearer [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: change it to: `clippy::explicit_into_iter_loop` [INFO] [stderr] [INFO] [stderr] error: lint name `explicit_iter_loop` is deprecated and may not have an effect in the future. Also `cfg_attr(cargo-clippy)` won't be necessary anymore [INFO] [stderr] --> src/cargo/lib.rs:8:45 [INFO] [stderr] | [INFO] [stderr] 8 | #![cfg_attr(feature = "cargo-clippy", allow(explicit_iter_loop))] // explicit loops are clearer [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: change it to: `clippy::explicit_iter_loop` [INFO] [stderr] [INFO] [stderr] error: lint name `identity_op` is deprecated and may not have an effect in the future. Also `cfg_attr(cargo-clippy)` won't be necessary anymore [INFO] [stderr] --> src/cargo/lib.rs:9:45 [INFO] [stderr] | [INFO] [stderr] 9 | #![cfg_attr(feature = "cargo-clippy", allow(identity_op))] // used for vertical alignment [INFO] [stderr] | ^^^^^^^^^^^ help: change it to: `clippy::identity_op` [INFO] [stderr] [INFO] [stderr] error: lint name `implicit_hasher` is deprecated and may not have an effect in the future. Also `cfg_attr(cargo-clippy)` won't be necessary anymore [INFO] [stderr] --> src/cargo/lib.rs:10:45 [INFO] [stderr] | [INFO] [stderr] 10 | #![cfg_attr(feature = "cargo-clippy", allow(implicit_hasher))] // large project [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: change it to: `clippy::implicit_hasher` [INFO] [stderr] [INFO] [stderr] error: lint name `large_enum_variant` is deprecated and may not have an effect in the future. Also `cfg_attr(cargo-clippy)` won't be necessary anymore [INFO] [stderr] --> src/cargo/lib.rs:11:45 [INFO] [stderr] | [INFO] [stderr] 11 | #![cfg_attr(feature = "cargo-clippy", allow(large_enum_variant))] // large project [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: change it to: `clippy::large_enum_variant` [INFO] [stderr] [INFO] [stderr] error: lint name `redundant_closure_call` is deprecated and may not have an effect in the future. Also `cfg_attr(cargo-clippy)` won't be necessary anymore [INFO] [stderr] --> src/cargo/lib.rs:12:45 [INFO] [stderr] | [INFO] [stderr] 12 | #![cfg_attr(feature = "cargo-clippy", allow(redundant_closure_call))] // closures over try catch blocks [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: change it to: `clippy::redundant_closure_call` [INFO] [stderr] [INFO] [stderr] error: lint name `too_many_arguments` is deprecated and may not have an effect in the future. Also `cfg_attr(cargo-clippy)` won't be necessary anymore [INFO] [stderr] --> src/cargo/lib.rs:13:45 [INFO] [stderr] | [INFO] [stderr] 13 | #![cfg_attr(feature = "cargo-clippy", allow(too_many_arguments))] // large project [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: change it to: `clippy::too_many_arguments` [INFO] [stderr] [INFO] [stderr] error: lint name `type_complexity` is deprecated and may not have an effect in the future. Also `cfg_attr(cargo-clippy)` won't be necessary anymore [INFO] [stderr] --> src/cargo/lib.rs:14:45 [INFO] [stderr] | [INFO] [stderr] 14 | #![cfg_attr(feature = "cargo-clippy", allow(type_complexity))] // there's an exceptionally complex type [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: change it to: `clippy::type_complexity` [INFO] [stderr] [INFO] [stderr] error: lint name `wrong_self_convention` is deprecated and may not have an effect in the future. Also `cfg_attr(cargo-clippy)` won't be necessary anymore [INFO] [stderr] --> src/cargo/lib.rs:15:45 [INFO] [stderr] | [INFO] [stderr] 15 | #![cfg_attr(feature = "cargo-clippy", allow(wrong_self_convention))] // perhaps Rc should be special cased in Clippy? [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: change it to: `clippy::wrong_self_convention` [INFO] [stderr] [INFO] [stderr] warning: lint name `boxed_local` is deprecated and may not have an effect in the future. Also `cfg_attr(cargo-clippy)` won't be necessary anymore [INFO] [stderr] --> src/cargo/lib.rs:4:45 [INFO] [stderr] | [INFO] [stderr] 4 | #![cfg_attr(feature = "cargo-clippy", allow(boxed_local))] // bug rust-lang-nursery/rust-clippy#1123 [INFO] [stderr] | ^^^^^^^^^^^ help: change it to: `clippy::boxed_local` [INFO] [stderr] [INFO] [stderr] error: lint name `boxed_local` is deprecated and may not have an effect in the future. Also `cfg_attr(cargo-clippy)` won't be necessary anymore [INFO] [stderr] --> src/cargo/lib.rs:4:45 [INFO] [stderr] | [INFO] [stderr] 4 | #![cfg_attr(feature = "cargo-clippy", allow(boxed_local))] // bug rust-lang-nursery/rust-clippy#1123 [INFO] [stderr] | ^^^^^^^^^^^ help: change it to: `clippy::boxed_local` [INFO] [stderr] [INFO] [stderr] warning: this if statement can be collapsed [INFO] [stderr] --> src/cargo/core/resolver/mod.rs:800:9 [INFO] [stderr] | [INFO] [stderr] 800 | / if !backtracked { [INFO] [stderr] 801 | | if frame [INFO] [stderr] 802 | | .context [INFO] [stderr] 803 | | .is_conflicting(Some(parent.package_id()), conflicting_activations) [INFO] [stderr] ... | [INFO] [stderr] 813 | | } [INFO] [stderr] 814 | | } [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] 800 | if !backtracked && frame [INFO] [stderr] 801 | .context [INFO] [stderr] 802 | .is_conflicting(Some(parent.package_id()), conflicting_activations) { [INFO] [stderr] 803 | trace!( [INFO] [stderr] 804 | "{} = \"{}\" skip as not solving {}: {:?}", [INFO] [stderr] 805 | frame.dep.package_name(), [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: this if statement can be collapsed [INFO] [stderr] --> src/cargo/ops/fix.rs:528:13 [INFO] [stderr] | [INFO] [stderr] 528 | / if path.extension().and_then(|s| s.to_str()) == Some("rs") { [INFO] [stderr] 529 | | if path.exists() { [INFO] [stderr] 530 | | ret.file = Some(path); [INFO] [stderr] 531 | | continue [INFO] [stderr] 532 | | } [INFO] [stderr] 533 | | } [INFO] [stderr] | |_____________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 528 | if path.extension().and_then(|s| s.to_str()) == Some("rs") && path.exists() { [INFO] [stderr] 529 | ret.file = Some(path); [INFO] [stderr] 530 | continue [INFO] [stderr] 531 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: this if statement can be collapsed [INFO] [stderr] --> src/cargo/ops/fix.rs:561:13 [INFO] [stderr] | [INFO] [stderr] 561 | / if self.idioms && self.primary_package { [INFO] [stderr] 562 | | if edition == "2018" { cmd.arg("-Wrust-2018-idioms"); } [INFO] [stderr] 563 | | } [INFO] [stderr] | |_____________^ help: try: `if self.idioms && self.primary_package && edition == "2018" { cmd.arg("-Wrust-2018-idioms"); }` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stderr] [INFO] [stderr] error: this if statement can be collapsed [INFO] [stderr] --> src/cargo/core/resolver/mod.rs:800:9 [INFO] [stderr] | [INFO] [stderr] 800 | / if !backtracked { [INFO] [stderr] 801 | | if frame [INFO] [stderr] 802 | | .context [INFO] [stderr] 803 | | .is_conflicting(Some(parent.package_id()), conflicting_activations) [INFO] [stderr] ... | [INFO] [stderr] 813 | | } [INFO] [stderr] 814 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] note: lint level defined here [INFO] [stderr] --> src/cargo/lib.rs:1:24 [INFO] [stderr] | [INFO] [stderr] 1 | #![cfg_attr(test, deny(warnings))] [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] = note: #[deny(clippy::collapsible_if)] implied by #[deny(warnings)] [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] 800 | if !backtracked && frame [INFO] [stderr] 801 | .context [INFO] [stderr] 802 | .is_conflicting(Some(parent.package_id()), conflicting_activations) { [INFO] [stderr] 803 | trace!( [INFO] [stderr] 804 | "{} = \"{}\" skip as not solving {}: {:?}", [INFO] [stderr] 805 | frame.dep.package_name(), [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] error: this if statement can be collapsed [INFO] [stderr] --> src/cargo/ops/fix.rs:528:13 [INFO] [stderr] | [INFO] [stderr] 528 | / if path.extension().and_then(|s| s.to_str()) == Some("rs") { [INFO] [stderr] 529 | | if path.exists() { [INFO] [stderr] 530 | | ret.file = Some(path); [INFO] [stderr] 531 | | continue [INFO] [stderr] 532 | | } [INFO] [stderr] 533 | | } [INFO] [stderr] | |_____________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 528 | if path.extension().and_then(|s| s.to_str()) == Some("rs") && path.exists() { [INFO] [stderr] 529 | ret.file = Some(path); [INFO] [stderr] 530 | continue [INFO] [stderr] 531 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] error: this if statement can be collapsed [INFO] [stderr] --> src/cargo/ops/fix.rs:561:13 [INFO] [stderr] | [INFO] [stderr] 561 | / if self.idioms && self.primary_package { [INFO] [stderr] 562 | | if edition == "2018" { cmd.arg("-Wrust-2018-idioms"); } [INFO] [stderr] 563 | | } [INFO] [stderr] | |_____________^ help: try: `if self.idioms && self.primary_package && edition == "2018" { cmd.arg("-Wrust-2018-idioms"); }` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stderr] [INFO] [stderr] error: aborting due to 16 previous errors [INFO] [stderr] [INFO] [stderr] error: Could not compile `cargo`. [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stderr] warning: this `.filter_map` can be written more simply using `.filter` [INFO] [stderr] --> src/cargo/core/compiler/build_context/mod.rs:370:24 [INFO] [stderr] | [INFO] [stderr] 370 | let cfgs = table.val.keys().filter_map(|key| { [INFO] [stderr] | ________________________^ [INFO] [stderr] 371 | | if CfgExpr::matches_key(key, target_cfg) { [INFO] [stderr] 372 | | Some(key) [INFO] [stderr] 373 | | } else { [INFO] [stderr] 374 | | None [INFO] [stderr] 375 | | } [INFO] [stderr] 376 | | }); [INFO] [stderr] | |______________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::unnecessary_filter_map)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_filter_map [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/cargo/core/compiler/context/unit_dependencies.rs:77:12 [INFO] [stderr] | [INFO] [stderr] 77 | if state.waiting_on_download.len() > 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!state.waiting_on_download.is_empty()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::len_zero)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: redundant closure found [INFO] [stderr] --> src/cargo/core/compiler/job_queue.rs:118:44 [INFO] [stderr] | [INFO] [stderr] 118 | let prefix = prefix.unwrap_or_else(|| String::new()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: remove closure as shown: `String::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] error: handle written amount returned or use `Write::write_all` instead [INFO] [stderr] --> src/cargo/core/compiler/job_queue.rs:300:21 [INFO] [stderr] | [INFO] [stderr] 300 | shell.err().write(b"\n")?; [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] [INFO] [stderr] warning: You are using an explicit closure for cloning elements [INFO] [stderr] --> src/cargo/core/interning.rs:37:17 [INFO] [stderr] | [INFO] [stderr] 37 | let s = cache.get(str).map(|&s| s).unwrap_or_else(|| { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: Consider calling the dedicated `cloned` method: `cache.get(str).cloned()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::map_clone)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_clone [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/cargo/core/package.rs:497:13 [INFO] [stderr] | [INFO] [stderr] 497 | self.pending.len() == 0 && [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `self.pending.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: casting u32 to u64 may become silently lossy if types change [INFO] [stderr] --> src/cargo/core/package.rs:649:51 [INFO] [stderr] | [INFO] [stderr] 649 | self.next_speed_check_bytes_threshold.set(self.timeout.low_speed_limit as u64); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u64::from(self.timeout.low_speed_limit)` [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: length comparison to zero [INFO] [stderr] --> src/cargo/core/package.rs:694:21 [INFO] [stderr] | [INFO] [stderr] 694 | assert!(self.pending.len() > 0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!self.pending.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/cargo/core/package.rs:696:18 [INFO] [stderr] | [INFO] [stderr] 696 | .unwrap_or(Duration::new(5, 0)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|| Duration::new(5, 0))` [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: this boolean expression can be simplified [INFO] [stderr] --> src/cargo/core/package.rs:722:12 [INFO] [stderr] | [INFO] [stderr] 722 | if !self.tick(WhyTick::DownloadUpdate).is_ok() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `self.tick(WhyTick::DownloadUpdate).is_err()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::nonminimal_bool)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stderr] [INFO] [stderr] warning: casting u32 to u64 may become silently lossy if types change [INFO] [stderr] --> src/cargo/core/package.rs:716:21 [INFO] [stderr] | [INFO] [stderr] 716 | self.timeout.low_speed_limit as u64, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u64::from(self.timeout.low_speed_limit)` [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: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/cargo/core/profiles.rs:596:28 [INFO] [stderr] | [INFO] [stderr] 596 | pub fn is_custom_build(&self) -> bool { [INFO] [stderr] | ^^^^^ help: consider passing by value instead: `self` [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/cargo/core/profiles.rs:601:24 [INFO] [stderr] | [INFO] [stderr] 601 | pub fn is_panic_ok(&self) -> bool { [INFO] [stderr] | ^^^^^ help: consider passing by value instead: `self` [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: this `.filter_map` can be written more simply using `.map` [INFO] [stderr] --> src/cargo/core/resolver/encode.rs:339:25 [INFO] [stderr] | [INFO] [stderr] 339 | let encodable = ids [INFO] [stderr] | _________________________^ [INFO] [stderr] 340 | | .iter() [INFO] [stderr] 341 | | .filter_map(|&id| Some(encodable_resolve_node(id, self.resolve))) [INFO] [stderr] | |_____________________________________________________________________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_filter_map [INFO] [stderr] [INFO] [stderr] warning: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/cargo/core/resolver/resolve.rs:238:18 [INFO] [stderr] | [INFO] [stderr] 238 | .unwrap_or(crate_name.clone()) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|| crate_name.clone())` [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/cargo/core/resolver/resolve.rs:240:33 [INFO] [stderr] | [INFO] [stderr] 240 | let name = names.next().unwrap_or(crate_name.clone()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|| crate_name.clone())` [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: length comparison to zero [INFO] [stderr] --> src/cargo/ops/cargo_install.rs:728:15 [INFO] [stderr] | [INFO] [stderr] 728 | } else if specs.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `specs.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/cargo/ops/lockfile.rs:50:69 [INFO] [stderr] | [INFO] [stderr] 50 | for line in orig.lines().take_while(|line| line.starts_with("#")) { [INFO] [stderr] | ^^^ help: try using a char instead: `'#'` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::single_char_pattern)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: an inclusive range would be more readable [INFO] [stderr] --> src/cargo/util/lev_distance.rs:11:20 [INFO] [stderr] | [INFO] [stderr] 11 | let mut dcol = (0..t.len() + 1).collect::>(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: use: `(0..=t.len())` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::range_plus_one)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#range_plus_one [INFO] [stderr] [INFO] [stderr] error: aborting due to previous error [INFO] [stderr] [INFO] [stderr] error: Could not compile `cargo`. [INFO] [stderr] [INFO] [stderr] To learn more, run the command again with --verbose. [INFO] running `"docker" "inspect" "3f8dc7f44fd82ac3dcc461a54e0e97bde599e1f9049e664bf168a72f0bf9c5b8"` [INFO] running `"docker" "rm" "-f" "3f8dc7f44fd82ac3dcc461a54e0e97bde599e1f9049e664bf168a72f0bf9c5b8"` [INFO] [stdout] 3f8dc7f44fd82ac3dcc461a54e0e97bde599e1f9049e664bf168a72f0bf9c5b8