[INFO] updating cached repository rernst76/AdventOfCode2018 [INFO] running `"git" "fetch" "--all"` [INFO] [stdout] Fetching origin [INFO] [stderr] From git://github.com/rernst76/AdventOfCode2018 [INFO] [stderr] * branch HEAD -> FETCH_HEAD [INFO] running `"git" "clone" "work/cache/sources/gh/rernst76/AdventOfCode2018" "work/ex/clippy-test-run/sources/stable/gh/rernst76/AdventOfCode2018"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable/gh/rernst76/AdventOfCode2018'... [INFO] [stderr] done. [INFO] running `"git" "clone" "work/cache/sources/gh/rernst76/AdventOfCode2018" "work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/rernst76/AdventOfCode2018"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/rernst76/AdventOfCode2018'... [INFO] [stderr] done. [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] 737ff196540abe07a99f1125551d5360702542d4 [INFO] sha for GitHub repo rernst76/AdventOfCode2018: 737ff196540abe07a99f1125551d5360702542d4 [INFO] validating manifest of rernst76/AdventOfCode2018 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 rernst76/AdventOfCode2018 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 rernst76/AdventOfCode2018 [INFO] finished frobbing rernst76/AdventOfCode2018 [INFO] frobbed toml for rernst76/AdventOfCode2018 written to work/ex/clippy-test-run/sources/stable/gh/rernst76/AdventOfCode2018/Cargo.toml [INFO] started frobbing rernst76/AdventOfCode2018 [INFO] finished frobbing rernst76/AdventOfCode2018 [INFO] frobbed toml for rernst76/AdventOfCode2018 written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/rernst76/AdventOfCode2018/Cargo.toml [INFO] crate rernst76/AdventOfCode2018 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 rernst76/AdventOfCode2018 against stable for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-0/stable:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable/gh/rernst76/AdventOfCode2018:/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] 9432530670fadc09176e4c9417a398c83c0f7e9f14cab129d20b11fa39db2380 [INFO] running `"docker" "start" "-a" "9432530670fadc09176e4c9417a398c83c0f7e9f14cab129d20b11fa39db2380"` [INFO] [stderr] Checking AdventOfCode2018 v0.1.0 (/opt/crater/workdir) [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/slns/d3.rs:35:13 [INFO] [stderr] | [INFO] [stderr] 35 | id: id, [INFO] [stderr] | ^^^^^^ help: replace it with: `id` [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/slns/d3.rs:35:13 [INFO] [stderr] | [INFO] [stderr] 35 | id: id, [INFO] [stderr] | ^^^^^^ help: replace it with: `id` [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: unneeded return statement [INFO] [stderr] --> src/slns/utils.rs:11:5 [INFO] [stderr] | [INFO] [stderr] 11 | return contents; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: remove `return` as shown: `contents` [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/slns/d2_p2.rs:9:5 [INFO] [stderr] | [INFO] [stderr] 9 | return None; [INFO] [stderr] | ^^^^^^^^^^^^ help: remove `return` as shown: `None` [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/slns/d2_p2.rs:25:5 [INFO] [stderr] | [INFO] [stderr] 25 | return distance; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: remove `return` as shown: `distance` [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/slns/d3.rs:81:5 [INFO] [stderr] | [INFO] [stderr] 81 | return (answer_1, answer_2); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `(answer_1, answer_2)` [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/slns/d4.rs:90:13 [INFO] [stderr] | [INFO] [stderr] 90 | return (*x.0, sleep_time); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `(*x.0, sleep_time)` [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/slns/d4.rs:92:13 [INFO] [stderr] | [INFO] [stderr] 92 | return acc; [INFO] [stderr] | ^^^^^^^^^^^ help: remove `return` as shown: `acc` [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/slns/d5.rs:65:5 [INFO] [stderr] | [INFO] [stderr] 65 | return sequence; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: remove `return` as shown: `sequence` [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: `HashSet` [INFO] [stderr] --> src/slns/d6.rs:2:24 [INFO] [stderr] | [INFO] [stderr] 2 | use std::collections::{HashSet, HashMap, VecDeque}; [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_imports)] on by default [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/slns/d6.rs:27:5 [INFO] [stderr] | [INFO] [stderr] 27 | return largest_area_node; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `largest_area_node` [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: unnecessary parentheses around `if` condition [INFO] [stderr] --> src/slns/d6.rs:22:16 [INFO] [stderr] | [INFO] [stderr] 22 | if (area > largest_area_node.1) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_parens)] on by default [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/slns/d6.rs:40:5 [INFO] [stderr] | [INFO] [stderr] 40 | return greatest_dist; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `greatest_dist` [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/slns/d6.rs:126:5 [INFO] [stderr] | [INFO] [stderr] 126 | return MapArea::Some(area_count); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `MapArea::Some(area_count)` [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/slns/d6.rs:151:5 [INFO] [stderr] | [INFO] [stderr] 151 | return adjacents; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `adjacents` [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/slns/d6.rs:175:4 [INFO] [stderr] | [INFO] [stderr] 175 | return closest_node; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `closest_node` [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/slns/utils.rs:11:5 [INFO] [stderr] | [INFO] [stderr] 11 | return contents; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: remove `return` as shown: `contents` [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/slns/d2_p2.rs:9:5 [INFO] [stderr] | [INFO] [stderr] 9 | return None; [INFO] [stderr] | ^^^^^^^^^^^^ help: remove `return` as shown: `None` [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/slns/d2_p2.rs:25:5 [INFO] [stderr] | [INFO] [stderr] 25 | return distance; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: remove `return` as shown: `distance` [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/slns/d3.rs:81:5 [INFO] [stderr] | [INFO] [stderr] 81 | return (answer_1, answer_2); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `(answer_1, answer_2)` [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/slns/d4.rs:90:13 [INFO] [stderr] | [INFO] [stderr] 90 | return (*x.0, sleep_time); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `(*x.0, sleep_time)` [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/slns/d4.rs:92:13 [INFO] [stderr] | [INFO] [stderr] 92 | return acc; [INFO] [stderr] | ^^^^^^^^^^^ help: remove `return` as shown: `acc` [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/slns/d5.rs:65:5 [INFO] [stderr] | [INFO] [stderr] 65 | return sequence; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: remove `return` as shown: `sequence` [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: `HashSet` [INFO] [stderr] --> src/slns/d6.rs:2:24 [INFO] [stderr] | [INFO] [stderr] 2 | use std::collections::{HashSet, HashMap, VecDeque}; [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_imports)] on by default [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/slns/d6.rs:27:5 [INFO] [stderr] | [INFO] [stderr] 27 | return largest_area_node; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `largest_area_node` [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: unnecessary parentheses around `if` condition [INFO] [stderr] --> src/slns/d6.rs:22:16 [INFO] [stderr] | [INFO] [stderr] 22 | if (area > largest_area_node.1) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_parens)] on by default [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/slns/d6.rs:40:5 [INFO] [stderr] | [INFO] [stderr] 40 | return greatest_dist; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `greatest_dist` [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/slns/d6.rs:126:5 [INFO] [stderr] | [INFO] [stderr] 126 | return MapArea::Some(area_count); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `MapArea::Some(area_count)` [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/slns/d6.rs:151:5 [INFO] [stderr] | [INFO] [stderr] 151 | return adjacents; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `adjacents` [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/slns/d6.rs:175:4 [INFO] [stderr] | [INFO] [stderr] 175 | return closest_node; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `closest_node` [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: variant is never constructed: `None` [INFO] [stderr] --> src/slns/d6.rs:47:5 [INFO] [stderr] | [INFO] [stderr] 47 | None, [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(dead_code)] on by default [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `None` [INFO] [stderr] --> src/slns/d6.rs:158:5 [INFO] [stderr] | [INFO] [stderr] 158 | None, [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/slns/d1_p1.rs:1:38 [INFO] [stderr] | [INFO] [stderr] 1 | pub fn frequency_drift(freq_changes: &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/slns/d1_p2.rs:3:42 [INFO] [stderr] | [INFO] [stderr] 3 | pub fn frequency_calibrate(freq_changes: &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: this .into_iter() call is equivalent to .iter() and will not move the Vec [INFO] [stderr] --> src/slns/d1_p2.rs:7:31 [INFO] [stderr] | [INFO] [stderr] 7 | let mut it = freq_changes.into_iter().cycle(); [INFO] [stderr] | ^^^^^^^^^ help: call directly: `iter` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::into_iter_on_ref)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#into_iter_on_ref [INFO] [stderr] [INFO] [stderr] warning: equality checks against false can be replaced by a negation [INFO] [stderr] --> src/slns/d1_p2.rs:20:12 [INFO] [stderr] | [INFO] [stderr] 20 | if freqs.insert(freq) == false { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try simplifying it as shown: `!freqs.insert(freq)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::bool_comparison)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_comparison [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/slns/d2_p1.rs:1:33 [INFO] [stderr] | [INFO] [stderr] 1 | pub fn calculate_checksum(list: &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/slns/d2_p2.rs:1:25 [INFO] [stderr] | [INFO] [stderr] 1 | pub fn find_boxes(list: &Vec<&str>) -> Option<(String, String)> { [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: single-character string constant used as pattern [INFO] [stderr] --> src/slns/d3.rs:14:41 [INFO] [stderr] | [INFO] [stderr] 14 | let tokens: Vec<&str> = s.split(" ").collect(); [INFO] [stderr] | ^^^ help: try using a char instead: `' '` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::single_char_pattern)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [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/slns/d3.rs:44:50 [INFO] [stderr] | [INFO] [stderr] 44 | pub fn find_num_overlapping_and_best_claim(list: &Vec<&str>) -> (usize, usize) { [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: usage of `contains_key` followed by `insert` on a `HashMap` [INFO] [stderr] --> src/slns/d3.rs:64:17 [INFO] [stderr] | [INFO] [stderr] 64 | / if !squares.contains_key(&(x, y)) { [INFO] [stderr] 65 | | squares.insert((x, y), square.id); [INFO] [stderr] 66 | | } else { [INFO] [stderr] 67 | | intersecting_squares.insert(squares[&(x, y)]); [INFO] [stderr] 68 | | intersecting_squares.insert(square.id); [INFO] [stderr] 69 | | } [INFO] [stderr] | |_________________^ help: consider using: `squares.entry((x, y))` [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: usage of `contains_key` followed by `insert` on a `HashMap` [INFO] [stderr] --> src/slns/d4.rs:67:17 [INFO] [stderr] | [INFO] [stderr] 67 | / if !guards.contains_key(&guard_id) { [INFO] [stderr] 68 | | guards.insert( [INFO] [stderr] 69 | | guard_id, [INFO] [stderr] 70 | | Guard { [INFO] [stderr] ... | [INFO] [stderr] 79 | | .add_sleep_event((sleep_minute, wake_minute)); [INFO] [stderr] 80 | | } [INFO] [stderr] | |_________________^ help: consider using: `guards.entry(guard_id)` [INFO] [stderr] | [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 `i` is only used to index `time_accum`. [INFO] [stderr] --> src/slns/d4.rs:110:22 [INFO] [stderr] | [INFO] [stderr] 110 | for i in minutes.0..minutes.1 { [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] 110 | for in time_accum.iter_mut().take(minutes.1).skip(minutes.0) { [INFO] [stderr] | ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: taken reference of right operand [INFO] [stderr] --> src/slns/d4.rs:123:12 [INFO] [stderr] | [INFO] [stderr] 123 | if overlap > &overall_most_overlap { [INFO] [stderr] | ^^^^^^^^^^--------------------- [INFO] [stderr] | | [INFO] [stderr] | help: use the right value directly: `overall_most_overlap` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::op_ref)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [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/slns/d6.rs:30:32 [INFO] [stderr] | [INFO] [stderr] 30 | fn get_longest_distance(nodes: &Vec<(i32,i32)>) -> i32 { [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: change this to: `&[(i32,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/slns/d6.rs:56:48 [INFO] [stderr] | [INFO] [stderr] 56 | fn calculate_area(node: (i32, i32), all_nodes: &Vec<(i32,i32)>, inf_dist: i32) -> MapArea { [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: change this to: `&[(i32,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: usage of `contains_key` followed by `insert` on a `HashMap` [INFO] [stderr] --> src/slns/d6.rs:85:9 [INFO] [stderr] | [INFO] [stderr] 85 | / if !known_nodes.contains_key(¤t_node) { [INFO] [stderr] 86 | | [INFO] [stderr] 87 | | // Determine the closest node [INFO] [stderr] 88 | | let closest_node = get_closest_node(current_node, &all_nodes); [INFO] [stderr] ... | [INFO] [stderr] 113 | | } [INFO] [stderr] 114 | | } [INFO] [stderr] | |_________^ help: consider using: `known_nodes.entry(current_node)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_entry [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/slns/d6.rs:110:13 [INFO] [stderr] | [INFO] [stderr] 110 | / match node_queue.pop_front(){ [INFO] [stderr] 111 | | Some(v) => current_node = v, [INFO] [stderr] 112 | | None => (), [INFO] [stderr] 113 | | } [INFO] [stderr] | |_____________^ help: try this: `if let Some(v) = node_queue.pop_front() { current_node = v }` [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: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/slns/d6.rs:130:20 [INFO] [stderr] | [INFO] [stderr] 130 | fn get_distance(x: &(i32,i32), y: &(i32, i32)) -> i32 { [INFO] [stderr] | ^^^^^^^^^^ help: consider passing by value instead: `(i32,i32)` [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: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/slns/d6.rs:130:35 [INFO] [stderr] | [INFO] [stderr] 130 | fn get_distance(x: &(i32,i32), y: &(i32, i32)) -> i32 { [INFO] [stderr] | ^^^^^^^^^^^ help: consider passing by value instead: `(i32, i32)` [INFO] [stderr] | [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: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/slns/d6.rs:161:47 [INFO] [stderr] | [INFO] [stderr] 161 | fn get_closest_node(a: (i32, i32), all_nodes: &Vec<(i32, i32)>) -> ClosestNode { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: change this to: `&[(i32, 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: single-character string constant used as pattern [INFO] [stderr] --> src/slns/mod.rs:16:32 [INFO] [stderr] | [INFO] [stderr] 16 | let split = contents.split("\n"); [INFO] [stderr] | ^^^^ help: try using a char instead: `'\n'` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/slns/mod.rs:36:32 [INFO] [stderr] | [INFO] [stderr] 36 | let split = contents.split("\n"); [INFO] [stderr] | ^^^^ help: try using a char instead: `'\n'` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/slns/mod.rs:52:32 [INFO] [stderr] | [INFO] [stderr] 52 | let split = contents.split("\n"); [INFO] [stderr] | ^^^^ help: try using a char instead: `'\n'` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/slns/mod.rs:64:49 [INFO] [stderr] | [INFO] [stderr] 64 | let mut entries: Vec<&str> = contents.split("\n").collect(); [INFO] [stderr] | ^^^^ help: try using a char instead: `'\n'` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/slns/d3.rs:35:13 [INFO] [stderr] | [INFO] [stderr] 35 | id: id, [INFO] [stderr] | ^^^^^^ help: replace it with: `id` [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] error[E0308]: mismatched types [INFO] [stderr] --> src/slns/d6.rs:185:9 [INFO] [stderr] | [INFO] [stderr] 185 | assert_eq!(find_largest_area(points), 17); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected tuple, found integral variable [INFO] [stderr] | [INFO] [stderr] = note: expected type `((i32, i32), i32)` [INFO] [stderr] found type `{integer}` [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/slns/d3.rs:35:13 [INFO] [stderr] | [INFO] [stderr] 35 | id: id, [INFO] [stderr] | ^^^^^^ help: replace it with: `id` [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] error: aborting due to previous error [INFO] [stderr] [INFO] [stderr] For more information about this error, try `rustc --explain E0308`. [INFO] [stderr] error: Could not compile `AdventOfCode2018`. [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/slns/utils.rs:11:5 [INFO] [stderr] | [INFO] [stderr] 11 | return contents; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: remove `return` as shown: `contents` [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/slns/d2_p2.rs:9:5 [INFO] [stderr] | [INFO] [stderr] 9 | return None; [INFO] [stderr] | ^^^^^^^^^^^^ help: remove `return` as shown: `None` [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/slns/d2_p2.rs:25:5 [INFO] [stderr] | [INFO] [stderr] 25 | return distance; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: remove `return` as shown: `distance` [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/slns/d3.rs:81:5 [INFO] [stderr] | [INFO] [stderr] 81 | return (answer_1, answer_2); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `(answer_1, answer_2)` [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/slns/d4.rs:90:13 [INFO] [stderr] | [INFO] [stderr] 90 | return (*x.0, sleep_time); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `(*x.0, sleep_time)` [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/slns/d4.rs:92:13 [INFO] [stderr] | [INFO] [stderr] 92 | return acc; [INFO] [stderr] | ^^^^^^^^^^^ help: remove `return` as shown: `acc` [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/slns/d5.rs:65:5 [INFO] [stderr] | [INFO] [stderr] 65 | return sequence; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: remove `return` as shown: `sequence` [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: `HashSet` [INFO] [stderr] --> src/slns/d6.rs:2:24 [INFO] [stderr] | [INFO] [stderr] 2 | use std::collections::{HashSet, HashMap, VecDeque}; [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_imports)] on by default [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/slns/d6.rs:27:5 [INFO] [stderr] | [INFO] [stderr] 27 | return largest_area_node; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `largest_area_node` [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: unnecessary parentheses around `if` condition [INFO] [stderr] --> src/slns/d6.rs:22:16 [INFO] [stderr] | [INFO] [stderr] 22 | if (area > largest_area_node.1) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_parens)] on by default [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/slns/d6.rs:40:5 [INFO] [stderr] | [INFO] [stderr] 40 | return greatest_dist; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `greatest_dist` [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/slns/d6.rs:126:5 [INFO] [stderr] | [INFO] [stderr] 126 | return MapArea::Some(area_count); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `MapArea::Some(area_count)` [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/slns/d6.rs:151:5 [INFO] [stderr] | [INFO] [stderr] 151 | return adjacents; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `adjacents` [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/slns/d6.rs:175:4 [INFO] [stderr] | [INFO] [stderr] 175 | return closest_node; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `closest_node` [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/slns/utils.rs:11:5 [INFO] [stderr] | [INFO] [stderr] 11 | return contents; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: remove `return` as shown: `contents` [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/slns/d2_p2.rs:9:5 [INFO] [stderr] | [INFO] [stderr] 9 | return None; [INFO] [stderr] | ^^^^^^^^^^^^ help: remove `return` as shown: `None` [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/slns/d2_p2.rs:25:5 [INFO] [stderr] | [INFO] [stderr] 25 | return distance; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: remove `return` as shown: `distance` [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/slns/d3.rs:81:5 [INFO] [stderr] | [INFO] [stderr] 81 | return (answer_1, answer_2); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `(answer_1, answer_2)` [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/slns/d4.rs:90:13 [INFO] [stderr] | [INFO] [stderr] 90 | return (*x.0, sleep_time); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `(*x.0, sleep_time)` [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/slns/d4.rs:92:13 [INFO] [stderr] | [INFO] [stderr] 92 | return acc; [INFO] [stderr] | ^^^^^^^^^^^ help: remove `return` as shown: `acc` [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/slns/d5.rs:65:5 [INFO] [stderr] | [INFO] [stderr] 65 | return sequence; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: remove `return` as shown: `sequence` [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: `HashSet` [INFO] [stderr] --> src/slns/d6.rs:2:24 [INFO] [stderr] | [INFO] [stderr] 2 | use std::collections::{HashSet, HashMap, VecDeque}; [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_imports)] on by default [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/slns/d6.rs:27:5 [INFO] [stderr] | [INFO] [stderr] 27 | return largest_area_node; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `largest_area_node` [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: unnecessary parentheses around `if` condition [INFO] [stderr] --> src/slns/d6.rs:22:16 [INFO] [stderr] | [INFO] [stderr] 22 | if (area > largest_area_node.1) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_parens)] on by default [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/slns/d6.rs:40:5 [INFO] [stderr] | [INFO] [stderr] 40 | return greatest_dist; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `greatest_dist` [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/slns/d6.rs:126:5 [INFO] [stderr] | [INFO] [stderr] 126 | return MapArea::Some(area_count); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `MapArea::Some(area_count)` [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/slns/d6.rs:151:5 [INFO] [stderr] | [INFO] [stderr] 151 | return adjacents; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `adjacents` [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/slns/d6.rs:175:4 [INFO] [stderr] | [INFO] [stderr] 175 | return closest_node; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `closest_node` [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] error[E0308]: mismatched types [INFO] [stderr] --> src/slns/d6.rs:185:9 [INFO] [stderr] | [INFO] [stderr] 185 | assert_eq!(find_largest_area(points), 17); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected tuple, found integral variable [INFO] [stderr] | [INFO] [stderr] = note: expected type `((i32, i32), i32)` [INFO] [stderr] found type `{integer}` [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error: aborting due to previous error [INFO] [stderr] [INFO] [stderr] For more information about this error, try `rustc --explain E0308`. [INFO] [stderr] error: Could not compile `AdventOfCode2018`. [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stderr] warning: variant is never constructed: `None` [INFO] [stderr] --> src/slns/d6.rs:47:5 [INFO] [stderr] | [INFO] [stderr] 47 | None, [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(dead_code)] on by default [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `None` [INFO] [stderr] --> src/slns/d6.rs:158:5 [INFO] [stderr] | [INFO] [stderr] 158 | None, [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/slns/d1_p1.rs:1:38 [INFO] [stderr] | [INFO] [stderr] 1 | pub fn frequency_drift(freq_changes: &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/slns/d1_p2.rs:3:42 [INFO] [stderr] | [INFO] [stderr] 3 | pub fn frequency_calibrate(freq_changes: &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: this .into_iter() call is equivalent to .iter() and will not move the Vec [INFO] [stderr] --> src/slns/d1_p2.rs:7:31 [INFO] [stderr] | [INFO] [stderr] 7 | let mut it = freq_changes.into_iter().cycle(); [INFO] [stderr] | ^^^^^^^^^ help: call directly: `iter` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::into_iter_on_ref)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#into_iter_on_ref [INFO] [stderr] [INFO] [stderr] warning: equality checks against false can be replaced by a negation [INFO] [stderr] --> src/slns/d1_p2.rs:20:12 [INFO] [stderr] | [INFO] [stderr] 20 | if freqs.insert(freq) == false { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try simplifying it as shown: `!freqs.insert(freq)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::bool_comparison)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_comparison [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/slns/d2_p1.rs:1:33 [INFO] [stderr] | [INFO] [stderr] 1 | pub fn calculate_checksum(list: &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/slns/d2_p2.rs:1:25 [INFO] [stderr] | [INFO] [stderr] 1 | pub fn find_boxes(list: &Vec<&str>) -> Option<(String, String)> { [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: single-character string constant used as pattern [INFO] [stderr] --> src/slns/d3.rs:14:41 [INFO] [stderr] | [INFO] [stderr] 14 | let tokens: Vec<&str> = s.split(" ").collect(); [INFO] [stderr] | ^^^ help: try using a char instead: `' '` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::single_char_pattern)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [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/slns/d3.rs:44:50 [INFO] [stderr] | [INFO] [stderr] 44 | pub fn find_num_overlapping_and_best_claim(list: &Vec<&str>) -> (usize, usize) { [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: usage of `contains_key` followed by `insert` on a `HashMap` [INFO] [stderr] --> src/slns/d3.rs:64:17 [INFO] [stderr] | [INFO] [stderr] 64 | / if !squares.contains_key(&(x, y)) { [INFO] [stderr] 65 | | squares.insert((x, y), square.id); [INFO] [stderr] 66 | | } else { [INFO] [stderr] 67 | | intersecting_squares.insert(squares[&(x, y)]); [INFO] [stderr] 68 | | intersecting_squares.insert(square.id); [INFO] [stderr] 69 | | } [INFO] [stderr] | |_________________^ help: consider using: `squares.entry((x, y))` [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: usage of `contains_key` followed by `insert` on a `HashMap` [INFO] [stderr] --> src/slns/d4.rs:67:17 [INFO] [stderr] | [INFO] [stderr] 67 | / if !guards.contains_key(&guard_id) { [INFO] [stderr] 68 | | guards.insert( [INFO] [stderr] 69 | | guard_id, [INFO] [stderr] 70 | | Guard { [INFO] [stderr] ... | [INFO] [stderr] 79 | | .add_sleep_event((sleep_minute, wake_minute)); [INFO] [stderr] 80 | | } [INFO] [stderr] | |_________________^ help: consider using: `guards.entry(guard_id)` [INFO] [stderr] | [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 `i` is only used to index `time_accum`. [INFO] [stderr] --> src/slns/d4.rs:110:22 [INFO] [stderr] | [INFO] [stderr] 110 | for i in minutes.0..minutes.1 { [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] 110 | for in time_accum.iter_mut().take(minutes.1).skip(minutes.0) { [INFO] [stderr] | ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: taken reference of right operand [INFO] [stderr] --> src/slns/d4.rs:123:12 [INFO] [stderr] | [INFO] [stderr] 123 | if overlap > &overall_most_overlap { [INFO] [stderr] | ^^^^^^^^^^--------------------- [INFO] [stderr] | | [INFO] [stderr] | help: use the right value directly: `overall_most_overlap` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::op_ref)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [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/slns/d6.rs:30:32 [INFO] [stderr] | [INFO] [stderr] 30 | fn get_longest_distance(nodes: &Vec<(i32,i32)>) -> i32 { [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: change this to: `&[(i32,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/slns/d6.rs:56:48 [INFO] [stderr] | [INFO] [stderr] 56 | fn calculate_area(node: (i32, i32), all_nodes: &Vec<(i32,i32)>, inf_dist: i32) -> MapArea { [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: change this to: `&[(i32,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: usage of `contains_key` followed by `insert` on a `HashMap` [INFO] [stderr] --> src/slns/d6.rs:85:9 [INFO] [stderr] | [INFO] [stderr] 85 | / if !known_nodes.contains_key(¤t_node) { [INFO] [stderr] 86 | | [INFO] [stderr] 87 | | // Determine the closest node [INFO] [stderr] 88 | | let closest_node = get_closest_node(current_node, &all_nodes); [INFO] [stderr] ... | [INFO] [stderr] 113 | | } [INFO] [stderr] 114 | | } [INFO] [stderr] | |_________^ help: consider using: `known_nodes.entry(current_node)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_entry [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/slns/d6.rs:110:13 [INFO] [stderr] | [INFO] [stderr] 110 | / match node_queue.pop_front(){ [INFO] [stderr] 111 | | Some(v) => current_node = v, [INFO] [stderr] 112 | | None => (), [INFO] [stderr] 113 | | } [INFO] [stderr] | |_____________^ help: try this: `if let Some(v) = node_queue.pop_front() { current_node = v }` [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: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/slns/d6.rs:130:20 [INFO] [stderr] | [INFO] [stderr] 130 | fn get_distance(x: &(i32,i32), y: &(i32, i32)) -> i32 { [INFO] [stderr] | ^^^^^^^^^^ help: consider passing by value instead: `(i32,i32)` [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: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/slns/d6.rs:130:35 [INFO] [stderr] | [INFO] [stderr] 130 | fn get_distance(x: &(i32,i32), y: &(i32, i32)) -> i32 { [INFO] [stderr] | ^^^^^^^^^^^ help: consider passing by value instead: `(i32, i32)` [INFO] [stderr] | [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: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/slns/d6.rs:161:47 [INFO] [stderr] | [INFO] [stderr] 161 | fn get_closest_node(a: (i32, i32), all_nodes: &Vec<(i32, i32)>) -> ClosestNode { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: change this to: `&[(i32, 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: single-character string constant used as pattern [INFO] [stderr] --> src/slns/mod.rs:16:32 [INFO] [stderr] | [INFO] [stderr] 16 | let split = contents.split("\n"); [INFO] [stderr] | ^^^^ help: try using a char instead: `'\n'` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/slns/mod.rs:36:32 [INFO] [stderr] | [INFO] [stderr] 36 | let split = contents.split("\n"); [INFO] [stderr] | ^^^^ help: try using a char instead: `'\n'` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/slns/mod.rs:52:32 [INFO] [stderr] | [INFO] [stderr] 52 | let split = contents.split("\n"); [INFO] [stderr] | ^^^^ help: try using a char instead: `'\n'` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/slns/mod.rs:64:49 [INFO] [stderr] | [INFO] [stderr] 64 | let mut entries: Vec<&str> = contents.split("\n").collect(); [INFO] [stderr] | ^^^^ help: try using a char instead: `'\n'` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] error: build failed [INFO] running `"docker" "inspect" "9432530670fadc09176e4c9417a398c83c0f7e9f14cab129d20b11fa39db2380"` [INFO] running `"docker" "rm" "-f" "9432530670fadc09176e4c9417a398c83c0f7e9f14cab129d20b11fa39db2380"` [INFO] [stdout] 9432530670fadc09176e4c9417a398c83c0f7e9f14cab129d20b11fa39db2380