[INFO] crate httparse 1.3.3 is already in cache [INFO] extracting crate httparse 1.3.3 into work/ex/clippy-test-run/sources/stable/reg/httparse/1.3.3 [INFO] extracting crate httparse 1.3.3 into work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/httparse/1.3.3 [INFO] validating manifest of httparse-1.3.3 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 httparse-1.3.3 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 httparse-1.3.3 [INFO] finished frobbing httparse-1.3.3 [INFO] frobbed toml for httparse-1.3.3 written to work/ex/clippy-test-run/sources/stable/reg/httparse/1.3.3/Cargo.toml [INFO] started frobbing httparse-1.3.3 [INFO] finished frobbing httparse-1.3.3 [INFO] frobbed toml for httparse-1.3.3 written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/httparse/1.3.3/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 httparse-1.3.3 against stable for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-5/stable:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable/reg/httparse/1.3.3:/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] 8339cc5b5365dcf6a06f4392d31f603bfa8f53b3a829f1441b9793bab850eec1 [INFO] running `"docker" "start" "-a" "8339cc5b5365dcf6a06f4392d31f603bfa8f53b3a829f1441b9793bab850eec1"` [INFO] [stderr] Compiling httparse v1.3.3 (/opt/crater/workdir) [INFO] [stderr] Compiling pico-sys v0.0.1 [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/iter.rs:12:13 [INFO] [stderr] | [INFO] [stderr] 12 | slice: slice, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `slice` [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/iter.rs:132:13 [INFO] [stderr] | [INFO] [stderr] 132 | bytes: bytes, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `bytes` [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/iter.rs:140:13 [INFO] [stderr] | [INFO] [stderr] 140 | bytes: bytes, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `bytes` [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:295:13 [INFO] [stderr] | [INFO] [stderr] 295 | headers: headers, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `headers` [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:362:13 [INFO] [stderr] | [INFO] [stderr] 362 | headers: headers, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `headers` [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: Unnecessary `>= y + 1` or `x - 1 >=` [INFO] [stderr] --> src/iter.rs:29:23 [INFO] [stderr] | [INFO] [stderr] 29 | debug_assert!(self.pos + 1 <= self.slice.len(), "overflow"); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::int_plus_one)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#int_plus_one [INFO] [stderr] help: change `>= y + 1` to `> y` as shown [INFO] [stderr] | [INFO] [stderr] 29 | debug_assert!(self.pos < self.slice.len(), "overflow"); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: digit groups should be smaller [INFO] [stderr] --> src/simd/avx2.rs:59:13 [INFO] [stderr] | [INFO] [stderr] 59 | let r = 0xffffffff_00000000 | _mm256_movemask_epi8(v) as u64; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: consider: `0xffff_ffff_0000_0000` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::large_digit_groups)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#large_digit_groups [INFO] [stderr] [INFO] [stderr] warning: digit groups should be smaller [INFO] [stderr] --> src/simd/avx2.rs:108:15 [INFO] [stderr] | [INFO] [stderr] 108 | let res = 0xffffffff_00000000 | _mm256_movemask_epi8(rev) as u64; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: consider: `0xffff_ffff_0000_0000` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#large_digit_groups [INFO] [stderr] [INFO] [stderr] error: redundant field names in struct initialization [INFO] [stderr] --> src/iter.rs:12:13 [INFO] [stderr] | [INFO] [stderr] 12 | slice: slice, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `slice` [INFO] [stderr] | [INFO] [stderr] note: lint level defined here [INFO] [stderr] --> src/lib.rs:3:24 [INFO] [stderr] | [INFO] [stderr] 3 | #![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/iter.rs:132:13 [INFO] [stderr] | [INFO] [stderr] 132 | bytes: bytes, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `bytes` [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/iter.rs:140:13 [INFO] [stderr] | [INFO] [stderr] 140 | bytes: bytes, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `bytes` [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:295:13 [INFO] [stderr] | [INFO] [stderr] 295 | headers: headers, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `headers` [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:362:13 [INFO] [stderr] | [INFO] [stderr] 362 | headers: headers, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `headers` [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: use of `offset` with a `usize` casted to an `isize` [INFO] [stderr] --> src/iter.rs:59:42 [INFO] [stderr] | [INFO] [stderr] 59 | let tail = slice::from_raw_parts(ptr.offset(self.pos as isize), self.slice.len() - self.pos); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `ptr.add(self.pos)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::ptr_offset_with_cast)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_offset_with_cast [INFO] [stderr] [INFO] [stderr] error: casting from `*const u8` to a more-strictly-aligned pointer (`*const std::arch::x86_64::__m128i`) [INFO] [stderr] --> src/simd/sse42.rs:36:32 [INFO] [stderr] | [INFO] [stderr] 36 | let data = _mm_lddqu_si128(ptr as *const _); [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::cast_ptr_alignment)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_ptr_alignment [INFO] [stderr] [INFO] [stderr] error: casting from `*const u8` to a more-strictly-aligned pointer (`*const std::arch::x86_64::__m128i`) [INFO] [stderr] --> src/simd/sse42.rs:75:31 [INFO] [stderr] | [INFO] [stderr] 75 | let dat = _mm_lddqu_si128(ptr as *const _); [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_ptr_alignment [INFO] [stderr] [INFO] [stderr] error: casting from `*const u8` to a more-strictly-aligned pointer (`*const std::arch::x86_64::__m256i`) [INFO] [stderr] --> src/simd/avx2.rs:53:35 [INFO] [stderr] | [INFO] [stderr] 53 | let data = _mm256_lddqu_si256(ptr as *const _); [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_ptr_alignment [INFO] [stderr] [INFO] [stderr] error: casting from `*const u8` to a more-strictly-aligned pointer (`*const std::arch::x86_64::__m256i`) [INFO] [stderr] --> src/simd/avx2.rs:102:34 [INFO] [stderr] | [INFO] [stderr] 102 | let dat = _mm256_lddqu_si256(ptr as *const _); [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_ptr_alignment [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/lib.rs:163:24 [INFO] [stderr] | [INFO] [stderr] 163 | fn description_str(&self) -> &'static str { [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: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/lib.rs:540:25 [INFO] [stderr] | [INFO] [stderr] 540 | Ok(Status::Complete((hundreds - b'0') as u16 * 100 + [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(hundreds - b'0')` [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: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/lib.rs:541:9 [INFO] [stderr] | [INFO] [stderr] 541 | (tens - b'0') as u16 * 10 + [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(tens - b'0')` [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: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/lib.rs:542:9 [INFO] [stderr] | [INFO] [stderr] 542 | (ones - b'0') as u16)) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(ones - b'0')` [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: an inclusive range would be more readable [INFO] [stderr] --> src/lib.rs:687:45 [INFO] [stderr] | [INFO] [stderr] 687 | header.value = &value_slice[0..last_visible+1]; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: use: `0..=last_visible` [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] warning: casting u8 to u64 may become silently lossy if types change [INFO] [stderr] --> src/lib.rs:729:25 [INFO] [stderr] | [INFO] [stderr] 729 | size += (b - b'0') as u64; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try: `u64::from(b - b'0')` [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: casting u8 to u64 may become silently lossy if types change [INFO] [stderr] --> src/lib.rs:737:25 [INFO] [stderr] | [INFO] [stderr] 737 | size += (b + 10 - b'a') as u64; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: try: `u64::from(b + 10 - b'a')` [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: casting u8 to u64 may become silently lossy if types change [INFO] [stderr] --> src/lib.rs:745:25 [INFO] [stderr] | [INFO] [stderr] 745 | size += (b + 10 - b'A') as u64; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: try: `u64::from(b + 10 - b'A')` [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] error: aborting due to 4 previous errors [INFO] [stderr] [INFO] [stderr] error: Could not compile `httparse`. [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stderr] error: Unnecessary `>= y + 1` or `x - 1 >=` [INFO] [stderr] --> src/iter.rs:29:23 [INFO] [stderr] | [INFO] [stderr] 29 | debug_assert!(self.pos + 1 <= self.slice.len(), "overflow"); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: lint level defined here [INFO] [stderr] --> src/lib.rs:3:24 [INFO] [stderr] | [INFO] [stderr] 3 | #![cfg_attr(test, deny(warnings))] [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] = note: #[deny(clippy::int_plus_one)] implied by #[deny(warnings)] [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#int_plus_one [INFO] [stderr] help: change `>= y + 1` to `> y` as shown [INFO] [stderr] | [INFO] [stderr] 29 | debug_assert!(self.pos < self.slice.len(), "overflow"); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error: digit groups should be smaller [INFO] [stderr] --> src/simd/avx2.rs:59:13 [INFO] [stderr] | [INFO] [stderr] 59 | let r = 0xffffffff_00000000 | _mm256_movemask_epi8(v) as u64; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: consider: `0xffff_ffff_0000_0000` [INFO] [stderr] | [INFO] [stderr] note: lint level defined here [INFO] [stderr] --> src/lib.rs:3:24 [INFO] [stderr] | [INFO] [stderr] 3 | #![cfg_attr(test, deny(warnings))] [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] = note: #[deny(clippy::large_digit_groups)] implied by #[deny(warnings)] [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#large_digit_groups [INFO] [stderr] [INFO] [stderr] error: digit groups should be smaller [INFO] [stderr] --> src/simd/avx2.rs:108:15 [INFO] [stderr] | [INFO] [stderr] 108 | let res = 0xffffffff_00000000 | _mm256_movemask_epi8(rev) as u64; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: consider: `0xffff_ffff_0000_0000` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#large_digit_groups [INFO] [stderr] [INFO] [stderr] error: long literal lacking separators [INFO] [stderr] --> src/lib.rs:1116:76 [INFO] [stderr] | [INFO] [stderr] 1116 | assert_eq!(parse_chunk_size(b"3086d\r\n"), Ok(Status::Complete((7, 198765)))); [INFO] [stderr] | ^^^^^^ help: consider: `198_765` [INFO] [stderr] | [INFO] [stderr] note: lint level defined here [INFO] [stderr] --> src/lib.rs:3:24 [INFO] [stderr] | [INFO] [stderr] 3 | #![cfg_attr(test, deny(warnings))] [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] = note: #[deny(clippy::unreadable_literal)] implied by #[deny(warnings)] [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] error: long literal lacking separators [INFO] [stderr] --> src/lib.rs:1117:88 [INFO] [stderr] | [INFO] [stderr] 1117 | assert_eq!(parse_chunk_size(b"3735AB1;foo bar*\r\n"), Ok(Status::Complete((18, 57891505)))); [INFO] [stderr] | ^^^^^^^^ help: consider: `57_891_505` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] error: long literal lacking separators [INFO] [stderr] --> src/lib.rs:1118:86 [INFO] [stderr] | [INFO] [stderr] 1118 | assert_eq!(parse_chunk_size(b"3735ab1 ; baz \r\n"), Ok(Status::Complete((16, 57891505)))); [INFO] [stderr] | ^^^^^^^^ help: consider: `57_891_505` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] error: aborting due to 11 previous errors [INFO] [stderr] [INFO] [stderr] error: Could not compile `httparse`. [INFO] [stderr] [INFO] [stderr] To learn more, run the command again with --verbose. [INFO] running `"docker" "inspect" "8339cc5b5365dcf6a06f4392d31f603bfa8f53b3a829f1441b9793bab850eec1"` [INFO] running `"docker" "rm" "-f" "8339cc5b5365dcf6a06f4392d31f603bfa8f53b3a829f1441b9793bab850eec1"` [INFO] [stdout] 8339cc5b5365dcf6a06f4392d31f603bfa8f53b3a829f1441b9793bab850eec1