[INFO] crate getopts 0.2.18 is already in cache [INFO] extracting crate getopts 0.2.18 into work/ex/clippy-test-run/sources/stable/reg/getopts/0.2.18 [INFO] extracting crate getopts 0.2.18 into work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/getopts/0.2.18 [INFO] validating manifest of getopts-0.2.18 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 getopts-0.2.18 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 getopts-0.2.18 [INFO] finished frobbing getopts-0.2.18 [INFO] frobbed toml for getopts-0.2.18 written to work/ex/clippy-test-run/sources/stable/reg/getopts/0.2.18/Cargo.toml [INFO] started frobbing getopts-0.2.18 [INFO] finished frobbing getopts-0.2.18 [INFO] frobbed toml for getopts-0.2.18 written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/getopts/0.2.18/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 getopts-0.2.18 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/getopts/0.2.18:/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] 146a14992a99ac9773a9c2cba80561297ca1acb0e86453e892e69090f7724fd7 [INFO] running `"docker" "start" "-a" "146a14992a99ac9773a9c2cba80561297ca1acb0e86453e892e69090f7724fd7"` [INFO] [stderr] Checking getopts v0.2.18 (/opt/crater/workdir) [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/lib.rs:170:13 [INFO] [stderr] | [INFO] [stderr] 170 | hasarg: hasarg, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `hasarg` [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/lib.rs:171:13 [INFO] [stderr] | [INFO] [stderr] 171 | occur: occur [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `occur` [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/lib.rs:436:13 [INFO] [stderr] | [INFO] [stderr] 436 | opts: opts, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `opts` [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/lib.rs:437:13 [INFO] [stderr] | [INFO] [stderr] 437 | vals: vals, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `vals` [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/lib.rs:438:13 [INFO] [stderr] | [INFO] [stderr] 438 | free: free [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `free` [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/lib.rs:714:17 [INFO] [stderr] | [INFO] [stderr] 714 | hasarg: hasarg, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `hasarg` [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/lib.rs:715:17 [INFO] [stderr] | [INFO] [stderr] 715 | occur: occur, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `occur` [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/lib.rs:720:17 [INFO] [stderr] | [INFO] [stderr] 720 | hasarg: hasarg, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `hasarg` [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/lib.rs:721:17 [INFO] [stderr] | [INFO] [stderr] 721 | occur: occur, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `occur` [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/lib.rs:726:17 [INFO] [stderr] | [INFO] [stderr] 726 | hasarg: hasarg, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `hasarg` [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/lib.rs:727:17 [INFO] [stderr] | [INFO] [stderr] 727 | occur: occur, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `occur` [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] error: redundant field names in struct initialization [INFO] [stderr] --> src/lib.rs:170:13 [INFO] [stderr] | [INFO] [stderr] 170 | hasarg: hasarg, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `hasarg` [INFO] [stderr] | [INFO] [stderr] note: lint level defined here [INFO] [stderr] --> src/lib.rs:99:24 [INFO] [stderr] | [INFO] [stderr] 99 | #![cfg_attr(test, deny(warnings))] [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] = note: #[deny(clippy::redundant_field_names)] implied by #[deny(warnings)] [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] error: redundant field names in struct initialization [INFO] [stderr] --> src/lib.rs:171:13 [INFO] [stderr] | [INFO] [stderr] 171 | occur: occur [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `occur` [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] error: redundant field names in struct initialization [INFO] [stderr] --> src/lib.rs:436:13 [INFO] [stderr] | [INFO] [stderr] 436 | opts: opts, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `opts` [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] error: redundant field names in struct initialization [INFO] [stderr] --> src/lib.rs:437:13 [INFO] [stderr] | [INFO] [stderr] 437 | vals: vals, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `vals` [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] error: redundant field names in struct initialization [INFO] [stderr] --> src/lib.rs:438:13 [INFO] [stderr] | [INFO] [stderr] 438 | free: free [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `free` [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] error: redundant field names in struct initialization [INFO] [stderr] --> src/lib.rs:714:17 [INFO] [stderr] | [INFO] [stderr] 714 | hasarg: hasarg, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `hasarg` [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] error: redundant field names in struct initialization [INFO] [stderr] --> src/lib.rs:715:17 [INFO] [stderr] | [INFO] [stderr] 715 | occur: occur, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `occur` [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] error: redundant field names in struct initialization [INFO] [stderr] --> src/lib.rs:720:17 [INFO] [stderr] | [INFO] [stderr] 720 | hasarg: hasarg, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `hasarg` [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] error: redundant field names in struct initialization [INFO] [stderr] --> src/lib.rs:721:17 [INFO] [stderr] | [INFO] [stderr] 721 | occur: occur, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `occur` [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] error: redundant field names in struct initialization [INFO] [stderr] --> src/lib.rs:726:17 [INFO] [stderr] | [INFO] [stderr] 726 | hasarg: hasarg, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `hasarg` [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] error: redundant field names in struct initialization [INFO] [stderr] --> src/lib.rs:727:17 [INFO] [stderr] | [INFO] [stderr] 727 | occur: occur, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `occur` [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: you should consider adding a `Default` implementation for `Options` [INFO] [stderr] --> src/lib.rs:134:5 [INFO] [stderr] | [INFO] [stderr] 134 | / pub fn new() -> Options { [INFO] [stderr] 135 | | Options { [INFO] [stderr] 136 | | grps: Vec::new(), [INFO] [stderr] 137 | | parsing_style: ParsingStyle::FloatingFrees, [INFO] [stderr] 138 | | long_only: false [INFO] [stderr] 139 | | } [INFO] [stderr] 140 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::new_without_default)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 132 | impl Default for Options { [INFO] [stderr] 133 | fn default() -> Self { [INFO] [stderr] 134 | Self::new() [INFO] [stderr] 135 | } [INFO] [stderr] 136 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: this boolean expression can be simplified [INFO] [stderr] --> src/lib.rs:393:28 [INFO] [stderr] | [INFO] [stderr] 393 | if name_pos == names.len() && !i_arg.is_none() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `name_pos == names.len() && i_arg.is_some()` [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: length comparison to zero [INFO] [stderr] --> src/lib.rs:470:13 [INFO] [stderr] | [INFO] [stderr] 470 | optref.short_name.len() > 0 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!optref.short_name.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: called `is_some()` after searching an `Iterator` with position. This is more succinctly expressed by calling `any()`. [INFO] [stderr] --> src/lib.rs:865:12 [INFO] [stderr] | [INFO] [stderr] 865 | if candidate.aliases.iter().position(|opt| &opt.name == nm).is_some() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::search_is_some)] on by default [INFO] [stderr] = note: replace `position(|opt| &opt.name == nm).is_some()` with `any(|opt| &opt.name == nm)` [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: length comparison to zero [INFO] [stderr] --> src/lib.rs:903:8 [INFO] [stderr] | [INFO] [stderr] 903 | if opt.short_name.len() > 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!opt.short_name.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: length comparison to zero [INFO] [stderr] --> src/lib.rs:958:26 [INFO] [stderr] | [INFO] [stderr] 958 | let sep = if row.len() > 0 { Some(" ") } else { None }; [INFO] [stderr] | ^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!row.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: length comparison to zero [INFO] [stderr] --> src/lib.rs:968:16 [INFO] [stderr] | [INFO] [stderr] 968 | if row.len() > 0 { [INFO] [stderr] | ^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!row.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: length comparison to zero [INFO] [stderr] --> src/lib.rs:974:12 [INFO] [stderr] | [INFO] [stderr] 974 | if row.len() > 0 { [INFO] [stderr] | ^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!row.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] error: aborting due to 11 previous errors [INFO] [stderr] [INFO] [stderr] error: Could not compile `getopts`. [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stderr] error: build failed [INFO] running `"docker" "inspect" "146a14992a99ac9773a9c2cba80561297ca1acb0e86453e892e69090f7724fd7"` [INFO] running `"docker" "rm" "-f" "146a14992a99ac9773a9c2cba80561297ca1acb0e86453e892e69090f7724fd7"` [INFO] [stdout] 146a14992a99ac9773a9c2cba80561297ca1acb0e86453e892e69090f7724fd7