[INFO] crate prost 0.4.0 is already in cache [INFO] extracting crate prost 0.4.0 into work/ex/clippy-test-run/sources/stable/reg/prost/0.4.0 [INFO] extracting crate prost 0.4.0 into work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/prost/0.4.0 [INFO] validating manifest of prost-0.4.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 prost-0.4.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 prost-0.4.0 [INFO] finished frobbing prost-0.4.0 [INFO] frobbed toml for prost-0.4.0 written to work/ex/clippy-test-run/sources/stable/reg/prost/0.4.0/Cargo.toml [INFO] started frobbing prost-0.4.0 [INFO] finished frobbing prost-0.4.0 [INFO] frobbed toml for prost-0.4.0 written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/prost/0.4.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 prost-0.4.0 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/prost/0.4.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] c7c8c3dab631bf59b7df75c66307edde5cc104520a7a7b6c8df0e473a18117e7 [INFO] running `"docker" "start" "-a" "c7c8c3dab631bf59b7df75c66307edde5cc104520a7a7b6c8df0e473a18117e7"` [INFO] [stderr] Checking prost v0.4.0 (/opt/crater/workdir) [INFO] [stderr] Compiling failure v0.1.5 [INFO] [stderr] Compiling prost-derive v0.4.0 [INFO] [stderr] error: this loop never actually loops [INFO] [stderr] --> src/encoding.rs:55:5 [INFO] [stderr] | [INFO] [stderr] 55 | / 'slow: loop { [INFO] [stderr] 56 | | // Another NLL hack. [INFO] [stderr] 57 | | let (value, advance) = { [INFO] [stderr] 58 | | let bytes = buf.bytes(); [INFO] [stderr] ... | [INFO] [stderr] 75 | | return Ok(value); [INFO] [stderr] 76 | | } [INFO] [stderr] | |_____^ [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] warning: casting u32 to u64 may become silently lossy if types change [INFO] [stderr] --> src/encoding.rs:304:36 [INFO] [stderr] | [INFO] [stderr] 304 | to_uint64(value) { *value as u64 }, [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `u64::from(*value)` [INFO] [stderr] ... [INFO] [stderr] 406 | varint!(u32, uint32); [INFO] [stderr] | --------------------- in this macro invocation [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 u32 to u64 may become silently lossy if types change [INFO] [stderr] --> src/encoding.rs:304:36 [INFO] [stderr] | [INFO] [stderr] 304 | to_uint64(value) { *value as u64 }, [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `u64::from(*value)` [INFO] [stderr] ... [INFO] [stderr] 406 | varint!(u32, uint32); [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#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to u64 may become silently lossy if types change [INFO] [stderr] --> src/encoding.rs:410:13 [INFO] [stderr] | [INFO] [stderr] 410 | ((value << 1) ^ (value >> 31)) as u32 as u64 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u64::from(((value << 1) ^ (value >> 31)) as u32)` [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: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/encoding.rs:578:29 [INFO] [stderr] | [INFO] [stderr] 578 | value: &String, [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::ptr_arg)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/encoding.rs:538:46 [INFO] [stderr] | [INFO] [stderr] 538 | pub fn encoded_len(tag: u32, value: &$ty) -> usize { [INFO] [stderr] | ^^^^ help: change this to: `&str` [INFO] [stderr] ... [INFO] [stderr] 599 | length_delimited!(String); [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#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/encoding.rs:605:39 [INFO] [stderr] | [INFO] [stderr] 605 | pub fn encode(tag: u32, value: &Vec, buf: &mut B) where B: BufMut { [INFO] [stderr] | ^^^^^^^^ help: change this to: `&[u8]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/encoding.rs:538:46 [INFO] [stderr] | [INFO] [stderr] 538 | pub fn encoded_len(tag: u32, value: &$ty) -> usize { [INFO] [stderr] | ^^^^ help: change this to: `&[u8]` [INFO] [stderr] ... [INFO] [stderr] 634 | length_delimited!(Vec); [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#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: parameter of type `HashMap` should be generalized over different hashers [INFO] [stderr] --> src/encoding.rs:704:69 [INFO] [stderr] | [INFO] [stderr] 704 | values: &$map_ty, [INFO] [stderr] | ^ [INFO] [stderr] ... [INFO] [stderr] 836 | map!(HashMap); [INFO] [stderr] | -------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::implicit_hasher)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#implicit_hasher [INFO] [stderr] help: consider adding a type parameter [INFO] [stderr] | [INFO] [stderr] 699 | pub fn encode(key_encode: KE, [INFO] [stderr] 700 | key_encoded_len: KL, [INFO] [stderr] 701 | val_encode: VE, [INFO] [stderr] 702 | val_encoded_len: VL, [INFO] [stderr] 703 | tag: u32, [INFO] [stderr] 704 | values: &$map_ty, [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: parameter of type `HashMap` should be generalized over different hashers [INFO] [stderr] --> src/encoding.rs:720:64 [INFO] [stderr] | [INFO] [stderr] 720 | values: &mut $map_ty, [INFO] [stderr] | ^ [INFO] [stderr] ... [INFO] [stderr] 836 | map!(HashMap); [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#implicit_hasher [INFO] [stderr] help: consider adding a type parameter [INFO] [stderr] | [INFO] [stderr] 718 | pub fn merge(key_merge: KM, [INFO] [stderr] 719 | val_merge: VM, [INFO] [stderr] 720 | values: &mut $map_ty, [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: parameter of type `HashMap` should be generalized over different hashers [INFO] [stderr] --> src/encoding.rs:735:63 [INFO] [stderr] | [INFO] [stderr] 735 | values: &$map_ty) [INFO] [stderr] | ^ [INFO] [stderr] ... [INFO] [stderr] 836 | map!(HashMap); [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#implicit_hasher [INFO] [stderr] help: consider adding a type parameter [INFO] [stderr] | [INFO] [stderr] 732 | pub fn encoded_len(key_encoded_len: KL, [INFO] [stderr] 733 | val_encoded_len: VL, [INFO] [stderr] 734 | tag: u32, [INFO] [stderr] 735 | values: &$map_ty) [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: parameter of type `HashMap` should be generalized over different hashers [INFO] [stderr] --> src/encoding.rs:755:82 [INFO] [stderr] | [INFO] [stderr] 755 | values: &$map_ty, [INFO] [stderr] | ^ [INFO] [stderr] ... [INFO] [stderr] 836 | map!(HashMap); [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#implicit_hasher [INFO] [stderr] help: consider adding a type parameter [INFO] [stderr] | [INFO] [stderr] 749 | pub fn encode_with_default(key_encode: KE, [INFO] [stderr] 750 | key_encoded_len: KL, [INFO] [stderr] 751 | val_encode: VE, [INFO] [stderr] 752 | val_encoded_len: VL, [INFO] [stderr] 753 | val_default: &V, [INFO] [stderr] 754 | tag: u32, [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: this function has too many arguments (8/7) [INFO] [stderr] --> src/encoding.rs:749:9 [INFO] [stderr] | [INFO] [stderr] 749 | / pub fn encode_with_default(key_encode: KE, [INFO] [stderr] 750 | | key_encoded_len: KL, [INFO] [stderr] 751 | | val_encode: VE, [INFO] [stderr] 752 | | val_encoded_len: VL, [INFO] [stderr] ... | [INFO] [stderr] 779 | | } [INFO] [stderr] 780 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] ... [INFO] [stderr] 836 | map!(HashMap); [INFO] [stderr] | -------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::too_many_arguments)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stderr] [INFO] [stderr] warning: parameter of type `HashMap` should be generalized over different hashers [INFO] [stderr] --> src/encoding.rs:789:77 [INFO] [stderr] | [INFO] [stderr] 789 | values: &mut $map_ty, [INFO] [stderr] | ^ [INFO] [stderr] ... [INFO] [stderr] 836 | map!(HashMap); [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#implicit_hasher [INFO] [stderr] help: consider adding a type parameter [INFO] [stderr] | [INFO] [stderr] 786 | pub fn merge_with_default(key_merge: KM, [INFO] [stderr] 787 | val_merge: VM, [INFO] [stderr] 788 | val_default: V, [INFO] [stderr] 789 | values: &mut $map_ty, [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: parameter of type `HashMap` should be generalized over different hashers [INFO] [stderr] --> src/encoding.rs:820:76 [INFO] [stderr] | [INFO] [stderr] 820 | values: &$map_ty) [INFO] [stderr] | ^ [INFO] [stderr] ... [INFO] [stderr] 836 | map!(HashMap); [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#implicit_hasher [INFO] [stderr] help: consider adding a type parameter [INFO] [stderr] | [INFO] [stderr] 816 | pub fn encoded_len_with_default(key_encoded_len: KL, [INFO] [stderr] 817 | val_encoded_len: VL, [INFO] [stderr] 818 | val_default: &V, [INFO] [stderr] 819 | tag: u32, [INFO] [stderr] 820 | values: &$map_ty) [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: this function has too many arguments (8/7) [INFO] [stderr] --> src/encoding.rs:749:9 [INFO] [stderr] | [INFO] [stderr] 749 | / pub fn encode_with_default(key_encode: KE, [INFO] [stderr] 750 | | key_encoded_len: KL, [INFO] [stderr] 751 | | val_encode: VE, [INFO] [stderr] 752 | | val_encoded_len: VL, [INFO] [stderr] ... | [INFO] [stderr] 779 | | } [INFO] [stderr] 780 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] ... [INFO] [stderr] 840 | map!(BTreeMap); [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#too_many_arguments [INFO] [stderr] [INFO] [stderr] error: aborting due to previous error [INFO] [stderr] [INFO] [stderr] error: Could not compile `prost`. [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stderr] error: build failed [INFO] running `"docker" "inspect" "c7c8c3dab631bf59b7df75c66307edde5cc104520a7a7b6c8df0e473a18117e7"` [INFO] running `"docker" "rm" "-f" "c7c8c3dab631bf59b7df75c66307edde5cc104520a7a7b6c8df0e473a18117e7"` [INFO] [stdout] c7c8c3dab631bf59b7df75c66307edde5cc104520a7a7b6c8df0e473a18117e7