[INFO] updating cached repository picklenerd/advent_of_code_2018 [INFO] running `"git" "fetch" "--all"` [INFO] [stdout] Fetching origin [INFO] [stderr] From git://github.com/picklenerd/advent_of_code_2018 [INFO] [stderr] * branch HEAD -> FETCH_HEAD [INFO] running `"git" "clone" "work/cache/sources/gh/picklenerd/advent_of_code_2018" "work/ex/clippy-test-run/sources/stable/gh/picklenerd/advent_of_code_2018"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable/gh/picklenerd/advent_of_code_2018'... [INFO] [stderr] done. [INFO] running `"git" "clone" "work/cache/sources/gh/picklenerd/advent_of_code_2018" "work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/picklenerd/advent_of_code_2018"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/picklenerd/advent_of_code_2018'... [INFO] [stderr] done. [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] d47848b73a5ffced978a66a2105dc76a1449dfd6 [INFO] sha for GitHub repo picklenerd/advent_of_code_2018: d47848b73a5ffced978a66a2105dc76a1449dfd6 [INFO] validating manifest of picklenerd/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 picklenerd/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 picklenerd/advent_of_code_2018 [INFO] finished frobbing picklenerd/advent_of_code_2018 [INFO] frobbed toml for picklenerd/advent_of_code_2018 written to work/ex/clippy-test-run/sources/stable/gh/picklenerd/advent_of_code_2018/Cargo.toml [INFO] started frobbing picklenerd/advent_of_code_2018 [INFO] finished frobbing picklenerd/advent_of_code_2018 [INFO] frobbed toml for picklenerd/advent_of_code_2018 written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/picklenerd/advent_of_code_2018/Cargo.toml [INFO] crate picklenerd/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 picklenerd/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-5/stable:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable/gh/picklenerd/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] 5f64d2455081f7eb4ae73e122779e62b2cc4c860806233643da30aeb41d1a2ef [INFO] running `"docker" "start" "-a" "5f64d2455081f7eb4ae73e122779e62b2cc4c860806233643da30aeb41d1a2ef"` [INFO] [stderr] Checking aoc2018 v0.1.0 (/opt/crater/workdir) [INFO] [stderr] warning: using `print!()` with a format string that ends in a single newline, consider using `println!()` instead [INFO] [stderr] --> src/challenges/day3.rs:131:9 [INFO] [stderr] | [INFO] [stderr] 131 | print!("\n"); [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::print_with_newline)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#print_with_newline [INFO] [stderr] [INFO] [stderr] warning: using `print!()` with a format string that ends in a single newline, consider using `println!()` instead [INFO] [stderr] --> src/challenges/day3.rs:131:9 [INFO] [stderr] | [INFO] [stderr] 131 | print!("\n"); [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::print_with_newline)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#print_with_newline [INFO] [stderr] [INFO] [stderr] warning: this if statement can be collapsed [INFO] [stderr] --> src/challenges/day7.rs:94:29 [INFO] [stderr] | [INFO] [stderr] 94 | / if step1_rules[step2] == step2_rules[step3] { [INFO] [stderr] 95 | | if step1_rules.contains_key(step3) [INFO] [stderr] 96 | | && step1_rules[step3] != step1_rules[step2] [INFO] [stderr] 97 | | { [INFO] [stderr] 98 | | new_entries.insert((*step1, *step3, step1_rules[step2])); [INFO] [stderr] 99 | | } [INFO] [stderr] 100 | | } [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] 94 | if step1_rules[step2] == step2_rules[step3] && step1_rules.contains_key(step3) [INFO] [stderr] 95 | && step1_rules[step3] != step1_rules[step2] { [INFO] [stderr] 96 | new_entries.insert((*step1, *step3, step1_rules[step2])); [INFO] [stderr] 97 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: this if statement can be collapsed [INFO] [stderr] --> src/challenges/day7.rs:94:29 [INFO] [stderr] | [INFO] [stderr] 94 | / if step1_rules[step2] == step2_rules[step3] { [INFO] [stderr] 95 | | if step1_rules.contains_key(step3) [INFO] [stderr] 96 | | && step1_rules[step3] != step1_rules[step2] [INFO] [stderr] 97 | | { [INFO] [stderr] 98 | | new_entries.insert((*step1, *step3, step1_rules[step2])); [INFO] [stderr] 99 | | } [INFO] [stderr] 100 | | } [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] 94 | if step1_rules[step2] == step2_rules[step3] && step1_rules.contains_key(step3) [INFO] [stderr] 95 | && step1_rules[step3] != step1_rules[step2] { [INFO] [stderr] 96 | new_entries.insert((*step1, *step3, step1_rules[step2])); [INFO] [stderr] 97 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unused variable: `e` [INFO] [stderr] --> src/utils.rs:21:17 [INFO] [stderr] | [INFO] [stderr] 21 | Err(e) => panic!(), [INFO] [stderr] | ^ help: consider using `_e` instead [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_variables)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `cmp12` [INFO] [stderr] --> src/challenges/day7.rs:90:29 [INFO] [stderr] | [INFO] [stderr] 90 | for (step2, cmp12) in step1_rules { [INFO] [stderr] | ^^^^^ help: consider using `_cmp12` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `e` [INFO] [stderr] --> src/utils.rs:21:17 [INFO] [stderr] | [INFO] [stderr] 21 | Err(e) => panic!(), [INFO] [stderr] | ^ help: consider using `_e` instead [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_variables)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `cmp12` [INFO] [stderr] --> src/challenges/day7.rs:90:29 [INFO] [stderr] | [INFO] [stderr] 90 | for (step2, cmp12) in step1_rules { [INFO] [stderr] | ^^^^^ help: consider using `_cmp12` instead [INFO] [stderr] [INFO] [stderr] warning: function is never used: `draw` [INFO] [stderr] --> src/challenges/day3.rs:98:1 [INFO] [stderr] | [INFO] [stderr] 98 | fn draw(inputs: &[ElfClaim]) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(dead_code)] on by default [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `TEST_INPUT` [INFO] [stderr] --> src/challenges/day5.rs:160:1 [INFO] [stderr] | [INFO] [stderr] 160 | const TEST_INPUT: &str = "dabAcCaCBAcCcaDA"; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `run_previous` [INFO] [stderr] --> src/main.rs:20:1 [INFO] [stderr] | [INFO] [stderr] 20 | fn run_previous() -> Result<()> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: the loop variable `j` is only used to index `inputs`. [INFO] [stderr] --> src/challenges/day2.rs:49:25 [INFO] [stderr] | [INFO] [stderr] 49 | 'line: for j in i..inputs.len() { [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] 49 | 'line: for in inputs.iter().skip(i) { [INFO] [stderr] | ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `draw` [INFO] [stderr] --> src/challenges/day3.rs:98:1 [INFO] [stderr] | [INFO] [stderr] 98 | fn draw(inputs: &[ElfClaim]) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(dead_code)] on by default [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `TEST_INPUT` [INFO] [stderr] --> src/challenges/day5.rs:160:1 [INFO] [stderr] | [INFO] [stderr] 160 | const TEST_INPUT: &str = "dabAcCaCBAcCcaDA"; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `run_previous` [INFO] [stderr] --> src/main.rs:20:1 [INFO] [stderr] | [INFO] [stderr] 20 | fn run_previous() -> Result<()> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: usage of `contains_key` followed by `insert` on a `HashMap` [INFO] [stderr] --> src/challenges/day3.rs:112:13 [INFO] [stderr] | [INFO] [stderr] 112 | / if occupied.contains_key(&point) { [INFO] [stderr] 113 | | occupied.insert(point, None); [INFO] [stderr] 114 | | } else { [INFO] [stderr] 115 | | occupied.insert(point, Some(input.id)); [INFO] [stderr] 116 | | } [INFO] [stderr] | |_____________^ help: consider using: `occupied.entry(point)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::map_entry)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_entry [INFO] [stderr] [INFO] [stderr] warning: the loop variable `j` is only used to index `inputs`. [INFO] [stderr] --> src/challenges/day2.rs:49:25 [INFO] [stderr] | [INFO] [stderr] 49 | 'line: for j in i..inputs.len() { [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] 49 | 'line: for in inputs.iter().skip(i) { [INFO] [stderr] | ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: usage of `contains_key` followed by `insert` on a `HashMap` [INFO] [stderr] --> src/challenges/day3.rs:112:13 [INFO] [stderr] | [INFO] [stderr] 112 | / if occupied.contains_key(&point) { [INFO] [stderr] 113 | | occupied.insert(point, None); [INFO] [stderr] 114 | | } else { [INFO] [stderr] 115 | | occupied.insert(point, Some(input.id)); [INFO] [stderr] 116 | | } [INFO] [stderr] | |_____________^ help: consider using: `occupied.entry(point)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::map_entry)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_entry [INFO] [stderr] [INFO] [stderr] warning: use of `or_insert` followed by a function call [INFO] [stderr] --> src/challenges/day4.rs:193:62 [INFO] [stderr] | [INFO] [stderr] 193 | let count_map = result.entry(current_id).or_insert(HashMap::new()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `or_insert_with(HashMap::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: use of `or_insert` followed by a function call [INFO] [stderr] --> src/challenges/day4.rs:193:62 [INFO] [stderr] | [INFO] [stderr] 193 | let count_map = result.entry(current_id).or_insert(HashMap::new()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `or_insert_with(HashMap::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: use of `or_insert` followed by a function call [INFO] [stderr] --> src/challenges/day7.rs:76:45 [INFO] [stderr] | [INFO] [stderr] 76 | let entry = rules.entry(rule.0).or_insert(HashMap::new()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `or_insert_with(HashMap::new)` [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] warning: use of `or_insert` followed by a function call [INFO] [stderr] --> src/challenges/day7.rs:110:53 [INFO] [stderr] | [INFO] [stderr] 110 | let entry = rules.entry(rule.0).or_insert(HashMap::new()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `or_insert_with(HashMap::new)` [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] warning: use of `or_insert` followed by a function call [INFO] [stderr] --> src/challenges/day7.rs:132:45 [INFO] [stderr] | [INFO] [stderr] 132 | let entry = rules.entry(rule.0).or_insert(HashMap::new()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `or_insert_with(HashMap::new)` [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] warning: use of `or_insert` followed by a function call [INFO] [stderr] --> src/challenges/day7.rs:76:45 [INFO] [stderr] | [INFO] [stderr] 76 | let entry = rules.entry(rule.0).or_insert(HashMap::new()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `or_insert_with(HashMap::new)` [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] warning: use of `or_insert` followed by a function call [INFO] [stderr] --> src/challenges/day7.rs:110:53 [INFO] [stderr] | [INFO] [stderr] 110 | let entry = rules.entry(rule.0).or_insert(HashMap::new()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `or_insert_with(HashMap::new)` [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] warning: use of `or_insert` followed by a function call [INFO] [stderr] --> src/challenges/day7.rs:132:45 [INFO] [stderr] | [INFO] [stderr] 132 | let entry = rules.entry(rule.0).or_insert(HashMap::new()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `or_insert_with(HashMap::new)` [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] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/main.rs:14:5 [INFO] [stderr] | [INFO] [stderr] 14 | challenges::day7::day7_1(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_must_use)] on by default [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/main.rs:15:5 [INFO] [stderr] | [INFO] [stderr] 15 | challenges::day7::day7_2(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/main.rs:14:5 [INFO] [stderr] | [INFO] [stderr] 14 | challenges::day7::day7_1(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_must_use)] on by default [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/main.rs:15:5 [INFO] [stderr] | [INFO] [stderr] 15 | challenges::day7::day7_2(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 2.09s [INFO] running `"docker" "inspect" "5f64d2455081f7eb4ae73e122779e62b2cc4c860806233643da30aeb41d1a2ef"` [INFO] running `"docker" "rm" "-f" "5f64d2455081f7eb4ae73e122779e62b2cc4c860806233643da30aeb41d1a2ef"` [INFO] [stdout] 5f64d2455081f7eb4ae73e122779e62b2cc4c860806233643da30aeb41d1a2ef