[INFO] crate itertools 0.7.11 is already in cache [INFO] extracting crate itertools 0.7.11 into work/ex/clippy-test-run/sources/stable/reg/itertools/0.7.11 [INFO] extracting crate itertools 0.7.11 into work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/itertools/0.7.11 [INFO] validating manifest of itertools-0.7.11 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 itertools-0.7.11 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 itertools-0.7.11 [INFO] finished frobbing itertools-0.7.11 [INFO] frobbed toml for itertools-0.7.11 written to work/ex/clippy-test-run/sources/stable/reg/itertools/0.7.11/Cargo.toml [INFO] started frobbing itertools-0.7.11 [INFO] finished frobbing itertools-0.7.11 [INFO] frobbed toml for itertools-0.7.11 written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/itertools/0.7.11/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 itertools-0.7.11 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/itertools/0.7.11:/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] eacb706c084c1709e02420e22eb0c5c4dbfa51db78e46ddf9105684d37d1f277 [INFO] running `"docker" "start" "-a" "eacb706c084c1709e02420e22eb0c5c4dbfa51db78e46ddf9105684d37d1f277"` [INFO] [stderr] Checking itertools v0.7.11 (/opt/crater/workdir) [INFO] [stderr] Checking quickcheck v0.5.0 [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/adaptors/multi_product.rs:68:39 [INFO] [stderr] | [INFO] [stderr] 68 | state = MidIter { on_first_iter: on_first_iter }; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `on_first_iter` [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/adaptors/mod.rs:384:16 [INFO] [stderr] | [INFO] [stderr] 384 | Batching { f: f, iter: iter } [INFO] [stderr] | ^^^^ help: replace it with: `f` [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/adaptors/mod.rs:384:22 [INFO] [stderr] | [INFO] [stderr] 384 | Batching { f: f, iter: iter } [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `iter` [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/adaptors/mod.rs:626:9 [INFO] [stderr] | [INFO] [stderr] 626 | cmp: cmp, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `cmp` [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/adaptors/mod.rs:733:9 [INFO] [stderr] | [INFO] [stderr] 733 | f: f, [INFO] [stderr] | ^^^^ help: replace it with: `f` [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/adaptors/mod.rs:731:13 [INFO] [stderr] | [INFO] [stderr] 731 | iter: iter, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `iter` [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/adaptors/mod.rs:778:13 [INFO] [stderr] | [INFO] [stderr] 778 | iter: iter, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `iter` [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/adaptors/mod.rs:844:20 [INFO] [stderr] | [INFO] [stderr] 844 | TakeWhileRef { iter: iter, f: f } [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `iter` [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/adaptors/mod.rs:844:32 [INFO] [stderr] | [INFO] [stderr] 844 | TakeWhileRef { iter: iter, f: f } [INFO] [stderr] | ^^^^ help: replace it with: `f` [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/adaptors/mod.rs:886:17 [INFO] [stderr] | [INFO] [stderr] 886 | WhileSome { iter: iter } [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `iter` [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/adaptors/mod.rs:958:29 [INFO] [stderr] | [INFO] [stderr] 958 | Tuple1Combination { iter: iter } [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `iter` [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/adaptors/mod.rs:1128:9 [INFO] [stderr] | [INFO] [stderr] 1128 | iter: iter, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `iter` [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/adaptors/mod.rs:1129:9 [INFO] [stderr] | [INFO] [stderr] 1129 | f: f, [INFO] [stderr] | ^^^^ help: replace it with: `f` [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/adaptors/mod.rs:1178:9 [INFO] [stderr] | [INFO] [stderr] 1178 | iter: iter, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `iter` [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/adaptors/mod.rs:1179:9 [INFO] [stderr] | [INFO] [stderr] 1179 | f: f, [INFO] [stderr] | ^^^^ help: replace it with: `f` [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/adaptors/mod.rs:1235:14 [INFO] [stderr] | [INFO] [stderr] 1235 | Update { iter: iter, f: f } [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `iter` [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/adaptors/mod.rs:1235:26 [INFO] [stderr] | [INFO] [stderr] 1235 | Update { iter: iter, f: f } [INFO] [stderr] | ^^^^ help: replace it with: `f` [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/combinations.rs:40:9 [INFO] [stderr] | [INFO] [stderr] 40 | n: n, [INFO] [stderr] | ^^^^ help: replace it with: `n` [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/combinations.rs:41:9 [INFO] [stderr] | [INFO] [stderr] 41 | indices: indices, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `indices` [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/combinations.rs:42:9 [INFO] [stderr] | [INFO] [stderr] 42 | pool: pool, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `pool` [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/combinations.rs:123:13 [INFO] [stderr] | [INFO] [stderr] 123 | it: it, [INFO] [stderr] | ^^^^^^ help: replace it with: `it` [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/combinations.rs:124:13 [INFO] [stderr] | [INFO] [stderr] 124 | done: done, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `done` [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/combinations.rs:125:13 [INFO] [stderr] | [INFO] [stderr] 125 | buffer: buffer, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `buffer` [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/groupbylazy.rs:33:13 [INFO] [stderr] | [INFO] [stderr] 33 | size: size, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `size` [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/groupbylazy.rs:383:17 [INFO] [stderr] | [INFO] [stderr] 383 | index: index, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `index` [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/groupbylazy.rs:531:17 [INFO] [stderr] | [INFO] [stderr] 531 | index: index, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `index` [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/intersperse.rs:30:9 [INFO] [stderr] | [INFO] [stderr] 30 | iter: iter, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `iter` [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/kmerge_impl.rs:150:14 [INFO] [stderr] | [INFO] [stderr] 150 | KMerge { heap: heap } [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `heap` [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/kmerge_impl.rs:226:16 [INFO] [stderr] | [INFO] [stderr] 226 | KMergeBy { heap: heap, less_than: less_than } [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `heap` [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/kmerge_impl.rs:226:28 [INFO] [stderr] | [INFO] [stderr] 226 | KMergeBy { heap: heap, less_than: less_than } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `less_than` [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/merge_join.rs:20:9 [INFO] [stderr] | [INFO] [stderr] 20 | cmp_fn: cmp_fn [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `cmp_fn` [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/pad_tail.rs:26:9 [INFO] [stderr] | [INFO] [stderr] 26 | min: min, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `min` [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/pad_tail.rs:28:9 [INFO] [stderr] | [INFO] [stderr] 28 | filler: filler, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `filler` [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/peeking_take_while.rs:92:9 [INFO] [stderr] | [INFO] [stderr] 92 | iter: iter, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `iter` [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/peeking_take_while.rs:93:9 [INFO] [stderr] | [INFO] [stderr] 93 | f: f, [INFO] [stderr] | ^^^^ help: replace it with: `f` [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/process_results_impl.rs:78:64 [INFO] [stderr] | [INFO] [stderr] 78 | let result = processor(ProcessResults { error: &mut error, iter: iter }); [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `iter` [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/repeatn.rs:17:30 [INFO] [stderr] | [INFO] [stderr] 17 | RepeatN { elt: None, n: n, } [INFO] [stderr] | ^^^^ help: replace it with: `n` [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/repeatn.rs:19:39 [INFO] [stderr] | [INFO] [stderr] 19 | RepeatN { elt: Some(element), n: n, } [INFO] [stderr] | ^^^^ help: replace it with: `n` [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/sources.rs:101:9 [INFO] [stderr] | [INFO] [stderr] 101 | f: f, [INFO] [stderr] | ^^^^ help: replace it with: `f` [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/sources.rs:185:9 [INFO] [stderr] | [INFO] [stderr] 185 | f: f, [INFO] [stderr] | ^^^^ help: replace it with: `f` [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/tee.rs:31:54 [INFO] [stderr] | [INFO] [stderr] 31 | let buffer = TeeBuffer{backlog: VecDeque::new(), iter: iter, owner: false}; [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `iter` [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/tuple_impl.rs:23:13 [INFO] [stderr] | [INFO] [stderr] 23 | buf: buf, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `buf` [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/tuple_impl.rs:148:9 [INFO] [stderr] | [INFO] [stderr] 148 | last: last, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `last` [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/tuple_impl.rs:149:9 [INFO] [stderr] | [INFO] [stderr] 149 | iter: iter, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `iter` [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/unique_impl.rs:33:9 [INFO] [stderr] | [INFO] [stderr] 33 | iter: iter, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `iter` [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/unique_impl.rs:35:9 [INFO] [stderr] | [INFO] [stderr] 35 | f: f, [INFO] [stderr] | ^^^^ help: replace it with: `f` [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/unique_impl.rs:129:13 [INFO] [stderr] | [INFO] [stderr] 129 | iter: iter, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `iter` [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 matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/adaptors/multi_product.rs:176:55 [INFO] [stderr] | [INFO] [stderr] 176 | |acc, MultiProductIter { iter, iter_orig, cur: _ }| { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::unneeded_field_pattern)] on by default [INFO] [stderr] = help: Try with `MultiProductIter { iter, iter_orig, .. }` [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/adaptors/multi_product.rs:198:64 [INFO] [stderr] | [INFO] [stderr] 198 | |acc, &MultiProductIter { ref iter, ref iter_orig, cur: _ }| { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `MultiProductIter { ref iter, ref iter_orig, .. }` [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/combinations.rs:54:9 [INFO] [stderr] | [INFO] [stderr] 54 | / if self.pool.is_done() { [INFO] [stderr] 55 | | if pool_len == 0 || self.n > pool_len { [INFO] [stderr] 56 | | return None; [INFO] [stderr] 57 | | } [INFO] [stderr] 58 | | } [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] 54 | if self.pool.is_done() && (pool_len == 0 || self.n > pool_len) { [INFO] [stderr] 55 | return None; [INFO] [stderr] 56 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: this if statement can be collapsed [INFO] [stderr] --> src/combinations.rs:69:13 [INFO] [stderr] | [INFO] [stderr] 69 | / if self.indices[i] == pool_len - 1 && !self.pool.is_done() { [INFO] [stderr] 70 | | if self.pool.get_next() { [INFO] [stderr] 71 | | pool_len += 1; [INFO] [stderr] 72 | | } [INFO] [stderr] 73 | | } [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] 69 | if self.indices[i] == pool_len - 1 && !self.pool.is_done() && self.pool.get_next() { [INFO] [stderr] 70 | pool_len += 1; [INFO] [stderr] 71 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: this `else { if .. }` block can be collapsed [INFO] [stderr] --> src/multipeek_impl.rs:71:16 [INFO] [stderr] | [INFO] [stderr] 71 | } else { [INFO] [stderr] | ________________^ [INFO] [stderr] 72 | | if let Some(r) = self.buf.get(0) { [INFO] [stderr] 73 | | if !accept(r) { return None } [INFO] [stderr] 74 | | } [INFO] [stderr] 75 | | } [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] 71 | } else if let Some(r) = self.buf.get(0) { [INFO] [stderr] 72 | if !accept(r) { return None } [INFO] [stderr] 73 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: returning the result of a let binding from a block. Consider returning the expression directly. [INFO] [stderr] --> src/ziptuple.rs:91:17 [INFO] [stderr] | [INFO] [stderr] 91 | sh [INFO] [stderr] | ^^ [INFO] [stderr] ... [INFO] [stderr] 104 | impl_zip_iter!(A); [INFO] [stderr] | ------------------ in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::let_and_return)] on by default [INFO] [stderr] note: this expression can be directly returned [INFO] [stderr] --> src/ziptuple.rs:89:30 [INFO] [stderr] | [INFO] [stderr] 89 | let sh = size_hint::min($B.size_hint(), sh); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 104 | impl_zip_iter!(A); [INFO] [stderr] | ------------------ in this macro invocation [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return [INFO] [stderr] [INFO] [stderr] warning: returning the result of a let binding from a block. Consider returning the expression directly. [INFO] [stderr] --> src/ziptuple.rs:91:17 [INFO] [stderr] | [INFO] [stderr] 91 | sh [INFO] [stderr] | ^^ [INFO] [stderr] ... [INFO] [stderr] 105 | impl_zip_iter!(A, B); [INFO] [stderr] | --------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] note: this expression can be directly returned [INFO] [stderr] --> src/ziptuple.rs:89:30 [INFO] [stderr] | [INFO] [stderr] 89 | let sh = size_hint::min($B.size_hint(), sh); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 105 | impl_zip_iter!(A, B); [INFO] [stderr] | --------------------- in this macro invocation [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return [INFO] [stderr] [INFO] [stderr] warning: returning the result of a let binding from a block. Consider returning the expression directly. [INFO] [stderr] --> src/ziptuple.rs:91:17 [INFO] [stderr] | [INFO] [stderr] 91 | sh [INFO] [stderr] | ^^ [INFO] [stderr] ... [INFO] [stderr] 106 | impl_zip_iter!(A, B, C); [INFO] [stderr] | ------------------------ in this macro invocation [INFO] [stderr] | [INFO] [stderr] note: this expression can be directly returned [INFO] [stderr] --> src/ziptuple.rs:89:30 [INFO] [stderr] | [INFO] [stderr] 89 | let sh = size_hint::min($B.size_hint(), sh); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 106 | impl_zip_iter!(A, B, C); [INFO] [stderr] | ------------------------ in this macro invocation [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return [INFO] [stderr] [INFO] [stderr] warning: returning the result of a let binding from a block. Consider returning the expression directly. [INFO] [stderr] --> src/ziptuple.rs:91:17 [INFO] [stderr] | [INFO] [stderr] 91 | sh [INFO] [stderr] | ^^ [INFO] [stderr] ... [INFO] [stderr] 107 | impl_zip_iter!(A, B, C, D); [INFO] [stderr] | --------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] note: this expression can be directly returned [INFO] [stderr] --> src/ziptuple.rs:89:30 [INFO] [stderr] | [INFO] [stderr] 89 | let sh = size_hint::min($B.size_hint(), sh); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 107 | impl_zip_iter!(A, B, C, D); [INFO] [stderr] | --------------------------- in this macro invocation [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return [INFO] [stderr] [INFO] [stderr] warning: returning the result of a let binding from a block. Consider returning the expression directly. [INFO] [stderr] --> src/ziptuple.rs:91:17 [INFO] [stderr] | [INFO] [stderr] 91 | sh [INFO] [stderr] | ^^ [INFO] [stderr] ... [INFO] [stderr] 108 | impl_zip_iter!(A, B, C, D, E); [INFO] [stderr] | ------------------------------ in this macro invocation [INFO] [stderr] | [INFO] [stderr] note: this expression can be directly returned [INFO] [stderr] --> src/ziptuple.rs:89:30 [INFO] [stderr] | [INFO] [stderr] 89 | let sh = size_hint::min($B.size_hint(), sh); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 108 | impl_zip_iter!(A, B, C, D, E); [INFO] [stderr] | ------------------------------ in this macro invocation [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return [INFO] [stderr] [INFO] [stderr] warning: returning the result of a let binding from a block. Consider returning the expression directly. [INFO] [stderr] --> src/ziptuple.rs:91:17 [INFO] [stderr] | [INFO] [stderr] 91 | sh [INFO] [stderr] | ^^ [INFO] [stderr] ... [INFO] [stderr] 109 | impl_zip_iter!(A, B, C, D, E, F); [INFO] [stderr] | --------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] note: this expression can be directly returned [INFO] [stderr] --> src/ziptuple.rs:89:30 [INFO] [stderr] | [INFO] [stderr] 89 | let sh = size_hint::min($B.size_hint(), sh); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 109 | impl_zip_iter!(A, B, C, D, E, F); [INFO] [stderr] | --------------------------------- in this macro invocation [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return [INFO] [stderr] [INFO] [stderr] warning: returning the result of a let binding from a block. Consider returning the expression directly. [INFO] [stderr] --> src/ziptuple.rs:91:17 [INFO] [stderr] | [INFO] [stderr] 91 | sh [INFO] [stderr] | ^^ [INFO] [stderr] ... [INFO] [stderr] 110 | impl_zip_iter!(A, B, C, D, E, F, G); [INFO] [stderr] | ------------------------------------ in this macro invocation [INFO] [stderr] | [INFO] [stderr] note: this expression can be directly returned [INFO] [stderr] --> src/ziptuple.rs:89:30 [INFO] [stderr] | [INFO] [stderr] 89 | let sh = size_hint::min($B.size_hint(), sh); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 110 | impl_zip_iter!(A, B, C, D, E, F, G); [INFO] [stderr] | ------------------------------------ in this macro invocation [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return [INFO] [stderr] [INFO] [stderr] warning: returning the result of a let binding from a block. Consider returning the expression directly. [INFO] [stderr] --> src/ziptuple.rs:91:17 [INFO] [stderr] | [INFO] [stderr] 91 | sh [INFO] [stderr] | ^^ [INFO] [stderr] ... [INFO] [stderr] 111 | impl_zip_iter!(A, B, C, D, E, F, G, H); [INFO] [stderr] | --------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] note: this expression can be directly returned [INFO] [stderr] --> src/ziptuple.rs:89:30 [INFO] [stderr] | [INFO] [stderr] 89 | let sh = size_hint::min($B.size_hint(), sh); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 111 | impl_zip_iter!(A, B, C, D, E, F, G, H); [INFO] [stderr] | --------------------------------------- in this macro invocation [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/adaptors/multi_product.rs:164:12 [INFO] [stderr] | [INFO] [stderr] 164 | if self.0.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `self.0.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: length comparison to zero [INFO] [stderr] --> src/adaptors/multi_product.rs:186:12 [INFO] [stderr] | [INFO] [stderr] 186 | if self.0.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `self.0.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: you seem to be trying to match on a boolean expression [INFO] [stderr] --> src/adaptors/mod.rs:128:9 [INFO] [stderr] | [INFO] [stderr] 128 | / match self.phase { [INFO] [stderr] 129 | | false => match self.it0.next() { [INFO] [stderr] 130 | | None => None, [INFO] [stderr] 131 | | e => { [INFO] [stderr] ... | [INFO] [stderr] 142 | | }, [INFO] [stderr] 143 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::match_bool)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_bool [INFO] [stderr] help: consider using an if/else expression [INFO] [stderr] | [INFO] [stderr] 128 | if self.phase { match self.it1.next() { [INFO] [stderr] 129 | None => None, [INFO] [stderr] 130 | e => { [INFO] [stderr] 131 | self.phase = false; [INFO] [stderr] 132 | e [INFO] [stderr] 133 | } [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/adaptors/mod.rs:1086:17 [INFO] [stderr] | [INFO] [stderr] 1086 | / match f.next() { [INFO] [stderr] 1087 | | elt @ Some(_) => return elt, [INFO] [stderr] 1088 | | None => { } [INFO] [stderr] 1089 | | } [INFO] [stderr] | |_________________^ help: try this: `if let elt @ Some(_) = f.next() { return elt }` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::single_match)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] [INFO] [stderr] warning: redundant closure found [INFO] [stderr] --> src/concat_impl.rs:21:78 [INFO] [stderr] | [INFO] [stderr] 21 | iterable.into_iter().fold1(|mut a, b| { a.extend(b); a }).unwrap_or_else(|| <_>::default()) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: remove closure as shown: `<_>::default` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_closure)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stderr] [INFO] [stderr] warning: identical conversion [INFO] [stderr] --> src/cons_tuples_impl.rs:67:24 [INFO] [stderr] | [INFO] [stderr] 67 | ConsTuples { iter: iterable.into_iter() } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: consider removing `.into_iter()`: `iterable` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::identity_conversion)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_conversion [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/combinations.rs:161:5 [INFO] [stderr] | [INFO] [stderr] 161 | / fn index<'b>(&'b self, _index: usize) -> &'b I::Item { [INFO] [stderr] 162 | | self.buffer.index(_index) [INFO] [stderr] 163 | | } [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/format.rs:30:1 [INFO] [stderr] | [INFO] [stderr] 30 | / pub fn new_format<'a, I, F>(iter: I, separator: &'a str, f: F) -> FormatWith<'a, I, F> [INFO] [stderr] 31 | | where I: Iterator, [INFO] [stderr] 32 | | F: FnMut(I::Item, &mut FnMut(&fmt::Display) -> fmt::Result) -> fmt::Result [INFO] [stderr] 33 | | { [INFO] [stderr] ... | [INFO] [stderr] 37 | | } [INFO] [stderr] 38 | | } [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/format.rs:40:1 [INFO] [stderr] | [INFO] [stderr] 40 | / pub fn new_format_default<'a, I>(iter: I, separator: &'a str) -> Format<'a, I> [INFO] [stderr] 41 | | where I: Iterator, [INFO] [stderr] 42 | | { [INFO] [stderr] 43 | | Format { [INFO] [stderr] ... | [INFO] [stderr] 46 | | } [INFO] [stderr] 47 | | } [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: length comparison to zero [INFO] [stderr] --> src/format.rs:62:20 [INFO] [stderr] | [INFO] [stderr] 62 | if self.sep.len() > 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!self.sep.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/format.rs:87:20 [INFO] [stderr] | [INFO] [stderr] 87 | if self.sep.len() > 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!self.sep.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 `or_insert` followed by a function call [INFO] [stderr] --> src/group_map.rs:18:27 [INFO] [stderr] | [INFO] [stderr] 18 | lookup.entry(key).or_insert(Vec::new()).push(val); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: try this: `or_insert_with(Vec::new)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::or_fun_call)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/tuple_impl.rs:45:22 [INFO] [stderr] | [INFO] [stderr] 45 | let len = if buffer.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `buffer.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/tuple_impl.rs:50:20 [INFO] [stderr] | [INFO] [stderr] 50 | .unwrap_or(buffer.len()) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|| buffer.len())` [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] error: this loop never actually loops [INFO] [stderr] --> src/tuple_impl.rs:205:17 [INFO] [stderr] | [INFO] [stderr] 205 | / loop { [INFO] [stderr] 206 | | $( [INFO] [stderr] 207 | | $Y = iter.next(); [INFO] [stderr] 208 | | if $Y.is_none() { [INFO] [stderr] ... | [INFO] [stderr] 212 | | return Some(($($Y.unwrap()),*,)) [INFO] [stderr] 213 | | } [INFO] [stderr] | |_________________^ [INFO] [stderr] ... [INFO] [stderr] 263 | impl_tuple_collect!(1; A; A; a; a); [INFO] [stderr] | ----------------------------------- in this macro invocation [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: this loop never actually loops [INFO] [stderr] --> src/tuple_impl.rs:231:17 [INFO] [stderr] | [INFO] [stderr] 231 | / loop { [INFO] [stderr] 232 | | $( [INFO] [stderr] 233 | | let $Y = if let Some($Y) = iter.next() { [INFO] [stderr] 234 | | $Y [INFO] [stderr] ... | [INFO] [stderr] 239 | | return Some(($($Y),*,)) [INFO] [stderr] 240 | | } [INFO] [stderr] | |_________________^ [INFO] [stderr] ... [INFO] [stderr] 263 | impl_tuple_collect!(1; A; A; a; a); [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#never_loop [INFO] [stderr] [INFO] [stderr] warning: this loop could be written as a `while let` loop [INFO] [stderr] --> src/tuple_impl.rs:231:17 [INFO] [stderr] | [INFO] [stderr] 231 | / loop { [INFO] [stderr] 232 | | $( [INFO] [stderr] 233 | | let $Y = if let Some($Y) = iter.next() { [INFO] [stderr] 234 | | $Y [INFO] [stderr] ... | [INFO] [stderr] 239 | | return Some(($($Y),*,)) [INFO] [stderr] 240 | | } [INFO] [stderr] | |_________________^ help: try: `while let Some($Y) = iter.next() { .. }` [INFO] [stderr] ... [INFO] [stderr] 263 | impl_tuple_collect!(1; A; A; a; a); [INFO] [stderr] | ----------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::while_let_loop)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#while_let_loop [INFO] [stderr] [INFO] [stderr] error: this loop never actually loops [INFO] [stderr] --> src/tuple_impl.rs:205:17 [INFO] [stderr] | [INFO] [stderr] 205 | / loop { [INFO] [stderr] 206 | | $( [INFO] [stderr] 207 | | $Y = iter.next(); [INFO] [stderr] 208 | | if $Y.is_none() { [INFO] [stderr] ... | [INFO] [stderr] 212 | | return Some(($($Y.unwrap()),*,)) [INFO] [stderr] 213 | | } [INFO] [stderr] | |_________________^ [INFO] [stderr] ... [INFO] [stderr] 264 | impl_tuple_collect!(2; A; A, A; a, b; b, a); [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#never_loop [INFO] [stderr] [INFO] [stderr] error: this loop never actually loops [INFO] [stderr] --> src/tuple_impl.rs:231:17 [INFO] [stderr] | [INFO] [stderr] 231 | / loop { [INFO] [stderr] 232 | | $( [INFO] [stderr] 233 | | let $Y = if let Some($Y) = iter.next() { [INFO] [stderr] 234 | | $Y [INFO] [stderr] ... | [INFO] [stderr] 239 | | return Some(($($Y),*,)) [INFO] [stderr] 240 | | } [INFO] [stderr] | |_________________^ [INFO] [stderr] ... [INFO] [stderr] 264 | impl_tuple_collect!(2; A; A, A; a, b; b, a); [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#never_loop [INFO] [stderr] [INFO] [stderr] warning: this loop could be written as a `while let` loop [INFO] [stderr] --> src/tuple_impl.rs:231:17 [INFO] [stderr] | [INFO] [stderr] 231 | / loop { [INFO] [stderr] 232 | | $( [INFO] [stderr] 233 | | let $Y = if let Some($Y) = iter.next() { [INFO] [stderr] 234 | | $Y [INFO] [stderr] ... | [INFO] [stderr] 239 | | return Some(($($Y),*,)) [INFO] [stderr] 240 | | } [INFO] [stderr] | |_________________^ help: try: `while let Some($Y) = iter.next() { .. }` [INFO] [stderr] ... [INFO] [stderr] 264 | impl_tuple_collect!(2; A; A, A; a, b; b, a); [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#while_let_loop [INFO] [stderr] [INFO] [stderr] error: this loop never actually loops [INFO] [stderr] --> src/tuple_impl.rs:205:17 [INFO] [stderr] | [INFO] [stderr] 205 | / loop { [INFO] [stderr] 206 | | $( [INFO] [stderr] 207 | | $Y = iter.next(); [INFO] [stderr] 208 | | if $Y.is_none() { [INFO] [stderr] ... | [INFO] [stderr] 212 | | return Some(($($Y.unwrap()),*,)) [INFO] [stderr] 213 | | } [INFO] [stderr] | |_________________^ [INFO] [stderr] ... [INFO] [stderr] 265 | impl_tuple_collect!(3; A; A, A, A; a, b, c; c, b, a); [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#never_loop [INFO] [stderr] [INFO] [stderr] error: this loop never actually loops [INFO] [stderr] --> src/tuple_impl.rs:231:17 [INFO] [stderr] | [INFO] [stderr] 231 | / loop { [INFO] [stderr] 232 | | $( [INFO] [stderr] 233 | | let $Y = if let Some($Y) = iter.next() { [INFO] [stderr] 234 | | $Y [INFO] [stderr] ... | [INFO] [stderr] 239 | | return Some(($($Y),*,)) [INFO] [stderr] 240 | | } [INFO] [stderr] | |_________________^ [INFO] [stderr] ... [INFO] [stderr] 265 | impl_tuple_collect!(3; A; A, A, A; a, b, c; c, b, a); [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#never_loop [INFO] [stderr] [INFO] [stderr] warning: this loop could be written as a `while let` loop [INFO] [stderr] --> src/tuple_impl.rs:231:17 [INFO] [stderr] | [INFO] [stderr] 231 | / loop { [INFO] [stderr] 232 | | $( [INFO] [stderr] 233 | | let $Y = if let Some($Y) = iter.next() { [INFO] [stderr] 234 | | $Y [INFO] [stderr] ... | [INFO] [stderr] 239 | | return Some(($($Y),*,)) [INFO] [stderr] 240 | | } [INFO] [stderr] | |_________________^ help: try: `while let Some($Y) = iter.next() { .. }` [INFO] [stderr] ... [INFO] [stderr] 265 | impl_tuple_collect!(3; A; A, A, A; a, b, c; c, b, a); [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#while_let_loop [INFO] [stderr] [INFO] [stderr] error: this loop never actually loops [INFO] [stderr] --> src/tuple_impl.rs:205:17 [INFO] [stderr] | [INFO] [stderr] 205 | / loop { [INFO] [stderr] 206 | | $( [INFO] [stderr] 207 | | $Y = iter.next(); [INFO] [stderr] 208 | | if $Y.is_none() { [INFO] [stderr] ... | [INFO] [stderr] 212 | | return Some(($($Y.unwrap()),*,)) [INFO] [stderr] 213 | | } [INFO] [stderr] | |_________________^ [INFO] [stderr] ... [INFO] [stderr] 266 | impl_tuple_collect!(4; A; A, A, A, A; a, b, c, d; d, c, b, a); [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#never_loop [INFO] [stderr] [INFO] [stderr] error: this loop never actually loops [INFO] [stderr] --> src/tuple_impl.rs:231:17 [INFO] [stderr] | [INFO] [stderr] 231 | / loop { [INFO] [stderr] 232 | | $( [INFO] [stderr] 233 | | let $Y = if let Some($Y) = iter.next() { [INFO] [stderr] 234 | | $Y [INFO] [stderr] ... | [INFO] [stderr] 239 | | return Some(($($Y),*,)) [INFO] [stderr] 240 | | } [INFO] [stderr] | |_________________^ [INFO] [stderr] ... [INFO] [stderr] 266 | impl_tuple_collect!(4; A; A, A, A, A; a, b, c, d; d, c, b, a); [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#never_loop [INFO] [stderr] [INFO] [stderr] warning: this loop could be written as a `while let` loop [INFO] [stderr] --> src/tuple_impl.rs:231:17 [INFO] [stderr] | [INFO] [stderr] 231 | / loop { [INFO] [stderr] 232 | | $( [INFO] [stderr] 233 | | let $Y = if let Some($Y) = iter.next() { [INFO] [stderr] 234 | | $Y [INFO] [stderr] ... | [INFO] [stderr] 239 | | return Some(($($Y),*,)) [INFO] [stderr] 240 | | } [INFO] [stderr] | |_________________^ help: try: `while let Some($Y) = iter.next() { .. }` [INFO] [stderr] ... [INFO] [stderr] 266 | impl_tuple_collect!(4; A; A, A, A, A; a, b, c, d; d, c, b, a); [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#while_let_loop [INFO] [stderr] [INFO] [stderr] warning: the variable `index` is used as a loop counter. Consider using `for (index, item) in self.enumerate()` or similar iterators [INFO] [stderr] --> src/lib.rs:1244:20 [INFO] [stderr] | [INFO] [stderr] 1244 | for elt in self { [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::explicit_counter_loop)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#explicit_counter_loop [INFO] [stderr] [INFO] [stderr] warning: this loop could be written as a `for` loop [INFO] [stderr] --> src/lib.rs:1756:32 [INFO] [stderr] | [INFO] [stderr] 1756 | 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] error: aborting due to 8 previous errors [INFO] [stderr] [INFO] [stderr] error: Could not compile `itertools`. [INFO] [stderr] [INFO] [stderr] To learn more, run the command again with --verbose. [INFO] running `"docker" "inspect" "eacb706c084c1709e02420e22eb0c5c4dbfa51db78e46ddf9105684d37d1f277"` [INFO] running `"docker" "rm" "-f" "eacb706c084c1709e02420e22eb0c5c4dbfa51db78e46ddf9105684d37d1f277"` [INFO] [stdout] eacb706c084c1709e02420e22eb0c5c4dbfa51db78e46ddf9105684d37d1f277