[INFO] cloning repository https://github.com/Tsuchijo/AoC-24-Rust [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Tsuchijo/AoC-24-Rust" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FTsuchijo%2FAoC-24-Rust", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FTsuchijo%2FAoC-24-Rust'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 29c0fdad5b97f634f5f17ddad00ee4cbdffe4704 [INFO] linting Tsuchijo/AoC-24-Rust against nightly for clippy-nonminimal_bool-denied [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FTsuchijo%2FAoC-24-Rust" "/workspace/builds/worker-2-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc1/source'... [INFO] [stderr] done. [INFO] removed /workspace/builds/worker-2-tc1/source/.cargo/config.toml [INFO] started tweaking git repo https://github.com/Tsuchijo/AoC-24-Rust [INFO] finished tweaking git repo https://github.com/Tsuchijo/AoC-24-Rust [INFO] tweaked toml for git repo https://github.com/Tsuchijo/AoC-24-Rust written to /workspace/builds/worker-2-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/Tsuchijo/AoC-24-Rust on toolchain nightly [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+nightly" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/Tsuchijo/AoC-24-Rust already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+nightly" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded rustix v0.38.42 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+nightly" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] dbef1a7d5254158bdef6f56c0fb38b63f527bd74d93b528eb375bd9243c43e20 [INFO] running `Command { std: "docker" "start" "-a" "dbef1a7d5254158bdef6f56c0fb38b63f527bd74d93b528eb375bd9243c43e20", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "dbef1a7d5254158bdef6f56c0fb38b63f527bd74d93b528eb375bd9243c43e20", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "dbef1a7d5254158bdef6f56c0fb38b63f527bd74d93b528eb375bd9243c43e20", kill_on_drop: false }` [INFO] [stdout] dbef1a7d5254158bdef6f56c0fb38b63f527bd74d93b528eb375bd9243c43e20 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+nightly" "clippy" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] c0f1e751c0bc4232a0bbe2b5c45920548473204dcb0011985e859ad56976cf2c [INFO] running `Command { std: "docker" "start" "-a" "c0f1e751c0bc4232a0bbe2b5c45920548473204dcb0011985e859ad56976cf2c", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.169 [INFO] [stderr] Compiling lock_api v0.4.11 [INFO] [stderr] Checking memchr v2.6.4 [INFO] [stderr] Checking smallvec v1.11.2 [INFO] [stderr] Checking log v0.4.20 [INFO] [stderr] Compiling rustix v0.38.42 [INFO] [stderr] Checking regex-syntax v0.8.5 [INFO] [stderr] Checking bitflags v2.6.0 [INFO] [stderr] Checking pico-args v0.5.0 [INFO] [stderr] Checking tinyjson v2.5.1 [INFO] [stderr] Checking aho-corasick v1.1.3 [INFO] [stderr] Checking signal-hook-registry v1.4.2 [INFO] [stderr] Checking parking_lot_core v0.9.9 [INFO] [stderr] Checking mio v1.0.3 [INFO] [stderr] Checking signal-hook v0.3.17 [INFO] [stderr] Checking parking_lot v0.12.1 [INFO] [stderr] Checking signal-hook-mio v0.2.4 [INFO] [stderr] Checking crossterm v0.28.1 [INFO] [stderr] Checking regex-automata v0.4.9 [INFO] [stderr] Checking regex v1.11.1 [INFO] [stderr] Checking advent_of_code v0.11.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: called `Iterator::last` on a `DoubleEndedIterator`; this will needlessly iterate the entire iterator [INFO] [stdout] --> src/template/run_multi.rs:173:26 [INFO] [stdout] | [INFO] [stdout] 173 | let str_timing = line [INFO] [stdout] | __________________________^ [INFO] [stdout] 174 | | .split(" samples)") [INFO] [stdout] 175 | | .next()? [INFO] [stdout] 176 | | .split('(') [INFO] [stdout] 177 | | .last()? [INFO] [stdout] | |___________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#double_ended_iterator_last [INFO] [stdout] = note: `#[warn(clippy::double_ended_iterator_last)]` on by default [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 177 - .last()? [INFO] [stdout] 177 + .next_back()? [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: consider using `sort_unstable_by_key` [INFO] [stdout] --> src/template/timings.rs:54:9 [INFO] [stdout] | [INFO] [stdout] 54 | data.sort_unstable_by(|a, b| a.day.cmp(&b.day)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_sort_by [INFO] [stdout] = note: `#[warn(clippy::unnecessary_sort_by)]` on by default [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 54 - data.sort_unstable_by(|a, b| a.day.cmp(&b.day)); [INFO] [stdout] 54 + data.sort_unstable_by_key(|a| a.day); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `HashSet` [INFO] [stdout] --> src/bin/18.rs:2:33 [INFO] [stdout] | [INFO] [stdout] 2 | use std::collections::{HashMap, HashSet, VecDeque}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `x` [INFO] [stdout] --> src/bin/18.rs:24:13 [INFO] [stdout] | [INFO] [stdout] 24 | for x in 0..vec_size { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_x` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/bin/18.rs:114:9 [INFO] [stdout] | [INFO] [stdout] 114 | let mut kilo_coords: Vec<(u32, u32)> = byte_coordinates[0..kilo].to_vec(); [INFO] [stdout] | ----^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `x` [INFO] [stdout] --> src/bin/18.rs:118:13 [INFO] [stdout] | [INFO] [stdout] 118 | for x in 0..vec_size { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_x` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `char_matrix_to_string_matrix` is never used [INFO] [stdout] --> src/bin/18.rs:56:4 [INFO] [stdout] | [INFO] [stdout] 56 | fn char_matrix_to_string_matrix(char_matrix: &Vec>) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/bin/18.rs:53:5 [INFO] [stdout] | [INFO] [stdout] 53 | return Some(length); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] = note: `#[warn(clippy::needless_return)]` on by default [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 53 - return Some(length); [INFO] [stdout] 53 + Some(length) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/bin/18.rs:57:5 [INFO] [stdout] | [INFO] [stdout] 57 | / return char_matrix [INFO] [stdout] 58 | | .iter() [INFO] [stdout] 59 | | .map(|row| row.iter().collect::()) [INFO] [stdout] 60 | | .collect::>() [INFO] [stdout] 61 | | .join("\n"); [INFO] [stdout] | |___________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 57 ~ char_matrix [INFO] [stdout] 58 + .iter() [INFO] [stdout] 59 + .map(|row| row.iter().collect::()) [INFO] [stdout] 60 + .collect::>() [INFO] [stdout] 61 ~ .join("\n") [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/bin/18.rs:56:46 [INFO] [stdout] | [INFO] [stdout] 56 | fn char_matrix_to_string_matrix(char_matrix: &Vec>) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] = note: `#[warn(clippy::ptr_arg)]` on by default [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 56 - fn char_matrix_to_string_matrix(char_matrix: &Vec>) -> String { [INFO] [stdout] 56 + fn char_matrix_to_string_matrix(char_matrix: &[Vec]) -> String { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/bin/18.rs:79:16 [INFO] [stdout] | [INFO] [stdout] 79 | if !(searched.contains_key(&(x as usize, y as usize)) [INFO] [stdout] | ________________^ [INFO] [stdout] 80 | | || x < 0 [INFO] [stdout] 81 | | || y < 0 [INFO] [stdout] 82 | | || x >= max [INFO] [stdout] 83 | | || y >= max) [INFO] [stdout] 84 | | && !grid[y as usize][x as usize] [INFO] [stdout] | |________________________________________________^ help: try: `!(searched.contains_key(&(x as usize, y as usize)) || x < 0 || y < 0 || x >= max || y >= max || grid[y as usize][x as usize])` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] = note: `#[warn(clippy::nonminimal_bool)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/bin/18.rs:95:5 [INFO] [stdout] | [INFO] [stdout] 95 | return None; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 95 - return None; [INFO] [stdout] 95 + None [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/bin/18.rs:65:11 [INFO] [stdout] | [INFO] [stdout] 65 | grid: &Vec>, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 65 - grid: &Vec>, [INFO] [stdout] 65 + grid: &[Vec], [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/bin/18.rs:135:5 [INFO] [stdout] | [INFO] [stdout] 135 | return Some(format!("{},{}", i, j)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 135 - return Some(format!("{},{}", i, j)); [INFO] [stdout] 135 + Some(format!("{},{}", i, j)) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/bin/09.rs:65:5 [INFO] [stdout] | [INFO] [stdout] 65 | return Some(checksum); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] = note: `#[warn(clippy::needless_return)]` on by default [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 65 - return Some(checksum); [INFO] [stdout] 65 + Some(checksum) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `map(..).flatten()` on `Iterator` [INFO] [stdout] --> src/bin/09.rs:8:10 [INFO] [stdout] | [INFO] [stdout] 8 | .map(|(i, c)| { [INFO] [stdout] | __________^ [INFO] [stdout] 9 | | let file_size = c.to_digit(10).unwrap(); [INFO] [stdout] 10 | | let mut vec: Vec = Vec::new(); [INFO] [stdout] 11 | | for _ in 0..file_size { [INFO] [stdout] ... | [INFO] [stdout] 15 | | }) [INFO] [stdout] 16 | | .flatten() [INFO] [stdout] | |__________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_flatten [INFO] [stdout] = note: `#[warn(clippy::map_flatten)]` on by default [INFO] [stdout] help: try replacing `map` with `flat_map` and remove the `.flatten()` [INFO] [stdout] | [INFO] [stdout] 8 ~ .flat_map(|(i, c)| { [INFO] [stdout] 9 + let file_size = c.to_digit(10).unwrap(); [INFO] [stdout] 10 + let mut vec: Vec = Vec::new(); [INFO] [stdout] 11 + for _ in 0..file_size { [INFO] [stdout] 12 + vec.push(i as u32); [INFO] [stdout] 13 + } [INFO] [stdout] 14 + vec [INFO] [stdout] 15 + }) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of an assign operation [INFO] [stdout] --> src/bin/09.rs:28:21 [INFO] [stdout] | [INFO] [stdout] 28 | *acc = *acc + d; [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: replace it with: `*acc += d` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stdout] = note: `#[warn(clippy::assign_op_pattern)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`u64` -> `u64`) [INFO] [stdout] --> src/bin/09.rs:64:32 [INFO] [stdout] | [INFO] [stdout] 64 | .fold(0, |acc, (i, x)| acc as u64 + *x as u64 * i as u64); [INFO] [stdout] | ^^^^^^^^^^ help: try: `acc` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] = note: `#[warn(clippy::unnecessary_cast)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/bin/09.rs:139:5 [INFO] [stdout] | [INFO] [stdout] 139 | return Some(checksum); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 139 - return Some(checksum); [INFO] [stdout] 139 + Some(checksum) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of an assign operation [INFO] [stdout] --> src/bin/09.rs:81:13 [INFO] [stdout] | [INFO] [stdout] 81 | *acc = *acc + x; [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: replace it with: `*acc += x` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`u32` -> `u32`) [INFO] [stdout] --> src/bin/09.rs:89:44 [INFO] [stdout] | [INFO] [stdout] 89 | filespace.push((nums[i], i as u32, num_sum[i] as u32)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: try: `num_sum[i]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/bin/09.rs:129:13 [INFO] [stdout] | [INFO] [stdout] 129 | return !found; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 129 - return !found; [INFO] [stdout] 129 + !found [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: consider using `sort_by_key` [INFO] [stdout] --> src/bin/09.rs:135:5 [INFO] [stdout] | [INFO] [stdout] 135 | filespace.sort_by(|a, b| a.2.cmp(&b.2)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_sort_by [INFO] [stdout] = note: `#[warn(clippy::unnecessary_sort_by)]` on by default [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 135 - filespace.sort_by(|a, b| a.2.cmp(&b.2)); [INFO] [stdout] 135 + filespace.sort_by_key(|a| a.2); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `HashSet` [INFO] [stdout] --> src/bin/18.rs:2:33 [INFO] [stdout] | [INFO] [stdout] 2 | use std::collections::{HashMap, HashSet, VecDeque}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `core::num` [INFO] [stdout] --> src/bin/21.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use core::num; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `advent_of_code::template::commands::time` [INFO] [stdout] --> src/bin/14.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use advent_of_code::template::commands::time; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `self` [INFO] [stdout] --> src/bin/16.rs:3:10 [INFO] [stdout] | [INFO] [stdout] 3 | rc::{self, Rc}, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `x` [INFO] [stdout] --> src/bin/14.rs:49:13 [INFO] [stdout] | [INFO] [stdout] 49 | for x in 0..width - 1 { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_x` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `Iterator::last` on a `DoubleEndedIterator`; this will needlessly iterate the entire iterator [INFO] [stdout] --> src/template/run_multi.rs:173:26 [INFO] [stdout] | [INFO] [stdout] 173 | let str_timing = line [INFO] [stdout] | __________________________^ [INFO] [stdout] 174 | | .split(" samples)") [INFO] [stdout] 175 | | .next()? [INFO] [stdout] 176 | | .split('(') [INFO] [stdout] 177 | | .last()? [INFO] [stdout] | |___________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#double_ended_iterator_last [INFO] [stdout] = note: `#[warn(clippy::double_ended_iterator_last)]` on by default [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 177 - .last()? [INFO] [stdout] 177 + .next_back()? [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `x` [INFO] [stdout] --> src/bin/14.rs:122:17 [INFO] [stdout] | [INFO] [stdout] 122 | for x in 0..width - 1 { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_x` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/bin/14.rs:74:5 [INFO] [stdout] | [INFO] [stdout] 74 | return Some(quadrants.0 * quadrants.1 * quadrants.2 * quadrants.3); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] = note: `#[warn(clippy::needless_return)]` on by default [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 74 - return Some(quadrants.0 * quadrants.1 * quadrants.2 * quadrants.3); [INFO] [stdout] 74 + Some(quadrants.0 * quadrants.1 * quadrants.2 * quadrants.3) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/bin/14.rs:30:13 [INFO] [stdout] | [INFO] [stdout] 30 | return (p1, p2, v1, v2); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 30 - return (p1, p2, v1, v2); [INFO] [stdout] 30 + (p1, p2, v1, v2) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/bin/14.rs:42:13 [INFO] [stdout] | [INFO] [stdout] 42 | return (p1, p2); [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 42 - return (p1, p2); [INFO] [stdout] 42 + (p1, p2) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/bin/16.rs:23:5 [INFO] [stdout] | [INFO] [stdout] 23 | return Some(low_score); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] = note: `#[warn(clippy::needless_return)]` on by default [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 23 - return Some(low_score); [INFO] [stdout] 23 + Some(low_score) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/bin/14.rs:81:5 [INFO] [stdout] | [INFO] [stdout] 81 | return x % (width - 1); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 81 - return x % (width - 1); [INFO] [stdout] 81 + x % (width - 1) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/bin/14.rs:142:5 [INFO] [stdout] | [INFO] [stdout] 142 | return None; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 142 - return None; [INFO] [stdout] 142 + None [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/bin/14.rs:102:13 [INFO] [stdout] | [INFO] [stdout] 102 | return (p1, p2, v1, v2); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 102 - return (p1, p2, v1, v2); [INFO] [stdout] 102 + (p1, p2, v1, v2) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/bin/14.rs:115:17 [INFO] [stdout] | [INFO] [stdout] 115 | return (p1, p2); [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 115 - return (p1, p2); [INFO] [stdout] 115 + (p1, p2) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: consider using `sort_unstable_by_key` [INFO] [stdout] --> src/template/timings.rs:54:9 [INFO] [stdout] | [INFO] [stdout] 54 | data.sort_unstable_by(|a, b| a.day.cmp(&b.day)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_sort_by [INFO] [stdout] = note: `#[warn(clippy::unnecessary_sort_by)]` on by default [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 54 - data.sort_unstable_by(|a, b| a.day.cmp(&b.day)); [INFO] [stdout] 54 + data.sort_unstable_by_key(|a| a.day); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/bin/16.rs:94:5 [INFO] [stdout] | [INFO] [stdout] 94 | return end_paths; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 94 - return end_paths; [INFO] [stdout] 94 + end_paths [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/bin/16.rs:35:11 [INFO] [stdout] | [INFO] [stdout] 35 | grid: &Vec>, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] = note: `#[warn(clippy::ptr_arg)]` on by default [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 35 - grid: &Vec>, [INFO] [stdout] 35 + grid: &[Vec], [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> src/bin/16.rs:41:23 [INFO] [stdout] | [INFO] [stdout] 41 | let mut searched: HashMap<((usize, usize), (i32, i32)), u32> = HashMap::new(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] = note: `#[warn(clippy::type_complexity)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/bin/14.rs:146:5 [INFO] [stdout] | [INFO] [stdout] 146 | / return char_matrix [INFO] [stdout] 147 | | .iter() [INFO] [stdout] 148 | | .map(|row| row.iter().collect::()) [INFO] [stdout] 149 | | .collect::>() [INFO] [stdout] 150 | | .join("\n"); [INFO] [stdout] | |___________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 146 ~ char_matrix [INFO] [stdout] 147 + .iter() [INFO] [stdout] 148 + .map(|row| row.iter().collect::()) [INFO] [stdout] 149 + .collect::>() [INFO] [stdout] 150 ~ .join("\n") [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/bin/14.rs:145:46 [INFO] [stdout] | [INFO] [stdout] 145 | fn char_matrix_to_string_matrix(char_matrix: &Vec>) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] = note: `#[warn(clippy::ptr_arg)]` on by default [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 145 - fn char_matrix_to_string_matrix(char_matrix: &Vec>) -> String { [INFO] [stdout] 145 + fn char_matrix_to_string_matrix(char_matrix: &[Vec]) -> String { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/bin/16.rs:63:17 [INFO] [stdout] | [INFO] [stdout] 63 | / if searched.contains_key(&(new_coord, dir)) { [INFO] [stdout] 64 | | if searched[&(new_coord, dir)] < new_path.score { [INFO] [stdout] 65 | | continue; [INFO] [stdout] 66 | | } [INFO] [stdout] 67 | | } [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] = note: `#[warn(clippy::collapsible_if)]` on by default [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 63 ~ if searched.contains_key(&(new_coord, dir)) [INFO] [stdout] 64 ~ && searched[&(new_coord, dir)] < new_path.score { [INFO] [stdout] 65 | continue; [INFO] [stdout] 66 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/bin/16.rs:99:9 [INFO] [stdout] | [INFO] [stdout] 99 | return vec![direction, (0, 1), (0, -1)]; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 99 - return vec![direction, (0, 1), (0, -1)]; [INFO] [stdout] 99 + vec![direction, (0, 1), (0, -1)] [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/bin/16.rs:101:9 [INFO] [stdout] | [INFO] [stdout] 101 | return vec![direction, (1, 0), (-1, 0)]; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 101 - return vec![direction, (1, 0), (-1, 0)]; [INFO] [stdout] 101 + vec![direction, (1, 0), (-1, 0)] [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/bin/16.rs:127:5 [INFO] [stdout] | [INFO] [stdout] 127 | return Some(optimal_tiles.len() as u32 + 1); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 127 - return Some(optimal_tiles.len() as u32 + 1); [INFO] [stdout] 127 + Some(optimal_tiles.len() as u32 + 1) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `result` [INFO] [stdout] --> src/bin/05.rs:183:13 [INFO] [stdout] | [INFO] [stdout] 183 | let result = part_one(&advent_of_code::template::read_file("examples", DAY)); [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_result` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `result` [INFO] [stdout] --> src/bin/05.rs:189:13 [INFO] [stdout] | [INFO] [stdout] 189 | let result = part_two(&advent_of_code::template::read_file("examples", DAY)); [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_result` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `x` [INFO] [stdout] --> src/bin/18.rs:24:13 [INFO] [stdout] | [INFO] [stdout] 24 | for x in 0..vec_size { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_x` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/bin/05.rs:67:5 [INFO] [stdout] | [INFO] [stdout] 67 | return Some(middle_number.iter().sum()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] = note: `#[warn(clippy::needless_return)]` on by default [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 67 - return Some(middle_number.iter().sum()); [INFO] [stdout] 67 + Some(middle_number.iter().sum()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `core::num` [INFO] [stdout] --> src/bin/21.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use core::num; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/bin/18.rs:114:9 [INFO] [stdout] | [INFO] [stdout] 114 | let mut kilo_coords: Vec<(u32, u32)> = byte_coordinates[0..kilo].to_vec(); [INFO] [stdout] | ----^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `x` [INFO] [stdout] --> src/bin/18.rs:118:13 [INFO] [stdout] | [INFO] [stdout] 118 | for x in 0..vec_size { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_x` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `char_matrix_to_string_matrix` is never used [INFO] [stdout] --> src/bin/18.rs:56:4 [INFO] [stdout] | [INFO] [stdout] 56 | fn char_matrix_to_string_matrix(char_matrix: &Vec>) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/bin/18.rs:53:5 [INFO] [stdout] | [INFO] [stdout] 53 | return Some(length); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] = note: `#[warn(clippy::needless_return)]` on by default [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 53 - return Some(length); [INFO] [stdout] 53 + Some(length) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/bin/18.rs:57:5 [INFO] [stdout] | [INFO] [stdout] 57 | / return char_matrix [INFO] [stdout] 58 | | .iter() [INFO] [stdout] 59 | | .map(|row| row.iter().collect::()) [INFO] [stdout] 60 | | .collect::>() [INFO] [stdout] 61 | | .join("\n"); [INFO] [stdout] | |___________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 57 ~ char_matrix [INFO] [stdout] 58 + .iter() [INFO] [stdout] 59 + .map(|row| row.iter().collect::()) [INFO] [stdout] 60 + .collect::>() [INFO] [stdout] 61 ~ .join("\n") [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/bin/18.rs:56:46 [INFO] [stdout] | [INFO] [stdout] 56 | fn char_matrix_to_string_matrix(char_matrix: &Vec>) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] = note: `#[warn(clippy::ptr_arg)]` on by default [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 56 - fn char_matrix_to_string_matrix(char_matrix: &Vec>) -> String { [INFO] [stdout] 56 + fn char_matrix_to_string_matrix(char_matrix: &[Vec]) -> String { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/bin/18.rs:79:16 [INFO] [stdout] | [INFO] [stdout] 79 | if !(searched.contains_key(&(x as usize, y as usize)) [INFO] [stdout] | ________________^ [INFO] [stdout] 80 | | || x < 0 [INFO] [stdout] 81 | | || y < 0 [INFO] [stdout] 82 | | || x >= max [INFO] [stdout] 83 | | || y >= max) [INFO] [stdout] 84 | | && !grid[y as usize][x as usize] [INFO] [stdout] | |________________________________________________^ help: try: `!(searched.contains_key(&(x as usize, y as usize)) || x < 0 || y < 0 || x >= max || y >= max || grid[y as usize][x as usize])` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] = note: `#[warn(clippy::nonminimal_bool)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/bin/18.rs:95:5 [INFO] [stdout] | [INFO] [stdout] 95 | return None; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 95 - return None; [INFO] [stdout] 95 + None [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/bin/18.rs:65:11 [INFO] [stdout] | [INFO] [stdout] 65 | grid: &Vec>, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 65 - grid: &Vec>, [INFO] [stdout] 65 + grid: &[Vec], [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/bin/18.rs:135:5 [INFO] [stdout] | [INFO] [stdout] 135 | return Some(format!("{},{}", i, j)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 135 - return Some(format!("{},{}", i, j)); [INFO] [stdout] 135 + Some(format!("{},{}", i, j)) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/bin/05.rs:53:13 [INFO] [stdout] | [INFO] [stdout] 53 | return true; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 53 - return true; [INFO] [stdout] 53 + true [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/bin/05.rs:42:25 [INFO] [stdout] | [INFO] [stdout] 42 | return None; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 42 - return None; [INFO] [stdout] 42 + None [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is only used to index `sequence` [INFO] [stdout] --> src/bin/05.rs:46:30 [INFO] [stdout] | [INFO] [stdout] 46 | for i in 0..rule_index { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] = note: `#[warn(clippy::needless_range_loop)]` on by default [INFO] [stdout] help: consider using an iterator [INFO] [stdout] | [INFO] [stdout] 46 - for i in 0..rule_index { [INFO] [stdout] 46 + for in sequence.iter().take(rule_index) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/bin/05.rs:63:13 [INFO] [stdout] | [INFO] [stdout] 63 | return Some(sequence[sequence.len() / 2]); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 63 - return Some(sequence[sequence.len() / 2]); [INFO] [stdout] 63 + Some(sequence[sequence.len() / 2]) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/bin/05.rs:141:5 [INFO] [stdout] | [INFO] [stdout] 141 | return Some(middle_number.iter().sum()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 141 - return Some(middle_number.iter().sum()); [INFO] [stdout] 141 + Some(middle_number.iter().sum()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/bin/05.rs:115:13 [INFO] [stdout] | [INFO] [stdout] 115 | return None; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 115 - return None; [INFO] [stdout] 115 + None [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/bin/05.rs:128:17 [INFO] [stdout] | [INFO] [stdout] 128 | return sequence.clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 128 - return sequence.clone(); [INFO] [stdout] 128 + sequence.clone() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `.filter_map(..)` can be written more simply using `.map(..)` [INFO] [stdout] --> src/bin/05.rs:136:10 [INFO] [stdout] | [INFO] [stdout] 136 | .filter_map(|sequence| { [INFO] [stdout] | __________^ [INFO] [stdout] 137 | | return Some(sequence[sequence.len() / 2]); [INFO] [stdout] 138 | | }) [INFO] [stdout] | |__________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_filter_map [INFO] [stdout] = note: `#[warn(clippy::unnecessary_filter_map)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/bin/05.rs:137:13 [INFO] [stdout] | [INFO] [stdout] 137 | return Some(sequence[sequence.len() / 2]); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 137 - return Some(sequence[sequence.len() / 2]); [INFO] [stdout] 137 + Some(sequence[sequence.len() / 2]) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/bin/05.rs:148:5 [INFO] [stdout] | [INFO] [stdout] 148 | / return sequences [INFO] [stdout] 149 | | .iter() [INFO] [stdout] 150 | | .map(|sequence| { [INFO] [stdout] 151 | | let mut swap_indices: Vec<(usize, usize)> = Vec::new(); [INFO] [stdout] ... | [INFO] [stdout] 173 | | }) [INFO] [stdout] 174 | | .collect(); [INFO] [stdout] | |__________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 148 ~ sequences [INFO] [stdout] 149 + .iter() [INFO] [stdout] 150 + .map(|sequence| { [INFO] [stdout] 151 + let mut swap_indices: Vec<(usize, usize)> = Vec::new(); [INFO] [stdout] 152 + for rule in rules { [INFO] [stdout] 153 + let rules_indices: Vec = sequence [INFO] [stdout] 154 + .iter() [INFO] [stdout] 155 + .enumerate() [INFO] [stdout] 156 + .filter_map(|(i, x)| { [INFO] [stdout] 157 + if x == &rule.0 { [INFO] [stdout] 158 + return Some(i); [INFO] [stdout] 159 + } [INFO] [stdout] 160 + return None; [INFO] [stdout] 161 + }) [INFO] [stdout] 162 + .collect(); [INFO] [stdout] 163 + [INFO] [stdout] 164 + for rule_index in rules_indices { [INFO] [stdout] 165 + for i in 0..rule_index { [INFO] [stdout] 166 + if sequence[i] == rule.1 { [INFO] [stdout] 167 + swap_indices.push((i, rule_index)); [INFO] [stdout] 168 + } [INFO] [stdout] 169 + } [INFO] [stdout] 170 + } [INFO] [stdout] 171 + } [INFO] [stdout] 172 + return (swap_indices.len() == 0, swap_indices); [INFO] [stdout] 173 + }) [INFO] [stdout] 174 ~ .collect() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/bin/05.rs:146:16 [INFO] [stdout] | [INFO] [stdout] 146 | sequences: &Vec>, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] = note: `#[warn(clippy::ptr_arg)]` on by default [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 146 - sequences: &Vec>, [INFO] [stdout] 146 + sequences: &[Vec], [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/bin/05.rs:172:13 [INFO] [stdout] | [INFO] [stdout] 172 | return (swap_indices.len() == 0, swap_indices); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 172 - return (swap_indices.len() == 0, swap_indices); [INFO] [stdout] 172 + (swap_indices.len() == 0, swap_indices) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/bin/05.rs:160:25 [INFO] [stdout] | [INFO] [stdout] 160 | return None; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 160 - return None; [INFO] [stdout] 160 + None [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is used to index `sequence` [INFO] [stdout] --> src/bin/05.rs:165:30 [INFO] [stdout] | [INFO] [stdout] 165 | for i in 0..rule_index { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator and enumerate() [INFO] [stdout] | [INFO] [stdout] 165 - for i in 0..rule_index { [INFO] [stdout] 165 + for (i, ) in sequence.iter().enumerate().take(rule_index) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `input` [INFO] [stdout] --> src/bin/21.rs:119:17 [INFO] [stdout] | [INFO] [stdout] 119 | pub fn part_two(input: &str) -> Option { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_input` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/bin/05.rs:172:21 [INFO] [stdout] | [INFO] [stdout] 172 | return (swap_indices.len() == 0, swap_indices); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `swap_indices.is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stdout] = note: `#[warn(clippy::len_zero)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/bin/21.rs:61:5 [INFO] [stdout] | [INFO] [stdout] 61 | return Some(complexities) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] = note: `#[warn(clippy::needless_return)]` on by default [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 61 - return Some(complexities) [INFO] [stdout] 61 + Some(complexities) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `input` [INFO] [stdout] --> src/bin/22.rs:3:17 [INFO] [stdout] | [INFO] [stdout] 3 | pub fn part_one(input: &str) -> Option { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_input` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `input` [INFO] [stdout] --> src/bin/22.rs:7:17 [INFO] [stdout] | [INFO] [stdout] 7 | pub fn part_two(input: &str) -> Option { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_input` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `self` [INFO] [stdout] --> src/bin/16.rs:3:10 [INFO] [stdout] | [INFO] [stdout] 3 | rc::{self, Rc}, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `(u32, u32)` which implements the `Copy` trait [INFO] [stdout] --> src/bin/21.rs:38:28 [INFO] [stdout] | [INFO] [stdout] 38 | let mut position = keypad.get(&'A').unwrap().clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try dereferencing it: `*keypad.get(&'A').unwrap()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] = note: `#[warn(clippy::clone_on_copy)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `(u32, u32)` which implements the `Copy` trait [INFO] [stdout] --> src/bin/21.rs:47:32 [INFO] [stdout] | [INFO] [stdout] 47 | let mut position = dir_pad.get(&'A').unwrap().clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try dereferencing it: `*dir_pad.get(&'A').unwrap()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/bin/21.rs:116:5 [INFO] [stdout] | [INFO] [stdout] 116 | return dirs; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 116 - return dirs; [INFO] [stdout] 116 + dirs [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/bin/16.rs:23:5 [INFO] [stdout] | [INFO] [stdout] 23 | return Some(low_score); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] = note: `#[warn(clippy::needless_return)]` on by default [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 23 - return Some(low_score); [INFO] [stdout] 23 + Some(low_score) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `input` [INFO] [stdout] --> src/bin/21.rs:119:17 [INFO] [stdout] | [INFO] [stdout] 119 | pub fn part_two(input: &str) -> Option { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_input` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/bin/21.rs:61:5 [INFO] [stdout] | [INFO] [stdout] 61 | return Some(complexities) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] = note: `#[warn(clippy::needless_return)]` on by default [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 61 - return Some(complexities) [INFO] [stdout] 61 + Some(complexities) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/bin/16.rs:94:5 [INFO] [stdout] | [INFO] [stdout] 94 | return end_paths; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 94 - return end_paths; [INFO] [stdout] 94 + end_paths [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/bin/16.rs:35:11 [INFO] [stdout] | [INFO] [stdout] 35 | grid: &Vec>, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] = note: `#[warn(clippy::ptr_arg)]` on by default [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 35 - grid: &Vec>, [INFO] [stdout] 35 + grid: &[Vec], [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> src/bin/16.rs:41:23 [INFO] [stdout] | [INFO] [stdout] 41 | let mut searched: HashMap<((usize, usize), (i32, i32)), u32> = HashMap::new(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] = note: `#[warn(clippy::type_complexity)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `(u32, u32)` which implements the `Copy` trait [INFO] [stdout] --> src/bin/21.rs:38:28 [INFO] [stdout] | [INFO] [stdout] 38 | let mut position = keypad.get(&'A').unwrap().clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try dereferencing it: `*keypad.get(&'A').unwrap()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] = note: `#[warn(clippy::clone_on_copy)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `(u32, u32)` which implements the `Copy` trait [INFO] [stdout] --> src/bin/21.rs:47:32 [INFO] [stdout] | [INFO] [stdout] 47 | let mut position = dir_pad.get(&'A').unwrap().clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try dereferencing it: `*dir_pad.get(&'A').unwrap()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/bin/16.rs:63:17 [INFO] [stdout] | [INFO] [stdout] 63 | / if searched.contains_key(&(new_coord, dir)) { [INFO] [stdout] 64 | | if searched[&(new_coord, dir)] < new_path.score { [INFO] [stdout] 65 | | continue; [INFO] [stdout] 66 | | } [INFO] [stdout] 67 | | } [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] = note: `#[warn(clippy::collapsible_if)]` on by default [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 63 ~ if searched.contains_key(&(new_coord, dir)) [INFO] [stdout] 64 ~ && searched[&(new_coord, dir)] < new_path.score { [INFO] [stdout] 65 | continue; [INFO] [stdout] 66 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/bin/21.rs:116:5 [INFO] [stdout] | [INFO] [stdout] 116 | return dirs; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 116 - return dirs; [INFO] [stdout] 116 + dirs [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/bin/16.rs:99:9 [INFO] [stdout] | [INFO] [stdout] 99 | return vec![direction, (0, 1), (0, -1)]; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 99 - return vec![direction, (0, 1), (0, -1)]; [INFO] [stdout] 99 + vec![direction, (0, 1), (0, -1)] [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/bin/16.rs:101:9 [INFO] [stdout] | [INFO] [stdout] 101 | return vec![direction, (1, 0), (-1, 0)]; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 101 - return vec![direction, (1, 0), (-1, 0)]; [INFO] [stdout] 101 + vec![direction, (1, 0), (-1, 0)] [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/bin/16.rs:127:5 [INFO] [stdout] | [INFO] [stdout] 127 | return Some(optimal_tiles.len() as u32 + 1); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 127 - return Some(optimal_tiles.len() as u32 + 1); [INFO] [stdout] 127 + Some(optimal_tiles.len() as u32 + 1) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `HashMap`, `HashSet`, and `VecDeque` [INFO] [stdout] --> src/bin/17.rs:1:24 [INFO] [stdout] | [INFO] [stdout] 1 | use std::collections::{HashMap, HashSet, VecDeque}; [INFO] [stdout] | ^^^^^^^ ^^^^^^^ ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `for` iterator expression [INFO] [stdout] --> src/bin/17.rs:175:18 [INFO] [stdout] | [INFO] [stdout] 175 | for i in (0..8) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 175 - for i in (0..8) { [INFO] [stdout] 175 + for i in 0..8 { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `result` [INFO] [stdout] --> src/bin/17.rs:199:13 [INFO] [stdout] | [INFO] [stdout] 199 | let result = part_one(&advent_of_code::template::read_file("examples", DAY)); [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_result` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `test` [INFO] [stdout] --> src/bin/17.rs:200:13 [INFO] [stdout] | [INFO] [stdout] 200 | let test: String = "4,6,3,5,6,3,5,2,1,0".to_string(); [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_test` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `skip(..).next()` on an iterator [INFO] [stdout] --> src/bin/17.rs:10:31 [INFO] [stdout] | [INFO] [stdout] 10 | .split("Register A: ") [INFO] [stdout] | _______________________________^ [INFO] [stdout] 11 | | .skip(1) [INFO] [stdout] 12 | | .next() [INFO] [stdout] | |_______________^ help: use `nth` instead: `.nth(1)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#iter_skip_next [INFO] [stdout] = note: `#[warn(clippy::iter_skip_next)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of an assign operation [INFO] [stdout] --> src/bin/17.rs:26:17 [INFO] [stdout] | [INFO] [stdout] 26 | reg_a = reg_a / 2_u64.pow(operand as u32); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `reg_a /= 2_u64.pow(operand as u32)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stdout] = note: `#[warn(clippy::assign_op_pattern)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of an assign operation [INFO] [stdout] --> src/bin/17.rs:32:17 [INFO] [stdout] | [INFO] [stdout] 32 | reg_b = reg_b ^ operand; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `reg_b ^= operand` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of an assign operation [INFO] [stdout] --> src/bin/17.rs:52:17 [INFO] [stdout] | [INFO] [stdout] 52 | reg_b = reg_b ^ reg_c; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `reg_b ^= reg_c` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/bin/17.rs:82:13 [INFO] [stdout] | [INFO] [stdout] 82 | return str; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] = note: `#[warn(clippy::needless_return)]` on by default [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 82 - return str; [INFO] [stdout] 82 + str [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/bin/17.rs:91:5 [INFO] [stdout] | [INFO] [stdout] 91 | / return match operand { [INFO] [stdout] 92 | | 4 => reg_a, [INFO] [stdout] 93 | | 5 => reg_b, [INFO] [stdout] 94 | | 6 => reg_c, [INFO] [stdout] 95 | | _ => operand, [INFO] [stdout] 96 | | }; [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 91 ~ match operand { [INFO] [stdout] 92 + 4 => reg_a, [INFO] [stdout] 93 + 5 => reg_b, [INFO] [stdout] 94 + 6 => reg_c, [INFO] [stdout] 95 + _ => operand, [INFO] [stdout] 96 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/bin/17.rs:160:5 [INFO] [stdout] | [INFO] [stdout] 160 | return output; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 160 - return output; [INFO] [stdout] 160 + output [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of an assign operation [INFO] [stdout] --> src/bin/17.rs:109:17 [INFO] [stdout] | [INFO] [stdout] 109 | reg_a = reg_a / 2_u64.pow(operand as u32); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `reg_a /= 2_u64.pow(operand as u32)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of an assign operation [INFO] [stdout] --> src/bin/17.rs:115:17 [INFO] [stdout] | [INFO] [stdout] 115 | reg_b = reg_b ^ operand; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `reg_b ^= operand` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of an assign operation [INFO] [stdout] --> src/bin/17.rs:135:17 [INFO] [stdout] | [INFO] [stdout] 135 | reg_b = reg_b ^ reg_c; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `reg_b ^= reg_c` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/bin/17.rs:190:5 [INFO] [stdout] | [INFO] [stdout] 190 | return Some(reg_a as u64); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 190 - return Some(reg_a as u64); [INFO] [stdout] 190 + Some(reg_a as u64) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: calls to `push` immediately after creation [INFO] [stdout] --> src/bin/17.rs:170:5 [INFO] [stdout] | [INFO] [stdout] 170 | / let mut register_stack: Vec = Vec::new(); [INFO] [stdout] 171 | | register_stack.push(0); [INFO] [stdout] | |___________________________^ help: consider using the `vec![]` macro: `let mut register_stack: Vec = vec![..];` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#vec_init_then_push [INFO] [stdout] = note: `#[warn(clippy::vec_init_then_push)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`u64` -> `u64`) [INFO] [stdout] --> src/bin/17.rs:190:17 [INFO] [stdout] | [INFO] [stdout] 190 | return Some(reg_a as u64); [INFO] [stdout] | ^^^^^^^^^^^^ help: try: `reg_a` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] = note: `#[warn(clippy::unnecessary_cast)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/bin/04.rs:39:5 [INFO] [stdout] | [INFO] [stdout] 39 | return Some(result); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] = note: `#[warn(clippy::needless_return)]` on by default [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 39 - return Some(result); [INFO] [stdout] 39 + Some(result) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/bin/04.rs:61:5 [INFO] [stdout] | [INFO] [stdout] 61 | return diag_matrix; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 61 - return diag_matrix; [INFO] [stdout] 61 + diag_matrix [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/bin/04.rs:42:35 [INFO] [stdout] | [INFO] [stdout] 42 | fn rotate_45_degrees(char_matrix: &Vec>) -> Vec> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] = note: `#[warn(clippy::ptr_arg)]` on by default [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 42 - fn rotate_45_degrees(char_matrix: &Vec>) -> Vec> { [INFO] [stdout] 42 + fn rotate_45_degrees(char_matrix: &[Vec]) -> Vec> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`i32` -> `i32`) [INFO] [stdout] --> src/bin/04.rs:52:38 [INFO] [stdout] | [INFO] [stdout] 52 | if i >= 0 && i < cols as i32 && j >= 0 && j < rows as i32 { [INFO] [stdout] | ^^^^^^^^^^^ help: try: `cols` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] = note: `#[warn(clippy::unnecessary_cast)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`i32` -> `i32`) [INFO] [stdout] --> src/bin/04.rs:52:67 [INFO] [stdout] | [INFO] [stdout] 52 | if i >= 0 && i < cols as i32 && j >= 0 && j < rows as i32 { [INFO] [stdout] | ^^^^^^^^^^^ help: try: `rows` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/bin/04.rs:83:5 [INFO] [stdout] | [INFO] [stdout] 83 | return diag_matrix; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 83 - return diag_matrix; [INFO] [stdout] 83 + diag_matrix [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/bin/04.rs:64:39 [INFO] [stdout] | [INFO] [stdout] 64 | fn rotate_neg_45_degrees(char_matrix: &Vec>) -> Vec> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 64 - fn rotate_neg_45_degrees(char_matrix: &Vec>) -> Vec> { [INFO] [stdout] 64 + fn rotate_neg_45_degrees(char_matrix: &[Vec]) -> Vec> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`i32` -> `i32`) [INFO] [stdout] --> src/bin/04.rs:74:38 [INFO] [stdout] | [INFO] [stdout] 74 | if i >= 0 && i < cols as i32 && j >= 0 && j < rows as i32 { [INFO] [stdout] | ^^^^^^^^^^^ help: try: `cols` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`i32` -> `i32`) [INFO] [stdout] --> src/bin/04.rs:74:67 [INFO] [stdout] | [INFO] [stdout] 74 | if i >= 0 && i < cols as i32 && j >= 0 && j < rows as i32 { [INFO] [stdout] | ^^^^^^^^^^^ help: try: `rows` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/bin/04.rs:92:5 [INFO] [stdout] | [INFO] [stdout] 92 | return transposed; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 92 - return transposed; [INFO] [stdout] 92 + transposed [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/bin/04.rs:95:50 [INFO] [stdout] | [INFO] [stdout] 95 | pub fn char_matrix_to_string_matrix(char_matrix: &Vec>) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 95 - pub fn char_matrix_to_string_matrix(char_matrix: &Vec>) -> String { [INFO] [stdout] 95 + pub fn char_matrix_to_string_matrix(char_matrix: &[Vec]) -> String { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/bin/04.rs:118:5 [INFO] [stdout] | [INFO] [stdout] 118 | return Some(result); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 118 - return Some(result); [INFO] [stdout] 118 + Some(result) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `.fold` can be written more succinctly using another method [INFO] [stdout] --> src/bin/04.rs:113:22 [INFO] [stdout] | [INFO] [stdout] 113 | .fold(true, |acc, s| acc && re_mas_sam.is_match(s)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `all(|s| re_mas_sam.is_match(s))` [INFO] [stdout] | [INFO] [stdout] = note: the `all` method is short circuiting and may change the program semantics if the iterator has side effects [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_fold [INFO] [stdout] = note: `#[warn(clippy::unnecessary_fold)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/bin/04.rs:136:5 [INFO] [stdout] | [INFO] [stdout] 136 | return result; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 136 - return result; [INFO] [stdout] 136 + result [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/bin/04.rs:121:30 [INFO] [stdout] | [INFO] [stdout] 121 | fn diag_strings(char_matrix: &Vec>, i_start: i32, j_start: i32) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 121 - fn diag_strings(char_matrix: &Vec>, i_start: i32, j_start: i32) -> Vec { [INFO] [stdout] 121 + fn diag_strings(char_matrix: &[Vec], i_start: i32, j_start: i32) -> Vec { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: needless parenthesis on range literals can be removed [INFO] [stdout] --> src/bin/04.rs:127:24 [INFO] [stdout] | [INFO] [stdout] 127 | for d in (-1)..(2) { [INFO] [stdout] | ^^^ help: try: `2` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_parens_on_range_literals [INFO] [stdout] = note: `#[warn(clippy::needless_parens_on_range_literals)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`i32` -> `i32`) [INFO] [stdout] --> src/bin/04.rs:130:30 [INFO] [stdout] | [INFO] [stdout] 130 | if i >= 0 && i < rows as i32 && j >= 0 && j < cols { [INFO] [stdout] | ^^^^^^^^^^^ help: try: `rows` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `hash::Hash` [INFO] [stdout] --> src/bin/12.rs:1:33 [INFO] [stdout] | [INFO] [stdout] 1 | use std::{collections::HashSet, hash::Hash}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `core::num` [INFO] [stdout] --> src/bin/06.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use core::num; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `result` [INFO] [stdout] --> src/bin/07.rs:126:13 [INFO] [stdout] | [INFO] [stdout] 126 | let result = part_one(&advent_of_code::template::read_file("examples", DAY)); [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_result` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `result` [INFO] [stdout] --> src/bin/07.rs:132:13 [INFO] [stdout] | [INFO] [stdout] 132 | let result = part_two(&advent_of_code::template::read_file("examples", DAY)); [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_result` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/bin/07.rs:52:5 [INFO] [stdout] | [INFO] [stdout] 52 | return Some(final_sum); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] = note: `#[warn(clippy::needless_return)]` on by default [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 52 - return Some(final_sum); [INFO] [stdout] 52 + Some(final_sum) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/bin/07.rs:42:25 [INFO] [stdout] | [INFO] [stdout] 42 | return acc + *x; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 42 - return acc + *x; [INFO] [stdout] 42 + acc + *x [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/bin/07.rs:100:5 [INFO] [stdout] | [INFO] [stdout] 100 | return Some(final_sum); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 100 - return Some(final_sum); [INFO] [stdout] 100 + Some(final_sum) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/bin/07.rs:90:25 [INFO] [stdout] | [INFO] [stdout] 90 | return acc + *x; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 90 - return acc + *x; [INFO] [stdout] 90 + acc + *x [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/bin/07.rs:117:5 [INFO] [stdout] | [INFO] [stdout] 117 | return string_result; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 117 - return string_result; [INFO] [stdout] 117 + string_result [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/bin/11.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 13 | return Some(size as u64); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] = note: `#[warn(clippy::needless_return)]` on by default [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 13 - return Some(size as u64); [INFO] [stdout] 13 + Some(size as u64) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/bin/11.rs:24:5 [INFO] [stdout] | [INFO] [stdout] 24 | return Some(result); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 24 - return Some(result); [INFO] [stdout] 24 + Some(result) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/bin/11.rs:45:5 [INFO] [stdout] | [INFO] [stdout] 45 | return final_stones.into_iter().flatten().collect(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 45 - return final_stones.into_iter().flatten().collect(); [INFO] [stdout] 45 + final_stones.into_iter().flatten().collect() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/bin/11.rs:50:9 [INFO] [stdout] | [INFO] [stdout] 50 | return *score_dict.get(&(stone, blinks)).unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 50 - return *score_dict.get(&(stone, blinks)).unwrap(); [INFO] [stdout] 50 + *score_dict.get(&(stone, blinks)).unwrap() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/bin/11.rs:54:9 [INFO] [stdout] | [INFO] [stdout] 54 | return size; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 54 - return size; [INFO] [stdout] 54 + size [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/bin/11.rs:58:9 [INFO] [stdout] | [INFO] [stdout] 58 | return size; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 58 - return size; [INFO] [stdout] 58 + size [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/bin/11.rs:66:9 [INFO] [stdout] | [INFO] [stdout] 66 | return size; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 66 - return size; [INFO] [stdout] 66 + size [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/bin/11.rs:70:9 [INFO] [stdout] | [INFO] [stdout] 70 | return size; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 70 - return size; [INFO] [stdout] 70 + size [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of `.is_multiple_of()` [INFO] [stdout] --> src/bin/11.rs:59:15 [INFO] [stdout] | [INFO] [stdout] 59 | } else if stone.to_string().len() % 2 == 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace with: `stone.to_string().len().is_multiple_of(2)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_is_multiple_of [INFO] [stdout] = note: `#[warn(clippy::manual_is_multiple_of)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/bin/11.rs:85:5 [INFO] [stdout] | [INFO] [stdout] 85 | return vec![stone * 2024]; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 85 - return vec![stone * 2024]; [INFO] [stdout] 85 + vec![stone * 2024] [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of `.is_multiple_of()` [INFO] [stdout] --> src/bin/11.rs:80:8 [INFO] [stdout] | [INFO] [stdout] 80 | if len % 2 == 0 { [INFO] [stdout] | ^^^^^^^^^^^^ help: replace with: `len.is_multiple_of(2)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_is_multiple_of [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `rc::Rc` [INFO] [stdout] --> src/bin/19.rs:2:33 [INFO] [stdout] | [INFO] [stdout] 2 | use std::{collections::HashMap, rc::Rc}; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `regex::Regex` [INFO] [stdout] --> src/bin/19.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use regex::Regex; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `core::num` [INFO] [stdout] --> src/bin/06.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use core::num; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::*` [INFO] [stdout] --> src/bin/06.rs:162:9 [INFO] [stdout] | [INFO] [stdout] 162 | use super::*; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `num_steps` is assigned to, but never used [INFO] [stdout] --> src/bin/06.rs:63:9 [INFO] [stdout] | [INFO] [stdout] 63 | let mut num_steps = 0; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: consider using `_num_steps` instead [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `num_steps` is never read [INFO] [stdout] --> src/bin/06.rs:66:9 [INFO] [stdout] | [INFO] [stdout] 66 | num_steps += 1; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `char_matrix_to_string_matrix` is never used [INFO] [stdout] --> src/bin/06.rs:110:4 [INFO] [stdout] | [INFO] [stdout] 110 | fn char_matrix_to_string_matrix(char_matrix: &Vec>) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/bin/06.rs:39:5 [INFO] [stdout] | [INFO] [stdout] 39 | / return Some( [INFO] [stdout] 40 | | obstacle_matrix [INFO] [stdout] 41 | | .iter() [INFO] [stdout] 42 | | .flatten() [INFO] [stdout] 43 | | .filter(|&c| *c == 'X') [INFO] [stdout] 44 | | .count() as u32, [INFO] [stdout] 45 | | ); [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] = note: `#[warn(clippy::needless_return)]` on by default [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 39 ~ Some( [INFO] [stdout] 40 + obstacle_matrix [INFO] [stdout] 41 + .iter() [INFO] [stdout] 42 + .flatten() [INFO] [stdout] 43 + .filter(|&c| *c == 'X') [INFO] [stdout] 44 + .count() as u32, [INFO] [stdout] 45 ~ ) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/bin/06.rs:107:5 [INFO] [stdout] | [INFO] [stdout] 107 | return Some(num_loops); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 107 - return Some(num_loops); [INFO] [stdout] 107 + Some(num_loops) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `((i32, i32), (i32, i32))` which implements the `Copy` trait [INFO] [stdout] --> src/bin/06.rs:67:56 [INFO] [stdout] | [INFO] [stdout] 67 | let mut test_guard: ((i32, i32), (i32, i32)) = guard.clone(); [INFO] [stdout] | ^^^^^^^^^^^^^ help: try removing the `clone` call: `guard` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] = note: `#[warn(clippy::clone_on_copy)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `(i32, i32)` which implements the `Copy` trait [INFO] [stdout] --> src/bin/06.rs:74:37 [INFO] [stdout] | [INFO] [stdout] 74 | let next_cell: (i32, i32) = guard.0.clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: try removing the `clone` call: `guard.0` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/bin/06.rs:111:5 [INFO] [stdout] | [INFO] [stdout] 111 | / return char_matrix [INFO] [stdout] 112 | | .iter() [INFO] [stdout] 113 | | .map(|row| row.iter().collect::()) [INFO] [stdout] 114 | | .collect::>() [INFO] [stdout] 115 | | .join("\n"); [INFO] [stdout] | |___________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 111 ~ char_matrix [INFO] [stdout] 112 + .iter() [INFO] [stdout] 113 + .map(|row| row.iter().collect::()) [INFO] [stdout] 114 + .collect::>() [INFO] [stdout] 115 ~ .join("\n") [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/bin/06.rs:110:46 [INFO] [stdout] | [INFO] [stdout] 110 | fn char_matrix_to_string_matrix(char_matrix: &Vec>) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] = note: `#[warn(clippy::ptr_arg)]` on by default [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 110 - fn char_matrix_to_string_matrix(char_matrix: &Vec>) -> String { [INFO] [stdout] 110 + fn char_matrix_to_string_matrix(char_matrix: &[Vec]) -> String { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/bin/06.rs:157:5 [INFO] [stdout] | [INFO] [stdout] 157 | return Some((guard_pos, guard_dir)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 157 - return Some((guard_pos, guard_dir)); [INFO] [stdout] 157 + Some((guard_pos, guard_dir)) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&mut Vec` instead of `&mut [_]` involves a new object where a slice will do [INFO] [stdout] --> src/bin/06.rs:120:22 [INFO] [stdout] | [INFO] [stdout] 120 | obstacle_matrix: &mut Vec>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 120 - obstacle_matrix: &mut Vec>, [INFO] [stdout] 120 + obstacle_matrix: &mut [Vec], [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `perimeter` [INFO] [stdout] --> src/bin/12.rs:76:18 [INFO] [stdout] | [INFO] [stdout] 76 | let (perimeter, area) = [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_perimeter` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `result` [INFO] [stdout] --> src/bin/12.rs:166:13 [INFO] [stdout] | [INFO] [stdout] 166 | let result = part_one(&advent_of_code::template::read_file("examples", DAY)); [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_result` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/bin/12.rs:28:5 [INFO] [stdout] | [INFO] [stdout] 28 | return Some(price); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] = note: `#[warn(clippy::needless_return)]` on by default [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 28 - return Some(price); [INFO] [stdout] 28 + Some(price) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`i32` -> `i32`) [INFO] [stdout] --> src/bin/12.rs:23:32 [INFO] [stdout] | [INFO] [stdout] 23 | find_all_patch(i as i32, j as i32, char, &char_matrix, &mut patch); [INFO] [stdout] | ^^^^^^^^ help: try: `i` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] = note: `#[warn(clippy::unnecessary_cast)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`i32` -> `i32`) [INFO] [stdout] --> src/bin/12.rs:23:42 [INFO] [stdout] | [INFO] [stdout] 23 | find_all_patch(i as i32, j as i32, char, &char_matrix, &mut patch); [INFO] [stdout] | ^^^^^^^^ help: try: `j` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/bin/12.rs:56:5 [INFO] [stdout] | [INFO] [stdout] 56 | return (perimeter, area); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 56 - return (perimeter, area); [INFO] [stdout] 56 + (perimeter, area) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/bin/12.rs:93:5 [INFO] [stdout] | [INFO] [stdout] 93 | / return Some( [INFO] [stdout] 94 | | areas [INFO] [stdout] 95 | | .iter() [INFO] [stdout] 96 | | .zip(sides.iter()) [INFO] [stdout] 97 | | .map(|(x, y)| x * y) [INFO] [stdout] 98 | | .sum::(), [INFO] [stdout] 99 | | ); [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 93 ~ Some( [INFO] [stdout] 94 + areas [INFO] [stdout] 95 + .iter() [INFO] [stdout] 96 + .zip(sides.iter()) [INFO] [stdout] 97 + .map(|(x, y)| x * y) [INFO] [stdout] 98 + .sum::(), [INFO] [stdout] 99 ~ ) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`i32` -> `i32`) [INFO] [stdout] --> src/bin/12.rs:77:32 [INFO] [stdout] | [INFO] [stdout] 77 | find_all_patch(i as i32, j as i32, char, &char_matrix, &mut patch); [INFO] [stdout] | ^^^^^^^^ help: try: `i` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`i32` -> `i32`) [INFO] [stdout] --> src/bin/12.rs:77:42 [INFO] [stdout] | [INFO] [stdout] 77 | find_all_patch(i as i32, j as i32, char, &char_matrix, &mut patch); [INFO] [stdout] | ^^^^^^^^ help: try: `j` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `seen_patterns` [INFO] [stdout] --> src/bin/19.rs:59:25 [INFO] [stdout] | [INFO] [stdout] 59 | let (x, seen_patterns) = get_number_of_matches( [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_seen_patterns` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/bin/12.rs:120:5 [INFO] [stdout] | [INFO] [stdout] 120 | return num_sides; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 120 - return num_sides; [INFO] [stdout] 120 + num_sides [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `result` [INFO] [stdout] --> src/bin/02.rs:78:13 [INFO] [stdout] | [INFO] [stdout] 78 | let result = part_one(&advent_of_code::template::read_file("examples", DAY)); [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_result` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `result` [INFO] [stdout] --> src/bin/02.rs:84:13 [INFO] [stdout] | [INFO] [stdout] 84 | let result = part_two(&advent_of_code::template::read_file("examples", DAY)); [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_result` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/bin/12.rs:130:9 [INFO] [stdout] | [INFO] [stdout] 130 | / return ( [INFO] [stdout] 131 | | patch.contains(&(i, j)), [INFO] [stdout] 132 | | patch.contains(&(i + 1, j)), [INFO] [stdout] 133 | | patch.contains(&(i, j + 1)), [INFO] [stdout] 134 | | patch.contains(&(i + 1, j + 1)), [INFO] [stdout] 135 | | ); [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 130 ~ ( [INFO] [stdout] 131 + patch.contains(&(i, j)), [INFO] [stdout] 132 + patch.contains(&(i + 1, j)), [INFO] [stdout] 133 + patch.contains(&(i, j + 1)), [INFO] [stdout] 134 + patch.contains(&(i + 1, j + 1)), [INFO] [stdout] 135 ~ ) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/bin/02.rs:29:5 [INFO] [stdout] | [INFO] [stdout] 29 | return Some(diff_readings.len() as u32); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] = note: `#[warn(clippy::needless_return)]` on by default [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 29 - return Some(diff_readings.len() as u32); [INFO] [stdout] 29 + Some(diff_readings.len() as u32) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/bin/12.rs:137:9 [INFO] [stdout] | [INFO] [stdout] 137 | / return ( [INFO] [stdout] 138 | | patch.contains(&(i, j)), [INFO] [stdout] 139 | | patch.contains(&(i - 1, j)), [INFO] [stdout] 140 | | patch.contains(&(i, j + 1)), [INFO] [stdout] 141 | | patch.contains(&(i - 1, j + 1)), [INFO] [stdout] 142 | | ); [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 137 ~ ( [INFO] [stdout] 138 + patch.contains(&(i, j)), [INFO] [stdout] 139 + patch.contains(&(i - 1, j)), [INFO] [stdout] 140 + patch.contains(&(i, j + 1)), [INFO] [stdout] 141 + patch.contains(&(i - 1, j + 1)), [INFO] [stdout] 142 ~ ) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/bin/12.rs:144:9 [INFO] [stdout] | [INFO] [stdout] 144 | / return ( [INFO] [stdout] 145 | | patch.contains(&(i, j)), [INFO] [stdout] 146 | | patch.contains(&(i + 1, j)), [INFO] [stdout] 147 | | patch.contains(&(i, j - 1)), [INFO] [stdout] 148 | | patch.contains(&(i + 1, j - 1)), [INFO] [stdout] 149 | | ); [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 144 ~ ( [INFO] [stdout] 145 + patch.contains(&(i, j)), [INFO] [stdout] 146 + patch.contains(&(i + 1, j)), [INFO] [stdout] 147 + patch.contains(&(i, j - 1)), [INFO] [stdout] 148 + patch.contains(&(i + 1, j - 1)), [INFO] [stdout] 149 ~ ) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/bin/12.rs:151:9 [INFO] [stdout] | [INFO] [stdout] 151 | / return ( [INFO] [stdout] 152 | | patch.contains(&(i, j)), [INFO] [stdout] 153 | | patch.contains(&(i - 1, j)), [INFO] [stdout] 154 | | patch.contains(&(i, j - 1)), [INFO] [stdout] 155 | | patch.contains(&(i - 1, j - 1)), [INFO] [stdout] 156 | | ); [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 151 ~ ( [INFO] [stdout] 152 + patch.contains(&(i, j)), [INFO] [stdout] 153 + patch.contains(&(i - 1, j)), [INFO] [stdout] 154 + patch.contains(&(i, j - 1)), [INFO] [stdout] 155 + patch.contains(&(i - 1, j - 1)), [INFO] [stdout] 156 ~ ) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `num_steps` is assigned to, but never used [INFO] [stdout] --> src/bin/06.rs:63:9 [INFO] [stdout] | [INFO] [stdout] 63 | let mut num_steps = 0; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: consider using `_num_steps` instead [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/bin/02.rs:69:5 [INFO] [stdout] | [INFO] [stdout] 69 | return Some(correct.iter().sum::() as u32); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 69 - return Some(correct.iter().sum::() as u32); [INFO] [stdout] 69 + Some(correct.iter().sum::() as u32) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/bin/02.rs:66:13 [INFO] [stdout] | [INFO] [stdout] 66 | return 0; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 66 - return 0; [INFO] [stdout] 66 + 0 [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`u32` -> `u32`) [INFO] [stdout] --> src/bin/02.rs:69:17 [INFO] [stdout] | [INFO] [stdout] 69 | return Some(correct.iter().sum::() as u32); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `correct.iter().sum::()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] = note: `#[warn(clippy::unnecessary_cast)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/bin/19.rs:19:5 [INFO] [stdout] | [INFO] [stdout] 19 | return Some(possible_patterns.iter().fold(0, |acc, x| acc + *x as u32)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] = note: `#[warn(clippy::needless_return)]` on by default [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 19 - return Some(possible_patterns.iter().fold(0, |acc, x| acc + *x as u32)); [INFO] [stdout] 19 + Some(possible_patterns.iter().fold(0, |acc, x| acc + *x as u32)) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `num_steps` is never read [INFO] [stdout] --> src/bin/06.rs:66:9 [INFO] [stdout] | [INFO] [stdout] 66 | num_steps += 1; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/bin/19.rs:39:5 [INFO] [stdout] | [INFO] [stdout] 39 | return is_possible; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 39 - return is_possible; [INFO] [stdout] 39 + is_possible [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: needlessly taken reference of left operand [INFO] [stdout] --> src/bin/19.rs:29:12 [INFO] [stdout] | [INFO] [stdout] 29 | if &&pattern[0..towel.len()] == towel { [INFO] [stdout] | -------------------------^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: use the left value directly: `&pattern[0..towel.len()]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stdout] = note: `#[warn(clippy::op_ref)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/bin/19.rs:70:5 [INFO] [stdout] | [INFO] [stdout] 70 | return (num_matches, seen_patterns); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 70 - return (num_matches, seen_patterns); [INFO] [stdout] 70 + (num_matches, seen_patterns) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: needlessly taken reference of left operand [INFO] [stdout] --> src/bin/19.rs:55:12 [INFO] [stdout] | [INFO] [stdout] 55 | if &&pattern[0..towel.len()] == towel { [INFO] [stdout] | -------------------------^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: use the left value directly: `&pattern[0..towel.len()]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/bin/19.rs:92:5 [INFO] [stdout] | [INFO] [stdout] 92 | return Some(possible_patterns.iter().sum()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 92 - return Some(possible_patterns.iter().sum()); [INFO] [stdout] 92 + Some(possible_patterns.iter().sum()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/bin/19.rs:89:13 [INFO] [stdout] | [INFO] [stdout] 89 | return x; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 89 - return x; [INFO] [stdout] 89 + x [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `char_matrix_to_string_matrix` is never used [INFO] [stdout] --> src/bin/06.rs:110:4 [INFO] [stdout] | [INFO] [stdout] 110 | fn char_matrix_to_string_matrix(char_matrix: &Vec>) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/bin/06.rs:39:5 [INFO] [stdout] | [INFO] [stdout] 39 | / return Some( [INFO] [stdout] 40 | | obstacle_matrix [INFO] [stdout] 41 | | .iter() [INFO] [stdout] 42 | | .flatten() [INFO] [stdout] 43 | | .filter(|&c| *c == 'X') [INFO] [stdout] 44 | | .count() as u32, [INFO] [stdout] 45 | | ); [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] = note: `#[warn(clippy::needless_return)]` on by default [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 39 ~ Some( [INFO] [stdout] 40 + obstacle_matrix [INFO] [stdout] 41 + .iter() [INFO] [stdout] 42 + .flatten() [INFO] [stdout] 43 + .filter(|&c| *c == 'X') [INFO] [stdout] 44 + .count() as u32, [INFO] [stdout] 45 ~ ) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/bin/06.rs:107:5 [INFO] [stdout] | [INFO] [stdout] 107 | return Some(num_loops); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 107 - return Some(num_loops); [INFO] [stdout] 107 + Some(num_loops) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `((i32, i32), (i32, i32))` which implements the `Copy` trait [INFO] [stdout] --> src/bin/06.rs:67:56 [INFO] [stdout] | [INFO] [stdout] 67 | let mut test_guard: ((i32, i32), (i32, i32)) = guard.clone(); [INFO] [stdout] | ^^^^^^^^^^^^^ help: try removing the `clone` call: `guard` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] = note: `#[warn(clippy::clone_on_copy)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `(i32, i32)` which implements the `Copy` trait [INFO] [stdout] --> src/bin/06.rs:74:37 [INFO] [stdout] | [INFO] [stdout] 74 | let next_cell: (i32, i32) = guard.0.clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: try removing the `clone` call: `guard.0` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/bin/06.rs:111:5 [INFO] [stdout] | [INFO] [stdout] 111 | / return char_matrix [INFO] [stdout] 112 | | .iter() [INFO] [stdout] 113 | | .map(|row| row.iter().collect::()) [INFO] [stdout] 114 | | .collect::>() [INFO] [stdout] 115 | | .join("\n"); [INFO] [stdout] | |___________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 111 ~ char_matrix [INFO] [stdout] 112 + .iter() [INFO] [stdout] 113 + .map(|row| row.iter().collect::()) [INFO] [stdout] 114 + .collect::>() [INFO] [stdout] 115 ~ .join("\n") [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/bin/06.rs:110:46 [INFO] [stdout] | [INFO] [stdout] 110 | fn char_matrix_to_string_matrix(char_matrix: &Vec>) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] = note: `#[warn(clippy::ptr_arg)]` on by default [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 110 - fn char_matrix_to_string_matrix(char_matrix: &Vec>) -> String { [INFO] [stdout] 110 + fn char_matrix_to_string_matrix(char_matrix: &[Vec]) -> String { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/bin/06.rs:157:5 [INFO] [stdout] | [INFO] [stdout] 157 | return Some((guard_pos, guard_dir)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 157 - return Some((guard_pos, guard_dir)); [INFO] [stdout] 157 + Some((guard_pos, guard_dir)) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&mut Vec` instead of `&mut [_]` involves a new object where a slice will do [INFO] [stdout] --> src/bin/06.rs:120:22 [INFO] [stdout] | [INFO] [stdout] 120 | obstacle_matrix: &mut Vec>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 120 - obstacle_matrix: &mut Vec>, [INFO] [stdout] 120 + obstacle_matrix: &mut [Vec], [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/bin/11.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 13 | return Some(size as u64); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] = note: `#[warn(clippy::needless_return)]` on by default [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 13 - return Some(size as u64); [INFO] [stdout] 13 + Some(size as u64) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/bin/11.rs:24:5 [INFO] [stdout] | [INFO] [stdout] 24 | return Some(result); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 24 - return Some(result); [INFO] [stdout] 24 + Some(result) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/bin/11.rs:45:5 [INFO] [stdout] | [INFO] [stdout] 45 | return final_stones.into_iter().flatten().collect(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 45 - return final_stones.into_iter().flatten().collect(); [INFO] [stdout] 45 + final_stones.into_iter().flatten().collect() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/bin/11.rs:50:9 [INFO] [stdout] | [INFO] [stdout] 50 | return *score_dict.get(&(stone, blinks)).unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 50 - return *score_dict.get(&(stone, blinks)).unwrap(); [INFO] [stdout] 50 + *score_dict.get(&(stone, blinks)).unwrap() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/bin/11.rs:54:9 [INFO] [stdout] | [INFO] [stdout] 54 | return size; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 54 - return size; [INFO] [stdout] 54 + size [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/bin/11.rs:58:9 [INFO] [stdout] | [INFO] [stdout] 58 | return size; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 58 - return size; [INFO] [stdout] 58 + size [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/bin/11.rs:66:9 [INFO] [stdout] | [INFO] [stdout] 66 | return size; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 66 - return size; [INFO] [stdout] 66 + size [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/bin/11.rs:70:9 [INFO] [stdout] | [INFO] [stdout] 70 | return size; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 70 - return size; [INFO] [stdout] 70 + size [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of `.is_multiple_of()` [INFO] [stdout] --> src/bin/11.rs:59:15 [INFO] [stdout] | [INFO] [stdout] 59 | } else if stone.to_string().len() % 2 == 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace with: `stone.to_string().len().is_multiple_of(2)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_is_multiple_of [INFO] [stdout] = note: `#[warn(clippy::manual_is_multiple_of)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/bin/11.rs:85:5 [INFO] [stdout] | [INFO] [stdout] 85 | return vec![stone * 2024]; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 85 - return vec![stone * 2024]; [INFO] [stdout] 85 + vec![stone * 2024] [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of `.is_multiple_of()` [INFO] [stdout] --> src/bin/11.rs:80:8 [INFO] [stdout] | [INFO] [stdout] 80 | if len % 2 == 0 { [INFO] [stdout] | ^^^^^^^^^^^^ help: replace with: `len.is_multiple_of(2)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_is_multiple_of [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `HashSet` [INFO] [stdout] --> src/bin/15.rs:1:33 [INFO] [stdout] | [INFO] [stdout] 1 | use std::collections::{HashMap, HashSet, VecDeque}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/bin/01.rs:17:5 [INFO] [stdout] | [INFO] [stdout] 17 | return Some(diff.iter().sum()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] = note: `#[warn(clippy::needless_return)]` on by default [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 17 - return Some(diff.iter().sum()); [INFO] [stdout] 17 + Some(diff.iter().sum()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/bin/15.rs:83:5 [INFO] [stdout] | [INFO] [stdout] 83 | return Some(get_gps(&warehouse)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] = note: `#[warn(clippy::needless_return)]` on by default [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 83 - return Some(get_gps(&warehouse)); [INFO] [stdout] 83 + Some(get_gps(&warehouse)) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/bin/15.rs:87:5 [INFO] [stdout] | [INFO] [stdout] 87 | / return char_matrix [INFO] [stdout] 88 | | .iter() [INFO] [stdout] 89 | | .map(|row| row.iter().collect::()) [INFO] [stdout] 90 | | .collect::>() [INFO] [stdout] 91 | | .join("\n"); [INFO] [stdout] | |___________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 87 ~ char_matrix [INFO] [stdout] 88 + .iter() [INFO] [stdout] 89 + .map(|row| row.iter().collect::()) [INFO] [stdout] 90 + .collect::>() [INFO] [stdout] 91 ~ .join("\n") [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/bin/15.rs:86:46 [INFO] [stdout] | [INFO] [stdout] 86 | fn char_matrix_to_string_matrix(char_matrix: &Vec>) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] = note: `#[warn(clippy::ptr_arg)]` on by default [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 86 - fn char_matrix_to_string_matrix(char_matrix: &Vec>) -> String { [INFO] [stdout] 86 + fn char_matrix_to_string_matrix(char_matrix: &[Vec]) -> String { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/bin/15.rs:103:5 [INFO] [stdout] | [INFO] [stdout] 103 | return gps as u32; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 103 - return gps as u32; [INFO] [stdout] 103 + gps as u32 [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/bin/15.rs:94:23 [INFO] [stdout] | [INFO] [stdout] 94 | fn get_gps(warehouse: &Vec>) -> u32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 94 - fn get_gps(warehouse: &Vec>) -> u32 { [INFO] [stdout] 94 + fn get_gps(warehouse: &[Vec]) -> u32 { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/bin/15.rs:233:5 [INFO] [stdout] | [INFO] [stdout] 233 | return Some(get_gps(&warehouse) as u32); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 233 - return Some(get_gps(&warehouse) as u32); [INFO] [stdout] 233 + Some(get_gps(&warehouse) as u32) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting the result of `i32::abs()` to u32 [INFO] [stdout] --> src/bin/01.rs:15:23 [INFO] [stdout] | [INFO] [stdout] 15 | .map(|(a, b)| (a - b).abs() as u32) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: replace with: `(a - b).unsigned_abs()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_abs_to_unsigned [INFO] [stdout] = note: `#[warn(clippy::cast_abs_to_unsigned)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/bin/01.rs:27:5 [INFO] [stdout] | [INFO] [stdout] 27 | / return Some(left_list.iter().fold(0, |acc, x| { [INFO] [stdout] 28 | | acc + (right_list [INFO] [stdout] 29 | | .iter() [INFO] [stdout] 30 | | .filter(|y| *y == x) [INFO] [stdout] ... | [INFO] [stdout] 33 | | * x) [INFO] [stdout] 34 | | })); [INFO] [stdout] | |_______^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 27 ~ Some(left_list.iter().fold(0, |acc, x| { [INFO] [stdout] 28 + acc + (right_list [INFO] [stdout] 29 + .iter() [INFO] [stdout] 30 + .filter(|y| *y == x) [INFO] [stdout] 31 + .collect::>() [INFO] [stdout] 32 + .len() as u32 [INFO] [stdout] 33 + * x) [INFO] [stdout] 34 ~ })) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`u32` -> `u32`) [INFO] [stdout] --> src/bin/15.rs:233:17 [INFO] [stdout] | [INFO] [stdout] 233 | return Some(get_gps(&warehouse) as u32); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `get_gps(&warehouse)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] = note: `#[warn(clippy::unnecessary_cast)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/bin/05.rs:67:5 [INFO] [stdout] | [INFO] [stdout] 67 | return Some(middle_number.iter().sum()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] = note: `#[warn(clippy::needless_return)]` on by default [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 67 - return Some(middle_number.iter().sum()); [INFO] [stdout] 67 + Some(middle_number.iter().sum()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/bin/05.rs:53:13 [INFO] [stdout] | [INFO] [stdout] 53 | return true; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 53 - return true; [INFO] [stdout] 53 + true [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/bin/05.rs:42:25 [INFO] [stdout] | [INFO] [stdout] 42 | return None; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 42 - return None; [INFO] [stdout] 42 + None [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is only used to index `sequence` [INFO] [stdout] --> src/bin/05.rs:46:30 [INFO] [stdout] | [INFO] [stdout] 46 | for i in 0..rule_index { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] = note: `#[warn(clippy::needless_range_loop)]` on by default [INFO] [stdout] help: consider using an iterator [INFO] [stdout] | [INFO] [stdout] 46 - for i in 0..rule_index { [INFO] [stdout] 46 + for in sequence.iter().take(rule_index) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/bin/05.rs:63:13 [INFO] [stdout] | [INFO] [stdout] 63 | return Some(sequence[sequence.len() / 2]); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 63 - return Some(sequence[sequence.len() / 2]); [INFO] [stdout] 63 + Some(sequence[sequence.len() / 2]) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/bin/05.rs:141:5 [INFO] [stdout] | [INFO] [stdout] 141 | return Some(middle_number.iter().sum()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 141 - return Some(middle_number.iter().sum()); [INFO] [stdout] 141 + Some(middle_number.iter().sum()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/bin/05.rs:115:13 [INFO] [stdout] | [INFO] [stdout] 115 | return None; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 115 - return None; [INFO] [stdout] 115 + None [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/bin/05.rs:128:17 [INFO] [stdout] | [INFO] [stdout] 128 | return sequence.clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 128 - return sequence.clone(); [INFO] [stdout] 128 + sequence.clone() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `.filter_map(..)` can be written more simply using `.map(..)` [INFO] [stdout] --> src/bin/05.rs:136:10 [INFO] [stdout] | [INFO] [stdout] 136 | .filter_map(|sequence| { [INFO] [stdout] | __________^ [INFO] [stdout] 137 | | return Some(sequence[sequence.len() / 2]); [INFO] [stdout] 138 | | }) [INFO] [stdout] | |__________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_filter_map [INFO] [stdout] = note: `#[warn(clippy::unnecessary_filter_map)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/bin/05.rs:137:13 [INFO] [stdout] | [INFO] [stdout] 137 | return Some(sequence[sequence.len() / 2]); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 137 - return Some(sequence[sequence.len() / 2]); [INFO] [stdout] 137 + Some(sequence[sequence.len() / 2]) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/bin/05.rs:148:5 [INFO] [stdout] | [INFO] [stdout] 148 | / return sequences [INFO] [stdout] 149 | | .iter() [INFO] [stdout] 150 | | .map(|sequence| { [INFO] [stdout] 151 | | let mut swap_indices: Vec<(usize, usize)> = Vec::new(); [INFO] [stdout] ... | [INFO] [stdout] 173 | | }) [INFO] [stdout] 174 | | .collect(); [INFO] [stdout] | |__________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 148 ~ sequences [INFO] [stdout] 149 + .iter() [INFO] [stdout] 150 + .map(|sequence| { [INFO] [stdout] 151 + let mut swap_indices: Vec<(usize, usize)> = Vec::new(); [INFO] [stdout] 152 + for rule in rules { [INFO] [stdout] 153 + let rules_indices: Vec = sequence [INFO] [stdout] 154 + .iter() [INFO] [stdout] 155 + .enumerate() [INFO] [stdout] 156 + .filter_map(|(i, x)| { [INFO] [stdout] 157 + if x == &rule.0 { [INFO] [stdout] 158 + return Some(i); [INFO] [stdout] 159 + } [INFO] [stdout] 160 + return None; [INFO] [stdout] 161 + }) [INFO] [stdout] 162 + .collect(); [INFO] [stdout] 163 + [INFO] [stdout] 164 + for rule_index in rules_indices { [INFO] [stdout] 165 + for i in 0..rule_index { [INFO] [stdout] 166 + if sequence[i] == rule.1 { [INFO] [stdout] 167 + swap_indices.push((i, rule_index)); [INFO] [stdout] 168 + } [INFO] [stdout] 169 + } [INFO] [stdout] 170 + } [INFO] [stdout] 171 + } [INFO] [stdout] 172 + return (swap_indices.len() == 0, swap_indices); [INFO] [stdout] 173 + }) [INFO] [stdout] 174 ~ .collect() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/bin/05.rs:146:16 [INFO] [stdout] | [INFO] [stdout] 146 | sequences: &Vec>, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] = note: `#[warn(clippy::ptr_arg)]` on by default [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 146 - sequences: &Vec>, [INFO] [stdout] 146 + sequences: &[Vec], [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/bin/05.rs:172:13 [INFO] [stdout] | [INFO] [stdout] 172 | return (swap_indices.len() == 0, swap_indices); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 172 - return (swap_indices.len() == 0, swap_indices); [INFO] [stdout] 172 + (swap_indices.len() == 0, swap_indices) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/bin/05.rs:160:25 [INFO] [stdout] | [INFO] [stdout] 160 | return None; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 160 - return None; [INFO] [stdout] 160 + None [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is used to index `sequence` [INFO] [stdout] --> src/bin/05.rs:165:30 [INFO] [stdout] | [INFO] [stdout] 165 | for i in 0..rule_index { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator and enumerate() [INFO] [stdout] | [INFO] [stdout] 165 - for i in 0..rule_index { [INFO] [stdout] 165 + for (i, ) in sequence.iter().enumerate().take(rule_index) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/bin/05.rs:172:21 [INFO] [stdout] | [INFO] [stdout] 172 | return (swap_indices.len() == 0, swap_indices); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `swap_indices.is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stdout] = note: `#[warn(clippy::len_zero)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `HashMap`, `HashSet`, and `VecDeque` [INFO] [stdout] --> src/bin/17.rs:1:24 [INFO] [stdout] | [INFO] [stdout] 1 | use std::collections::{HashMap, HashSet, VecDeque}; [INFO] [stdout] | ^^^^^^^ ^^^^^^^ ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `for` iterator expression [INFO] [stdout] --> src/bin/17.rs:175:18 [INFO] [stdout] | [INFO] [stdout] 175 | for i in (0..8) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 175 - for i in (0..8) { [INFO] [stdout] 175 + for i in 0..8 { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `hash::Hash` [INFO] [stdout] --> src/bin/12.rs:1:33 [INFO] [stdout] | [INFO] [stdout] 1 | use std::{collections::HashSet, hash::Hash}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `result` [INFO] [stdout] --> src/bin/03.rs:37:13 [INFO] [stdout] | [INFO] [stdout] 37 | let result = part_one(&advent_of_code::template::read_file("examples", DAY)); [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_result` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `result` [INFO] [stdout] --> src/bin/03.rs:43:13 [INFO] [stdout] | [INFO] [stdout] 43 | let result = part_two(&advent_of_code::template::read_file("examples", DAY)); [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_result` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/bin/03.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | return Some(result); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] = note: `#[warn(clippy::needless_return)]` on by default [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 9 - return Some(result); [INFO] [stdout] 9 + Some(result) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/bin/03.rs:28:5 [INFO] [stdout] | [INFO] [stdout] 28 | return Some(result.0); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 28 - return Some(result.0); [INFO] [stdout] 28 + Some(result.0) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/bin/03.rs:17:23 [INFO] [stdout] | [INFO] [stdout] 17 | "do()" => return (acc.0, true), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 17 - "do()" => return (acc.0, true), [INFO] [stdout] 17 + "do()" => (acc.0, true), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/bin/03.rs:18:26 [INFO] [stdout] | [INFO] [stdout] 18 | "don't()" => return (acc.0, false), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 18 - "don't()" => return (acc.0, false), [INFO] [stdout] 18 + "don't()" => (acc.0, false), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/bin/03.rs:20:17 [INFO] [stdout] | [INFO] [stdout] 20 | / return ( [INFO] [stdout] 21 | | acc.0 [INFO] [stdout] 22 | | + (caps[1].parse::().unwrap() * caps[2].parse::().unwrap()) [INFO] [stdout] 23 | | * acc.1 as u32, [INFO] [stdout] 24 | | acc.1, [INFO] [stdout] 25 | | ) [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 20 ~ ( [INFO] [stdout] 21 + acc.0 [INFO] [stdout] 22 + + (caps[1].parse::().unwrap() * caps[2].parse::().unwrap()) [INFO] [stdout] 23 + * acc.1 as u32, [INFO] [stdout] 24 + acc.1, [INFO] [stdout] 25 + ) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `rc::Rc` [INFO] [stdout] --> src/bin/19.rs:2:33 [INFO] [stdout] | [INFO] [stdout] 2 | use std::{collections::HashMap, rc::Rc}; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `regex::Regex` [INFO] [stdout] --> src/bin/19.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use regex::Regex; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `perimeter` [INFO] [stdout] --> src/bin/12.rs:76:18 [INFO] [stdout] | [INFO] [stdout] 76 | let (perimeter, area) = [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_perimeter` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/bin/12.rs:28:5 [INFO] [stdout] | [INFO] [stdout] 28 | return Some(price); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] = note: `#[warn(clippy::needless_return)]` on by default [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 28 - return Some(price); [INFO] [stdout] 28 + Some(price) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `skip(..).next()` on an iterator [INFO] [stdout] --> src/bin/17.rs:10:31 [INFO] [stdout] | [INFO] [stdout] 10 | .split("Register A: ") [INFO] [stdout] | _______________________________^ [INFO] [stdout] 11 | | .skip(1) [INFO] [stdout] 12 | | .next() [INFO] [stdout] | |_______________^ help: use `nth` instead: `.nth(1)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#iter_skip_next [INFO] [stdout] = note: `#[warn(clippy::iter_skip_next)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of an assign operation [INFO] [stdout] --> src/bin/17.rs:26:17 [INFO] [stdout] | [INFO] [stdout] 26 | reg_a = reg_a / 2_u64.pow(operand as u32); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `reg_a /= 2_u64.pow(operand as u32)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stdout] = note: `#[warn(clippy::assign_op_pattern)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of an assign operation [INFO] [stdout] --> src/bin/17.rs:32:17 [INFO] [stdout] | [INFO] [stdout] 32 | reg_b = reg_b ^ operand; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `reg_b ^= operand` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of an assign operation [INFO] [stdout] --> src/bin/17.rs:52:17 [INFO] [stdout] | [INFO] [stdout] 52 | reg_b = reg_b ^ reg_c; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `reg_b ^= reg_c` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/bin/17.rs:82:13 [INFO] [stdout] | [INFO] [stdout] 82 | return str; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] = note: `#[warn(clippy::needless_return)]` on by default [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 82 - return str; [INFO] [stdout] 82 + str [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/bin/17.rs:91:5 [INFO] [stdout] | [INFO] [stdout] 91 | / return match operand { [INFO] [stdout] 92 | | 4 => reg_a, [INFO] [stdout] 93 | | 5 => reg_b, [INFO] [stdout] 94 | | 6 => reg_c, [INFO] [stdout] 95 | | _ => operand, [INFO] [stdout] 96 | | }; [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 91 ~ match operand { [INFO] [stdout] 92 + 4 => reg_a, [INFO] [stdout] 93 + 5 => reg_b, [INFO] [stdout] 94 + 6 => reg_c, [INFO] [stdout] 95 + _ => operand, [INFO] [stdout] 96 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/bin/17.rs:160:5 [INFO] [stdout] | [INFO] [stdout] 160 | return output; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 160 - return output; [INFO] [stdout] 160 + output [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of an assign operation [INFO] [stdout] --> src/bin/17.rs:109:17 [INFO] [stdout] | [INFO] [stdout] 109 | reg_a = reg_a / 2_u64.pow(operand as u32); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `reg_a /= 2_u64.pow(operand as u32)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`i32` -> `i32`) [INFO] [stdout] --> src/bin/12.rs:23:32 [INFO] [stdout] | [INFO] [stdout] 23 | find_all_patch(i as i32, j as i32, char, &char_matrix, &mut patch); [INFO] [stdout] | ^^^^^^^^ help: try: `i` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] = note: `#[warn(clippy::unnecessary_cast)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`i32` -> `i32`) [INFO] [stdout] --> src/bin/12.rs:23:42 [INFO] [stdout] | [INFO] [stdout] 23 | find_all_patch(i as i32, j as i32, char, &char_matrix, &mut patch); [INFO] [stdout] | ^^^^^^^^ help: try: `j` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/bin/12.rs:56:5 [INFO] [stdout] | [INFO] [stdout] 56 | return (perimeter, area); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 56 - return (perimeter, area); [INFO] [stdout] 56 + (perimeter, area) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of an assign operation [INFO] [stdout] --> src/bin/17.rs:115:17 [INFO] [stdout] | [INFO] [stdout] 115 | reg_b = reg_b ^ operand; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `reg_b ^= operand` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of an assign operation [INFO] [stdout] --> src/bin/17.rs:135:17 [INFO] [stdout] | [INFO] [stdout] 135 | reg_b = reg_b ^ reg_c; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `reg_b ^= reg_c` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/bin/17.rs:190:5 [INFO] [stdout] | [INFO] [stdout] 190 | return Some(reg_a as u64); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 190 - return Some(reg_a as u64); [INFO] [stdout] 190 + Some(reg_a as u64) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: calls to `push` immediately after creation [INFO] [stdout] --> src/bin/17.rs:170:5 [INFO] [stdout] | [INFO] [stdout] 170 | / let mut register_stack: Vec = Vec::new(); [INFO] [stdout] 171 | | register_stack.push(0); [INFO] [stdout] | |___________________________^ help: consider using the `vec![]` macro: `let mut register_stack: Vec = vec![..];` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#vec_init_then_push [INFO] [stdout] = note: `#[warn(clippy::vec_init_then_push)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/bin/12.rs:93:5 [INFO] [stdout] | [INFO] [stdout] 93 | / return Some( [INFO] [stdout] 94 | | areas [INFO] [stdout] 95 | | .iter() [INFO] [stdout] 96 | | .zip(sides.iter()) [INFO] [stdout] 97 | | .map(|(x, y)| x * y) [INFO] [stdout] 98 | | .sum::(), [INFO] [stdout] 99 | | ); [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 93 ~ Some( [INFO] [stdout] 94 + areas [INFO] [stdout] 95 + .iter() [INFO] [stdout] 96 + .zip(sides.iter()) [INFO] [stdout] 97 + .map(|(x, y)| x * y) [INFO] [stdout] 98 + .sum::(), [INFO] [stdout] 99 ~ ) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`i32` -> `i32`) [INFO] [stdout] --> src/bin/12.rs:77:32 [INFO] [stdout] | [INFO] [stdout] 77 | find_all_patch(i as i32, j as i32, char, &char_matrix, &mut patch); [INFO] [stdout] | ^^^^^^^^ help: try: `i` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`i32` -> `i32`) [INFO] [stdout] --> src/bin/12.rs:77:42 [INFO] [stdout] | [INFO] [stdout] 77 | find_all_patch(i as i32, j as i32, char, &char_matrix, &mut patch); [INFO] [stdout] | ^^^^^^^^ help: try: `j` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `seen_patterns` [INFO] [stdout] --> src/bin/19.rs:59:25 [INFO] [stdout] | [INFO] [stdout] 59 | let (x, seen_patterns) = get_number_of_matches( [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_seen_patterns` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`u64` -> `u64`) [INFO] [stdout] --> src/bin/17.rs:190:17 [INFO] [stdout] | [INFO] [stdout] 190 | return Some(reg_a as u64); [INFO] [stdout] | ^^^^^^^^^^^^ help: try: `reg_a` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] = note: `#[warn(clippy::unnecessary_cast)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/bin/12.rs:120:5 [INFO] [stdout] | [INFO] [stdout] 120 | return num_sides; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 120 - return num_sides; [INFO] [stdout] 120 + num_sides [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/bin/12.rs:130:9 [INFO] [stdout] | [INFO] [stdout] 130 | / return ( [INFO] [stdout] 131 | | patch.contains(&(i, j)), [INFO] [stdout] 132 | | patch.contains(&(i + 1, j)), [INFO] [stdout] 133 | | patch.contains(&(i, j + 1)), [INFO] [stdout] 134 | | patch.contains(&(i + 1, j + 1)), [INFO] [stdout] 135 | | ); [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 130 ~ ( [INFO] [stdout] 131 + patch.contains(&(i, j)), [INFO] [stdout] 132 + patch.contains(&(i + 1, j)), [INFO] [stdout] 133 + patch.contains(&(i, j + 1)), [INFO] [stdout] 134 + patch.contains(&(i + 1, j + 1)), [INFO] [stdout] 135 ~ ) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/bin/12.rs:137:9 [INFO] [stdout] | [INFO] [stdout] 137 | / return ( [INFO] [stdout] 138 | | patch.contains(&(i, j)), [INFO] [stdout] 139 | | patch.contains(&(i - 1, j)), [INFO] [stdout] 140 | | patch.contains(&(i, j + 1)), [INFO] [stdout] 141 | | patch.contains(&(i - 1, j + 1)), [INFO] [stdout] 142 | | ); [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 137 ~ ( [INFO] [stdout] 138 + patch.contains(&(i, j)), [INFO] [stdout] 139 + patch.contains(&(i - 1, j)), [INFO] [stdout] 140 + patch.contains(&(i, j + 1)), [INFO] [stdout] 141 + patch.contains(&(i - 1, j + 1)), [INFO] [stdout] 142 ~ ) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/bin/12.rs:144:9 [INFO] [stdout] | [INFO] [stdout] 144 | / return ( [INFO] [stdout] 145 | | patch.contains(&(i, j)), [INFO] [stdout] 146 | | patch.contains(&(i + 1, j)), [INFO] [stdout] 147 | | patch.contains(&(i, j - 1)), [INFO] [stdout] 148 | | patch.contains(&(i + 1, j - 1)), [INFO] [stdout] 149 | | ); [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 144 ~ ( [INFO] [stdout] 145 + patch.contains(&(i, j)), [INFO] [stdout] 146 + patch.contains(&(i + 1, j)), [INFO] [stdout] 147 + patch.contains(&(i, j - 1)), [INFO] [stdout] 148 + patch.contains(&(i + 1, j - 1)), [INFO] [stdout] 149 ~ ) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/bin/12.rs:151:9 [INFO] [stdout] | [INFO] [stdout] 151 | / return ( [INFO] [stdout] 152 | | patch.contains(&(i, j)), [INFO] [stdout] 153 | | patch.contains(&(i - 1, j)), [INFO] [stdout] 154 | | patch.contains(&(i, j - 1)), [INFO] [stdout] 155 | | patch.contains(&(i - 1, j - 1)), [INFO] [stdout] 156 | | ); [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 151 ~ ( [INFO] [stdout] 152 + patch.contains(&(i, j)), [INFO] [stdout] 153 + patch.contains(&(i - 1, j)), [INFO] [stdout] 154 + patch.contains(&(i, j - 1)), [INFO] [stdout] 155 + patch.contains(&(i - 1, j - 1)), [INFO] [stdout] 156 ~ ) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/bin/19.rs:19:5 [INFO] [stdout] | [INFO] [stdout] 19 | return Some(possible_patterns.iter().fold(0, |acc, x| acc + *x as u32)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] = note: `#[warn(clippy::needless_return)]` on by default [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 19 - return Some(possible_patterns.iter().fold(0, |acc, x| acc + *x as u32)); [INFO] [stdout] 19 + Some(possible_patterns.iter().fold(0, |acc, x| acc + *x as u32)) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/bin/19.rs:39:5 [INFO] [stdout] | [INFO] [stdout] 39 | return is_possible; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 39 - return is_possible; [INFO] [stdout] 39 + is_possible [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: needlessly taken reference of left operand [INFO] [stdout] --> src/bin/19.rs:29:12 [INFO] [stdout] | [INFO] [stdout] 29 | if &&pattern[0..towel.len()] == towel { [INFO] [stdout] | -------------------------^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: use the left value directly: `&pattern[0..towel.len()]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stdout] = note: `#[warn(clippy::op_ref)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/bin/19.rs:70:5 [INFO] [stdout] | [INFO] [stdout] 70 | return (num_matches, seen_patterns); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 70 - return (num_matches, seen_patterns); [INFO] [stdout] 70 + (num_matches, seen_patterns) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: needlessly taken reference of left operand [INFO] [stdout] --> src/bin/19.rs:55:12 [INFO] [stdout] | [INFO] [stdout] 55 | if &&pattern[0..towel.len()] == towel { [INFO] [stdout] | -------------------------^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: use the left value directly: `&pattern[0..towel.len()]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/bin/19.rs:92:5 [INFO] [stdout] | [INFO] [stdout] 92 | return Some(possible_patterns.iter().sum()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 92 - return Some(possible_patterns.iter().sum()); [INFO] [stdout] 92 + Some(possible_patterns.iter().sum()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/bin/19.rs:89:13 [INFO] [stdout] | [INFO] [stdout] 89 | return x; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 89 - return x; [INFO] [stdout] 89 + x [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/bin/08.rs:39:5 [INFO] [stdout] | [INFO] [stdout] 39 | return Some(nodes.len() as u32); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] = note: `#[warn(clippy::needless_return)]` on by default [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 39 - return Some(nodes.len() as u32); [INFO] [stdout] 39 + Some(nodes.len() as u32) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `j` is only used to index `coords` [INFO] [stdout] --> src/bin/08.rs:25:22 [INFO] [stdout] | [INFO] [stdout] 25 | for j in i + 1..coords.len() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] = note: `#[warn(clippy::needless_range_loop)]` on by default [INFO] [stdout] help: consider using an iterator [INFO] [stdout] | [INFO] [stdout] 25 - for j in i + 1..coords.len() { [INFO] [stdout] 25 + for in coords.iter().skip(i + 1) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::*` [INFO] [stdout] --> src/bin/08.rs:89:9 [INFO] [stdout] | [INFO] [stdout] 89 | use super::*; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::*` [INFO] [stdout] --> src/bin/10.rs:124:9 [INFO] [stdout] | [INFO] [stdout] 124 | use super::*; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/bin/10.rs:31:5 [INFO] [stdout] | [INFO] [stdout] 31 | return Some(trail_heads.iter().sum()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] = note: `#[warn(clippy::needless_return)]` on by default [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 31 - return Some(trail_heads.iter().sum()); [INFO] [stdout] 31 + Some(trail_heads.iter().sum()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/bin/02.rs:29:5 [INFO] [stdout] | [INFO] [stdout] 29 | return Some(diff_readings.len() as u32); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] = note: `#[warn(clippy::needless_return)]` on by default [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 29 - return Some(diff_readings.len() as u32); [INFO] [stdout] 29 + Some(diff_readings.len() as u32) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `y` is used to index `num_matrix` [INFO] [stdout] --> src/bin/10.rs:14:14 [INFO] [stdout] | [INFO] [stdout] 14 | for y in 0..height { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] = note: `#[warn(clippy::needless_range_loop)]` on by default [INFO] [stdout] help: consider using an iterator and enumerate() [INFO] [stdout] | [INFO] [stdout] 14 - for y in 0..height { [INFO] [stdout] 14 + for (y, ) in num_matrix.iter().enumerate().take(height) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `x` is used to index `num_matrix` [INFO] [stdout] --> src/bin/10.rs:15:18 [INFO] [stdout] | [INFO] [stdout] 15 | for x in 0..width { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator and enumerate() [INFO] [stdout] | [INFO] [stdout] 15 - for x in 0..width { [INFO] [stdout] 15 + for (x, ) in num_matrix.iter().enumerate().take(width) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/bin/02.rs:69:5 [INFO] [stdout] | [INFO] [stdout] 69 | return Some(correct.iter().sum::() as u32); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 69 - return Some(correct.iter().sum::() as u32); [INFO] [stdout] 69 + Some(correct.iter().sum::() as u32) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/bin/02.rs:66:13 [INFO] [stdout] | [INFO] [stdout] 66 | return 0; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 66 - return 0; [INFO] [stdout] 66 + 0 [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`u32` -> `u32`) [INFO] [stdout] --> src/bin/02.rs:69:17 [INFO] [stdout] | [INFO] [stdout] 69 | return Some(correct.iter().sum::() as u32); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `correct.iter().sum::()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] = note: `#[warn(clippy::unnecessary_cast)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/bin/10.rs:63:5 [INFO] [stdout] | [INFO] [stdout] 63 | return trailheads; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 63 - return trailheads; [INFO] [stdout] 63 + trailheads [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/bin/10.rs:92:5 [INFO] [stdout] | [INFO] [stdout] 92 | return Some(trail_heads.iter().sum()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 92 - return Some(trail_heads.iter().sum()); [INFO] [stdout] 92 + Some(trail_heads.iter().sum()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `y` is used to index `num_matrix` [INFO] [stdout] --> src/bin/10.rs:75:14 [INFO] [stdout] | [INFO] [stdout] 75 | for y in 0..height { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator and enumerate() [INFO] [stdout] | [INFO] [stdout] 75 - for y in 0..height { [INFO] [stdout] 75 + for (y, ) in num_matrix.iter().enumerate().take(height) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `x` is used to index `num_matrix` [INFO] [stdout] --> src/bin/10.rs:76:18 [INFO] [stdout] | [INFO] [stdout] 76 | for x in 0..width { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator and enumerate() [INFO] [stdout] | [INFO] [stdout] 76 - for x in 0..width { [INFO] [stdout] 76 + for (x, ) in num_matrix.iter().enumerate().take(width) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/bin/10.rs:119:5 [INFO] [stdout] | [INFO] [stdout] 119 | return trail_rating; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 119 - return trail_rating; [INFO] [stdout] 119 + trail_rating [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `vec!` [INFO] [stdout] --> src/bin/10.rs:41:19 [INFO] [stdout] | [INFO] [stdout] 41 | for (i, j) in vec![(0, -1), (0, 1), (1, 0), (-1, 0)] { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: you can use an array directly: `[(0, -1), (0, 1), (1, 0), (-1, 0)]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stdout] = note: `#[warn(clippy::useless_vec)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `vec!` [INFO] [stdout] --> src/bin/10.rs:97:14 [INFO] [stdout] | [INFO] [stdout] 97 | for k in vec![-1, 1] { [INFO] [stdout] | ^^^^^^^^^^^ help: you can use an array directly: `[-1, 1]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `vec!` [INFO] [stdout] --> src/bin/10.rs:98:18 [INFO] [stdout] | [INFO] [stdout] 98 | for d in vec![-1, 1] { [INFO] [stdout] | ^^^^^^^^^^^ help: you can use an array directly: `[-1, 1]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/bin/10.rs:31:5 [INFO] [stdout] | [INFO] [stdout] 31 | return Some(trail_heads.iter().sum()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] = note: `#[warn(clippy::needless_return)]` on by default [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 31 - return Some(trail_heads.iter().sum()); [INFO] [stdout] 31 + Some(trail_heads.iter().sum()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `y` is used to index `num_matrix` [INFO] [stdout] --> src/bin/10.rs:14:14 [INFO] [stdout] | [INFO] [stdout] 14 | for y in 0..height { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] = note: `#[warn(clippy::needless_range_loop)]` on by default [INFO] [stdout] help: consider using an iterator and enumerate() [INFO] [stdout] | [INFO] [stdout] 14 - for y in 0..height { [INFO] [stdout] 14 + for (y, ) in num_matrix.iter().enumerate().take(height) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `x` is used to index `num_matrix` [INFO] [stdout] --> src/bin/10.rs:15:18 [INFO] [stdout] | [INFO] [stdout] 15 | for x in 0..width { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator and enumerate() [INFO] [stdout] | [INFO] [stdout] 15 - for x in 0..width { [INFO] [stdout] 15 + for (x, ) in num_matrix.iter().enumerate().take(width) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/bin/08.rs:84:5 [INFO] [stdout] | [INFO] [stdout] 84 | return Some(nodes.len() as u32); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 84 - return Some(nodes.len() as u32); [INFO] [stdout] 84 + Some(nodes.len() as u32) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `j` is only used to index `coords` [INFO] [stdout] --> src/bin/08.rs:65:22 [INFO] [stdout] | [INFO] [stdout] 65 | for j in i + 1..coords.len() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator [INFO] [stdout] | [INFO] [stdout] 65 - for j in i + 1..coords.len() { [INFO] [stdout] 65 + for in coords.iter().skip(i + 1) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/bin/10.rs:63:5 [INFO] [stdout] | [INFO] [stdout] 63 | return trailheads; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 63 - return trailheads; [INFO] [stdout] 63 + trailheads [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/bin/10.rs:92:5 [INFO] [stdout] | [INFO] [stdout] 92 | return Some(trail_heads.iter().sum()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 92 - return Some(trail_heads.iter().sum()); [INFO] [stdout] 92 + Some(trail_heads.iter().sum()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/bin/08.rs:39:5 [INFO] [stdout] | [INFO] [stdout] 39 | return Some(nodes.len() as u32); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] = note: `#[warn(clippy::needless_return)]` on by default [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 39 - return Some(nodes.len() as u32); [INFO] [stdout] 39 + Some(nodes.len() as u32) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `j` is only used to index `coords` [INFO] [stdout] --> src/bin/08.rs:25:22 [INFO] [stdout] | [INFO] [stdout] 25 | for j in i + 1..coords.len() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] = note: `#[warn(clippy::needless_range_loop)]` on by default [INFO] [stdout] help: consider using an iterator [INFO] [stdout] | [INFO] [stdout] 25 - for j in i + 1..coords.len() { [INFO] [stdout] 25 + for in coords.iter().skip(i + 1) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `y` is used to index `num_matrix` [INFO] [stdout] --> src/bin/10.rs:75:14 [INFO] [stdout] | [INFO] [stdout] 75 | for y in 0..height { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator and enumerate() [INFO] [stdout] | [INFO] [stdout] 75 - for y in 0..height { [INFO] [stdout] 75 + for (y, ) in num_matrix.iter().enumerate().take(height) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `x` is used to index `num_matrix` [INFO] [stdout] --> src/bin/10.rs:76:18 [INFO] [stdout] | [INFO] [stdout] 76 | for x in 0..width { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator and enumerate() [INFO] [stdout] | [INFO] [stdout] 76 - for x in 0..width { [INFO] [stdout] 76 + for (x, ) in num_matrix.iter().enumerate().take(width) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/bin/10.rs:119:5 [INFO] [stdout] | [INFO] [stdout] 119 | return trail_rating; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 119 - return trail_rating; [INFO] [stdout] 119 + trail_rating [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `vec!` [INFO] [stdout] --> src/bin/10.rs:41:19 [INFO] [stdout] | [INFO] [stdout] 41 | for (i, j) in vec![(0, -1), (0, 1), (1, 0), (-1, 0)] { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: you can use an array directly: `[(0, -1), (0, 1), (1, 0), (-1, 0)]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stdout] = note: `#[warn(clippy::useless_vec)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `vec!` [INFO] [stdout] --> src/bin/10.rs:97:14 [INFO] [stdout] | [INFO] [stdout] 97 | for k in vec![-1, 1] { [INFO] [stdout] | ^^^^^^^^^^^ help: you can use an array directly: `[-1, 1]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `vec!` [INFO] [stdout] --> src/bin/10.rs:98:18 [INFO] [stdout] | [INFO] [stdout] 98 | for d in vec![-1, 1] { [INFO] [stdout] | ^^^^^^^^^^^ help: you can use an array directly: `[-1, 1]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::*` [INFO] [stdout] --> src/bin/04.rs:141:9 [INFO] [stdout] | [INFO] [stdout] 141 | use super::*; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `core::num` [INFO] [stdout] --> src/bin/20.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use core::num; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `HashSet` [INFO] [stdout] --> src/bin/20.rs:2:33 [INFO] [stdout] | [INFO] [stdout] 2 | use std::collections::{HashMap, HashSet, VecDeque}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `start_coord` [INFO] [stdout] --> src/bin/20.rs:106:5 [INFO] [stdout] | [INFO] [stdout] 106 | start_coord: (usize, usize), [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_start_coord` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/bin/20.rs:23:5 [INFO] [stdout] | [INFO] [stdout] 23 | return Some(num_cheats); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] = note: `#[warn(clippy::needless_return)]` on by default [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 23 - return Some(num_cheats); [INFO] [stdout] 23 + Some(num_cheats) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/bin/20.rs:41:5 [INFO] [stdout] | [INFO] [stdout] 41 | return adjacents; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 41 - return adjacents; [INFO] [stdout] 41 + adjacents [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/bin/20.rs:76:5 [INFO] [stdout] | [INFO] [stdout] 76 | return None; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 76 - return None; [INFO] [stdout] 76 + None [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/bin/20.rs:45:11 [INFO] [stdout] | [INFO] [stdout] 45 | grid: &Vec>, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] = note: `#[warn(clippy::ptr_arg)]` on by default [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 45 - grid: &Vec>, [INFO] [stdout] 45 + grid: &[Vec], [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/bin/20.rs:101:5 [INFO] [stdout] | [INFO] [stdout] 101 | return adjacents; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 101 - return adjacents; [INFO] [stdout] 101 + adjacents [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/bin/20.rs:126:5 [INFO] [stdout] | [INFO] [stdout] 126 | return searched_distance; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 126 - return searched_distance; [INFO] [stdout] 126 + searched_distance [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/bin/20.rs:105:11 [INFO] [stdout] | [INFO] [stdout] 105 | grid: &Vec>, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 105 - grid: &Vec>, [INFO] [stdout] 105 + grid: &[Vec], [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/bin/20.rs:154:5 [INFO] [stdout] | [INFO] [stdout] 154 | return num_cheats; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 154 - return num_cheats; [INFO] [stdout] 154 + num_cheats [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/bin/20.rs:136:39 [INFO] [stdout] | [INFO] [stdout] 136 | let start_to_end = get_search_map(&grid, start_coord, end_coord); [INFO] [stdout] | ^^^^^ help: change this to: `grid` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] = note: `#[warn(clippy::needless_borrow)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/bin/20.rs:137:39 [INFO] [stdout] | [INFO] [stdout] 137 | let end_to_start = get_search_map(&grid, end_coord, start_coord); [INFO] [stdout] | ^^^^^ help: change this to: `grid` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/bin/20.rs:173:5 [INFO] [stdout] | [INFO] [stdout] 173 | return Some(num_cheats); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 173 - return Some(num_cheats); [INFO] [stdout] 173 + Some(num_cheats) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `result` [INFO] [stdout] --> src/bin/09.rs:148:13 [INFO] [stdout] | [INFO] [stdout] 148 | let result = part_one(&advent_of_code::template::read_file("examples", DAY)); [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_result` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `result` [INFO] [stdout] --> src/bin/09.rs:154:13 [INFO] [stdout] | [INFO] [stdout] 154 | let result = part_two(&advent_of_code::template::read_file("examples", DAY)); [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_result` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/bin/09.rs:65:5 [INFO] [stdout] | [INFO] [stdout] 65 | return Some(checksum); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] = note: `#[warn(clippy::needless_return)]` on by default [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 65 - return Some(checksum); [INFO] [stdout] 65 + Some(checksum) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `map(..).flatten()` on `Iterator` [INFO] [stdout] --> src/bin/09.rs:8:10 [INFO] [stdout] | [INFO] [stdout] 8 | .map(|(i, c)| { [INFO] [stdout] | __________^ [INFO] [stdout] 9 | | let file_size = c.to_digit(10).unwrap(); [INFO] [stdout] 10 | | let mut vec: Vec = Vec::new(); [INFO] [stdout] 11 | | for _ in 0..file_size { [INFO] [stdout] ... | [INFO] [stdout] 15 | | }) [INFO] [stdout] 16 | | .flatten() [INFO] [stdout] | |__________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_flatten [INFO] [stdout] = note: `#[warn(clippy::map_flatten)]` on by default [INFO] [stdout] help: try replacing `map` with `flat_map` and remove the `.flatten()` [INFO] [stdout] | [INFO] [stdout] 8 ~ .flat_map(|(i, c)| { [INFO] [stdout] 9 + let file_size = c.to_digit(10).unwrap(); [INFO] [stdout] 10 + let mut vec: Vec = Vec::new(); [INFO] [stdout] 11 + for _ in 0..file_size { [INFO] [stdout] 12 + vec.push(i as u32); [INFO] [stdout] 13 + } [INFO] [stdout] 14 + vec [INFO] [stdout] 15 + }) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of an assign operation [INFO] [stdout] --> src/bin/09.rs:28:21 [INFO] [stdout] | [INFO] [stdout] 28 | *acc = *acc + d; [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: replace it with: `*acc += d` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stdout] = note: `#[warn(clippy::assign_op_pattern)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`u64` -> `u64`) [INFO] [stdout] --> src/bin/09.rs:64:32 [INFO] [stdout] | [INFO] [stdout] 64 | .fold(0, |acc, (i, x)| acc as u64 + *x as u64 * i as u64); [INFO] [stdout] | ^^^^^^^^^^ help: try: `acc` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] = note: `#[warn(clippy::unnecessary_cast)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/bin/09.rs:139:5 [INFO] [stdout] | [INFO] [stdout] 139 | return Some(checksum); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 139 - return Some(checksum); [INFO] [stdout] 139 + Some(checksum) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of an assign operation [INFO] [stdout] --> src/bin/09.rs:81:13 [INFO] [stdout] | [INFO] [stdout] 81 | *acc = *acc + x; [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: replace it with: `*acc += x` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`u32` -> `u32`) [INFO] [stdout] --> src/bin/09.rs:89:44 [INFO] [stdout] | [INFO] [stdout] 89 | filespace.push((nums[i], i as u32, num_sum[i] as u32)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: try: `num_sum[i]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/bin/09.rs:129:13 [INFO] [stdout] | [INFO] [stdout] 129 | return !found; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 129 - return !found; [INFO] [stdout] 129 + !found [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: consider using `sort_by_key` [INFO] [stdout] --> src/bin/09.rs:135:5 [INFO] [stdout] | [INFO] [stdout] 135 | filespace.sort_by(|a, b| a.2.cmp(&b.2)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_sort_by [INFO] [stdout] = note: `#[warn(clippy::unnecessary_sort_by)]` on by default [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 135 - filespace.sort_by(|a, b| a.2.cmp(&b.2)); [INFO] [stdout] 135 + filespace.sort_by_key(|a| a.2); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `core::num` [INFO] [stdout] --> src/bin/20.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use core::num; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `HashSet` [INFO] [stdout] --> src/bin/20.rs:2:33 [INFO] [stdout] | [INFO] [stdout] 2 | use std::collections::{HashMap, HashSet, VecDeque}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `advent_of_code::template::commands::time` [INFO] [stdout] --> src/bin/14.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use advent_of_code::template::commands::time; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `HashSet` [INFO] [stdout] --> src/bin/15.rs:1:33 [INFO] [stdout] | [INFO] [stdout] 1 | use std::collections::{HashMap, HashSet, VecDeque}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `x` [INFO] [stdout] --> src/bin/14.rs:49:13 [INFO] [stdout] | [INFO] [stdout] 49 | for x in 0..width - 1 { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_x` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `x` [INFO] [stdout] --> src/bin/14.rs:122:17 [INFO] [stdout] | [INFO] [stdout] 122 | for x in 0..width - 1 { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_x` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/bin/14.rs:74:5 [INFO] [stdout] | [INFO] [stdout] 74 | return Some(quadrants.0 * quadrants.1 * quadrants.2 * quadrants.3); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] = note: `#[warn(clippy::needless_return)]` on by default [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 74 - return Some(quadrants.0 * quadrants.1 * quadrants.2 * quadrants.3); [INFO] [stdout] 74 + Some(quadrants.0 * quadrants.1 * quadrants.2 * quadrants.3) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/bin/14.rs:30:13 [INFO] [stdout] | [INFO] [stdout] 30 | return (p1, p2, v1, v2); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 30 - return (p1, p2, v1, v2); [INFO] [stdout] 30 + (p1, p2, v1, v2) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/bin/14.rs:42:13 [INFO] [stdout] | [INFO] [stdout] 42 | return (p1, p2); [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 42 - return (p1, p2); [INFO] [stdout] 42 + (p1, p2) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/bin/14.rs:81:5 [INFO] [stdout] | [INFO] [stdout] 81 | return x % (width - 1); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 81 - return x % (width - 1); [INFO] [stdout] 81 + x % (width - 1) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/bin/14.rs:142:5 [INFO] [stdout] | [INFO] [stdout] 142 | return None; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 142 - return None; [INFO] [stdout] 142 + None [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/bin/14.rs:102:13 [INFO] [stdout] | [INFO] [stdout] 102 | return (p1, p2, v1, v2); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 102 - return (p1, p2, v1, v2); [INFO] [stdout] 102 + (p1, p2, v1, v2) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/bin/14.rs:115:17 [INFO] [stdout] | [INFO] [stdout] 115 | return (p1, p2); [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 115 - return (p1, p2); [INFO] [stdout] 115 + (p1, p2) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/bin/14.rs:146:5 [INFO] [stdout] | [INFO] [stdout] 146 | / return char_matrix [INFO] [stdout] 147 | | .iter() [INFO] [stdout] 148 | | .map(|row| row.iter().collect::()) [INFO] [stdout] 149 | | .collect::>() [INFO] [stdout] 150 | | .join("\n"); [INFO] [stdout] | |___________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 146 ~ char_matrix [INFO] [stdout] 147 + .iter() [INFO] [stdout] 148 + .map(|row| row.iter().collect::()) [INFO] [stdout] 149 + .collect::>() [INFO] [stdout] 150 ~ .join("\n") [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/bin/14.rs:145:46 [INFO] [stdout] | [INFO] [stdout] 145 | fn char_matrix_to_string_matrix(char_matrix: &Vec>) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] = note: `#[warn(clippy::ptr_arg)]` on by default [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 145 - fn char_matrix_to_string_matrix(char_matrix: &Vec>) -> String { [INFO] [stdout] 145 + fn char_matrix_to_string_matrix(char_matrix: &[Vec]) -> String { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/bin/04.rs:39:5 [INFO] [stdout] | [INFO] [stdout] 39 | return Some(result); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] = note: `#[warn(clippy::needless_return)]` on by default [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 39 - return Some(result); [INFO] [stdout] 39 + Some(result) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/bin/04.rs:61:5 [INFO] [stdout] | [INFO] [stdout] 61 | return diag_matrix; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 61 - return diag_matrix; [INFO] [stdout] 61 + diag_matrix [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/bin/04.rs:42:35 [INFO] [stdout] | [INFO] [stdout] 42 | fn rotate_45_degrees(char_matrix: &Vec>) -> Vec> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] = note: `#[warn(clippy::ptr_arg)]` on by default [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 42 - fn rotate_45_degrees(char_matrix: &Vec>) -> Vec> { [INFO] [stdout] 42 + fn rotate_45_degrees(char_matrix: &[Vec]) -> Vec> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`i32` -> `i32`) [INFO] [stdout] --> src/bin/04.rs:52:38 [INFO] [stdout] | [INFO] [stdout] 52 | if i >= 0 && i < cols as i32 && j >= 0 && j < rows as i32 { [INFO] [stdout] | ^^^^^^^^^^^ help: try: `cols` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] = note: `#[warn(clippy::unnecessary_cast)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`i32` -> `i32`) [INFO] [stdout] --> src/bin/04.rs:52:67 [INFO] [stdout] | [INFO] [stdout] 52 | if i >= 0 && i < cols as i32 && j >= 0 && j < rows as i32 { [INFO] [stdout] | ^^^^^^^^^^^ help: try: `rows` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/bin/04.rs:83:5 [INFO] [stdout] | [INFO] [stdout] 83 | return diag_matrix; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 83 - return diag_matrix; [INFO] [stdout] 83 + diag_matrix [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/bin/04.rs:64:39 [INFO] [stdout] | [INFO] [stdout] 64 | fn rotate_neg_45_degrees(char_matrix: &Vec>) -> Vec> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 64 - fn rotate_neg_45_degrees(char_matrix: &Vec>) -> Vec> { [INFO] [stdout] 64 + fn rotate_neg_45_degrees(char_matrix: &[Vec]) -> Vec> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`i32` -> `i32`) [INFO] [stdout] --> src/bin/04.rs:74:38 [INFO] [stdout] | [INFO] [stdout] 74 | if i >= 0 && i < cols as i32 && j >= 0 && j < rows as i32 { [INFO] [stdout] | ^^^^^^^^^^^ help: try: `cols` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`i32` -> `i32`) [INFO] [stdout] --> src/bin/04.rs:74:67 [INFO] [stdout] | [INFO] [stdout] 74 | if i >= 0 && i < cols as i32 && j >= 0 && j < rows as i32 { [INFO] [stdout] | ^^^^^^^^^^^ help: try: `rows` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/bin/03.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | return Some(result); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] = note: `#[warn(clippy::needless_return)]` on by default [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 9 - return Some(result); [INFO] [stdout] 9 + Some(result) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/bin/03.rs:28:5 [INFO] [stdout] | [INFO] [stdout] 28 | return Some(result.0); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 28 - return Some(result.0); [INFO] [stdout] 28 + Some(result.0) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/bin/03.rs:17:23 [INFO] [stdout] | [INFO] [stdout] 17 | "do()" => return (acc.0, true), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 17 - "do()" => return (acc.0, true), [INFO] [stdout] 17 + "do()" => (acc.0, true), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/bin/03.rs:18:26 [INFO] [stdout] | [INFO] [stdout] 18 | "don't()" => return (acc.0, false), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 18 - "don't()" => return (acc.0, false), [INFO] [stdout] 18 + "don't()" => (acc.0, false), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/bin/03.rs:20:17 [INFO] [stdout] | [INFO] [stdout] 20 | / return ( [INFO] [stdout] 21 | | acc.0 [INFO] [stdout] 22 | | + (caps[1].parse::().unwrap() * caps[2].parse::().unwrap()) [INFO] [stdout] 23 | | * acc.1 as u32, [INFO] [stdout] 24 | | acc.1, [INFO] [stdout] 25 | | ) [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 20 ~ ( [INFO] [stdout] 21 + acc.0 [INFO] [stdout] 22 + + (caps[1].parse::().unwrap() * caps[2].parse::().unwrap()) [INFO] [stdout] 23 + * acc.1 as u32, [INFO] [stdout] 24 + acc.1, [INFO] [stdout] 25 + ) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/bin/04.rs:92:5 [INFO] [stdout] | [INFO] [stdout] 92 | return transposed; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 92 - return transposed; [INFO] [stdout] 92 + transposed [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/bin/04.rs:95:50 [INFO] [stdout] | [INFO] [stdout] 95 | pub fn char_matrix_to_string_matrix(char_matrix: &Vec>) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 95 - pub fn char_matrix_to_string_matrix(char_matrix: &Vec>) -> String { [INFO] [stdout] 95 + pub fn char_matrix_to_string_matrix(char_matrix: &[Vec]) -> String { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `result` [INFO] [stdout] --> src/bin/01.rs:43:13 [INFO] [stdout] | [INFO] [stdout] 43 | let result: Option = part_one(&advent_of_code::template::read_file("examples", DAY)); [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_result` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/bin/04.rs:118:5 [INFO] [stdout] | [INFO] [stdout] 118 | return Some(result); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 118 - return Some(result); [INFO] [stdout] 118 + Some(result) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `.fold` can be written more succinctly using another method [INFO] [stdout] --> src/bin/04.rs:113:22 [INFO] [stdout] | [INFO] [stdout] 113 | .fold(true, |acc, s| acc && re_mas_sam.is_match(s)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `all(|s| re_mas_sam.is_match(s))` [INFO] [stdout] | [INFO] [stdout] = note: the `all` method is short circuiting and may change the program semantics if the iterator has side effects [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_fold [INFO] [stdout] = note: `#[warn(clippy::unnecessary_fold)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/bin/04.rs:136:5 [INFO] [stdout] | [INFO] [stdout] 136 | return result; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 136 - return result; [INFO] [stdout] 136 + result [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/bin/04.rs:121:30 [INFO] [stdout] | [INFO] [stdout] 121 | fn diag_strings(char_matrix: &Vec>, i_start: i32, j_start: i32) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 121 - fn diag_strings(char_matrix: &Vec>, i_start: i32, j_start: i32) -> Vec { [INFO] [stdout] 121 + fn diag_strings(char_matrix: &[Vec], i_start: i32, j_start: i32) -> Vec { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: needless parenthesis on range literals can be removed [INFO] [stdout] --> src/bin/04.rs:127:24 [INFO] [stdout] | [INFO] [stdout] 127 | for d in (-1)..(2) { [INFO] [stdout] | ^^^ help: try: `2` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_parens_on_range_literals [INFO] [stdout] = note: `#[warn(clippy::needless_parens_on_range_literals)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`i32` -> `i32`) [INFO] [stdout] --> src/bin/04.rs:130:30 [INFO] [stdout] | [INFO] [stdout] 130 | if i >= 0 && i < rows as i32 && j >= 0 && j < cols { [INFO] [stdout] | ^^^^^^^^^^^ help: try: `rows` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `result` [INFO] [stdout] --> src/bin/01.rs:49:13 [INFO] [stdout] | [INFO] [stdout] 49 | let result = part_two(&advent_of_code::template::read_file("examples", DAY)); [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_result` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/bin/01.rs:17:5 [INFO] [stdout] | [INFO] [stdout] 17 | return Some(diff.iter().sum()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] = note: `#[warn(clippy::needless_return)]` on by default [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 17 - return Some(diff.iter().sum()); [INFO] [stdout] 17 + Some(diff.iter().sum()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting the result of `i32::abs()` to u32 [INFO] [stdout] --> src/bin/01.rs:15:23 [INFO] [stdout] | [INFO] [stdout] 15 | .map(|(a, b)| (a - b).abs() as u32) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: replace with: `(a - b).unsigned_abs()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_abs_to_unsigned [INFO] [stdout] = note: `#[warn(clippy::cast_abs_to_unsigned)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/bin/01.rs:27:5 [INFO] [stdout] | [INFO] [stdout] 27 | / return Some(left_list.iter().fold(0, |acc, x| { [INFO] [stdout] 28 | | acc + (right_list [INFO] [stdout] 29 | | .iter() [INFO] [stdout] 30 | | .filter(|y| *y == x) [INFO] [stdout] ... | [INFO] [stdout] 33 | | * x) [INFO] [stdout] 34 | | })); [INFO] [stdout] | |_______^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 27 ~ Some(left_list.iter().fold(0, |acc, x| { [INFO] [stdout] 28 + acc + (right_list [INFO] [stdout] 29 + .iter() [INFO] [stdout] 30 + .filter(|y| *y == x) [INFO] [stdout] 31 + .collect::>() [INFO] [stdout] 32 + .len() as u32 [INFO] [stdout] 33 + * x) [INFO] [stdout] 34 ~ })) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/bin/15.rs:83:5 [INFO] [stdout] | [INFO] [stdout] 83 | return Some(get_gps(&warehouse)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] = note: `#[warn(clippy::needless_return)]` on by default [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 83 - return Some(get_gps(&warehouse)); [INFO] [stdout] 83 + Some(get_gps(&warehouse)) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `start_coord` [INFO] [stdout] --> src/bin/20.rs:106:5 [INFO] [stdout] | [INFO] [stdout] 106 | start_coord: (usize, usize), [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_start_coord` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/bin/08.rs:84:5 [INFO] [stdout] | [INFO] [stdout] 84 | return Some(nodes.len() as u32); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 84 - return Some(nodes.len() as u32); [INFO] [stdout] 84 + Some(nodes.len() as u32) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `j` is only used to index `coords` [INFO] [stdout] --> src/bin/08.rs:65:22 [INFO] [stdout] | [INFO] [stdout] 65 | for j in i + 1..coords.len() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator [INFO] [stdout] | [INFO] [stdout] 65 - for j in i + 1..coords.len() { [INFO] [stdout] 65 + for in coords.iter().skip(i + 1) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/bin/20.rs:23:5 [INFO] [stdout] | [INFO] [stdout] 23 | return Some(num_cheats); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] = note: `#[warn(clippy::needless_return)]` on by default [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 23 - return Some(num_cheats); [INFO] [stdout] 23 + Some(num_cheats) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/bin/20.rs:41:5 [INFO] [stdout] | [INFO] [stdout] 41 | return adjacents; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 41 - return adjacents; [INFO] [stdout] 41 + adjacents [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `input` [INFO] [stdout] --> src/bin/22.rs:3:17 [INFO] [stdout] | [INFO] [stdout] 3 | pub fn part_one(input: &str) -> Option { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_input` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `input` [INFO] [stdout] --> src/bin/22.rs:7:17 [INFO] [stdout] | [INFO] [stdout] 7 | pub fn part_two(input: &str) -> Option { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_input` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/bin/20.rs:76:5 [INFO] [stdout] | [INFO] [stdout] 76 | return None; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 76 - return None; [INFO] [stdout] 76 + None [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/bin/20.rs:45:11 [INFO] [stdout] | [INFO] [stdout] 45 | grid: &Vec>, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] = note: `#[warn(clippy::ptr_arg)]` on by default [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 45 - grid: &Vec>, [INFO] [stdout] 45 + grid: &[Vec], [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/bin/15.rs:87:5 [INFO] [stdout] | [INFO] [stdout] 87 | / return char_matrix [INFO] [stdout] 88 | | .iter() [INFO] [stdout] 89 | | .map(|row| row.iter().collect::()) [INFO] [stdout] 90 | | .collect::>() [INFO] [stdout] 91 | | .join("\n"); [INFO] [stdout] | |___________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 87 ~ char_matrix [INFO] [stdout] 88 + .iter() [INFO] [stdout] 89 + .map(|row| row.iter().collect::()) [INFO] [stdout] 90 + .collect::>() [INFO] [stdout] 91 ~ .join("\n") [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/bin/15.rs:86:46 [INFO] [stdout] | [INFO] [stdout] 86 | fn char_matrix_to_string_matrix(char_matrix: &Vec>) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] = note: `#[warn(clippy::ptr_arg)]` on by default [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 86 - fn char_matrix_to_string_matrix(char_matrix: &Vec>) -> String { [INFO] [stdout] 86 + fn char_matrix_to_string_matrix(char_matrix: &[Vec]) -> String { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/bin/15.rs:103:5 [INFO] [stdout] | [INFO] [stdout] 103 | return gps as u32; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 103 - return gps as u32; [INFO] [stdout] 103 + gps as u32 [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/bin/15.rs:94:23 [INFO] [stdout] | [INFO] [stdout] 94 | fn get_gps(warehouse: &Vec>) -> u32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 94 - fn get_gps(warehouse: &Vec>) -> u32 { [INFO] [stdout] 94 + fn get_gps(warehouse: &[Vec]) -> u32 { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/bin/15.rs:233:5 [INFO] [stdout] | [INFO] [stdout] 233 | return Some(get_gps(&warehouse) as u32); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 233 - return Some(get_gps(&warehouse) as u32); [INFO] [stdout] 233 + Some(get_gps(&warehouse) as u32) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/bin/20.rs:101:5 [INFO] [stdout] | [INFO] [stdout] 101 | return adjacents; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 101 - return adjacents; [INFO] [stdout] 101 + adjacents [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/bin/20.rs:126:5 [INFO] [stdout] | [INFO] [stdout] 126 | return searched_distance; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 126 - return searched_distance; [INFO] [stdout] 126 + searched_distance [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/bin/20.rs:105:11 [INFO] [stdout] | [INFO] [stdout] 105 | grid: &Vec>, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 105 - grid: &Vec>, [INFO] [stdout] 105 + grid: &[Vec], [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`u32` -> `u32`) [INFO] [stdout] --> src/bin/15.rs:233:17 [INFO] [stdout] | [INFO] [stdout] 233 | return Some(get_gps(&warehouse) as u32); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `get_gps(&warehouse)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] = note: `#[warn(clippy::unnecessary_cast)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/bin/20.rs:154:5 [INFO] [stdout] | [INFO] [stdout] 154 | return num_cheats; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 154 - return num_cheats; [INFO] [stdout] 154 + num_cheats [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/bin/20.rs:136:39 [INFO] [stdout] | [INFO] [stdout] 136 | let start_to_end = get_search_map(&grid, start_coord, end_coord); [INFO] [stdout] | ^^^^^ help: change this to: `grid` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] = note: `#[warn(clippy::needless_borrow)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/bin/20.rs:137:39 [INFO] [stdout] | [INFO] [stdout] 137 | let end_to_start = get_search_map(&grid, end_coord, start_coord); [INFO] [stdout] | ^^^^^ help: change this to: `grid` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/bin/20.rs:173:5 [INFO] [stdout] | [INFO] [stdout] 173 | return Some(num_cheats); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 173 - return Some(num_cheats); [INFO] [stdout] 173 + Some(num_cheats) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/bin/07.rs:52:5 [INFO] [stdout] | [INFO] [stdout] 52 | return Some(final_sum); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] = note: `#[warn(clippy::needless_return)]` on by default [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 52 - return Some(final_sum); [INFO] [stdout] 52 + Some(final_sum) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/bin/07.rs:42:25 [INFO] [stdout] | [INFO] [stdout] 42 | return acc + *x; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 42 - return acc + *x; [INFO] [stdout] 42 + acc + *x [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/bin/07.rs:100:5 [INFO] [stdout] | [INFO] [stdout] 100 | return Some(final_sum); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 100 - return Some(final_sum); [INFO] [stdout] 100 + Some(final_sum) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/bin/07.rs:90:25 [INFO] [stdout] | [INFO] [stdout] 90 | return acc + *x; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 90 - return acc + *x; [INFO] [stdout] 90 + acc + *x [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/bin/07.rs:117:5 [INFO] [stdout] | [INFO] [stdout] 117 | return string_result; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 117 - return string_result; [INFO] [stdout] 117 + string_result [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 12.77s [INFO] running `Command { std: "docker" "inspect" "c0f1e751c0bc4232a0bbe2b5c45920548473204dcb0011985e859ad56976cf2c", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "c0f1e751c0bc4232a0bbe2b5c45920548473204dcb0011985e859ad56976cf2c", kill_on_drop: false }` [INFO] [stdout] c0f1e751c0bc4232a0bbe2b5c45920548473204dcb0011985e859ad56976cf2c