[INFO] updating cached repository zeddidragon/Advent-of-Code-2018 [INFO] running `"git" "fetch" "--all"` [INFO] [stdout] Fetching origin [INFO] [stderr] From git://github.com/zeddidragon/Advent-of-Code-2018 [INFO] [stderr] * branch HEAD -> FETCH_HEAD [INFO] running `"git" "clone" "work/cache/sources/gh/zeddidragon/Advent-of-Code-2018" "work/ex/clippy-test-run/sources/stable/gh/zeddidragon/Advent-of-Code-2018"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable/gh/zeddidragon/Advent-of-Code-2018'... [INFO] [stderr] done. [INFO] running `"git" "clone" "work/cache/sources/gh/zeddidragon/Advent-of-Code-2018" "work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/zeddidragon/Advent-of-Code-2018"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/zeddidragon/Advent-of-Code-2018'... [INFO] [stderr] done. [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] 7097cd001681a97884037ce5033e2201cd008596 [INFO] sha for GitHub repo zeddidragon/Advent-of-Code-2018: 7097cd001681a97884037ce5033e2201cd008596 [INFO] validating manifest of zeddidragon/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 zeddidragon/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 zeddidragon/Advent-of-Code-2018 [INFO] finished frobbing zeddidragon/Advent-of-Code-2018 [INFO] frobbed toml for zeddidragon/Advent-of-Code-2018 written to work/ex/clippy-test-run/sources/stable/gh/zeddidragon/Advent-of-Code-2018/Cargo.toml [INFO] started frobbing zeddidragon/Advent-of-Code-2018 [INFO] finished frobbing zeddidragon/Advent-of-Code-2018 [INFO] frobbed toml for zeddidragon/Advent-of-Code-2018 written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/zeddidragon/Advent-of-Code-2018/Cargo.toml [INFO] crate zeddidragon/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 zeddidragon/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-2/stable:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable/gh/zeddidragon/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] 8ddf1c32aa331a84f012c723f204d1cdf822ec14ca192e2aeae4ab6ec7225cad [INFO] running `"docker" "start" "-a" "8ddf1c32aa331a84f012c723f204d1cdf822ec14ca192e2aeae4ab6ec7225cad"` [INFO] [stderr] Compiling regex v1.1.0 [INFO] [stderr] Checking regex-syntax v0.6.4 [INFO] [stderr] Checking advent_of_code_2018 v0.0.1 (/opt/crater/workdir) [INFO] [stderr] warning: using `println!("")` [INFO] [stderr] --> src/day02.rs:55:17 [INFO] [stderr] | [INFO] [stderr] 55 | println!(""); [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `println!()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::println_empty_string)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#println_empty_string [INFO] [stderr] [INFO] [stderr] warning: using `println!("")` [INFO] [stderr] --> src/day02.rs:55:17 [INFO] [stderr] | [INFO] [stderr] 55 | println!(""); [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `println!()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::println_empty_string)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#println_empty_string [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/day03.rs:87:9 [INFO] [stderr] | [INFO] [stderr] 87 | 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/day03.rs:88:9 [INFO] [stderr] | [INFO] [stderr] 88 | x: x, [INFO] [stderr] | ^^^^ help: replace it with: `x` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/day03.rs:89:9 [INFO] [stderr] | [INFO] [stderr] 89 | y: y, [INFO] [stderr] | ^^^^ help: replace it with: `y` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/day03.rs:90:9 [INFO] [stderr] | [INFO] [stderr] 90 | w: w, [INFO] [stderr] | ^^^^ help: replace it with: `w` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/day03.rs:91:9 [INFO] [stderr] | [INFO] [stderr] 91 | h: h, [INFO] [stderr] | ^^^^ help: replace it with: `h` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/day04.rs:103:13 [INFO] [stderr] | [INFO] [stderr] 103 | guard: guard, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `guard` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/day06.rs:52:9 [INFO] [stderr] | [INFO] [stderr] 52 | total_distance: total_distance, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `total_distance` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/day03.rs:87:9 [INFO] [stderr] | [INFO] [stderr] 87 | 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/day03.rs:88:9 [INFO] [stderr] | [INFO] [stderr] 88 | x: x, [INFO] [stderr] | ^^^^ help: replace it with: `x` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/day03.rs:89:9 [INFO] [stderr] | [INFO] [stderr] 89 | y: y, [INFO] [stderr] | ^^^^ help: replace it with: `y` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/day03.rs:90:9 [INFO] [stderr] | [INFO] [stderr] 90 | w: w, [INFO] [stderr] | ^^^^ help: replace it with: `w` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/day03.rs:91:9 [INFO] [stderr] | [INFO] [stderr] 91 | h: h, [INFO] [stderr] | ^^^^ help: replace it with: `h` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/day04.rs:103:13 [INFO] [stderr] | [INFO] [stderr] 103 | guard: guard, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `guard` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/day06.rs:52:9 [INFO] [stderr] | [INFO] [stderr] 52 | total_distance: total_distance, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `total_distance` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: unneeded `()` [INFO] [stderr] --> src/day02.rs:56:24 [INFO] [stderr] | [INFO] [stderr] 56 | return (); [INFO] [stderr] | ^^ help: remove the `()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::unused_unit)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stderr] [INFO] [stderr] warning: unneeded `()` [INFO] [stderr] --> src/day03.rs:51:20 [INFO] [stderr] | [INFO] [stderr] 51 | return (); [INFO] [stderr] | ^^ help: remove the `()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/day03.rs:86:5 [INFO] [stderr] | [INFO] [stderr] 86 | / return Claim { [INFO] [stderr] 87 | | id: id, [INFO] [stderr] 88 | | x: x, [INFO] [stderr] 89 | | y: y, [INFO] [stderr] 90 | | w: w, [INFO] [stderr] 91 | | h: h, [INFO] [stderr] 92 | | }; [INFO] [stderr] | |______^ [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] help: remove `return` as shown [INFO] [stderr] | [INFO] [stderr] 86 | Claim { [INFO] [stderr] 87 | id: id, [INFO] [stderr] 88 | x: x, [INFO] [stderr] 89 | y: y, [INFO] [stderr] 90 | w: w, [INFO] [stderr] 91 | h: h, [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: digits grouped inconsistently by underscores [INFO] [stderr] --> src/day03.rs:103:26 [INFO] [stderr] | [INFO] [stderr] 103 | let mut grid : [u16; 1000_000] = [0; 1000_000]; [INFO] [stderr] | ^^^^^^^^ help: consider: `1_000_000` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::inconsistent_digit_grouping)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#inconsistent_digit_grouping [INFO] [stderr] [INFO] [stderr] warning: digits grouped inconsistently by underscores [INFO] [stderr] --> src/day03.rs:103:42 [INFO] [stderr] | [INFO] [stderr] 103 | let mut grid : [u16; 1000_000] = [0; 1000_000]; [INFO] [stderr] | ^^^^^^^^ help: consider: `1_000_000` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#inconsistent_digit_grouping [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/day04.rs:18:9 [INFO] [stderr] | [INFO] [stderr] 18 | / return [INFO] [stderr] 19 | | (self.minute as u64) + [INFO] [stderr] 20 | | (self.hour as u64) * 60 + [INFO] [stderr] 21 | | (self.day as u64) * 60 * 24 + [INFO] [stderr] 22 | | (self.month as u64) * 60 * 24 * 31 + [INFO] [stderr] 23 | | (self.year as u64 - 1500) * 60 * 24 * 31 * 366; [INFO] [stderr] | |___________________________________________________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] help: remove `return` as shown [INFO] [stderr] | [INFO] [stderr] 18 | (self.minute as u64) + [INFO] [stderr] 19 | (self.hour as u64) * 60 + [INFO] [stderr] 20 | (self.day as u64) * 60 * 24 + [INFO] [stderr] 21 | (self.month as u64) * 60 * 24 * 31 + [INFO] [stderr] 22 | (self.year as u64 - 1500) * 60 * 24 * 31 * 366 [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/day04.rs:84:5 [INFO] [stderr] | [INFO] [stderr] 84 | / return input.lines().map(|l| { [INFO] [stderr] 85 | | let line = &l.unwrap(); [INFO] [stderr] 86 | | let guard; [INFO] [stderr] 87 | | [INFO] [stderr] ... | [INFO] [stderr] 110 | | }) [INFO] [stderr] 111 | | .collect(); [INFO] [stderr] | |___________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] help: remove `return` as shown [INFO] [stderr] | [INFO] [stderr] 84 | input.lines().map(|l| { [INFO] [stderr] 85 | let line = &l.unwrap(); [INFO] [stderr] 86 | let guard; [INFO] [stderr] 87 | [INFO] [stderr] 88 | if line.ends_with(SLEEP) { [INFO] [stderr] 89 | guard = -1 [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/day04.rs:102:9 [INFO] [stderr] | [INFO] [stderr] 102 | / return Entry { [INFO] [stderr] 103 | | guard: guard, [INFO] [stderr] 104 | | year: caps[1].parse().unwrap(), [INFO] [stderr] 105 | | month: caps[2].parse().unwrap(), [INFO] [stderr] ... | [INFO] [stderr] 108 | | minute: caps[5].parse().unwrap(), [INFO] [stderr] 109 | | }; [INFO] [stderr] | |__________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] help: remove `return` as shown [INFO] [stderr] | [INFO] [stderr] 102 | Entry { [INFO] [stderr] 103 | guard: guard, [INFO] [stderr] 104 | year: caps[1].parse().unwrap(), [INFO] [stderr] 105 | month: caps[2].parse().unwrap(), [INFO] [stderr] 106 | day: caps[3].parse().unwrap(), [INFO] [stderr] 107 | hour: caps[4].parse().unwrap(), [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/day04.rs:135:5 [INFO] [stderr] | [INFO] [stderr] 135 | return sleep_minutes; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `sleep_minutes` [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/day05.rs:49:5 [INFO] [stderr] | [INFO] [stderr] 49 | return size; [INFO] [stderr] | ^^^^^^^^^^^^ help: remove `return` as shown: `size` [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/day06.rs:50:5 [INFO] [stderr] | [INFO] [stderr] 50 | / return DistanceResult { [INFO] [stderr] 51 | | closest_index: closest, [INFO] [stderr] 52 | | total_distance: total_distance, [INFO] [stderr] 53 | | tied: tied == closest_distance, [INFO] [stderr] 54 | | surrounded: left && right && above && below, [INFO] [stderr] 55 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] help: remove `return` as shown [INFO] [stderr] | [INFO] [stderr] 50 | DistanceResult { [INFO] [stderr] 51 | closest_index: closest, [INFO] [stderr] 52 | total_distance: total_distance, [INFO] [stderr] 53 | tied: tied == closest_distance, [INFO] [stderr] 54 | surrounded: left && right && above && below, [INFO] [stderr] 55 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/day06.rs:159:5 [INFO] [stderr] | [INFO] [stderr] 159 | / return Point { [INFO] [stderr] 160 | | x: coords.next().unwrap(), [INFO] [stderr] 161 | | y: coords.next().unwrap(), [INFO] [stderr] 162 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] help: remove `return` as shown [INFO] [stderr] | [INFO] [stderr] 159 | Point { [INFO] [stderr] 160 | x: coords.next().unwrap(), [INFO] [stderr] 161 | y: coords.next().unwrap(), [INFO] [stderr] 162 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/day09.rs:74:5 [INFO] [stderr] | [INFO] [stderr] 74 | return max; [INFO] [stderr] | ^^^^^^^^^^^ help: remove `return` as shown: `max` [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: long literal lacking separators [INFO] [stderr] --> src/day09.rs:80:32 [INFO] [stderr] | [INFO] [stderr] 80 | assert_eq!(game(13, 7999), 146373); [INFO] [stderr] | ^^^^^^ help: consider: `146_373` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::unreadable_literal)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: unneeded `()` [INFO] [stderr] --> src/day02.rs:56:24 [INFO] [stderr] | [INFO] [stderr] 56 | return (); [INFO] [stderr] | ^^ help: remove the `()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::unused_unit)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stderr] [INFO] [stderr] warning: unneeded `()` [INFO] [stderr] --> src/day03.rs:51:20 [INFO] [stderr] | [INFO] [stderr] 51 | return (); [INFO] [stderr] | ^^ help: remove the `()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/day03.rs:86:5 [INFO] [stderr] | [INFO] [stderr] 86 | / return Claim { [INFO] [stderr] 87 | | id: id, [INFO] [stderr] 88 | | x: x, [INFO] [stderr] 89 | | y: y, [INFO] [stderr] 90 | | w: w, [INFO] [stderr] 91 | | h: h, [INFO] [stderr] 92 | | }; [INFO] [stderr] | |______^ [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] help: remove `return` as shown [INFO] [stderr] | [INFO] [stderr] 86 | Claim { [INFO] [stderr] 87 | id: id, [INFO] [stderr] 88 | x: x, [INFO] [stderr] 89 | y: y, [INFO] [stderr] 90 | w: w, [INFO] [stderr] 91 | h: h, [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: digits grouped inconsistently by underscores [INFO] [stderr] --> src/day03.rs:103:26 [INFO] [stderr] | [INFO] [stderr] 103 | let mut grid : [u16; 1000_000] = [0; 1000_000]; [INFO] [stderr] | ^^^^^^^^ help: consider: `1_000_000` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::inconsistent_digit_grouping)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#inconsistent_digit_grouping [INFO] [stderr] [INFO] [stderr] warning: digits grouped inconsistently by underscores [INFO] [stderr] --> src/day03.rs:103:42 [INFO] [stderr] | [INFO] [stderr] 103 | let mut grid : [u16; 1000_000] = [0; 1000_000]; [INFO] [stderr] | ^^^^^^^^ help: consider: `1_000_000` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#inconsistent_digit_grouping [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/day04.rs:18:9 [INFO] [stderr] | [INFO] [stderr] 18 | / return [INFO] [stderr] 19 | | (self.minute as u64) + [INFO] [stderr] 20 | | (self.hour as u64) * 60 + [INFO] [stderr] 21 | | (self.day as u64) * 60 * 24 + [INFO] [stderr] 22 | | (self.month as u64) * 60 * 24 * 31 + [INFO] [stderr] 23 | | (self.year as u64 - 1500) * 60 * 24 * 31 * 366; [INFO] [stderr] | |___________________________________________________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] help: remove `return` as shown [INFO] [stderr] | [INFO] [stderr] 18 | (self.minute as u64) + [INFO] [stderr] 19 | (self.hour as u64) * 60 + [INFO] [stderr] 20 | (self.day as u64) * 60 * 24 + [INFO] [stderr] 21 | (self.month as u64) * 60 * 24 * 31 + [INFO] [stderr] 22 | (self.year as u64 - 1500) * 60 * 24 * 31 * 366 [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/day04.rs:84:5 [INFO] [stderr] | [INFO] [stderr] 84 | / return input.lines().map(|l| { [INFO] [stderr] 85 | | let line = &l.unwrap(); [INFO] [stderr] 86 | | let guard; [INFO] [stderr] 87 | | [INFO] [stderr] ... | [INFO] [stderr] 110 | | }) [INFO] [stderr] 111 | | .collect(); [INFO] [stderr] | |___________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] help: remove `return` as shown [INFO] [stderr] | [INFO] [stderr] 84 | input.lines().map(|l| { [INFO] [stderr] 85 | let line = &l.unwrap(); [INFO] [stderr] 86 | let guard; [INFO] [stderr] 87 | [INFO] [stderr] 88 | if line.ends_with(SLEEP) { [INFO] [stderr] 89 | guard = -1 [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/day04.rs:102:9 [INFO] [stderr] | [INFO] [stderr] 102 | / return Entry { [INFO] [stderr] 103 | | guard: guard, [INFO] [stderr] 104 | | year: caps[1].parse().unwrap(), [INFO] [stderr] 105 | | month: caps[2].parse().unwrap(), [INFO] [stderr] ... | [INFO] [stderr] 108 | | minute: caps[5].parse().unwrap(), [INFO] [stderr] 109 | | }; [INFO] [stderr] | |__________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] help: remove `return` as shown [INFO] [stderr] | [INFO] [stderr] 102 | Entry { [INFO] [stderr] 103 | guard: guard, [INFO] [stderr] 104 | year: caps[1].parse().unwrap(), [INFO] [stderr] 105 | month: caps[2].parse().unwrap(), [INFO] [stderr] 106 | day: caps[3].parse().unwrap(), [INFO] [stderr] 107 | hour: caps[4].parse().unwrap(), [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/day04.rs:135:5 [INFO] [stderr] | [INFO] [stderr] 135 | return sleep_minutes; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `sleep_minutes` [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/day05.rs:49:5 [INFO] [stderr] | [INFO] [stderr] 49 | return size; [INFO] [stderr] | ^^^^^^^^^^^^ help: remove `return` as shown: `size` [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/day06.rs:50:5 [INFO] [stderr] | [INFO] [stderr] 50 | / return DistanceResult { [INFO] [stderr] 51 | | closest_index: closest, [INFO] [stderr] 52 | | total_distance: total_distance, [INFO] [stderr] 53 | | tied: tied == closest_distance, [INFO] [stderr] 54 | | surrounded: left && right && above && below, [INFO] [stderr] 55 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] help: remove `return` as shown [INFO] [stderr] | [INFO] [stderr] 50 | DistanceResult { [INFO] [stderr] 51 | closest_index: closest, [INFO] [stderr] 52 | total_distance: total_distance, [INFO] [stderr] 53 | tied: tied == closest_distance, [INFO] [stderr] 54 | surrounded: left && right && above && below, [INFO] [stderr] 55 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/day06.rs:159:5 [INFO] [stderr] | [INFO] [stderr] 159 | / return Point { [INFO] [stderr] 160 | | x: coords.next().unwrap(), [INFO] [stderr] 161 | | y: coords.next().unwrap(), [INFO] [stderr] 162 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] help: remove `return` as shown [INFO] [stderr] | [INFO] [stderr] 159 | Point { [INFO] [stderr] 160 | x: coords.next().unwrap(), [INFO] [stderr] 161 | y: coords.next().unwrap(), [INFO] [stderr] 162 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/day09.rs:74:5 [INFO] [stderr] | [INFO] [stderr] 74 | return max; [INFO] [stderr] | ^^^^^^^^^^^ help: remove `return` as shown: `max` [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: long literal lacking separators [INFO] [stderr] --> src/day09.rs:80:32 [INFO] [stderr] | [INFO] [stderr] 80 | assert_eq!(game(13, 7999), 146373); [INFO] [stderr] | ^^^^^^ help: consider: `146_373` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::unreadable_literal)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [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:5:19 [INFO] [stderr] | [INFO] [stderr] 5 | fn part1(changes: &Vec) { [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:13:19 [INFO] [stderr] | [INFO] [stderr] 13 | fn part2(changes: &Vec) { [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:5:15 [INFO] [stderr] | [INFO] [stderr] 5 | fn part1(ids: &Vec>) { [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/day02.rs:39:15 [INFO] [stderr] | [INFO] [stderr] 39 | fn part2(ids: &Vec>) { [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:37:43 [INFO] [stderr] | [INFO] [stderr] 37 | fn part2(grid: &[u16; 1_000_000], claims: &Vec) { [INFO] [stderr] | ^^^^^^^^^^^ help: change this to: `&[Claim]` [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/day03.rs:68:28 [INFO] [stderr] | [INFO] [stderr] 68 | .split(",") [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: single-character string constant used as pattern [INFO] [stderr] --> src/day03.rs:76:28 [INFO] [stderr] | [INFO] [stderr] 76 | .split("x") [INFO] [stderr] | ^^^ help: try using a char instead: `'x'` [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: casting u8 to u64 may become silently lossy if types change [INFO] [stderr] --> src/day04.rs:19:13 [INFO] [stderr] | [INFO] [stderr] 19 | (self.minute as u64) + [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try: `u64::from(self.minute)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::cast_lossless)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u64 may become silently lossy if types change [INFO] [stderr] --> src/day04.rs:20:13 [INFO] [stderr] | [INFO] [stderr] 20 | (self.hour as u64) * 60 + [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: try: `u64::from(self.hour)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u64 may become silently lossy if types change [INFO] [stderr] --> src/day04.rs:21:13 [INFO] [stderr] | [INFO] [stderr] 21 | (self.day as u64) * 60 * 24 + [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try: `u64::from(self.day)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u64 may become silently lossy if types change [INFO] [stderr] --> src/day04.rs:22:13 [INFO] [stderr] | [INFO] [stderr] 22 | (self.month as u64) * 60 * 24 * 31 + [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try: `u64::from(self.month)` [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 u16 to u64 may become silently lossy if types change [INFO] [stderr] --> src/day04.rs:23:14 [INFO] [stderr] | [INFO] [stderr] 23 | (self.year as u64 - 1500) * 60 * 24 * 31 * 366; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: try: `u64::from(self.year)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u32 may become silently lossy if types change [INFO] [stderr] --> src/day04.rs:121:28 [INFO] [stderr] | [INFO] [stderr] 121 | slept_at = entry.minute as u32; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try: `u32::from(entry.minute)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u32 may become silently lossy if types change [INFO] [stderr] --> src/day04.rs:125:36 [INFO] [stderr] | [INFO] [stderr] 125 | for i in slept_at..(entry.minute as u32) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: try: `u32::from(entry.minute)` [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 `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/day01.rs:5:19 [INFO] [stderr] | [INFO] [stderr] 5 | fn part1(changes: &Vec) { [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:13:19 [INFO] [stderr] | [INFO] [stderr] 13 | fn part2(changes: &Vec) { [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:5:15 [INFO] [stderr] | [INFO] [stderr] 5 | fn part1(ids: &Vec>) { [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/day02.rs:39:15 [INFO] [stderr] | [INFO] [stderr] 39 | fn part2(ids: &Vec>) { [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/day06.rs:19:22 [INFO] [stderr] | [INFO] [stderr] 19 | fn distances(points: &Vec, n: &Point) -> DistanceResult { [INFO] [stderr] | ^^^^^^^^^^^ help: change this to: `&[Point]` [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 argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/day06.rs:19:38 [INFO] [stderr] | [INFO] [stderr] 19 | fn distances(points: &Vec, n: &Point) -> DistanceResult { [INFO] [stderr] | ^^^^^^ help: consider passing by value instead: `Point` [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: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/day03.rs:37:43 [INFO] [stderr] | [INFO] [stderr] 37 | fn part2(grid: &[u16; 1_000_000], claims: &Vec) { [INFO] [stderr] | ^^^^^^^^^^^ help: change this to: `&[Claim]` [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 argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/day06.rs:58:51 [INFO] [stderr] | [INFO] [stderr] 58 | fn add_neighbours(neighbours: &mut Vec, n: &Point) { [INFO] [stderr] | ^^^^^^ help: consider passing by value instead: `Point` [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: single-character string constant used as pattern [INFO] [stderr] --> src/day03.rs:68:28 [INFO] [stderr] | [INFO] [stderr] 68 | .split(",") [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: single-character string constant used as pattern [INFO] [stderr] --> src/day03.rs:76:28 [INFO] [stderr] | [INFO] [stderr] 76 | .split("x") [INFO] [stderr] | ^^^ help: try using a char instead: `'x'` [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: casting u8 to u64 may become silently lossy if types change [INFO] [stderr] --> src/day04.rs:19:13 [INFO] [stderr] | [INFO] [stderr] 19 | (self.minute as u64) + [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try: `u64::from(self.minute)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::cast_lossless)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u64 may become silently lossy if types change [INFO] [stderr] --> src/day04.rs:20:13 [INFO] [stderr] | [INFO] [stderr] 20 | (self.hour as u64) * 60 + [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: try: `u64::from(self.hour)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u64 may become silently lossy if types change [INFO] [stderr] --> src/day04.rs:21:13 [INFO] [stderr] | [INFO] [stderr] 21 | (self.day as u64) * 60 * 24 + [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try: `u64::from(self.day)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u64 may become silently lossy if types change [INFO] [stderr] --> src/day04.rs:22:13 [INFO] [stderr] | [INFO] [stderr] 22 | (self.month as u64) * 60 * 24 * 31 + [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try: `u64::from(self.month)` [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 u16 to u64 may become silently lossy if types change [INFO] [stderr] --> src/day04.rs:23:14 [INFO] [stderr] | [INFO] [stderr] 23 | (self.year as u64 - 1500) * 60 * 24 * 31 * 366; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: try: `u64::from(self.year)` [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 `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/day06.rs:65:18 [INFO] [stderr] | [INFO] [stderr] 65 | fn part1(points: &Vec) { [INFO] [stderr] | ^^^^^^^^^^^ help: change this to: `&[Point]` [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/day06.rs:109:18 [INFO] [stderr] | [INFO] [stderr] 109 | fn part2(points: &Vec) { [INFO] [stderr] | ^^^^^^^^^^^ help: change this to: `&[Point]` [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: casting u8 to u32 may become silently lossy if types change [INFO] [stderr] --> src/day04.rs:121:28 [INFO] [stderr] | [INFO] [stderr] 121 | slept_at = entry.minute as u32; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try: `u32::from(entry.minute)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u32 may become silently lossy if types change [INFO] [stderr] --> src/day04.rs:125:36 [INFO] [stderr] | [INFO] [stderr] 125 | for i in slept_at..(entry.minute as u32) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: try: `u32::from(entry.minute)` [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: use of `or_insert` followed by a function call [INFO] [stderr] --> src/day07.rs:15:35 [INFO] [stderr] | [INFO] [stderr] 15 | for c in required.entry(step).or_insert(String::new()).chars() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `or_insert_with(String::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: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/day07.rs:20:17 [INFO] [stderr] | [INFO] [stderr] 20 | / match entry.find(step) { [INFO] [stderr] 21 | | Some(index) => { [INFO] [stderr] 22 | | entry.remove(index); [INFO] [stderr] 23 | | length = Some(entry.len()); [INFO] [stderr] 24 | | }, [INFO] [stderr] 25 | | _ => (), [INFO] [stderr] 26 | | } [INFO] [stderr] | |_________________^ [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] help: try this [INFO] [stderr] | [INFO] [stderr] 20 | if let Some(index) = entry.find(step) { [INFO] [stderr] 21 | entry.remove(index); [INFO] [stderr] 22 | length = Some(entry.len()); [INFO] [stderr] 23 | } [INFO] [stderr] | [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/day07.rs:29:9 [INFO] [stderr] | [INFO] [stderr] 29 | / match length { [INFO] [stderr] 30 | | Some(0) => { requires.remove(&c); }, [INFO] [stderr] 31 | | _ => (), [INFO] [stderr] 32 | | } [INFO] [stderr] | |_________^ help: try this: `if let Some(0) = length { requires.remove(&c); }` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] [INFO] [stderr] warning: use of `or_insert` followed by a function call [INFO] [stderr] --> src/day07.rs:145:53 [INFO] [stderr] | [INFO] [stderr] 145 | let entry = graph.requires.entry(dependent).or_insert(String::with_capacity(5)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `or_insert_with(|| String::with_capacity(5))` [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/day07.rs:148:54 [INFO] [stderr] | [INFO] [stderr] 148 | let entry = graph.required.entry(dependency).or_insert(String::with_capacity(5)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `or_insert_with(|| String::with_capacity(5))` [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: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/day08.rs:59:13 [INFO] [stderr] | [INFO] [stderr] 59 | / match self.children.get((*byte as usize) - 1) { [INFO] [stderr] 60 | | Some(child) => sum += child.value(), [INFO] [stderr] 61 | | None => (), [INFO] [stderr] 62 | | } [INFO] [stderr] | |_____________^ help: try this: `if let Some(child) = self.children.get((*byte as usize) - 1) { sum += child.value() }` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [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/day06.rs:19:22 [INFO] [stderr] | [INFO] [stderr] 19 | fn distances(points: &Vec, n: &Point) -> DistanceResult { [INFO] [stderr] | ^^^^^^^^^^^ help: change this to: `&[Point]` [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 argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/day06.rs:19:38 [INFO] [stderr] | [INFO] [stderr] 19 | fn distances(points: &Vec, n: &Point) -> DistanceResult { [INFO] [stderr] | ^^^^^^ help: consider passing by value instead: `Point` [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/day06.rs:58:51 [INFO] [stderr] | [INFO] [stderr] 58 | fn add_neighbours(neighbours: &mut Vec, n: &Point) { [INFO] [stderr] | ^^^^^^ help: consider passing by value instead: `Point` [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/day06.rs:65:18 [INFO] [stderr] | [INFO] [stderr] 65 | fn part1(points: &Vec) { [INFO] [stderr] | ^^^^^^^^^^^ help: change this to: `&[Point]` [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/day06.rs:109:18 [INFO] [stderr] | [INFO] [stderr] 109 | fn part2(points: &Vec) { [INFO] [stderr] | ^^^^^^^^^^^ help: change this to: `&[Point]` [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: an inclusive range would be more readable [INFO] [stderr] --> src/day09.rs:12:14 [INFO] [stderr] | [INFO] [stderr] 12 | for _ in 0..(final_ball + 1) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: use: `0..=final_ball` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::range_plus_one)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#range_plus_one [INFO] [stderr] [INFO] [stderr] warning: called `.get().unwrap()` on a Vec. Using `[]` is more clear and more concise [INFO] [stderr] --> src/day09.rs:24:24 [INFO] [stderr] | [INFO] [stderr] 24 | prev = balls.get(current).unwrap().next; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `balls[current]` [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: called `.get().unwrap()` on a Vec. Using `[]` is more clear and more concise [INFO] [stderr] --> src/day09.rs:27:24 [INFO] [stderr] | [INFO] [stderr] 27 | next = balls.get(prev).unwrap().next; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `balls[prev]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_unwrap [INFO] [stderr] [INFO] [stderr] warning: called `.get_mut().unwrap()` on a Vec. Using `[]` is more clear and more concise [INFO] [stderr] --> src/day09.rs:30:31 [INFO] [stderr] | [INFO] [stderr] 30 | let between = balls.get_mut(ball).unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `balls[ball]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_unwrap [INFO] [stderr] [INFO] [stderr] warning: called `.get_mut().unwrap()` on a Vec. Using `[]` is more clear and more concise [INFO] [stderr] --> src/day09.rs:35:30 [INFO] [stderr] | [INFO] [stderr] 35 | let before = balls.get_mut(prev).unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `balls[prev]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_unwrap [INFO] [stderr] [INFO] [stderr] warning: called `.get_mut().unwrap()` on a Vec. Using `[]` is more clear and more concise [INFO] [stderr] --> src/day09.rs:39:29 [INFO] [stderr] | [INFO] [stderr] 39 | let after = balls.get_mut(next).unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `balls[next]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_unwrap [INFO] [stderr] [INFO] [stderr] warning: called `.get().unwrap()` on a Vec. Using `[]` is more clear and more concise [INFO] [stderr] --> src/day09.rs:47:23 [INFO] [stderr] | [INFO] [stderr] 47 | current = balls.get(current).unwrap().prev; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `balls[current]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_unwrap [INFO] [stderr] [INFO] [stderr] warning: called `.get().unwrap()` on a Vec. Using `[]` is more clear and more concise [INFO] [stderr] --> src/day09.rs:52:27 [INFO] [stderr] | [INFO] [stderr] 52 | let removed = balls.get(current).unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `balls[current]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_unwrap [INFO] [stderr] [INFO] [stderr] warning: called `.get_mut().unwrap()` on a Vec. Using `[]` is more clear and more concise [INFO] [stderr] --> src/day09.rs:58:26 [INFO] [stderr] | [INFO] [stderr] 58 | let before = balls.get_mut(prev).unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `balls[prev]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_unwrap [INFO] [stderr] [INFO] [stderr] warning: called `.get_mut().unwrap()` on a Vec. Using `[]` is more clear and more concise [INFO] [stderr] --> src/day09.rs:62:25 [INFO] [stderr] | [INFO] [stderr] 62 | let after = balls.get_mut(next).unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `balls[next]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_unwrap [INFO] [stderr] [INFO] [stderr] warning: use of `or_insert` followed by a function call [INFO] [stderr] --> src/day07.rs:15:35 [INFO] [stderr] | [INFO] [stderr] 15 | for c in required.entry(step).or_insert(String::new()).chars() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `or_insert_with(String::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: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/day07.rs:20:17 [INFO] [stderr] | [INFO] [stderr] 20 | / match entry.find(step) { [INFO] [stderr] 21 | | Some(index) => { [INFO] [stderr] 22 | | entry.remove(index); [INFO] [stderr] 23 | | length = Some(entry.len()); [INFO] [stderr] 24 | | }, [INFO] [stderr] 25 | | _ => (), [INFO] [stderr] 26 | | } [INFO] [stderr] | |_________________^ [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] help: try this [INFO] [stderr] | [INFO] [stderr] 20 | if let Some(index) = entry.find(step) { [INFO] [stderr] 21 | entry.remove(index); [INFO] [stderr] 22 | length = Some(entry.len()); [INFO] [stderr] 23 | } [INFO] [stderr] | [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/day07.rs:29:9 [INFO] [stderr] | [INFO] [stderr] 29 | / match length { [INFO] [stderr] 30 | | Some(0) => { requires.remove(&c); }, [INFO] [stderr] 31 | | _ => (), [INFO] [stderr] 32 | | } [INFO] [stderr] | |_________^ help: try this: `if let Some(0) = length { requires.remove(&c); }` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] [INFO] [stderr] warning: use of `or_insert` followed by a function call [INFO] [stderr] --> src/day07.rs:145:53 [INFO] [stderr] | [INFO] [stderr] 145 | let entry = graph.requires.entry(dependent).or_insert(String::with_capacity(5)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `or_insert_with(|| String::with_capacity(5))` [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: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/day10.rs:7:22 [INFO] [stderr] | [INFO] [stderr] 7 | fn bounds(particles: &Vec) -> (Point, Point) { [INFO] [stderr] | ^^^^^^^^^^^^^^ help: change this to: `&[Particle]` [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/day07.rs:148:54 [INFO] [stderr] | [INFO] [stderr] 148 | let entry = graph.required.entry(dependency).or_insert(String::with_capacity(5)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `or_insert_with(|| String::with_capacity(5))` [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: called `.get_mut().unwrap()` on a Vec. Using `[]` is more clear and more concise [INFO] [stderr] --> src/day10.rs:77:10 [INFO] [stderr] | [INFO] [stderr] 77 | *grid.get_mut(index).unwrap() = true; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `grid[index]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_unwrap [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/day08.rs:59:13 [INFO] [stderr] | [INFO] [stderr] 59 | / match self.children.get((*byte as usize) - 1) { [INFO] [stderr] 60 | | Some(child) => sum += child.value(), [INFO] [stderr] 61 | | None => (), [INFO] [stderr] 62 | | } [INFO] [stderr] | |_____________^ help: try this: `if let Some(child) = self.children.get((*byte as usize) - 1) { sum += child.value() }` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [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/day11.rs:1:26 [INFO] [stderr] | [INFO] [stderr] 1 | pub fn best_square(grid: &Vec, size: usize) -> (i32, usize, usize) { [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: unused label `'outer` [INFO] [stderr] --> src/day11.rs:8:5 [INFO] [stderr] | [INFO] [stderr] 8 | / 'outer: for x in 0..(width + 1 - size) { [INFO] [stderr] 9 | | cache[0] = 0; [INFO] [stderr] 10 | | for (y, value) in cache.iter_mut().skip(1).enumerate() { [INFO] [stderr] 11 | | *value = grid [INFO] [stderr] ... | [INFO] [stderr] 36 | | } [INFO] [stderr] 37 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::unused_label)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_label [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/day11.rs:42:20 [INFO] [stderr] | [INFO] [stderr] 42 | pub fn part1(grid: &Vec) { [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/day11.rs:47:20 [INFO] [stderr] | [INFO] [stderr] 47 | pub fn part2(grid: &Vec) { [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: an inclusive range would be more readable [INFO] [stderr] --> src/day09.rs:12:14 [INFO] [stderr] | [INFO] [stderr] 12 | for _ in 0..(final_ball + 1) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: use: `0..=final_ball` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::range_plus_one)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#range_plus_one [INFO] [stderr] [INFO] [stderr] warning: called `.get().unwrap()` on a Vec. Using `[]` is more clear and more concise [INFO] [stderr] --> src/day09.rs:24:24 [INFO] [stderr] | [INFO] [stderr] 24 | prev = balls.get(current).unwrap().next; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `balls[current]` [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: called `.get().unwrap()` on a Vec. Using `[]` is more clear and more concise [INFO] [stderr] --> src/day09.rs:27:24 [INFO] [stderr] | [INFO] [stderr] 27 | next = balls.get(prev).unwrap().next; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `balls[prev]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_unwrap [INFO] [stderr] [INFO] [stderr] warning: called `.get_mut().unwrap()` on a Vec. Using `[]` is more clear and more concise [INFO] [stderr] --> src/day09.rs:30:31 [INFO] [stderr] | [INFO] [stderr] 30 | let between = balls.get_mut(ball).unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `balls[ball]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_unwrap [INFO] [stderr] [INFO] [stderr] warning: called `.get_mut().unwrap()` on a Vec. Using `[]` is more clear and more concise [INFO] [stderr] --> src/day09.rs:35:30 [INFO] [stderr] | [INFO] [stderr] 35 | let before = balls.get_mut(prev).unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `balls[prev]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_unwrap [INFO] [stderr] [INFO] [stderr] warning: called `.get_mut().unwrap()` on a Vec. Using `[]` is more clear and more concise [INFO] [stderr] --> src/day09.rs:39:29 [INFO] [stderr] | [INFO] [stderr] 39 | let after = balls.get_mut(next).unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `balls[next]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_unwrap [INFO] [stderr] [INFO] [stderr] warning: called `.get().unwrap()` on a Vec. Using `[]` is more clear and more concise [INFO] [stderr] --> src/day09.rs:47:23 [INFO] [stderr] | [INFO] [stderr] 47 | current = balls.get(current).unwrap().prev; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `balls[current]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_unwrap [INFO] [stderr] [INFO] [stderr] warning: called `.get().unwrap()` on a Vec. Using `[]` is more clear and more concise [INFO] [stderr] --> src/day09.rs:52:27 [INFO] [stderr] | [INFO] [stderr] 52 | let removed = balls.get(current).unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `balls[current]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_unwrap [INFO] [stderr] [INFO] [stderr] warning: called `.get_mut().unwrap()` on a Vec. Using `[]` is more clear and more concise [INFO] [stderr] --> src/day09.rs:58:26 [INFO] [stderr] | [INFO] [stderr] 58 | let before = balls.get_mut(prev).unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `balls[prev]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_unwrap [INFO] [stderr] [INFO] [stderr] warning: called `.get_mut().unwrap()` on a Vec. Using `[]` is more clear and more concise [INFO] [stderr] --> src/day09.rs:62:25 [INFO] [stderr] | [INFO] [stderr] 62 | let after = balls.get_mut(next).unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `balls[next]` [INFO] [stderr] | [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/day12.rs:26:16 [INFO] [stderr] | [INFO] [stderr] 26 | fn mutate(map: &Vec, pots: &mut Vec, next: &mut Vec, left: &mut i64, right: &mut i64) { [INFO] [stderr] | ^^^^^^^^^^ help: change this to: `&[bool]` [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().unwrap()` on a slice. Using `[]` is more clear and more concise [INFO] [stderr] --> src/day12.rs:37:21 [INFO] [stderr] | [INFO] [stderr] 37 | let plant = map.get(map_index).unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `map[map_index]` [INFO] [stderr] | [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/day12.rs:52:15 [INFO] [stderr] | [INFO] [stderr] 52 | fn part1(map: &Vec, initial: &Vec) { [INFO] [stderr] | ^^^^^^^^^^ help: change this to: `&[bool]` [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/day12.rs:52:36 [INFO] [stderr] | [INFO] [stderr] 52 | fn part1(map: &Vec, initial: &Vec) { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] help: change this to [INFO] [stderr] | [INFO] [stderr] 52 | fn part1(map: &Vec, initial: &[bool]) { [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] help: change `initial.clone()` to [INFO] [stderr] | [INFO] [stderr] 53 | let mut pots = initial.to_owned(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: this looks like you are swapping `pots` and `next` manually [INFO] [stderr] --> src/day12.rs:61:9 [INFO] [stderr] | [INFO] [stderr] 61 | / let tmp = pots; [INFO] [stderr] 62 | | pots = next; [INFO] [stderr] 63 | | next = tmp; [INFO] [stderr] | |__________________^ help: try: `std::mem::swap(&mut pots, &mut next)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::manual_swap)] on by default [INFO] [stderr] = note: or maybe you should use `std::mem::replace`? [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_swap [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/day12.rs:92:15 [INFO] [stderr] | [INFO] [stderr] 92 | fn part2(map: &Vec, initial: &Vec) { [INFO] [stderr] | ^^^^^^^^^^ help: change this to: `&[bool]` [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/day12.rs:92:36 [INFO] [stderr] | [INFO] [stderr] 92 | fn part2(map: &Vec, initial: &Vec) { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] help: change this to [INFO] [stderr] | [INFO] [stderr] 92 | fn part2(map: &Vec, initial: &[bool]) { [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] help: change `initial.clone()` to [INFO] [stderr] | [INFO] [stderr] 94 | let mut pots = initial.to_owned(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: this looks like you are swapping `pots` and `next` manually [INFO] [stderr] --> src/day12.rs:109:9 [INFO] [stderr] | [INFO] [stderr] 109 | / let tmp = pots; [INFO] [stderr] 110 | | pots = next; [INFO] [stderr] 111 | | next = tmp; [INFO] [stderr] | |__________________^ help: try: `std::mem::swap(&mut pots, &mut next)` [INFO] [stderr] | [INFO] [stderr] = note: or maybe you should use `std::mem::replace`? [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_swap [INFO] [stderr] [INFO] [stderr] warning: casting i32 to i64 may become silently lossy if types change [INFO] [stderr] --> src/day12.rs:116:30 [INFO] [stderr] | [INFO] [stderr] 116 | left += 50_000_000_000 - (i as i64); [INFO] [stderr] | ^^^^^^^^^^ help: try: `i64::from(i)` [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/day10.rs:7:22 [INFO] [stderr] | [INFO] [stderr] 7 | fn bounds(particles: &Vec) -> (Point, Point) { [INFO] [stderr] | ^^^^^^^^^^^^^^ help: change this to: `&[Particle]` [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] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] [INFO] [stderr] warning: called `.get_mut().unwrap()` on a Vec. Using `[]` is more clear and more concise [INFO] [stderr] --> src/day10.rs:77:10 [INFO] [stderr] | [INFO] [stderr] 77 | *grid.get_mut(index).unwrap() = true; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `grid[index]` [INFO] [stderr] | [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/day11.rs:1:26 [INFO] [stderr] | [INFO] [stderr] 1 | pub fn best_square(grid: &Vec, size: usize) -> (i32, usize, usize) { [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: unused label `'outer` [INFO] [stderr] --> src/day11.rs:8:5 [INFO] [stderr] | [INFO] [stderr] 8 | / 'outer: for x in 0..(width + 1 - size) { [INFO] [stderr] 9 | | cache[0] = 0; [INFO] [stderr] 10 | | for (y, value) in cache.iter_mut().skip(1).enumerate() { [INFO] [stderr] 11 | | *value = grid [INFO] [stderr] ... | [INFO] [stderr] 36 | | } [INFO] [stderr] 37 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::unused_label)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_label [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/day11.rs:42:20 [INFO] [stderr] | [INFO] [stderr] 42 | pub fn part1(grid: &Vec) { [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/day11.rs:47:20 [INFO] [stderr] | [INFO] [stderr] 47 | pub fn part2(grid: &Vec) { [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/day12.rs:26:16 [INFO] [stderr] | [INFO] [stderr] 26 | fn mutate(map: &Vec, pots: &mut Vec, next: &mut Vec, left: &mut i64, right: &mut i64) { [INFO] [stderr] | ^^^^^^^^^^ help: change this to: `&[bool]` [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().unwrap()` on a slice. Using `[]` is more clear and more concise [INFO] [stderr] --> src/day12.rs:37:21 [INFO] [stderr] | [INFO] [stderr] 37 | let plant = map.get(map_index).unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `map[map_index]` [INFO] [stderr] | [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/day12.rs:52:15 [INFO] [stderr] | [INFO] [stderr] 52 | fn part1(map: &Vec, initial: &Vec) { [INFO] [stderr] | ^^^^^^^^^^ help: change this to: `&[bool]` [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/day12.rs:52:36 [INFO] [stderr] | [INFO] [stderr] 52 | fn part1(map: &Vec, initial: &Vec) { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] help: change this to [INFO] [stderr] | [INFO] [stderr] 52 | fn part1(map: &Vec, initial: &[bool]) { [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] help: change `initial.clone()` to [INFO] [stderr] | [INFO] [stderr] 53 | let mut pots = initial.to_owned(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: this looks like you are swapping `pots` and `next` manually [INFO] [stderr] --> src/day12.rs:61:9 [INFO] [stderr] | [INFO] [stderr] 61 | / let tmp = pots; [INFO] [stderr] 62 | | pots = next; [INFO] [stderr] 63 | | next = tmp; [INFO] [stderr] | |__________________^ help: try: `std::mem::swap(&mut pots, &mut next)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::manual_swap)] on by default [INFO] [stderr] = note: or maybe you should use `std::mem::replace`? [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_swap [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/day12.rs:92:15 [INFO] [stderr] | [INFO] [stderr] 92 | fn part2(map: &Vec, initial: &Vec) { [INFO] [stderr] | ^^^^^^^^^^ help: change this to: `&[bool]` [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/day12.rs:92:36 [INFO] [stderr] | [INFO] [stderr] 92 | fn part2(map: &Vec, initial: &Vec) { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] help: change this to [INFO] [stderr] | [INFO] [stderr] 92 | fn part2(map: &Vec, initial: &[bool]) { [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] help: change `initial.clone()` to [INFO] [stderr] | [INFO] [stderr] 94 | let mut pots = initial.to_owned(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: this looks like you are swapping `pots` and `next` manually [INFO] [stderr] --> src/day12.rs:109:9 [INFO] [stderr] | [INFO] [stderr] 109 | / let tmp = pots; [INFO] [stderr] 110 | | pots = next; [INFO] [stderr] 111 | | next = tmp; [INFO] [stderr] | |__________________^ help: try: `std::mem::swap(&mut pots, &mut next)` [INFO] [stderr] | [INFO] [stderr] = note: or maybe you should use `std::mem::replace`? [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_swap [INFO] [stderr] [INFO] [stderr] warning: casting i32 to i64 may become silently lossy if types change [INFO] [stderr] --> src/day12.rs:116:30 [INFO] [stderr] | [INFO] [stderr] 116 | left += 50_000_000_000 - (i as i64); [INFO] [stderr] | ^^^^^^^^^^ help: try: `i64::from(i)` [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] Finished dev [unoptimized + debuginfo] target(s) in 11.10s [INFO] running `"docker" "inspect" "8ddf1c32aa331a84f012c723f204d1cdf822ec14ca192e2aeae4ab6ec7225cad"` [INFO] running `"docker" "rm" "-f" "8ddf1c32aa331a84f012c723f204d1cdf822ec14ca192e2aeae4ab6ec7225cad"` [INFO] [stdout] 8ddf1c32aa331a84f012c723f204d1cdf822ec14ca192e2aeae4ab6ec7225cad