[INFO] updating cached repository davery22/advent-of-code-2018 [INFO] running `"git" "fetch" "--all"` [INFO] [stdout] Fetching origin [INFO] [stderr] From git://github.com/davery22/advent-of-code-2018 [INFO] [stderr] * branch HEAD -> FETCH_HEAD [INFO] running `"git" "clone" "work/cache/sources/gh/davery22/advent-of-code-2018" "work/ex/clippy-test-run/sources/stable/gh/davery22/advent-of-code-2018"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable/gh/davery22/advent-of-code-2018'... [INFO] [stderr] done. [INFO] running `"git" "clone" "work/cache/sources/gh/davery22/advent-of-code-2018" "work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/davery22/advent-of-code-2018"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/davery22/advent-of-code-2018'... [INFO] [stderr] done. [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] fadadb61b1c6e15c376c414a96427bb1695cb60f [INFO] sha for GitHub repo davery22/advent-of-code-2018: fadadb61b1c6e15c376c414a96427bb1695cb60f [INFO] validating manifest of davery22/advent-of-code-2018 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 davery22/advent-of-code-2018 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 davery22/advent-of-code-2018 [INFO] finished frobbing davery22/advent-of-code-2018 [INFO] frobbed toml for davery22/advent-of-code-2018 written to work/ex/clippy-test-run/sources/stable/gh/davery22/advent-of-code-2018/Cargo.toml [INFO] started frobbing davery22/advent-of-code-2018 [INFO] finished frobbing davery22/advent-of-code-2018 [INFO] frobbed toml for davery22/advent-of-code-2018 written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/davery22/advent-of-code-2018/Cargo.toml [INFO] crate davery22/advent-of-code-2018 has a lockfile. skipping [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 davery22/advent-of-code-2018 against stable for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-1/stable:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable/gh/davery22/advent-of-code-2018:/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] abbf4afe65272303572ec198173936701bcd0d5e1aec94c54eb69bd7527f3722 [INFO] running `"docker" "start" "-a" "abbf4afe65272303572ec198173936701bcd0d5e1aec94c54eb69bd7527f3722"` [INFO] [stderr] Checking advent-of-code-2018 v0.1.0 (/opt/crater/workdir) [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/day01.rs:21:5 [INFO] [stderr] | [INFO] [stderr] 21 | return initial_frequency + frequency_deltas.iter().sum::(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `initial_frequency + frequency_deltas.iter().sum::()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_return)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/day02.rs:77:5 [INFO] [stderr] | [INFO] [stderr] 77 | return Err(()); [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: remove `return` as shown: `Err(())` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/day01.rs:21:5 [INFO] [stderr] | [INFO] [stderr] 21 | return initial_frequency + frequency_deltas.iter().sum::(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `initial_frequency + frequency_deltas.iter().sum::()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_return)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/day02.rs:77:5 [INFO] [stderr] | [INFO] [stderr] 77 | return Err(()); [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: remove `return` as shown: `Err(())` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unused import: `super::*` [INFO] [stderr] --> src/day04.rs:82:9 [INFO] [stderr] | [INFO] [stderr] 82 | use super::*; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_imports)] on by default [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/day01.rs:20:70 [INFO] [stderr] | [INFO] [stderr] 20 | pub fn get_final_frequency(initial_frequency: i32, frequency_deltas: &Vec) -> i32 { [INFO] [stderr] | ^^^^^^^^^ help: change this to: `&[i32]` [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 `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/day01.rs:24:79 [INFO] [stderr] | [INFO] [stderr] 24 | pub fn get_first_repeated_frequency(initial_frequency: i32, frequency_deltas: &Vec) -> i32 { [INFO] [stderr] | ^^^^^^^^^ help: change this to: `&[i32]` [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/day02.rs:14:36 [INFO] [stderr] | [INFO] [stderr] 14 | pub fn calculate_checksum(box_ids: &Vec<&str>) -> i32 { [INFO] [stderr] | ^^^^^^^^^^ help: change this to: `&[&str]` [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/day02.rs:62:39 [INFO] [stderr] | [INFO] [stderr] 62 | pub fn get_letters_in_common(box_ids: &Vec<&str>) -> Result { [INFO] [stderr] | ^^^^^^^^^^ help: change this to: `&[&str]` [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: called `.get_mut().unwrap()` on a Vec. Using `[]` is more clear and more concise [INFO] [stderr] --> src/day03.rs:31:17 [INFO] [stderr] | [INFO] [stderr] 31 | fabric.get_mut(row).unwrap().get_mut(col).unwrap().insert(claim_id); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `fabric[row]` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::get_unwrap)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_unwrap [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/day03.rs:39:54 [INFO] [stderr] | [INFO] [stderr] 39 | pub fn count_conflicting_squares(fabric_with_claims: &Vec>>) -> usize { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `&[Vec>]` [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/day03.rs:57:61 [INFO] [stderr] | [INFO] [stderr] 57 | pub fn get_non_overlapping_claim_id<'a>(fabric_with_claims: &Vec>>) -> &'a str { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `&[Vec>]` [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/day04.rs:38:64 [INFO] [stderr] | [INFO] [stderr] 38 | fn get_sleeps_per_minute_by_guard_id(ordered_night_shift_logs: &Vec<(NaiveDateTime, &str)>) -> HashMap> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `&[(NaiveDateTime, &str)]` [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: use of `or_insert` followed by a function call [INFO] [stderr] --> src/day04.rs:54:87 [INFO] [stderr] | [INFO] [stderr] 54 | let mut sleeps_per_minute = sleeps_per_minute_by_guard_id.entry(guard_id).or_insert(vec![0_usize; 60]); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `or_insert_with(|| vec![0_usize; 60])` [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: the loop variable `minute` is only used to index `sleeps_per_minute`. [INFO] [stderr] --> src/day04.rs:56:27 [INFO] [stderr] | [INFO] [stderr] 56 | for minute in sleep_minute .. wake_minute { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_range_loop)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stderr] help: consider using an iterator [INFO] [stderr] | [INFO] [stderr] 56 | for in sleeps_per_minute.iter_mut().take(wake_minute).skip(sleep_minute) { [INFO] [stderr] | ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [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/day01.rs:20:70 [INFO] [stderr] | [INFO] [stderr] 20 | pub fn get_final_frequency(initial_frequency: i32, frequency_deltas: &Vec) -> i32 { [INFO] [stderr] | ^^^^^^^^^ help: change this to: `&[i32]` [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 `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/day01.rs:24:79 [INFO] [stderr] | [INFO] [stderr] 24 | pub fn get_first_repeated_frequency(initial_frequency: i32, frequency_deltas: &Vec) -> i32 { [INFO] [stderr] | ^^^^^^^^^ help: change this to: `&[i32]` [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/day02.rs:14:36 [INFO] [stderr] | [INFO] [stderr] 14 | pub fn calculate_checksum(box_ids: &Vec<&str>) -> i32 { [INFO] [stderr] | ^^^^^^^^^^ help: change this to: `&[&str]` [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/day02.rs:62:39 [INFO] [stderr] | [INFO] [stderr] 62 | pub fn get_letters_in_common(box_ids: &Vec<&str>) -> Result { [INFO] [stderr] | ^^^^^^^^^^ help: change this to: `&[&str]` [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: called `.get_mut().unwrap()` on a Vec. Using `[]` is more clear and more concise [INFO] [stderr] --> src/day03.rs:31:17 [INFO] [stderr] | [INFO] [stderr] 31 | fabric.get_mut(row).unwrap().get_mut(col).unwrap().insert(claim_id); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `fabric[row]` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::get_unwrap)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_unwrap [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/day03.rs:39:54 [INFO] [stderr] | [INFO] [stderr] 39 | pub fn count_conflicting_squares(fabric_with_claims: &Vec>>) -> usize { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `&[Vec>]` [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/day03.rs:57:61 [INFO] [stderr] | [INFO] [stderr] 57 | pub fn get_non_overlapping_claim_id<'a>(fabric_with_claims: &Vec>>) -> &'a str { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `&[Vec>]` [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/day04.rs:38:64 [INFO] [stderr] | [INFO] [stderr] 38 | fn get_sleeps_per_minute_by_guard_id(ordered_night_shift_logs: &Vec<(NaiveDateTime, &str)>) -> HashMap> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `&[(NaiveDateTime, &str)]` [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: use of `or_insert` followed by a function call [INFO] [stderr] --> src/day04.rs:54:87 [INFO] [stderr] | [INFO] [stderr] 54 | let mut sleeps_per_minute = sleeps_per_minute_by_guard_id.entry(guard_id).or_insert(vec![0_usize; 60]); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `or_insert_with(|| vec![0_usize; 60])` [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: the loop variable `minute` is only used to index `sleeps_per_minute`. [INFO] [stderr] --> src/day04.rs:56:27 [INFO] [stderr] | [INFO] [stderr] 56 | for minute in sleep_minute .. wake_minute { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_range_loop)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stderr] help: consider using an iterator [INFO] [stderr] | [INFO] [stderr] 56 | for in sleeps_per_minute.iter_mut().take(wake_minute).skip(sleep_minute) { [INFO] [stderr] | ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 1.94s [INFO] running `"docker" "inspect" "abbf4afe65272303572ec198173936701bcd0d5e1aec94c54eb69bd7527f3722"` [INFO] running `"docker" "rm" "-f" "abbf4afe65272303572ec198173936701bcd0d5e1aec94c54eb69bd7527f3722"` [INFO] [stdout] abbf4afe65272303572ec198173936701bcd0d5e1aec94c54eb69bd7527f3722