[INFO] cloning repository https://github.com/mahmoudsalmi/aoc2022 [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/mahmoudsalmi/aoc2022" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmahmoudsalmi%2Faoc2022", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmahmoudsalmi%2Faoc2022'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] c95c334ddbb9185a08373e4b07e038643f1d7c78 [INFO] linting mahmoudsalmi/aoc2022 against nightly for clippy-nonminimal_bool-denied [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmahmoudsalmi%2Faoc2022" "/workspace/builds/worker-2-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc1/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/mahmoudsalmi/aoc2022 [INFO] finished tweaking git repo https://github.com/mahmoudsalmi/aoc2022 [INFO] tweaked toml for git repo https://github.com/mahmoudsalmi/aoc2022 written to /workspace/builds/worker-2-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/mahmoudsalmi/aoc2022 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/mahmoudsalmi/aoc2022 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] 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] 7013a81281cd2d4da49063ccc9a094d8cd8176deea559dccb130f359472286a6 [INFO] running `Command { std: "docker" "start" "-a" "7013a81281cd2d4da49063ccc9a094d8cd8176deea559dccb130f359472286a6", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "7013a81281cd2d4da49063ccc9a094d8cd8176deea559dccb130f359472286a6", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "7013a81281cd2d4da49063ccc9a094d8cd8176deea559dccb130f359472286a6", kill_on_drop: false }` [INFO] [stdout] 7013a81281cd2d4da49063ccc9a094d8cd8176deea559dccb130f359472286a6 [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] 535af031ab9da78ba71cd65e5bd25c6e1029dd0dc735b229081884d76b03396f [INFO] running `Command { std: "docker" "start" "-a" "535af031ab9da78ba71cd65e5bd25c6e1029dd0dc735b229081884d76b03396f", kill_on_drop: false }` [INFO] [stderr] Checking aoc2022 v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: constants have by default a `'static` lifetime [INFO] [stdout] --> src/bin/day07.rs:3:14 [INFO] [stdout] | [INFO] [stdout] 3 | const YEAR: &'static str = "2022"; [INFO] [stdout] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_static_lifetimes [INFO] [stdout] = note: `#[warn(clippy::redundant_static_lifetimes)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constants have by default a `'static` lifetime [INFO] [stdout] --> src/bin/day07.rs:4:13 [INFO] [stdout] | [INFO] [stdout] 4 | const DAY: &'static str = "07"; [INFO] [stdout] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_static_lifetimes [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constants have by default a `'static` lifetime [INFO] [stdout] --> src/bin/day06.rs:3:14 [INFO] [stdout] | [INFO] [stdout] 3 | const YEAR: &'static str = "2022"; [INFO] [stdout] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_static_lifetimes [INFO] [stdout] = note: `#[warn(clippy::redundant_static_lifetimes)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constants have by default a `'static` lifetime [INFO] [stdout] --> src/bin/day06.rs:4:13 [INFO] [stdout] | [INFO] [stdout] 4 | const DAY: &'static str = "06"; [INFO] [stdout] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_static_lifetimes [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constants have by default a `'static` lifetime [INFO] [stdout] --> src/bin/day14.rs:9:14 [INFO] [stdout] | [INFO] [stdout] 9 | const YEAR: &'static str = "2022"; [INFO] [stdout] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_static_lifetimes [INFO] [stdout] = note: `#[warn(clippy::redundant_static_lifetimes)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constants have by default a `'static` lifetime [INFO] [stdout] --> src/bin/day14.rs:10:13 [INFO] [stdout] | [INFO] [stdout] 10 | const DAY: &'static str = "14"; [INFO] [stdout] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_static_lifetimes [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `>= y + 1` or `x - 1 >=` [INFO] [stdout] --> src/bin/day14.rs:183:38 [INFO] [stdout] | [INFO] [stdout] 183 | } else if self.with_floor && point.y >= self.deepest_line + 1 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change it to: `point.y > self.deepest_line` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#int_plus_one [INFO] [stdout] = note: `#[warn(clippy::int_plus_one)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constants have by default a `'static` lifetime [INFO] [stdout] --> src/bin/day07.rs:3:14 [INFO] [stdout] | [INFO] [stdout] 3 | const YEAR: &'static str = "2022"; [INFO] [stdout] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_static_lifetimes [INFO] [stdout] = note: `#[warn(clippy::redundant_static_lifetimes)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constants have by default a `'static` lifetime [INFO] [stdout] --> src/bin/day07.rs:4:13 [INFO] [stdout] | [INFO] [stdout] 4 | const DAY: &'static str = "07"; [INFO] [stdout] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_static_lifetimes [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constants have by default a `'static` lifetime [INFO] [stdout] --> src/bin/day09.rs:7:14 [INFO] [stdout] | [INFO] [stdout] 7 | const YEAR: &'static str = "2022"; [INFO] [stdout] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_static_lifetimes [INFO] [stdout] = note: `#[warn(clippy::redundant_static_lifetimes)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constants have by default a `'static` lifetime [INFO] [stdout] --> src/bin/day09.rs:8:13 [INFO] [stdout] | [INFO] [stdout] 8 | const DAY: &'static str = "09"; [INFO] [stdout] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_static_lifetimes [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constants have by default a `'static` lifetime [INFO] [stdout] --> src/bin/day11.rs:3:14 [INFO] [stdout] | [INFO] [stdout] 3 | const YEAR: &'static str = "2022"; [INFO] [stdout] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_static_lifetimes [INFO] [stdout] = note: `#[warn(clippy::redundant_static_lifetimes)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constants have by default a `'static` lifetime [INFO] [stdout] --> src/bin/day11.rs:4:13 [INFO] [stdout] | [INFO] [stdout] 4 | const DAY: &'static str = "11"; [INFO] [stdout] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_static_lifetimes [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: returning the result of a `let` binding from a block [INFO] [stdout] --> src/bin/day07.rs:61:9 [INFO] [stdout] | [INFO] [stdout] 58 | / let res = [parent.idx(nodes), self.name.clone()] [INFO] [stdout] 59 | | .map(|i| if i == "/" { "".to_owned() } else { i }) [INFO] [stdout] 60 | | .join("/"); [INFO] [stdout] | |_______________________- unnecessary `let` binding [INFO] [stdout] 61 | res [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return [INFO] [stdout] = note: `#[warn(clippy::let_and_return)]` on by default [INFO] [stdout] help: return the expression directly [INFO] [stdout] | [INFO] [stdout] 58 ~ [INFO] [stdout] 59 ~ [parent.idx(nodes), self.name.clone()] [INFO] [stdout] 60 + .map(|i| if i == "/" { "".to_owned() } else { i }) [INFO] [stdout] 61 + .join("/") [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `map(..).flatten()` on `Option` [INFO] [stdout] --> src/bin/day07.rs:54:14 [INFO] [stdout] | [INFO] [stdout] 54 | .map(|name| nodes.get(&name)) [INFO] [stdout] | ______________^ [INFO] [stdout] 55 | | .flatten() [INFO] [stdout] | |______________________^ help: try replacing `map` with `and_then` and remove the `.flatten()`: `and_then(|name| nodes.get(&name))` [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] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `self.childs` after checking its variant with `is_some` [INFO] [stdout] --> src/bin/day07.rs:66:44 [INFO] [stdout] | [INFO] [stdout] 65 | if self.childs.is_some() { [INFO] [stdout] | ------------------------ help: try: `if let Some() = &mut self.childs` [INFO] [stdout] 66 | let childs: &mut Vec = self.childs.as_mut().unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] = note: `#[warn(clippy::unnecessary_unwrap)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/bin/day07.rs:118:15 [INFO] [stdout] | [INFO] [stdout] 118 | while !parent.is_none() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: try: `parent.is_some()` [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: called `map(..).flatten()` on `Option` [INFO] [stdout] --> src/bin/day07.rs:111:14 [INFO] [stdout] | [INFO] [stdout] 111 | .map(|name| nodes.get_mut(&name.clone())) [INFO] [stdout] | ______________^ [INFO] [stdout] 112 | | .flatten(); [INFO] [stdout] | |______________________^ help: try replacing `map` with `and_then` and remove the `.flatten()`: `and_then(|name| nodes.get_mut(&name.clone()))` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_flatten [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `map(..).flatten()` on `Option` [INFO] [stdout] --> src/bin/day07.rs:126:18 [INFO] [stdout] | [INFO] [stdout] 126 | .map(|name| nodes.get_mut(&name.clone())) [INFO] [stdout] | __________________^ [INFO] [stdout] 127 | | .flatten(); [INFO] [stdout] | |__________________________^ help: try replacing `map` with `and_then` and remove the `.flatten()`: `and_then(|name| nodes.get_mut(&name.clone()))` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_flatten [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: consider using `sort_by_key` [INFO] [stdout] --> src/bin/day07.rs:244:5 [INFO] [stdout] | [INFO] [stdout] 244 | dirs.sort_by(|a, b| a.size.cmp(&b.size)); [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] 244 - dirs.sort_by(|a, b| a.size.cmp(&b.size)); [INFO] [stdout] 244 + dirs.sort_by_key(|a| a.size); [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/day07.rs:256:51 [INFO] [stdout] | [INFO] [stdout] 256 | println!("Test :: Part 1 ====> {}", part1(&test_data)); [INFO] [stdout] | ^^^^^^^^^^ help: change this to: `test_data` [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/day07.rs:257:51 [INFO] [stdout] | [INFO] [stdout] 257 | println!("Test :: Part 2 ====> {}", part2(&test_data)); [INFO] [stdout] | ^^^^^^^^^^ help: change this to: `test_data` [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: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/bin/day07.rs:261:51 [INFO] [stdout] | [INFO] [stdout] 261 | println!("Input:: Part 1 ====> {}", part1(&input_data)); [INFO] [stdout] | ^^^^^^^^^^^ help: change this to: `input_data` [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: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/bin/day07.rs:262:51 [INFO] [stdout] | [INFO] [stdout] 262 | println!("Input:: Part 2 ====> {}", part2(&input_data)); [INFO] [stdout] | ^^^^^^^^^^^ help: change this to: `input_data` [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: this `.into_iter()` call is equivalent to `.iter()` and will not consume the `slice` [INFO] [stdout] --> src/bin/day06.rs:13:27 [INFO] [stdout] | [INFO] [stdout] 13 | if subroutine.into_iter().collect::>().len() == size { [INFO] [stdout] | ^^^^^^^^^ help: call directly: `iter` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#into_iter_on_ref [INFO] [stdout] = note: `#[warn(clippy::into_iter_on_ref)]` 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/day06.rs:38:51 [INFO] [stdout] | [INFO] [stdout] 38 | println!("Test :: Part 1 ====> {}", part1(&test_data)); [INFO] [stdout] | ^^^^^^^^^^ help: change this to: `test_data` [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/day06.rs:39:51 [INFO] [stdout] | [INFO] [stdout] 39 | println!("Test :: Part 2 ====> {}", part2(&test_data)); [INFO] [stdout] | ^^^^^^^^^^ help: change this to: `test_data` [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: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/bin/day06.rs:43:51 [INFO] [stdout] | [INFO] [stdout] 43 | println!("Input:: Part 1 ====> {}", part1(&input_data)); [INFO] [stdout] | ^^^^^^^^^^^ help: change this to: `input_data` [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: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/bin/day06.rs:44:51 [INFO] [stdout] | [INFO] [stdout] 44 | println!("Input:: Part 2 ====> {}", part2(&input_data)); [INFO] [stdout] | ^^^^^^^^^^^ help: change this to: `input_data` [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: constants have by default a `'static` lifetime [INFO] [stdout] --> src/bin/day08.rs:3:14 [INFO] [stdout] | [INFO] [stdout] 3 | const YEAR: &'static str = "2022"; [INFO] [stdout] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_static_lifetimes [INFO] [stdout] = note: `#[warn(clippy::redundant_static_lifetimes)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constants have by default a `'static` lifetime [INFO] [stdout] --> src/bin/day08.rs:4:13 [INFO] [stdout] | [INFO] [stdout] 4 | const DAY: &'static str = "08"; [INFO] [stdout] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_static_lifetimes [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constants have by default a `'static` lifetime [INFO] [stdout] --> src/bin/day16_not_correct.rs:3:14 [INFO] [stdout] | [INFO] [stdout] 3 | const YEAR: &'static str = "2022"; [INFO] [stdout] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_static_lifetimes [INFO] [stdout] = note: `#[warn(clippy::redundant_static_lifetimes)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constants have by default a `'static` lifetime [INFO] [stdout] --> src/bin/day16_not_correct.rs:4:13 [INFO] [stdout] | [INFO] [stdout] 4 | const DAY: &'static str = "16"; [INFO] [stdout] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_static_lifetimes [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: accessing first element with `parts.get(0)` [INFO] [stdout] --> src/bin/day14.rs:58:16 [INFO] [stdout] | [INFO] [stdout] 58 | x: parts.get(0).unwrap().parse().unwrap(), [INFO] [stdout] | ^^^^^^^^^^^^ help: try: `parts.first()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_first [INFO] [stdout] = note: `#[warn(clippy::get_first)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/bin/day14.rs:98:27 [INFO] [stdout] | [INFO] [stdout] 98 | fn build_lines(edges: &Vec, line_type: LineType) -> (usize, Lines) { [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] 98 - fn build_lines(edges: &Vec, line_type: LineType) -> (usize, Lines) { [INFO] [stdout] 98 + fn build_lines(edges: &[Point], line_type: LineType) -> (usize, Lines) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of `or_insert` to construct default value [INFO] [stdout] --> src/bin/day14.rs:139:60 [INFO] [stdout] | [INFO] [stdout] 139 | let res_ranges = self.vertical_lines.entry(*y).or_insert(HashSet::new()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `or_default()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unwrap_or_default [INFO] [stdout] = note: `#[warn(clippy::unwrap_or_default)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constants have by default a `'static` lifetime [INFO] [stdout] --> src/bin/day03.rs:3:14 [INFO] [stdout] | [INFO] [stdout] 3 | const YEAR: &'static str = "2022"; [INFO] [stdout] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_static_lifetimes [INFO] [stdout] = note: `#[warn(clippy::redundant_static_lifetimes)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of `or_insert` to construct default value [INFO] [stdout] --> src/bin/day14.rs:145:62 [INFO] [stdout] | [INFO] [stdout] 145 | let res_ranges = self.horizontal_lines.entry(*y).or_insert(HashSet::new()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `or_default()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unwrap_or_default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constants have by default a `'static` lifetime [INFO] [stdout] --> src/bin/day03.rs:4:13 [INFO] [stdout] | [INFO] [stdout] 4 | const DAY: &'static str = "03"; [INFO] [stdout] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_static_lifetimes [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` has identical blocks [INFO] [stdout] --> src/bin/day14.rs:181:40 [INFO] [stdout] | [INFO] [stdout] 181 | if self.sands.contains(&point) { [INFO] [stdout] | ________________________________________^ [INFO] [stdout] 182 | | None [INFO] [stdout] 183 | | } else if self.with_floor && point.y >= self.deepest_line + 1 { [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] note: same as this [INFO] [stdout] --> src/bin/day14.rs:183:71 [INFO] [stdout] | [INFO] [stdout] 183 | } else if self.with_floor && point.y >= self.deepest_line + 1 { [INFO] [stdout] | _______________________________________________________________________^ [INFO] [stdout] 184 | | None [INFO] [stdout] 185 | | } else if !self.with_floor && point.y >= self.deepest_line { [INFO] [stdout] | |_________^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#if_same_then_else [INFO] [stdout] = note: `#[warn(clippy::if_same_then_else)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` has identical blocks [INFO] [stdout] --> src/bin/day14.rs:183:71 [INFO] [stdout] | [INFO] [stdout] 183 | } else if self.with_floor && point.y >= self.deepest_line + 1 { [INFO] [stdout] | _______________________________________________________________________^ [INFO] [stdout] 184 | | None [INFO] [stdout] 185 | | } else if !self.with_floor && point.y >= self.deepest_line { [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] note: same as this [INFO] [stdout] --> src/bin/day14.rs:185:68 [INFO] [stdout] | [INFO] [stdout] 185 | } else if !self.with_floor && point.y >= self.deepest_line { [INFO] [stdout] | ____________________________________________________________________^ [INFO] [stdout] 186 | | None [INFO] [stdout] 187 | | } else { [INFO] [stdout] | |_________^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#if_same_then_else [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/bin/day14.rs:181:32 [INFO] [stdout] | [INFO] [stdout] 181 | if self.sands.contains(&point) { [INFO] [stdout] | ^^^^^^ help: change this to: `point` [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: you are using an explicit closure for copying elements [INFO] [stdout] --> src/bin/day14.rs:190:13 [INFO] [stdout] | [INFO] [stdout] 190 | / [ [INFO] [stdout] 191 | | Point::new(*x, *y + 1), [INFO] [stdout] 192 | | Point::new(x - 1, y + 1), [INFO] [stdout] 193 | | Point::new(x + 1, y + 1), [INFO] [stdout] 194 | | ] [INFO] [stdout] 195 | | .iter() [INFO] [stdout] 196 | | .map(|p| *p) [INFO] [stdout] | |________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_clone [INFO] [stdout] = note: `#[warn(clippy::map_clone)]` on by default [INFO] [stdout] help: consider calling the dedicated `copied` method [INFO] [stdout] | [INFO] [stdout] 190 ~ [ [INFO] [stdout] 191 + Point::new(*x, *y + 1), [INFO] [stdout] 192 + Point::new(x - 1, y + 1), [INFO] [stdout] 193 + Point::new(x + 1, y + 1), [INFO] [stdout] 194 + ] [INFO] [stdout] 195 + .iter().copied() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constants have by default a `'static` lifetime [INFO] [stdout] --> src/bin/day09.rs:7:14 [INFO] [stdout] | [INFO] [stdout] 7 | const YEAR: &'static str = "2022"; [INFO] [stdout] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_static_lifetimes [INFO] [stdout] = note: `#[warn(clippy::redundant_static_lifetimes)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constants have by default a `'static` lifetime [INFO] [stdout] --> src/bin/day09.rs:8:13 [INFO] [stdout] | [INFO] [stdout] 8 | const DAY: &'static str = "09"; [INFO] [stdout] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_static_lifetimes [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Point` which implements the `Copy` trait [INFO] [stdout] --> src/bin/day14.rs:202:30 [INFO] [stdout] | [INFO] [stdout] 202 | let mut next_point = point.clone(); [INFO] [stdout] | ^^^^^^^^^^^^^ help: try dereferencing it: `*point` [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: this loop could be written as a `while let` loop [INFO] [stdout] --> src/bin/day14.rs:204:9 [INFO] [stdout] | [INFO] [stdout] 204 | / loop { [INFO] [stdout] 205 | | match self.next_point(&next_point) { [INFO] [stdout] 206 | | Some(p) => { [INFO] [stdout] 207 | | next_point = p; [INFO] [stdout] ... | [INFO] [stdout] 213 | | } [INFO] [stdout] | |_________^ help: try: `while let Some(p) = self.next_point(&next_point) { .. }` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#while_let_loop [INFO] [stdout] = note: `#[warn(clippy::while_let_loop)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` has identical blocks [INFO] [stdout] --> src/bin/day14.rs:215:66 [INFO] [stdout] | [INFO] [stdout] 215 | if !self.with_floor && next_point.y >= self.deepest_line { [INFO] [stdout] | __________________________________________________________________^ [INFO] [stdout] 216 | | None [INFO] [stdout] 217 | | } else if self.sands.contains(&next_point) { [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] note: same as this [INFO] [stdout] --> src/bin/day14.rs:217:52 [INFO] [stdout] | [INFO] [stdout] 217 | } else if self.sands.contains(&next_point) { [INFO] [stdout] | ____________________________________________________^ [INFO] [stdout] 218 | | None [INFO] [stdout] 219 | | } else { [INFO] [stdout] | |_________^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#if_same_then_else [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Point` which implements the `Copy` trait [INFO] [stdout] --> src/bin/day14.rs:220:31 [INFO] [stdout] | [INFO] [stdout] 220 | self.sands.insert(next_point.clone()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `next_point` [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: constants have by default a `'static` lifetime [INFO] [stdout] --> src/bin/day01.rs:3:14 [INFO] [stdout] | [INFO] [stdout] 3 | const YEAR: &'static str = "2022"; [INFO] [stdout] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_static_lifetimes [INFO] [stdout] = note: `#[warn(clippy::redundant_static_lifetimes)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constants have by default a `'static` lifetime [INFO] [stdout] --> src/bin/day01.rs:4:13 [INFO] [stdout] | [INFO] [stdout] 4 | const DAY: &'static str = "01"; [INFO] [stdout] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_static_lifetimes [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: binary comparison to literal `Option::None` [INFO] [stdout] --> src/bin/day14.rs:257:11 [INFO] [stdout] | [INFO] [stdout] 257 | while all_path.add_point_rest(&start_sand) != None {} [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `Option::is_some()` instead: `all_path.add_point_rest(&start_sand).is_some()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#partialeq_to_none [INFO] [stdout] = note: `#[warn(clippy::partialeq_to_none)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant pattern matching, consider using `is_some()` [INFO] [stdout] --> src/bin/day14.rs:271:15 [INFO] [stdout] | [INFO] [stdout] 271 | while let Some(_) = all_path.add_point_rest(&start_sand) {} [INFO] [stdout] | ----------^^^^^^^--------------------------------------- help: try: `while all_path.add_point_rest(&start_sand).is_some()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stdout] = note: `#[warn(clippy::redundant_pattern_matching)]` 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/day14.rs:284:51 [INFO] [stdout] | [INFO] [stdout] 284 | println!("Test :: Part 1 ====> {}", part1(&test_data)); [INFO] [stdout] | ^^^^^^^^^^ help: change this to: `test_data` [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: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/bin/day14.rs:285:51 [INFO] [stdout] | [INFO] [stdout] 285 | println!("Test :: Part 2 ====> {}", part2(&test_data)); [INFO] [stdout] | ^^^^^^^^^^ help: change this to: `test_data` [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: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/bin/day14.rs:289:51 [INFO] [stdout] | [INFO] [stdout] 289 | println!("Input:: Part 1 ====> {}", part1(&input_data)); [INFO] [stdout] | ^^^^^^^^^^^ help: change this to: `input_data` [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: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/bin/day14.rs:290:51 [INFO] [stdout] | [INFO] [stdout] 290 | println!("Input:: Part 2 ====> {}", part2(&input_data)); [INFO] [stdout] | ^^^^^^^^^^^ help: change this to: `input_data` [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: constants have by default a `'static` lifetime [INFO] [stdout] --> src/bin/day05.rs:3:14 [INFO] [stdout] | [INFO] [stdout] 3 | const YEAR: &'static str = "2022"; [INFO] [stdout] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_static_lifetimes [INFO] [stdout] = note: `#[warn(clippy::redundant_static_lifetimes)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constants have by default a `'static` lifetime [INFO] [stdout] --> src/bin/day05.rs:4:13 [INFO] [stdout] | [INFO] [stdout] 4 | const DAY: &'static str = "05"; [INFO] [stdout] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_static_lifetimes [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constants have by default a `'static` lifetime [INFO] [stdout] --> src/bin/day13.rs:3:14 [INFO] [stdout] | [INFO] [stdout] 3 | const YEAR: &'static str = "2022"; [INFO] [stdout] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_static_lifetimes [INFO] [stdout] = note: `#[warn(clippy::redundant_static_lifetimes)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constants have by default a `'static` lifetime [INFO] [stdout] --> src/bin/day13.rs:4:13 [INFO] [stdout] | [INFO] [stdout] 4 | const DAY: &'static str = "13"; [INFO] [stdout] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_static_lifetimes [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you are using an explicit closure for copying elements [INFO] [stdout] --> src/bin/day16_not_correct.rs:59:34 [INFO] [stdout] | [INFO] [stdout] 59 | let mut values: Vec = rates.values().map(|v| v.clone()).collect(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider calling the dedicated `copied` method: `rates.values().copied()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_clone [INFO] [stdout] = note: `#[warn(clippy::map_clone)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `usize` which implements the `Copy` trait [INFO] [stdout] --> src/bin/day16_not_correct.rs:59:57 [INFO] [stdout] | [INFO] [stdout] 59 | let mut values: Vec = rates.values().map(|v| v.clone()).collect(); [INFO] [stdout] | ^^^^^^^^^ help: try dereferencing it: `*v` [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 `usize` which implements the `Copy` trait [INFO] [stdout] --> src/bin/day16_not_correct.rs:61:27 [INFO] [stdout] | [INFO] [stdout] 61 | let mut remain_time = remain_time.clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `remain_time` [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: using `clone` on type `usize` which implements the `Copy` trait [INFO] [stdout] --> src/bin/day16_not_correct.rs:92:20 [INFO] [stdout] | [INFO] [stdout] 92 | let time = time.clone() - 1; [INFO] [stdout] | ^^^^^^^^^^^^ help: try removing the `clone` call: `time` [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: constants have by default a `'static` lifetime [INFO] [stdout] --> src/bin/day06.rs:3:14 [INFO] [stdout] | [INFO] [stdout] 3 | const YEAR: &'static str = "2022"; [INFO] [stdout] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_static_lifetimes [INFO] [stdout] = note: `#[warn(clippy::redundant_static_lifetimes)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constants have by default a `'static` lifetime [INFO] [stdout] --> src/bin/day06.rs:4:13 [INFO] [stdout] | [INFO] [stdout] 4 | const DAY: &'static str = "06"; [INFO] [stdout] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_static_lifetimes [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/bin/day16_not_correct.rs:191:51 [INFO] [stdout] | [INFO] [stdout] 191 | println!("Test :: Part 1 ====> {}", part1(&test_data)); [INFO] [stdout] | ^^^^^^^^^^ help: change this to: `test_data` [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/day16_not_correct.rs:192:51 [INFO] [stdout] | [INFO] [stdout] 192 | println!("Test :: Part 2 ====> {}", part2(&test_data)); [INFO] [stdout] | ^^^^^^^^^^ help: change this to: `test_data` [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: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/bin/day16_not_correct.rs:196:51 [INFO] [stdout] | [INFO] [stdout] 196 | println!("Input:: Part 1 ====> {}", part1(&input_data)); [INFO] [stdout] | ^^^^^^^^^^^ help: change this to: `input_data` [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: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/bin/day16_not_correct.rs:197:51 [INFO] [stdout] | [INFO] [stdout] 197 | println!("Input:: Part 2 ====> {}", part2(&input_data)); [INFO] [stdout] | ^^^^^^^^^^^ help: change this to: `input_data` [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: this `.into_iter()` call is equivalent to `.iter()` and will not consume the `slice` [INFO] [stdout] --> src/bin/day06.rs:13:27 [INFO] [stdout] | [INFO] [stdout] 13 | if subroutine.into_iter().collect::>().len() == size { [INFO] [stdout] | ^^^^^^^^^ help: call directly: `iter` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#into_iter_on_ref [INFO] [stdout] = note: `#[warn(clippy::into_iter_on_ref)]` 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/day06.rs:38:51 [INFO] [stdout] | [INFO] [stdout] 38 | println!("Test :: Part 1 ====> {}", part1(&test_data)); [INFO] [stdout] | ^^^^^^^^^^ help: change this to: `test_data` [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/day06.rs:39:51 [INFO] [stdout] | [INFO] [stdout] 39 | println!("Test :: Part 2 ====> {}", part2(&test_data)); [INFO] [stdout] | ^^^^^^^^^^ help: change this to: `test_data` [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: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/bin/day06.rs:43:51 [INFO] [stdout] | [INFO] [stdout] 43 | println!("Input:: Part 1 ====> {}", part1(&input_data)); [INFO] [stdout] | ^^^^^^^^^^^ help: change this to: `input_data` [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: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/bin/day06.rs:44:51 [INFO] [stdout] | [INFO] [stdout] 44 | println!("Input:: Part 2 ====> {}", part2(&input_data)); [INFO] [stdout] | ^^^^^^^^^^^ help: change this to: `input_data` [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: constants have by default a `'static` lifetime [INFO] [stdout] --> src/bin/day05.rs:3:14 [INFO] [stdout] | [INFO] [stdout] 3 | const YEAR: &'static str = "2022"; [INFO] [stdout] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_static_lifetimes [INFO] [stdout] = note: `#[warn(clippy::redundant_static_lifetimes)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constants have by default a `'static` lifetime [INFO] [stdout] --> src/bin/day04.rs:3:14 [INFO] [stdout] | [INFO] [stdout] 3 | const YEAR: &'static str = "2022"; [INFO] [stdout] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_static_lifetimes [INFO] [stdout] = note: `#[warn(clippy::redundant_static_lifetimes)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constants have by default a `'static` lifetime [INFO] [stdout] --> src/bin/day04.rs:4:13 [INFO] [stdout] | [INFO] [stdout] 4 | const DAY: &'static str = "04"; [INFO] [stdout] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_static_lifetimes [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constants have by default a `'static` lifetime [INFO] [stdout] --> src/bin/day05.rs:4:13 [INFO] [stdout] | [INFO] [stdout] 4 | const DAY: &'static str = "05"; [INFO] [stdout] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_static_lifetimes [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you are using an explicit closure for copying elements [INFO] [stdout] --> src/bin/day01.rs:17:5 [INFO] [stdout] | [INFO] [stdout] 17 | to_elf_calories(data).iter().map(|&x| x).max().unwrap() [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider calling the dedicated `copied` method: `to_elf_calories(data).iter().copied()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_clone [INFO] [stdout] = note: `#[warn(clippy::map_clone)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless conversion to the same type: `std::ops::Range` [INFO] [stdout] --> src/bin/day09.rs:80:13 [INFO] [stdout] | [INFO] [stdout] 80 | / (0..self.size) [INFO] [stdout] 81 | | .into_iter() [INFO] [stdout] | |____________________________^ help: consider removing `.into_iter()`: `(0..self.size)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] = note: `#[warn(clippy::useless_conversion)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Position` which implements the `Copy` trait [INFO] [stdout] --> src/bin/day09.rs:85:32 [INFO] [stdout] | [INFO] [stdout] 85 | let head = self.knots.get(&window[0]).expect("NO HEAD!").clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try dereferencing it: `*self.knots.get(&window[0]).expect("NO HEAD!")` [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 `Position` which implements the `Copy` trait [INFO] [stdout] --> src/bin/day09.rs:88:36 [INFO] [stdout] | [INFO] [stdout] 88 | let mut tail = self.knots.get(&t).expect("NO TAIL!!").clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try dereferencing it: `*self.knots.get(&t).expect("NO TAIL!!")` [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: you are using an explicit closure for copying elements [INFO] [stdout] --> src/bin/day01.rs:23:5 [INFO] [stdout] | [INFO] [stdout] 23 | / elf_calories.iter() [INFO] [stdout] 24 | | .map(|&x| x) [INFO] [stdout] | |____________________^ help: consider calling the dedicated `copied` method: `elf_calories.iter().copied()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_clone [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/bin/day01.rs:33:51 [INFO] [stdout] | [INFO] [stdout] 33 | println!("Test :: Part 1 ====> {}", part1(&test_data)); [INFO] [stdout] | ^^^^^^^^^^ help: change this to: `test_data` [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/day01.rs:34:51 [INFO] [stdout] | [INFO] [stdout] 34 | println!("Test :: Part 2 ====> {}", part2(&test_data)); [INFO] [stdout] | ^^^^^^^^^^ help: change this to: `test_data` [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: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/bin/day01.rs:39:51 [INFO] [stdout] | [INFO] [stdout] 39 | println!("Input:: Part 1 ====> {}", part1(&input_data)); [INFO] [stdout] | ^^^^^^^^^^^ help: change this to: `input_data` [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: constants have by default a `'static` lifetime [INFO] [stdout] --> src/bin/day16_not_correct.rs:3:14 [INFO] [stdout] | [INFO] [stdout] 3 | const YEAR: &'static str = "2022"; [INFO] [stdout] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_static_lifetimes [INFO] [stdout] = note: `#[warn(clippy::redundant_static_lifetimes)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constants have by default a `'static` lifetime [INFO] [stdout] --> src/bin/day16_not_correct.rs:4:13 [INFO] [stdout] | [INFO] [stdout] 4 | const DAY: &'static str = "16"; [INFO] [stdout] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_static_lifetimes [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Position` which implements the `Copy` trait [INFO] [stdout] --> src/bin/day09.rs:114:52 [INFO] [stdout] | [INFO] [stdout] 114 | self.tail_positions.insert(tail.clone()); [INFO] [stdout] | ^^^^^^^^^^^^ help: try removing the `clone` call: `tail` [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 expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/bin/day01.rs:40:51 [INFO] [stdout] | [INFO] [stdout] 40 | println!("Input:: Part 2 ====> {}", part2(&input_data)); [INFO] [stdout] | ^^^^^^^^^^^ help: change this to: `input_data` [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: returning the result of a `let` binding from a block [INFO] [stdout] --> src/bin/day07.rs:61:9 [INFO] [stdout] | [INFO] [stdout] 58 | / let res = [parent.idx(nodes), self.name.clone()] [INFO] [stdout] 59 | | .map(|i| if i == "/" { "".to_owned() } else { i }) [INFO] [stdout] 60 | | .join("/"); [INFO] [stdout] | |_______________________- unnecessary `let` binding [INFO] [stdout] 61 | res [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return [INFO] [stdout] = note: `#[warn(clippy::let_and_return)]` on by default [INFO] [stdout] help: return the expression directly [INFO] [stdout] | [INFO] [stdout] 58 ~ [INFO] [stdout] 59 ~ [parent.idx(nodes), self.name.clone()] [INFO] [stdout] 60 + .map(|i| if i == "/" { "".to_owned() } else { i }) [INFO] [stdout] 61 + .join("/") [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `map(..).flatten()` on `Option` [INFO] [stdout] --> src/bin/day07.rs:54:14 [INFO] [stdout] | [INFO] [stdout] 54 | .map(|name| nodes.get(&name)) [INFO] [stdout] | ______________^ [INFO] [stdout] 55 | | .flatten() [INFO] [stdout] | |______________________^ help: try replacing `map` with `and_then` and remove the `.flatten()`: `and_then(|name| nodes.get(&name))` [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] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `self.childs` after checking its variant with `is_some` [INFO] [stdout] --> src/bin/day07.rs:66:44 [INFO] [stdout] | [INFO] [stdout] 65 | if self.childs.is_some() { [INFO] [stdout] | ------------------------ help: try: `if let Some() = &mut self.childs` [INFO] [stdout] 66 | let childs: &mut Vec = self.childs.as_mut().unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] = note: `#[warn(clippy::unnecessary_unwrap)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/bin/day07.rs:118:15 [INFO] [stdout] | [INFO] [stdout] 118 | while !parent.is_none() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: try: `parent.is_some()` [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: called `map(..).flatten()` on `Option` [INFO] [stdout] --> src/bin/day07.rs:111:14 [INFO] [stdout] | [INFO] [stdout] 111 | .map(|name| nodes.get_mut(&name.clone())) [INFO] [stdout] | ______________^ [INFO] [stdout] 112 | | .flatten(); [INFO] [stdout] | |______________________^ help: try replacing `map` with `and_then` and remove the `.flatten()`: `and_then(|name| nodes.get_mut(&name.clone()))` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_flatten [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `map(..).flatten()` on `Option` [INFO] [stdout] --> src/bin/day07.rs:126:18 [INFO] [stdout] | [INFO] [stdout] 126 | .map(|name| nodes.get_mut(&name.clone())) [INFO] [stdout] | __________________^ [INFO] [stdout] 127 | | .flatten(); [INFO] [stdout] | |__________________________^ help: try replacing `map` with `and_then` and remove the `.flatten()`: `and_then(|name| nodes.get_mut(&name.clone()))` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_flatten [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: consider using `sort_by_key` [INFO] [stdout] --> src/bin/day07.rs:244:5 [INFO] [stdout] | [INFO] [stdout] 244 | dirs.sort_by(|a, b| a.size.cmp(&b.size)); [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] 244 - dirs.sort_by(|a, b| a.size.cmp(&b.size)); [INFO] [stdout] 244 + dirs.sort_by_key(|a| a.size); [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/day07.rs:256:51 [INFO] [stdout] | [INFO] [stdout] 256 | println!("Test :: Part 1 ====> {}", part1(&test_data)); [INFO] [stdout] | ^^^^^^^^^^ help: change this to: `test_data` [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/day07.rs:257:51 [INFO] [stdout] | [INFO] [stdout] 257 | println!("Test :: Part 2 ====> {}", part2(&test_data)); [INFO] [stdout] | ^^^^^^^^^^ help: change this to: `test_data` [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: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/bin/day07.rs:261:51 [INFO] [stdout] | [INFO] [stdout] 261 | println!("Input:: Part 1 ====> {}", part1(&input_data)); [INFO] [stdout] | ^^^^^^^^^^^ help: change this to: `input_data` [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: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/bin/day07.rs:262:51 [INFO] [stdout] | [INFO] [stdout] 262 | println!("Input:: Part 2 ====> {}", part2(&input_data)); [INFO] [stdout] | ^^^^^^^^^^^ help: change this to: `input_data` [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: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/bin/day09.rs:180:51 [INFO] [stdout] | [INFO] [stdout] 180 | println!("Test :: Part 1 ====> {}", part1(&test_data)); [INFO] [stdout] | ^^^^^^^^^^ help: change this to: `test_data` [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/day09.rs:181:51 [INFO] [stdout] | [INFO] [stdout] 181 | println!("Test :: Part 2 ====> {}", part2(&test_data)); [INFO] [stdout] | ^^^^^^^^^^ help: change this to: `test_data` [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: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/bin/day09.rs:185:51 [INFO] [stdout] | [INFO] [stdout] 185 | println!("Test2:: Part 1 ====> {}", part1(&test_data2)); [INFO] [stdout] | ^^^^^^^^^^^ help: change this to: `test_data2` [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: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/bin/day09.rs:186:51 [INFO] [stdout] | [INFO] [stdout] 186 | println!("Test2:: Part 2 ====> {}", part2(&test_data2)); [INFO] [stdout] | ^^^^^^^^^^^ help: change this to: `test_data2` [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: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/bin/day09.rs:190:51 [INFO] [stdout] | [INFO] [stdout] 190 | println!("Input:: Part 1 ====> {}", part1(&input_data)); [INFO] [stdout] | ^^^^^^^^^^^ help: change this to: `input_data` [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: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/bin/day09.rs:191:51 [INFO] [stdout] | [INFO] [stdout] 191 | println!("Input:: Part 2 ====> {}", part2(&input_data)); [INFO] [stdout] | ^^^^^^^^^^^ help: change this to: `input_data` [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: manual `RangeInclusive::contains` implementation [INFO] [stdout] --> src/bin/day03.rs:8:16 [INFO] [stdout] | [INFO] [stdout] 8 | min if min >= 'a' && min <= 'z' => 1_u64 + min as u64 - 'a' as u64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: use: `('a'..='z').contains(&min)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_range_contains [INFO] [stdout] = note: `#[warn(clippy::manual_range_contains)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual `RangeInclusive::contains` implementation [INFO] [stdout] --> src/bin/day03.rs:9:16 [INFO] [stdout] | [INFO] [stdout] 9 | max if max >= 'A' && max <= 'Z' => 27_u64 + max as u64 - 'A' as u64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: use: `('A'..='Z').contains(&max)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_range_contains [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant closure [INFO] [stdout] --> src/bin/day03.rs:16:14 [INFO] [stdout] | [INFO] [stdout] 16 | .map(|c| priority(c)) [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: replace the closure with the function itself: `priority` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stdout] = note: `#[warn(clippy::redundant_closure)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless conversion to the same type: `usize` [INFO] [stdout] --> src/bin/day03.rs:25:35 [INFO] [stdout] | [INFO] [stdout] 25 | .map(|line| line.split_at((line.len() / 2).into())) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ help: consider removing `.into()`: `(line.len() / 2)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] = note: `#[warn(clippy::useless_conversion)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you are using an explicit closure for copying elements [INFO] [stdout] --> src/bin/day03.rs:28:13 [INFO] [stdout] | [INFO] [stdout] 28 | / l.iter() [INFO] [stdout] 29 | | .filter(|priority| r.contains(priority)) [INFO] [stdout] 30 | | .map(|&p| p) [INFO] [stdout] | |____________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_clone [INFO] [stdout] = note: `#[warn(clippy::map_clone)]` on by default [INFO] [stdout] help: consider calling the dedicated `copied` method [INFO] [stdout] | [INFO] [stdout] 28 ~ l.iter() [INFO] [stdout] 29 + .filter(|priority| r.contains(priority)).copied() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: comparison to empty slice [INFO] [stdout] --> src/bin/day03.rs:37:54 [INFO] [stdout] | [INFO] [stdout] 37 | let lines: Vec<&str> = data.lines().filter(|&l| !l.eq("")).collect(); [INFO] [stdout] | ^^^^^^^^ help: using `is_empty` is clearer and more explicit: `l.is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#comparison_to_empty [INFO] [stdout] = note: `#[warn(clippy::comparison_to_empty)]` 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/day03.rs:65:51 [INFO] [stdout] | [INFO] [stdout] 65 | println!("Test :: Part 1 ====> {}", part1(&test_data)); [INFO] [stdout] | ^^^^^^^^^^ help: change this to: `test_data` [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: constants have by default a `'static` lifetime [INFO] [stdout] --> src/bin/day04.rs:3:14 [INFO] [stdout] | [INFO] [stdout] 3 | const YEAR: &'static str = "2022"; [INFO] [stdout] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_static_lifetimes [INFO] [stdout] = note: `#[warn(clippy::redundant_static_lifetimes)]` 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/day03.rs:66:51 [INFO] [stdout] | [INFO] [stdout] 66 | println!("Test :: Part 2 ====> {}", part2(&test_data)); [INFO] [stdout] | ^^^^^^^^^^ help: change this to: `test_data` [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: constants have by default a `'static` lifetime [INFO] [stdout] --> src/bin/day04.rs:4:13 [INFO] [stdout] | [INFO] [stdout] 4 | const DAY: &'static str = "04"; [INFO] [stdout] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_static_lifetimes [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/bin/day03.rs:70:51 [INFO] [stdout] | [INFO] [stdout] 70 | println!("Input:: Part 1 ====> {}", part1(&input_data)); [INFO] [stdout] | ^^^^^^^^^^^ help: change this to: `input_data` [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: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/bin/day03.rs:71:51 [INFO] [stdout] | [INFO] [stdout] 71 | println!("Input:: Part 2 ====> {}", part2(&input_data)); [INFO] [stdout] | ^^^^^^^^^^^ help: change this to: `input_data` [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: constants have by default a `'static` lifetime [INFO] [stdout] --> src/bin/day02.rs:3:14 [INFO] [stdout] | [INFO] [stdout] 3 | const YEAR: &'static str = "2022"; [INFO] [stdout] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_static_lifetimes [INFO] [stdout] = note: `#[warn(clippy::redundant_static_lifetimes)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constants have by default a `'static` lifetime [INFO] [stdout] --> src/bin/day02.rs:4:13 [INFO] [stdout] | [INFO] [stdout] 4 | const DAY: &'static str = "02"; [INFO] [stdout] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_static_lifetimes [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/bin/day05.rs:43:20 [INFO] [stdout] | [INFO] [stdout] 43 | if stack.len() > 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: using `!is_empty` is clearer and more explicit: `!stack.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: binary comparison to literal `Option::None` [INFO] [stdout] --> src/bin/day05.rs:49:27 [INFO] [stdout] | [INFO] [stdout] 49 | .filter(|top| *top != None) [INFO] [stdout] | ^^^^^^^^^^^^ help: use `Option::is_some()` instead: `top.is_some()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#partialeq_to_none [INFO] [stdout] = note: `#[warn(clippy::partialeq_to_none)]` 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/day04.rs:93:51 [INFO] [stdout] | [INFO] [stdout] 93 | println!("Test :: Part 1 ====> {}", part1(&test_data)); [INFO] [stdout] | ^^^^^^^^^^ help: change this to: `test_data` [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/day04.rs:94:51 [INFO] [stdout] | [INFO] [stdout] 94 | println!("Test :: Part 2 ====> {}", part2(&test_data)); [INFO] [stdout] | ^^^^^^^^^^ help: change this to: `test_data` [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: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/bin/day04.rs:98:51 [INFO] [stdout] | [INFO] [stdout] 98 | println!("Input:: Part 1 ====> {}", part1(&input_data)); [INFO] [stdout] | ^^^^^^^^^^^ help: change this to: `input_data` [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: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/bin/day04.rs:99:51 [INFO] [stdout] | [INFO] [stdout] 99 | println!("Input:: Part 2 ====> {}", part2(&input_data)); [INFO] [stdout] | ^^^^^^^^^^^ help: change this to: `input_data` [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: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/bin/day05.rs:141:51 [INFO] [stdout] | [INFO] [stdout] 141 | println!("Test :: Part 1 ====> {}", part1(&test_data)); [INFO] [stdout] | ^^^^^^^^^^ help: change this to: `test_data` [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/day05.rs:142:51 [INFO] [stdout] | [INFO] [stdout] 142 | println!("Test :: Part 2 ====> {}", part2(&test_data)); [INFO] [stdout] | ^^^^^^^^^^ help: change this to: `test_data` [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: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/bin/day05.rs:146:51 [INFO] [stdout] | [INFO] [stdout] 146 | println!("Input:: Part 1 ====> {}", part1(&input_data)); [INFO] [stdout] | ^^^^^^^^^^^ help: change this to: `input_data` [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: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/bin/day05.rs:147:51 [INFO] [stdout] | [INFO] [stdout] 147 | println!("Input:: Part 2 ====> {}", part2(&input_data)); [INFO] [stdout] | ^^^^^^^^^^^ help: change this to: `input_data` [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: constants have by default a `'static` lifetime [INFO] [stdout] --> src/bin/day10.rs:3:14 [INFO] [stdout] | [INFO] [stdout] 3 | const YEAR: &'static str = "2022"; [INFO] [stdout] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_static_lifetimes [INFO] [stdout] = note: `#[warn(clippy::redundant_static_lifetimes)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constants have by default a `'static` lifetime [INFO] [stdout] --> src/bin/day10.rs:4:13 [INFO] [stdout] | [INFO] [stdout] 4 | const DAY: &'static str = "09"; [INFO] [stdout] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_static_lifetimes [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `map(..).flatten()` on `Iterator` [INFO] [stdout] --> src/bin/day08.rs:38:6 [INFO] [stdout] | [INFO] [stdout] 38 | .map(|(rows, columns)| { [INFO] [stdout] | ______^ [INFO] [stdout] 39 | | rows.iter() [INFO] [stdout] 40 | | .map(|r| { [INFO] [stdout] 41 | | columns [INFO] [stdout] ... | [INFO] [stdout] 47 | | }) [INFO] [stdout] 48 | | .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] 38 ~ .flat_map(|(rows, columns)| { [INFO] [stdout] 39 + rows.iter() [INFO] [stdout] 40 + .map(|r| { [INFO] [stdout] 41 + columns [INFO] [stdout] 42 + .iter() [INFO] [stdout] 43 + .map(|c| (r.to_owned(), c.to_owned(), digits[*r][*c])) [INFO] [stdout] 44 + .collect::>() [INFO] [stdout] 45 + }) [INFO] [stdout] 46 + .collect::>>() [INFO] [stdout] 47 + }) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Shape` which implements the `Copy` trait [INFO] [stdout] --> src/bin/day02.rs:43:21 [INFO] [stdout] | [INFO] [stdout] 43 | Draw => oponent.clone(), [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: try dereferencing it: `*oponent` [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: called `map(..).flatten()` on `Iterator` [INFO] [stdout] --> src/bin/day08.rs:56:6 [INFO] [stdout] | [INFO] [stdout] 56 | .map(|(rows, columns)| { [INFO] [stdout] | ______^ [INFO] [stdout] 57 | | columns [INFO] [stdout] 58 | | .iter() [INFO] [stdout] 59 | | .map(|c| { [INFO] [stdout] ... | [INFO] [stdout] 65 | | }) [INFO] [stdout] 66 | | .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] help: try replacing `map` with `flat_map` and remove the `.flatten()` [INFO] [stdout] | [INFO] [stdout] 56 ~ .flat_map(|(rows, columns)| { [INFO] [stdout] 57 + columns [INFO] [stdout] 58 + .iter() [INFO] [stdout] 59 + .map(|c| { [INFO] [stdout] 60 + rows.iter() [INFO] [stdout] 61 + .map(|r| (r.to_owned(), c.to_owned(), digits[*r][*c])) [INFO] [stdout] 62 + .collect::>() [INFO] [stdout] 63 + }) [INFO] [stdout] 64 + .collect::>>() [INFO] [stdout] 65 + }) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constants have by default a `'static` lifetime [INFO] [stdout] --> src/bin/day01.rs:3:14 [INFO] [stdout] | [INFO] [stdout] 3 | const YEAR: &'static str = "2022"; [INFO] [stdout] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_static_lifetimes [INFO] [stdout] = note: `#[warn(clippy::redundant_static_lifetimes)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constants have by default a `'static` lifetime [INFO] [stdout] --> src/bin/day01.rs:4:13 [INFO] [stdout] | [INFO] [stdout] 4 | const DAY: &'static str = "01"; [INFO] [stdout] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_static_lifetimes [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constants have by default a `'static` lifetime [INFO] [stdout] --> src/bin/day03.rs:3:14 [INFO] [stdout] | [INFO] [stdout] 3 | const YEAR: &'static str = "2022"; [INFO] [stdout] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_static_lifetimes [INFO] [stdout] = note: `#[warn(clippy::redundant_static_lifetimes)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constants have by default a `'static` lifetime [INFO] [stdout] --> src/bin/day03.rs:4:13 [INFO] [stdout] | [INFO] [stdout] 4 | const DAY: &'static str = "03"; [INFO] [stdout] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_static_lifetimes [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/bin/day05.rs:43:20 [INFO] [stdout] | [INFO] [stdout] 43 | if stack.len() > 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: using `!is_empty` is clearer and more explicit: `!stack.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: binary comparison to literal `Option::None` [INFO] [stdout] --> src/bin/day05.rs:49:27 [INFO] [stdout] | [INFO] [stdout] 49 | .filter(|top| *top != None) [INFO] [stdout] | ^^^^^^^^^^^^ help: use `Option::is_some()` instead: `top.is_some()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#partialeq_to_none [INFO] [stdout] = note: `#[warn(clippy::partialeq_to_none)]` 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/day13.rs:24:67 [INFO] [stdout] | [INFO] [stdout] 24 | (Node::Number(left), Node::Number(right)) => left.cmp(&right), [INFO] [stdout] | ^^^^^^ help: change this to: `right` [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: useless conversion to the same type: `std::ops::Range` [INFO] [stdout] --> src/bin/day09.rs:80:13 [INFO] [stdout] | [INFO] [stdout] 80 | / (0..self.size) [INFO] [stdout] 81 | | .into_iter() [INFO] [stdout] | |____________________________^ help: consider removing `.into_iter()`: `(0..self.size)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] = note: `#[warn(clippy::useless_conversion)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `map(..).flatten()` on `Iterator` [INFO] [stdout] --> src/bin/day08.rs:72:10 [INFO] [stdout] | [INFO] [stdout] 72 | .map(|segment| { [INFO] [stdout] | __________^ [INFO] [stdout] 73 | | let (_max, set): (i8, HashSet<(usize, usize)>) = segment.iter().fold( [INFO] [stdout] 74 | | (-1_i8, HashSet::<(usize, usize)>::new()), [INFO] [stdout] 75 | | move |mut res, &point| { [INFO] [stdout] ... | [INFO] [stdout] 86 | | }) [INFO] [stdout] 87 | | .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] help: try replacing `map` with `flat_map` and remove the `.flatten()` [INFO] [stdout] | [INFO] [stdout] 72 ~ .flat_map(|segment| { [INFO] [stdout] 73 + let (_max, set): (i8, HashSet<(usize, usize)>) = segment.iter().fold( [INFO] [stdout] 74 + (-1_i8, HashSet::<(usize, usize)>::new()), [INFO] [stdout] 75 + move |mut res, &point| { [INFO] [stdout] 76 + if point.2 > res.0 { [INFO] [stdout] 77 + res.1.insert((point.0, point.1)); [INFO] [stdout] 78 + (point.2, res.1) [INFO] [stdout] 79 + } else { [INFO] [stdout] 80 + res [INFO] [stdout] 81 + } [INFO] [stdout] 82 + }, [INFO] [stdout] 83 + ); [INFO] [stdout] 84 + [INFO] [stdout] 85 + set [INFO] [stdout] 86 + }) [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/day05.rs:141:51 [INFO] [stdout] | [INFO] [stdout] 141 | println!("Test :: Part 1 ====> {}", part1(&test_data)); [INFO] [stdout] | ^^^^^^^^^^ help: change this to: `test_data` [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: using `clone` on type `Position` which implements the `Copy` trait [INFO] [stdout] --> src/bin/day09.rs:85:32 [INFO] [stdout] | [INFO] [stdout] 85 | let head = self.knots.get(&window[0]).expect("NO HEAD!").clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try dereferencing it: `*self.knots.get(&window[0]).expect("NO HEAD!")` [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 `Position` which implements the `Copy` trait [INFO] [stdout] --> src/bin/day09.rs:88:36 [INFO] [stdout] | [INFO] [stdout] 88 | let mut tail = self.knots.get(&t).expect("NO TAIL!!").clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try dereferencing it: `*self.knots.get(&t).expect("NO TAIL!!")` [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: using `clone` on type `Position` which implements the `Copy` trait [INFO] [stdout] --> src/bin/day09.rs:114:52 [INFO] [stdout] | [INFO] [stdout] 114 | self.tail_positions.insert(tail.clone()); [INFO] [stdout] | ^^^^^^^^^^^^ help: try removing the `clone` call: `tail` [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: you are using an explicit closure for copying elements [INFO] [stdout] --> src/bin/day16_not_correct.rs:59:34 [INFO] [stdout] | [INFO] [stdout] 59 | let mut values: Vec = rates.values().map(|v| v.clone()).collect(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider calling the dedicated `copied` method: `rates.values().copied()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_clone [INFO] [stdout] = note: `#[warn(clippy::map_clone)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `usize` which implements the `Copy` trait [INFO] [stdout] --> src/bin/day16_not_correct.rs:59:57 [INFO] [stdout] | [INFO] [stdout] 59 | let mut values: Vec = rates.values().map(|v| v.clone()).collect(); [INFO] [stdout] | ^^^^^^^^^ help: try dereferencing it: `*v` [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 `usize` which implements the `Copy` trait [INFO] [stdout] --> src/bin/day16_not_correct.rs:61:27 [INFO] [stdout] | [INFO] [stdout] 61 | let mut remain_time = remain_time.clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `remain_time` [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 expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/bin/day05.rs:142:51 [INFO] [stdout] | [INFO] [stdout] 142 | println!("Test :: Part 2 ====> {}", part2(&test_data)); [INFO] [stdout] | ^^^^^^^^^^ help: change this to: `test_data` [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: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/bin/day05.rs:146:51 [INFO] [stdout] | [INFO] [stdout] 146 | println!("Input:: Part 1 ====> {}", part1(&input_data)); [INFO] [stdout] | ^^^^^^^^^^^ help: change this to: `input_data` [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: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/bin/day05.rs:147:51 [INFO] [stdout] | [INFO] [stdout] 147 | println!("Input:: Part 2 ====> {}", part2(&input_data)); [INFO] [stdout] | ^^^^^^^^^^^ help: change this to: `input_data` [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: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/bin/day09.rs:180:51 [INFO] [stdout] | [INFO] [stdout] 180 | println!("Test :: Part 1 ====> {}", part1(&test_data)); [INFO] [stdout] | ^^^^^^^^^^ help: change this to: `test_data` [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/day09.rs:181:51 [INFO] [stdout] | [INFO] [stdout] 181 | println!("Test :: Part 2 ====> {}", part2(&test_data)); [INFO] [stdout] | ^^^^^^^^^^ help: change this to: `test_data` [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: using `clone` on type `usize` which implements the `Copy` trait [INFO] [stdout] --> src/bin/day16_not_correct.rs:92:20 [INFO] [stdout] | [INFO] [stdout] 92 | let time = time.clone() - 1; [INFO] [stdout] | ^^^^^^^^^^^^ help: try removing the `clone` call: `time` [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: you are using an explicit closure for copying elements [INFO] [stdout] --> src/bin/day01.rs:17:5 [INFO] [stdout] | [INFO] [stdout] 17 | to_elf_calories(data).iter().map(|&x| x).max().unwrap() [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider calling the dedicated `copied` method: `to_elf_calories(data).iter().copied()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_clone [INFO] [stdout] = note: `#[warn(clippy::map_clone)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you are using an explicit closure for copying elements [INFO] [stdout] --> src/bin/day01.rs:23:5 [INFO] [stdout] | [INFO] [stdout] 23 | / elf_calories.iter() [INFO] [stdout] 24 | | .map(|&x| x) [INFO] [stdout] | |____________________^ help: consider calling the dedicated `copied` method: `elf_calories.iter().copied()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_clone [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/bin/day16_not_correct.rs:191:51 [INFO] [stdout] | [INFO] [stdout] 191 | println!("Test :: Part 1 ====> {}", part1(&test_data)); [INFO] [stdout] | ^^^^^^^^^^ help: change this to: `test_data` [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/day16_not_correct.rs:192:51 [INFO] [stdout] | [INFO] [stdout] 192 | println!("Test :: Part 2 ====> {}", part2(&test_data)); [INFO] [stdout] | ^^^^^^^^^^ help: change this to: `test_data` [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: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/bin/day16_not_correct.rs:196:51 [INFO] [stdout] | [INFO] [stdout] 196 | println!("Input:: Part 1 ====> {}", part1(&input_data)); [INFO] [stdout] | ^^^^^^^^^^^ help: change this to: `input_data` [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: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/bin/day16_not_correct.rs:197:51 [INFO] [stdout] | [INFO] [stdout] 197 | println!("Input:: Part 2 ====> {}", part2(&input_data)); [INFO] [stdout] | ^^^^^^^^^^^ help: change this to: `input_data` [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: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/bin/day01.rs:33:51 [INFO] [stdout] | [INFO] [stdout] 33 | println!("Test :: Part 1 ====> {}", part1(&test_data)); [INFO] [stdout] | ^^^^^^^^^^ help: change this to: `test_data` [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/day01.rs:34:51 [INFO] [stdout] | [INFO] [stdout] 34 | println!("Test :: Part 2 ====> {}", part2(&test_data)); [INFO] [stdout] | ^^^^^^^^^^ help: change this to: `test_data` [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: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/bin/day01.rs:39:51 [INFO] [stdout] | [INFO] [stdout] 39 | println!("Input:: Part 1 ====> {}", part1(&input_data)); [INFO] [stdout] | ^^^^^^^^^^^ help: change this to: `input_data` [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: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/bin/day01.rs:40:51 [INFO] [stdout] | [INFO] [stdout] 40 | println!("Input:: Part 2 ====> {}", part2(&input_data)); [INFO] [stdout] | ^^^^^^^^^^^ help: change this to: `input_data` [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: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/bin/day09.rs:185:51 [INFO] [stdout] | [INFO] [stdout] 185 | println!("Test2:: Part 1 ====> {}", part1(&test_data2)); [INFO] [stdout] | ^^^^^^^^^^^ help: change this to: `test_data2` [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: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/bin/day09.rs:186:51 [INFO] [stdout] | [INFO] [stdout] 186 | println!("Test2:: Part 2 ====> {}", part2(&test_data2)); [INFO] [stdout] | ^^^^^^^^^^^ help: change this to: `test_data2` [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: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/bin/day09.rs:190:51 [INFO] [stdout] | [INFO] [stdout] 190 | println!("Input:: Part 1 ====> {}", part1(&input_data)); [INFO] [stdout] | ^^^^^^^^^^^ help: change this to: `input_data` [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: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/bin/day09.rs:191:51 [INFO] [stdout] | [INFO] [stdout] 191 | println!("Input:: Part 2 ====> {}", part2(&input_data)); [INFO] [stdout] | ^^^^^^^^^^^ help: change this to: `input_data` [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: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/bin/day10.rs:89:51 [INFO] [stdout] | [INFO] [stdout] 89 | println!("Test :: Part 1 ====> {}", part1(&test_data)); [INFO] [stdout] | ^^^^^^^^^^ help: change this to: `test_data` [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/day10.rs:91:11 [INFO] [stdout] | [INFO] [stdout] 91 | part2(&test_data); [INFO] [stdout] | ^^^^^^^^^^ help: change this to: `test_data` [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: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/bin/day10.rs:95:51 [INFO] [stdout] | [INFO] [stdout] 95 | println!("Input:: Part 1 ====> {}", part1(&input_data)); [INFO] [stdout] | ^^^^^^^^^^^ help: change this to: `input_data` [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: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/bin/day10.rs:97:11 [INFO] [stdout] | [INFO] [stdout] 97 | part2(&input_data); [INFO] [stdout] | ^^^^^^^^^^^ help: change this to: `input_data` [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: constants have by default a `'static` lifetime [INFO] [stdout] --> src/bin/day16.rs:9:14 [INFO] [stdout] | [INFO] [stdout] 9 | const YEAR: &'static str = "2022"; [INFO] [stdout] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_static_lifetimes [INFO] [stdout] = note: `#[warn(clippy::redundant_static_lifetimes)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant closure [INFO] [stdout] --> src/bin/day02.rs:134:14 [INFO] [stdout] | [INFO] [stdout] 134 | .map(|line| Round::from_line_1(line)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the associated function itself: `Round::from_line_1` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stdout] = note: `#[warn(clippy::redundant_closure)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constants have by default a `'static` lifetime [INFO] [stdout] --> src/bin/day16.rs:10:13 [INFO] [stdout] | [INFO] [stdout] 10 | const DAY: &'static str = "16"; [INFO] [stdout] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_static_lifetimes [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant closure [INFO] [stdout] --> src/bin/day02.rs:141:14 [INFO] [stdout] | [INFO] [stdout] 141 | .map(|line| Round::from_line_2(line)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the associated function itself: `Round::from_line_2` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/bin/day02.rs:151:53 [INFO] [stdout] | [INFO] [stdout] 151 | println!("Test :: Part 1 ====> {:?}", part1(&test_data)); [INFO] [stdout] | ^^^^^^^^^^ help: change this to: `test_data` [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/day02.rs:152:53 [INFO] [stdout] | [INFO] [stdout] 152 | println!("Test :: Part 2 ====> {:?}", part2(&test_data)); [INFO] [stdout] | ^^^^^^^^^^ help: change this to: `test_data` [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: manual `RangeInclusive::contains` implementation [INFO] [stdout] --> src/bin/day03.rs:8:16 [INFO] [stdout] | [INFO] [stdout] 8 | min if min >= 'a' && min <= 'z' => 1_u64 + min as u64 - 'a' as u64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: use: `('a'..='z').contains(&min)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_range_contains [INFO] [stdout] = note: `#[warn(clippy::manual_range_contains)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual `RangeInclusive::contains` implementation [INFO] [stdout] --> src/bin/day03.rs:9:16 [INFO] [stdout] | [INFO] [stdout] 9 | max if max >= 'A' && max <= 'Z' => 27_u64 + max as u64 - 'A' as u64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: use: `('A'..='Z').contains(&max)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_range_contains [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant closure [INFO] [stdout] --> src/bin/day03.rs:16:14 [INFO] [stdout] | [INFO] [stdout] 16 | .map(|c| priority(c)) [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: replace the closure with the function itself: `priority` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stdout] = note: `#[warn(clippy::redundant_closure)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless conversion to the same type: `usize` [INFO] [stdout] --> src/bin/day03.rs:25:35 [INFO] [stdout] | [INFO] [stdout] 25 | .map(|line| line.split_at((line.len() / 2).into())) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ help: consider removing `.into()`: `(line.len() / 2)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] = note: `#[warn(clippy::useless_conversion)]` 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/day02.rs:157:53 [INFO] [stdout] | [INFO] [stdout] 157 | println!("Input:: Part 1 ====> {:?}", part1(&input_data)); [INFO] [stdout] | ^^^^^^^^^^^ help: change this to: `input_data` [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: you are using an explicit closure for copying elements [INFO] [stdout] --> src/bin/day03.rs:28:13 [INFO] [stdout] | [INFO] [stdout] 28 | / l.iter() [INFO] [stdout] 29 | | .filter(|priority| r.contains(priority)) [INFO] [stdout] 30 | | .map(|&p| p) [INFO] [stdout] | |____________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_clone [INFO] [stdout] = note: `#[warn(clippy::map_clone)]` on by default [INFO] [stdout] help: consider calling the dedicated `copied` method [INFO] [stdout] | [INFO] [stdout] 28 ~ l.iter() [INFO] [stdout] 29 + .filter(|priority| r.contains(priority)).copied() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: comparison to empty slice [INFO] [stdout] --> src/bin/day03.rs:37:54 [INFO] [stdout] | [INFO] [stdout] 37 | let lines: Vec<&str> = data.lines().filter(|&l| !l.eq("")).collect(); [INFO] [stdout] | ^^^^^^^^ help: using `is_empty` is clearer and more explicit: `l.is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#comparison_to_empty [INFO] [stdout] = note: `#[warn(clippy::comparison_to_empty)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless conversion to the same type: `std::str::Chars<'_>` [INFO] [stdout] --> src/bin/day13.rs:98:22 [INFO] [stdout] | [INFO] [stdout] 98 | let mut it = s.chars().into_iter(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: consider removing `.into_iter()`: `s.chars()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] = note: `#[warn(clippy::useless_conversion)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: binary comparison to literal `Option::None` [INFO] [stdout] --> src/bin/day13.rs:107:15 [INFO] [stdout] | [INFO] [stdout] 107 | while c != None { [INFO] [stdout] | ^^^^^^^^^ help: use `Option::is_some()` instead: `c.is_some()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#partialeq_to_none [INFO] [stdout] = note: `#[warn(clippy::partialeq_to_none)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/bin/day13.rs:114:24 [INFO] [stdout] | [INFO] [stdout] 114 | if digits.len() > 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: using `!is_empty` is clearer and more explicit: `!digits.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: length comparison to zero [INFO] [stdout] --> src/bin/day13.rs:126:24 [INFO] [stdout] | [INFO] [stdout] 126 | if digits.len() > 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: using `!is_empty` is clearer and more explicit: `!digits.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] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/bin/day02.rs:158:53 [INFO] [stdout] | [INFO] [stdout] 158 | println!("Input:: Part 2 ====> {:?}", part2(&input_data)); [INFO] [stdout] | ^^^^^^^^^^^ help: change this to: `input_data` [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: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/bin/day03.rs:65:51 [INFO] [stdout] | [INFO] [stdout] 65 | println!("Test :: Part 1 ====> {}", part1(&test_data)); [INFO] [stdout] | ^^^^^^^^^^ help: change this to: `test_data` [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/day03.rs:66:51 [INFO] [stdout] | [INFO] [stdout] 66 | println!("Test :: Part 2 ====> {}", part2(&test_data)); [INFO] [stdout] | ^^^^^^^^^^ help: change this to: `test_data` [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: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/bin/day03.rs:70:51 [INFO] [stdout] | [INFO] [stdout] 70 | println!("Input:: Part 1 ====> {}", part1(&input_data)); [INFO] [stdout] | ^^^^^^^^^^^ help: change this to: `input_data` [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: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/bin/day03.rs:71:51 [INFO] [stdout] | [INFO] [stdout] 71 | println!("Input:: Part 2 ====> {}", part2(&input_data)); [INFO] [stdout] | ^^^^^^^^^^^ help: change this to: `input_data` [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: accessing first element with `chunks.get(0)` [INFO] [stdout] --> src/bin/day13.rs:157:29 [INFO] [stdout] | [INFO] [stdout] 157 | .map(move |chunks| (chunks.get(0).unwrap(), chunks.get(1).unwrap())) [INFO] [stdout] | ^^^^^^^^^^^^^ help: try: `chunks.first()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_first [INFO] [stdout] = note: `#[warn(clippy::get_first)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `.fold` can be written more succinctly using another method [INFO] [stdout] --> src/bin/day13.rs:186:10 [INFO] [stdout] | [INFO] [stdout] 186 | .fold(1, |a, b| a * b) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: try: `product()` [INFO] [stdout] | [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: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/bin/day13.rs:197:51 [INFO] [stdout] | [INFO] [stdout] 197 | println!("Test :: Part 1 ====> {}", part1(&test_data)); [INFO] [stdout] | ^^^^^^^^^^ help: change this to: `test_data` [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: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/bin/day13.rs:198:51 [INFO] [stdout] | [INFO] [stdout] 198 | println!("Test :: Part 2 ====> {}", part2(&test_data)); [INFO] [stdout] | ^^^^^^^^^^ help: change this to: `test_data` [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: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/bin/day13.rs:202:51 [INFO] [stdout] | [INFO] [stdout] 202 | println!("Input:: Part 1 ====> {}", part1(&input_data)); [INFO] [stdout] | ^^^^^^^^^^^ help: change this to: `input_data` [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: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/bin/day13.rs:203:51 [INFO] [stdout] | [INFO] [stdout] 203 | println!("Input:: Part 2 ====> {}", part2(&input_data)); [INFO] [stdout] | ^^^^^^^^^^^ help: change this to: `input_data` [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: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/bin/day04.rs:93:51 [INFO] [stdout] | [INFO] [stdout] 93 | println!("Test :: Part 1 ====> {}", part1(&test_data)); [INFO] [stdout] | ^^^^^^^^^^ help: change this to: `test_data` [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: constants have by default a `'static` lifetime [INFO] [stdout] --> src/bin/day16.rs:9:14 [INFO] [stdout] | [INFO] [stdout] 9 | const YEAR: &'static str = "2022"; [INFO] [stdout] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_static_lifetimes [INFO] [stdout] = note: `#[warn(clippy::redundant_static_lifetimes)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constants have by default a `'static` lifetime [INFO] [stdout] --> src/bin/day16.rs:10:13 [INFO] [stdout] | [INFO] [stdout] 10 | const DAY: &'static str = "16"; [INFO] [stdout] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_static_lifetimes [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/bin/day04.rs:94:51 [INFO] [stdout] | [INFO] [stdout] 94 | println!("Test :: Part 2 ====> {}", part2(&test_data)); [INFO] [stdout] | ^^^^^^^^^^ help: change this to: `test_data` [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: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/bin/day08.rs:188:51 [INFO] [stdout] | [INFO] [stdout] 188 | println!("Test :: Part 1 ====> {}", part1(&test_data)); [INFO] [stdout] | ^^^^^^^^^^ help: change this to: `test_data` [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: constants have by default a `'static` lifetime [INFO] [stdout] --> src/bin/day08.rs:3:14 [INFO] [stdout] | [INFO] [stdout] 3 | const YEAR: &'static str = "2022"; [INFO] [stdout] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_static_lifetimes [INFO] [stdout] = note: `#[warn(clippy::redundant_static_lifetimes)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constants have by default a `'static` lifetime [INFO] [stdout] --> src/bin/day08.rs:4:13 [INFO] [stdout] | [INFO] [stdout] 4 | const DAY: &'static str = "08"; [INFO] [stdout] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_static_lifetimes [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/bin/day04.rs:98:51 [INFO] [stdout] | [INFO] [stdout] 98 | println!("Input:: Part 1 ====> {}", part1(&input_data)); [INFO] [stdout] | ^^^^^^^^^^^ help: change this to: `input_data` [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: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/bin/day04.rs:99:51 [INFO] [stdout] | [INFO] [stdout] 99 | println!("Input:: Part 2 ====> {}", part2(&input_data)); [INFO] [stdout] | ^^^^^^^^^^^ help: change this to: `input_data` [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: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/bin/day08.rs:189:51 [INFO] [stdout] | [INFO] [stdout] 189 | println!("Test :: Part 2 ====> {}", part2(&test_data)); [INFO] [stdout] | ^^^^^^^^^^ help: change this to: `test_data` [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: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/bin/day08.rs:193:51 [INFO] [stdout] | [INFO] [stdout] 193 | println!("Input:: Part 1 ====> {}", part1(&input_data)); [INFO] [stdout] | ^^^^^^^^^^^ help: change this to: `input_data` [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: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/bin/day08.rs:194:51 [INFO] [stdout] | [INFO] [stdout] 194 | println!("Input:: Part 2 ====> {}", part2(&input_data)); [INFO] [stdout] | ^^^^^^^^^^^ help: change this to: `input_data` [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: use of `char::is_digit` with literal radix of 10 [INFO] [stdout] --> src/bin/day11.rs:143:25 [INFO] [stdout] | [INFO] [stdout] 143 | .filter(|c| c.is_digit(10)) [INFO] [stdout] | ^^^^^^^^^^^^^^ help: try: `c.is_ascii_digit()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#is_digit_ascii_radix [INFO] [stdout] = note: `#[warn(clippy::is_digit_ascii_radix)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: accessing first element with `lines[2] [INFO] [stdout] .split("=") [INFO] [stdout] .map(|part| part.trim()) [INFO] [stdout] .skip(1) [INFO] [stdout] .take(1) [INFO] [stdout] .collect::>().get(0)` [INFO] [stdout] --> src/bin/day11.rs:155:25 [INFO] [stdout] | [INFO] [stdout] 155 | let operation = lines[2] [INFO] [stdout] | _________________________^ [INFO] [stdout] 156 | | .split("=") [INFO] [stdout] 157 | | .map(|part| part.trim()) [INFO] [stdout] 158 | | .skip(1) [INFO] [stdout] 159 | | .take(1) [INFO] [stdout] 160 | | .collect::>() [INFO] [stdout] 161 | | .get(0) [INFO] [stdout] | |___________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_first [INFO] [stdout] = note: `#[warn(clippy::get_first)]` on by default [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 155 ~ let operation = lines[2] [INFO] [stdout] 156 + .split("=") [INFO] [stdout] 157 + .map(|part| part.trim()) [INFO] [stdout] 158 + .skip(1) [INFO] [stdout] 159 + .take(1) [INFO] [stdout] 160 + .collect::>().first() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of `char::is_digit` with literal radix of 10 [INFO] [stdout] --> src/bin/day11.rs:168:29 [INFO] [stdout] | [INFO] [stdout] 168 | .filter(|c| c.is_digit(10)) [INFO] [stdout] | ^^^^^^^^^^^^^^ help: try: `c.is_ascii_digit()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#is_digit_ascii_radix [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of `char::is_digit` with literal radix of 10 [INFO] [stdout] --> src/bin/day11.rs:175:25 [INFO] [stdout] | [INFO] [stdout] 175 | .filter(|c| c.is_digit(10)) [INFO] [stdout] | ^^^^^^^^^^^^^^ help: try: `c.is_ascii_digit()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#is_digit_ascii_radix [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of `char::is_digit` with literal radix of 10 [INFO] [stdout] --> src/bin/day11.rs:181:25 [INFO] [stdout] | [INFO] [stdout] 181 | .filter(|c| c.is_digit(10)) [INFO] [stdout] | ^^^^^^^^^^^^^^ help: try: `c.is_ascii_digit()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#is_digit_ascii_radix [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `usize` which implements the `Copy` trait [INFO] [stdout] --> src/bin/day11.rs:220:23 [INFO] [stdout] | [INFO] [stdout] 220 | .map(|monkey| monkey.items_inspected_count.clone()) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `monkey.items_inspected_count` [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: this `.fold` can be written more succinctly using another method [INFO] [stdout] --> src/bin/day11.rs:225:39 [INFO] [stdout] | [INFO] [stdout] 225 | counts.iter().take(2).into_iter().fold(1, |a, b| a * b) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: try: `product()` [INFO] [stdout] | [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: you are using an explicit closure for cloning elements [INFO] [stdout] --> src/bin/day16.rs:32:25 [INFO] [stdout] | [INFO] [stdout] 32 | .map(|node| node.next.iter().map(|n| n.clone()).collect::>()) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider calling the dedicated `cloned` method: `node.next.iter().cloned()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_clone [INFO] [stdout] = note: `#[warn(clippy::map_clone)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `usize` which implements the `Copy` trait [INFO] [stdout] --> src/bin/day16.rs:39:43 [INFO] [stdout] | [INFO] [stdout] 39 | .map(|node| (node.id.clone(), node.rate.clone())) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `node.rate` [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: useless conversion to the same type: `std::iter::Take>` [INFO] [stdout] --> src/bin/day11.rs:225:5 [INFO] [stdout] | [INFO] [stdout] 225 | counts.iter().take(2).into_iter().fold(1, |a, b| a * b) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider removing `.into_iter()`: `counts.iter().take(2)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] = note: `#[warn(clippy::useless_conversion)]` 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/day11.rs:240:51 [INFO] [stdout] | [INFO] [stdout] 240 | println!("Test :: Part 1 ====> {}", part1(&test_data)); [INFO] [stdout] | ^^^^^^^^^^ help: change this to: `test_data` [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/day11.rs:241:51 [INFO] [stdout] | [INFO] [stdout] 241 | println!("Test :: Part 2 ====> {}", part2(&test_data)); [INFO] [stdout] | ^^^^^^^^^^ help: change this to: `test_data` [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: you are using an explicit closure for cloning elements [INFO] [stdout] --> src/bin/day16.rs:95:35 [INFO] [stdout] | [INFO] [stdout] 95 | let mut opened: Vec = opened.iter().map(|n| n.clone()).collect(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider calling the dedicated `cloned` method: `opened.iter().cloned()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_clone [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `usize` which implements the `Copy` trait [INFO] [stdout] --> src/bin/day16.rs:118:16 [INFO] [stdout] | [INFO] [stdout] 118 | return cache.get(&key).unwrap().clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try dereferencing it: `*cache.get(&key).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 expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/bin/day11.rs:245:51 [INFO] [stdout] | [INFO] [stdout] 245 | println!("Input:: Part 1 ====> {}", part1(&input_data)); [INFO] [stdout] | ^^^^^^^^^^^ help: change this to: `input_data` [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: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/bin/day16.rs:143:17 [INFO] [stdout] | [INFO] [stdout] 143 | &next_node, [INFO] [stdout] | ^^^^^^^^^^ help: change this to: `next_node` [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/day16.rs:171:29 [INFO] [stdout] | [INFO] [stdout] 171 | ... &next_node, [INFO] [stdout] | ^^^^^^^^^^ help: change this to: `next_node` [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: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/bin/day11.rs:246:51 [INFO] [stdout] | [INFO] [stdout] 246 | println!("Input:: Part 2 ====> {}", part2(&input_data)); [INFO] [stdout] | ^^^^^^^^^^^ help: change this to: `input_data` [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: using `clone` on type `usize` which implements the `Copy` trait [INFO] [stdout] --> src/bin/day16.rs:184:32 [INFO] [stdout] | [INFO] [stdout] 184 | cache.entry(key).or_insert(max_presure.clone()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `max_presure` [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 expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/bin/day16.rs:230:51 [INFO] [stdout] | [INFO] [stdout] 230 | println!("Test :: Part 1 ====> {}", part1(&test_data)); [INFO] [stdout] | ^^^^^^^^^^ help: change this to: `test_data` [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: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/bin/day16.rs:231:51 [INFO] [stdout] | [INFO] [stdout] 231 | println!("Test :: Part 2 ====> {}", part2(&test_data)); [INFO] [stdout] | ^^^^^^^^^^ help: change this to: `test_data` [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: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/bin/day16.rs:235:51 [INFO] [stdout] | [INFO] [stdout] 235 | println!("Input:: Part 1 ====> {}", part1(&input_data)); [INFO] [stdout] | ^^^^^^^^^^^ help: change this to: `input_data` [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: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/bin/day16.rs:236:51 [INFO] [stdout] | [INFO] [stdout] 236 | println!("Input:: Part 2 ====> {}", part2(&input_data)); [INFO] [stdout] | ^^^^^^^^^^^ help: change this to: `input_data` [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: call to `.clone()` on a reference in this situation does nothing [INFO] [stdout] --> src/bin/day16.rs:100:18 [INFO] [stdout] | [INFO] [stdout] 100 | curr_node.clone().to_owned(), [INFO] [stdout] | ^^^^^^^^ help: remove this redundant call [INFO] [stdout] | [INFO] [stdout] = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed [INFO] [stdout] = note: `#[warn(noop_method_call)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `.clone()` on a double reference, which returns `&std::string::String` instead of cloning the inner type [INFO] [stdout] --> src/bin/day16.rs:160:47 [INFO] [stdout] | [INFO] [stdout] 160 | !opened.contains(next_node.clone()) && rates.contains_key(next_node.clone()) [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(suspicious_double_ref_op)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `.clone()` on a double reference, which returns `&std::string::String` instead of cloning the inner type [INFO] [stdout] --> src/bin/day16.rs:160:88 [INFO] [stdout] | [INFO] [stdout] 160 | !opened.contains(next_node.clone()) && rates.contains_key(next_node.clone()) [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constants have by default a `'static` lifetime [INFO] [stdout] --> src/bin/day12.rs:3:14 [INFO] [stdout] | [INFO] [stdout] 3 | const YEAR: &'static str = "2022"; [INFO] [stdout] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_static_lifetimes [INFO] [stdout] = note: `#[warn(clippy::redundant_static_lifetimes)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constants have by default a `'static` lifetime [INFO] [stdout] --> src/bin/day12.rs:4:13 [INFO] [stdout] | [INFO] [stdout] 4 | const DAY: &'static str = "12"; [INFO] [stdout] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_static_lifetimes [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constants have by default a `'static` lifetime [INFO] [stdout] --> src/bin/day10.rs:3:14 [INFO] [stdout] | [INFO] [stdout] 3 | const YEAR: &'static str = "2022"; [INFO] [stdout] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_static_lifetimes [INFO] [stdout] = note: `#[warn(clippy::redundant_static_lifetimes)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constants have by default a `'static` lifetime [INFO] [stdout] --> src/bin/day10.rs:4:13 [INFO] [stdout] | [INFO] [stdout] 4 | const DAY: &'static str = "09"; [INFO] [stdout] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_static_lifetimes [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constants have by default a `'static` lifetime [INFO] [stdout] --> src/bin/day13.rs:3:14 [INFO] [stdout] | [INFO] [stdout] 3 | const YEAR: &'static str = "2022"; [INFO] [stdout] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_static_lifetimes [INFO] [stdout] = note: `#[warn(clippy::redundant_static_lifetimes)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constants have by default a `'static` lifetime [INFO] [stdout] --> src/bin/day13.rs:4:13 [INFO] [stdout] | [INFO] [stdout] 4 | const DAY: &'static str = "13"; [INFO] [stdout] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_static_lifetimes [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constants have by default a `'static` lifetime [INFO] [stdout] --> src/bin/day14.rs:9:14 [INFO] [stdout] | [INFO] [stdout] 9 | const YEAR: &'static str = "2022"; [INFO] [stdout] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_static_lifetimes [INFO] [stdout] = note: `#[warn(clippy::redundant_static_lifetimes)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constants have by default a `'static` lifetime [INFO] [stdout] --> src/bin/day14.rs:10:13 [INFO] [stdout] | [INFO] [stdout] 10 | const DAY: &'static str = "14"; [INFO] [stdout] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_static_lifetimes [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constants have by default a `'static` lifetime [INFO] [stdout] --> src/bin/day15.rs:3:14 [INFO] [stdout] | [INFO] [stdout] 3 | const YEAR: &'static str = "2022"; [INFO] [stdout] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_static_lifetimes [INFO] [stdout] = note: `#[warn(clippy::redundant_static_lifetimes)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constants have by default a `'static` lifetime [INFO] [stdout] --> src/bin/day15.rs:4:13 [INFO] [stdout] | [INFO] [stdout] 4 | const DAY: &'static str = "01"; [INFO] [stdout] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_static_lifetimes [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `>= y + 1` or `x - 1 >=` [INFO] [stdout] --> src/bin/day14.rs:183:38 [INFO] [stdout] | [INFO] [stdout] 183 | } else if self.with_floor && point.y >= self.deepest_line + 1 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change it to: `point.y > self.deepest_line` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#int_plus_one [INFO] [stdout] = note: `#[warn(clippy::int_plus_one)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constants have by default a `'static` lifetime [INFO] [stdout] --> src/bin/day11.rs:3:14 [INFO] [stdout] | [INFO] [stdout] 3 | const YEAR: &'static str = "2022"; [INFO] [stdout] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_static_lifetimes [INFO] [stdout] = note: `#[warn(clippy::redundant_static_lifetimes)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constants have by default a `'static` lifetime [INFO] [stdout] --> src/bin/day11.rs:4:13 [INFO] [stdout] | [INFO] [stdout] 4 | const DAY: &'static str = "11"; [INFO] [stdout] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_static_lifetimes [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constants have by default a `'static` lifetime [INFO] [stdout] --> src/bin/day02.rs:3:14 [INFO] [stdout] | [INFO] [stdout] 3 | const YEAR: &'static str = "2022"; [INFO] [stdout] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_static_lifetimes [INFO] [stdout] = note: `#[warn(clippy::redundant_static_lifetimes)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constants have by default a `'static` lifetime [INFO] [stdout] --> src/bin/day02.rs:4:13 [INFO] [stdout] | [INFO] [stdout] 4 | const DAY: &'static str = "02"; [INFO] [stdout] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_static_lifetimes [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constants have by default a `'static` lifetime [INFO] [stdout] --> src/bin/day12.rs:3:14 [INFO] [stdout] | [INFO] [stdout] 3 | const YEAR: &'static str = "2022"; [INFO] [stdout] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_static_lifetimes [INFO] [stdout] = note: `#[warn(clippy::redundant_static_lifetimes)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constants have by default a `'static` lifetime [INFO] [stdout] --> src/bin/day12.rs:4:13 [INFO] [stdout] | [INFO] [stdout] 4 | const DAY: &'static str = "12"; [INFO] [stdout] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_static_lifetimes [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you are using an explicit closure for cloning elements [INFO] [stdout] --> src/bin/day16.rs:32:25 [INFO] [stdout] | [INFO] [stdout] 32 | .map(|node| node.next.iter().map(|n| n.clone()).collect::>()) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider calling the dedicated `cloned` method: `node.next.iter().cloned()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_clone [INFO] [stdout] = note: `#[warn(clippy::map_clone)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constants have by default a `'static` lifetime [INFO] [stdout] --> src/bin/day15.rs:3:14 [INFO] [stdout] | [INFO] [stdout] 3 | const YEAR: &'static str = "2022"; [INFO] [stdout] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_static_lifetimes [INFO] [stdout] = note: `#[warn(clippy::redundant_static_lifetimes)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constants have by default a `'static` lifetime [INFO] [stdout] --> src/bin/day15.rs:4:13 [INFO] [stdout] | [INFO] [stdout] 4 | const DAY: &'static str = "01"; [INFO] [stdout] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_static_lifetimes [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `usize` which implements the `Copy` trait [INFO] [stdout] --> src/bin/day16.rs:39:43 [INFO] [stdout] | [INFO] [stdout] 39 | .map(|node| (node.id.clone(), node.rate.clone())) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `node.rate` [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: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/bin/day10.rs:89:51 [INFO] [stdout] | [INFO] [stdout] 89 | println!("Test :: Part 1 ====> {}", part1(&test_data)); [INFO] [stdout] | ^^^^^^^^^^ help: change this to: `test_data` [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/day10.rs:91:11 [INFO] [stdout] | [INFO] [stdout] 91 | part2(&test_data); [INFO] [stdout] | ^^^^^^^^^^ help: change this to: `test_data` [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: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/bin/day10.rs:95:51 [INFO] [stdout] | [INFO] [stdout] 95 | println!("Input:: Part 1 ====> {}", part1(&input_data)); [INFO] [stdout] | ^^^^^^^^^^^ help: change this to: `input_data` [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: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/bin/day10.rs:97:11 [INFO] [stdout] | [INFO] [stdout] 97 | part2(&input_data); [INFO] [stdout] | ^^^^^^^^^^^ help: change this to: `input_data` [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: accessing first element with `parts.get(0)` [INFO] [stdout] --> src/bin/day14.rs:58:16 [INFO] [stdout] | [INFO] [stdout] 58 | x: parts.get(0).unwrap().parse().unwrap(), [INFO] [stdout] | ^^^^^^^^^^^^ help: try: `parts.first()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_first [INFO] [stdout] = note: `#[warn(clippy::get_first)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you are using an explicit closure for cloning elements [INFO] [stdout] --> src/bin/day16.rs:95:35 [INFO] [stdout] | [INFO] [stdout] 95 | let mut opened: Vec = opened.iter().map(|n| n.clone()).collect(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider calling the dedicated `cloned` method: `opened.iter().cloned()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_clone [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/bin/day14.rs:98:27 [INFO] [stdout] | [INFO] [stdout] 98 | fn build_lines(edges: &Vec, line_type: LineType) -> (usize, Lines) { [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] 98 - fn build_lines(edges: &Vec, line_type: LineType) -> (usize, Lines) { [INFO] [stdout] 98 + fn build_lines(edges: &[Point], line_type: LineType) -> (usize, Lines) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of `or_insert` to construct default value [INFO] [stdout] --> src/bin/day14.rs:139:60 [INFO] [stdout] | [INFO] [stdout] 139 | let res_ranges = self.vertical_lines.entry(*y).or_insert(HashSet::new()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `or_default()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unwrap_or_default [INFO] [stdout] = note: `#[warn(clippy::unwrap_or_default)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `usize` which implements the `Copy` trait [INFO] [stdout] --> src/bin/day16.rs:118:16 [INFO] [stdout] | [INFO] [stdout] 118 | return cache.get(&key).unwrap().clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try dereferencing it: `*cache.get(&key).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: use of `or_insert` to construct default value [INFO] [stdout] --> src/bin/day14.rs:145:62 [INFO] [stdout] | [INFO] [stdout] 145 | let res_ranges = self.horizontal_lines.entry(*y).or_insert(HashSet::new()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `or_default()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unwrap_or_default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/bin/day16.rs:143:17 [INFO] [stdout] | [INFO] [stdout] 143 | &next_node, [INFO] [stdout] | ^^^^^^^^^^ help: change this to: `next_node` [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 `if` has identical blocks [INFO] [stdout] --> src/bin/day14.rs:181:40 [INFO] [stdout] | [INFO] [stdout] 181 | if self.sands.contains(&point) { [INFO] [stdout] | ________________________________________^ [INFO] [stdout] 182 | | None [INFO] [stdout] 183 | | } else if self.with_floor && point.y >= self.deepest_line + 1 { [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] note: same as this [INFO] [stdout] --> src/bin/day14.rs:183:71 [INFO] [stdout] | [INFO] [stdout] 183 | } else if self.with_floor && point.y >= self.deepest_line + 1 { [INFO] [stdout] | _______________________________________________________________________^ [INFO] [stdout] 184 | | None [INFO] [stdout] 185 | | } else if !self.with_floor && point.y >= self.deepest_line { [INFO] [stdout] | |_________^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#if_same_then_else [INFO] [stdout] = note: `#[warn(clippy::if_same_then_else)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` has identical blocks [INFO] [stdout] --> src/bin/day14.rs:183:71 [INFO] [stdout] | [INFO] [stdout] 183 | } else if self.with_floor && point.y >= self.deepest_line + 1 { [INFO] [stdout] | _______________________________________________________________________^ [INFO] [stdout] 184 | | None [INFO] [stdout] 185 | | } else if !self.with_floor && point.y >= self.deepest_line { [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] note: same as this [INFO] [stdout] --> src/bin/day14.rs:185:68 [INFO] [stdout] | [INFO] [stdout] 185 | } else if !self.with_floor && point.y >= self.deepest_line { [INFO] [stdout] | ____________________________________________________________________^ [INFO] [stdout] 186 | | None [INFO] [stdout] 187 | | } else { [INFO] [stdout] | |_________^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#if_same_then_else [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/bin/day14.rs:181:32 [INFO] [stdout] | [INFO] [stdout] 181 | if self.sands.contains(&point) { [INFO] [stdout] | ^^^^^^ help: change this to: `point` [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: you are using an explicit closure for copying elements [INFO] [stdout] --> src/bin/day14.rs:190:13 [INFO] [stdout] | [INFO] [stdout] 190 | / [ [INFO] [stdout] 191 | | Point::new(*x, *y + 1), [INFO] [stdout] 192 | | Point::new(x - 1, y + 1), [INFO] [stdout] 193 | | Point::new(x + 1, y + 1), [INFO] [stdout] 194 | | ] [INFO] [stdout] 195 | | .iter() [INFO] [stdout] 196 | | .map(|p| *p) [INFO] [stdout] | |________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_clone [INFO] [stdout] = note: `#[warn(clippy::map_clone)]` on by default [INFO] [stdout] help: consider calling the dedicated `copied` method [INFO] [stdout] | [INFO] [stdout] 190 ~ [ [INFO] [stdout] 191 + Point::new(*x, *y + 1), [INFO] [stdout] 192 + Point::new(x - 1, y + 1), [INFO] [stdout] 193 + Point::new(x + 1, y + 1), [INFO] [stdout] 194 + ] [INFO] [stdout] 195 + .iter().copied() [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/day16.rs:171:29 [INFO] [stdout] | [INFO] [stdout] 171 | ... &next_node, [INFO] [stdout] | ^^^^^^^^^^ help: change this to: `next_node` [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: using `clone` on type `usize` which implements the `Copy` trait [INFO] [stdout] --> src/bin/day16.rs:184:32 [INFO] [stdout] | [INFO] [stdout] 184 | cache.entry(key).or_insert(max_presure.clone()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `max_presure` [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 expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/bin/day16.rs:230:51 [INFO] [stdout] | [INFO] [stdout] 230 | println!("Test :: Part 1 ====> {}", part1(&test_data)); [INFO] [stdout] | ^^^^^^^^^^ help: change this to: `test_data` [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: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/bin/day16.rs:231:51 [INFO] [stdout] | [INFO] [stdout] 231 | println!("Test :: Part 2 ====> {}", part2(&test_data)); [INFO] [stdout] | ^^^^^^^^^^ help: change this to: `test_data` [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: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/bin/day16.rs:235:51 [INFO] [stdout] | [INFO] [stdout] 235 | println!("Input:: Part 1 ====> {}", part1(&input_data)); [INFO] [stdout] | ^^^^^^^^^^^ help: change this to: `input_data` [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: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/bin/day16.rs:236:51 [INFO] [stdout] | [INFO] [stdout] 236 | println!("Input:: Part 2 ====> {}", part2(&input_data)); [INFO] [stdout] | ^^^^^^^^^^^ help: change this to: `input_data` [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: using `clone` on type `Point` which implements the `Copy` trait [INFO] [stdout] --> src/bin/day14.rs:202:30 [INFO] [stdout] | [INFO] [stdout] 202 | let mut next_point = point.clone(); [INFO] [stdout] | ^^^^^^^^^^^^^ help: try dereferencing it: `*point` [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: this loop could be written as a `while let` loop [INFO] [stdout] --> src/bin/day14.rs:204:9 [INFO] [stdout] | [INFO] [stdout] 204 | / loop { [INFO] [stdout] 205 | | match self.next_point(&next_point) { [INFO] [stdout] 206 | | Some(p) => { [INFO] [stdout] 207 | | next_point = p; [INFO] [stdout] ... | [INFO] [stdout] 213 | | } [INFO] [stdout] | |_________^ help: try: `while let Some(p) = self.next_point(&next_point) { .. }` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#while_let_loop [INFO] [stdout] = note: `#[warn(clippy::while_let_loop)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` has identical blocks [INFO] [stdout] --> src/bin/day14.rs:215:66 [INFO] [stdout] | [INFO] [stdout] 215 | if !self.with_floor && next_point.y >= self.deepest_line { [INFO] [stdout] | __________________________________________________________________^ [INFO] [stdout] 216 | | None [INFO] [stdout] 217 | | } else if self.sands.contains(&next_point) { [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] note: same as this [INFO] [stdout] --> src/bin/day14.rs:217:52 [INFO] [stdout] | [INFO] [stdout] 217 | } else if self.sands.contains(&next_point) { [INFO] [stdout] | ____________________________________________________^ [INFO] [stdout] 218 | | None [INFO] [stdout] 219 | | } else { [INFO] [stdout] | |_________^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#if_same_then_else [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing [INFO] [stdout] --> src/bin/day16.rs:100:18 [INFO] [stdout] | [INFO] [stdout] 100 | curr_node.clone().to_owned(), [INFO] [stdout] | ^^^^^^^^ help: remove this redundant call [INFO] [stdout] | [INFO] [stdout] = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed [INFO] [stdout] = note: `#[warn(noop_method_call)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Point` which implements the `Copy` trait [INFO] [stdout] --> src/bin/day14.rs:220:31 [INFO] [stdout] | [INFO] [stdout] 220 | self.sands.insert(next_point.clone()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `next_point` [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 expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/bin/day13.rs:24:67 [INFO] [stdout] | [INFO] [stdout] 24 | (Node::Number(left), Node::Number(right)) => left.cmp(&right), [INFO] [stdout] | ^^^^^^ help: change this to: `right` [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: binary comparison to literal `Option::None` [INFO] [stdout] --> src/bin/day14.rs:257:11 [INFO] [stdout] | [INFO] [stdout] 257 | while all_path.add_point_rest(&start_sand) != None {} [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `Option::is_some()` instead: `all_path.add_point_rest(&start_sand).is_some()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#partialeq_to_none [INFO] [stdout] = note: `#[warn(clippy::partialeq_to_none)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant pattern matching, consider using `is_some()` [INFO] [stdout] --> src/bin/day14.rs:271:15 [INFO] [stdout] | [INFO] [stdout] 271 | while let Some(_) = all_path.add_point_rest(&start_sand) {} [INFO] [stdout] | ----------^^^^^^^--------------------------------------- help: try: `while all_path.add_point_rest(&start_sand).is_some()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stdout] = note: `#[warn(clippy::redundant_pattern_matching)]` 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/day14.rs:284:51 [INFO] [stdout] | [INFO] [stdout] 284 | println!("Test :: Part 1 ====> {}", part1(&test_data)); [INFO] [stdout] | ^^^^^^^^^^ help: change this to: `test_data` [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: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/bin/day14.rs:285:51 [INFO] [stdout] | [INFO] [stdout] 285 | println!("Test :: Part 2 ====> {}", part2(&test_data)); [INFO] [stdout] | ^^^^^^^^^^ help: change this to: `test_data` [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: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/bin/day14.rs:289:51 [INFO] [stdout] | [INFO] [stdout] 289 | println!("Input:: Part 1 ====> {}", part1(&input_data)); [INFO] [stdout] | ^^^^^^^^^^^ help: change this to: `input_data` [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: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/bin/day14.rs:290:51 [INFO] [stdout] | [INFO] [stdout] 290 | println!("Input:: Part 2 ====> {}", part2(&input_data)); [INFO] [stdout] | ^^^^^^^^^^^ help: change this to: `input_data` [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: using `.clone()` on a double reference, which returns `&std::string::String` instead of cloning the inner type [INFO] [stdout] --> src/bin/day16.rs:160:47 [INFO] [stdout] | [INFO] [stdout] 160 | !opened.contains(next_node.clone()) && rates.contains_key(next_node.clone()) [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(suspicious_double_ref_op)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `.clone()` on a double reference, which returns `&std::string::String` instead of cloning the inner type [INFO] [stdout] --> src/bin/day16.rs:160:88 [INFO] [stdout] | [INFO] [stdout] 160 | !opened.contains(next_node.clone()) && rates.contains_key(next_node.clone()) [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless conversion to the same type: `std::str::Chars<'_>` [INFO] [stdout] --> src/bin/day13.rs:98:22 [INFO] [stdout] | [INFO] [stdout] 98 | let mut it = s.chars().into_iter(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: consider removing `.into_iter()`: `s.chars()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] = note: `#[warn(clippy::useless_conversion)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: binary comparison to literal `Option::None` [INFO] [stdout] --> src/bin/day13.rs:107:15 [INFO] [stdout] | [INFO] [stdout] 107 | while c != None { [INFO] [stdout] | ^^^^^^^^^ help: use `Option::is_some()` instead: `c.is_some()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#partialeq_to_none [INFO] [stdout] = note: `#[warn(clippy::partialeq_to_none)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/bin/day13.rs:114:24 [INFO] [stdout] | [INFO] [stdout] 114 | if digits.len() > 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: using `!is_empty` is clearer and more explicit: `!digits.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: length comparison to zero [INFO] [stdout] --> src/bin/day13.rs:126:24 [INFO] [stdout] | [INFO] [stdout] 126 | if digits.len() > 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: using `!is_empty` is clearer and more explicit: `!digits.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] [INFO] [stdout] [INFO] [stdout] warning: accessing first element with `chunks.get(0)` [INFO] [stdout] --> src/bin/day13.rs:157:29 [INFO] [stdout] | [INFO] [stdout] 157 | .map(move |chunks| (chunks.get(0).unwrap(), chunks.get(1).unwrap())) [INFO] [stdout] | ^^^^^^^^^^^^^ help: try: `chunks.first()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_first [INFO] [stdout] = note: `#[warn(clippy::get_first)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `.fold` can be written more succinctly using another method [INFO] [stdout] --> src/bin/day13.rs:186:10 [INFO] [stdout] | [INFO] [stdout] 186 | .fold(1, |a, b| a * b) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: try: `product()` [INFO] [stdout] | [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: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/bin/day13.rs:197:51 [INFO] [stdout] | [INFO] [stdout] 197 | println!("Test :: Part 1 ====> {}", part1(&test_data)); [INFO] [stdout] | ^^^^^^^^^^ help: change this to: `test_data` [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: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/bin/day13.rs:198:51 [INFO] [stdout] | [INFO] [stdout] 198 | println!("Test :: Part 2 ====> {}", part2(&test_data)); [INFO] [stdout] | ^^^^^^^^^^ help: change this to: `test_data` [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: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/bin/day13.rs:202:51 [INFO] [stdout] | [INFO] [stdout] 202 | println!("Input:: Part 1 ====> {}", part1(&input_data)); [INFO] [stdout] | ^^^^^^^^^^^ help: change this to: `input_data` [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: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/bin/day13.rs:203:51 [INFO] [stdout] | [INFO] [stdout] 203 | println!("Input:: Part 2 ====> {}", part2(&input_data)); [INFO] [stdout] | ^^^^^^^^^^^ help: change this to: `input_data` [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: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/bin/day15.rs:146:44 [INFO] [stdout] | [INFO] [stdout] 146 | if sensor.is_in_no_beacon_zone(&point) { [INFO] [stdout] | ^^^^^^ help: change this to: `point` [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/day15.rs:200:51 [INFO] [stdout] | [INFO] [stdout] 200 | println!("Test :: Part 1 ====> {}", part1(&test_data, 10)); [INFO] [stdout] | ^^^^^^^^^^ help: change this to: `test_data` [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: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/bin/day15.rs:146:44 [INFO] [stdout] | [INFO] [stdout] 146 | if sensor.is_in_no_beacon_zone(&point) { [INFO] [stdout] | ^^^^^^ help: change this to: `point` [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/day15.rs:201:51 [INFO] [stdout] | [INFO] [stdout] 201 | println!("Test :: Part 2 ====> {}", part2(&test_data, 20)); [INFO] [stdout] | ^^^^^^^^^^ help: change this to: `test_data` [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: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/bin/day15.rs:205:51 [INFO] [stdout] | [INFO] [stdout] 205 | println!("Input:: Part 1 ====> {}", part1(&input_data, 2000000)); [INFO] [stdout] | ^^^^^^^^^^^ help: change this to: `input_data` [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: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/bin/day15.rs:206:51 [INFO] [stdout] | [INFO] [stdout] 206 | println!("Input:: Part 2 ====> {}", part2(&input_data, 4000000)); [INFO] [stdout] | ^^^^^^^^^^^ help: change this to: `input_data` [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: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/bin/day15.rs:200:51 [INFO] [stdout] | [INFO] [stdout] 200 | println!("Test :: Part 1 ====> {}", part1(&test_data, 10)); [INFO] [stdout] | ^^^^^^^^^^ help: change this to: `test_data` [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: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/bin/day15.rs:201:51 [INFO] [stdout] | [INFO] [stdout] 201 | println!("Test :: Part 2 ====> {}", part2(&test_data, 20)); [INFO] [stdout] | ^^^^^^^^^^ help: change this to: `test_data` [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: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/bin/day15.rs:205:51 [INFO] [stdout] | [INFO] [stdout] 205 | println!("Input:: Part 1 ====> {}", part1(&input_data, 2000000)); [INFO] [stdout] | ^^^^^^^^^^^ help: change this to: `input_data` [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: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/bin/day15.rs:206:51 [INFO] [stdout] | [INFO] [stdout] 206 | println!("Input:: Part 2 ====> {}", part2(&input_data, 4000000)); [INFO] [stdout] | ^^^^^^^^^^^ help: change this to: `input_data` [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: use of `char::is_digit` with literal radix of 10 [INFO] [stdout] --> src/bin/day11.rs:143:25 [INFO] [stdout] | [INFO] [stdout] 143 | .filter(|c| c.is_digit(10)) [INFO] [stdout] | ^^^^^^^^^^^^^^ help: try: `c.is_ascii_digit()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#is_digit_ascii_radix [INFO] [stdout] = note: `#[warn(clippy::is_digit_ascii_radix)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: accessing first element with `lines[2] [INFO] [stdout] .split("=") [INFO] [stdout] .map(|part| part.trim()) [INFO] [stdout] .skip(1) [INFO] [stdout] .take(1) [INFO] [stdout] .collect::>().get(0)` [INFO] [stdout] --> src/bin/day11.rs:155:25 [INFO] [stdout] | [INFO] [stdout] 155 | let operation = lines[2] [INFO] [stdout] | _________________________^ [INFO] [stdout] 156 | | .split("=") [INFO] [stdout] 157 | | .map(|part| part.trim()) [INFO] [stdout] 158 | | .skip(1) [INFO] [stdout] 159 | | .take(1) [INFO] [stdout] 160 | | .collect::>() [INFO] [stdout] 161 | | .get(0) [INFO] [stdout] | |___________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_first [INFO] [stdout] = note: `#[warn(clippy::get_first)]` on by default [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 155 ~ let operation = lines[2] [INFO] [stdout] 156 + .split("=") [INFO] [stdout] 157 + .map(|part| part.trim()) [INFO] [stdout] 158 + .skip(1) [INFO] [stdout] 159 + .take(1) [INFO] [stdout] 160 + .collect::>().first() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of `char::is_digit` with literal radix of 10 [INFO] [stdout] --> src/bin/day11.rs:168:29 [INFO] [stdout] | [INFO] [stdout] 168 | .filter(|c| c.is_digit(10)) [INFO] [stdout] | ^^^^^^^^^^^^^^ help: try: `c.is_ascii_digit()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#is_digit_ascii_radix [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of `char::is_digit` with literal radix of 10 [INFO] [stdout] --> src/bin/day11.rs:175:25 [INFO] [stdout] | [INFO] [stdout] 175 | .filter(|c| c.is_digit(10)) [INFO] [stdout] | ^^^^^^^^^^^^^^ help: try: `c.is_ascii_digit()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#is_digit_ascii_radix [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of `char::is_digit` with literal radix of 10 [INFO] [stdout] --> src/bin/day11.rs:181:25 [INFO] [stdout] | [INFO] [stdout] 181 | .filter(|c| c.is_digit(10)) [INFO] [stdout] | ^^^^^^^^^^^^^^ help: try: `c.is_ascii_digit()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#is_digit_ascii_radix [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `usize` which implements the `Copy` trait [INFO] [stdout] --> src/bin/day11.rs:220:23 [INFO] [stdout] | [INFO] [stdout] 220 | .map(|monkey| monkey.items_inspected_count.clone()) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `monkey.items_inspected_count` [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: this `.fold` can be written more succinctly using another method [INFO] [stdout] --> src/bin/day11.rs:225:39 [INFO] [stdout] | [INFO] [stdout] 225 | counts.iter().take(2).into_iter().fold(1, |a, b| a * b) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: try: `product()` [INFO] [stdout] | [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: called `map(..).flatten()` on `Iterator` [INFO] [stdout] --> src/bin/day08.rs:38:6 [INFO] [stdout] | [INFO] [stdout] 38 | .map(|(rows, columns)| { [INFO] [stdout] | ______^ [INFO] [stdout] 39 | | rows.iter() [INFO] [stdout] 40 | | .map(|r| { [INFO] [stdout] 41 | | columns [INFO] [stdout] ... | [INFO] [stdout] 47 | | }) [INFO] [stdout] 48 | | .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] 38 ~ .flat_map(|(rows, columns)| { [INFO] [stdout] 39 + rows.iter() [INFO] [stdout] 40 + .map(|r| { [INFO] [stdout] 41 + columns [INFO] [stdout] 42 + .iter() [INFO] [stdout] 43 + .map(|c| (r.to_owned(), c.to_owned(), digits[*r][*c])) [INFO] [stdout] 44 + .collect::>() [INFO] [stdout] 45 + }) [INFO] [stdout] 46 + .collect::>>() [INFO] [stdout] 47 + }) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `map(..).flatten()` on `Iterator` [INFO] [stdout] --> src/bin/day08.rs:56:6 [INFO] [stdout] | [INFO] [stdout] 56 | .map(|(rows, columns)| { [INFO] [stdout] | ______^ [INFO] [stdout] 57 | | columns [INFO] [stdout] 58 | | .iter() [INFO] [stdout] 59 | | .map(|c| { [INFO] [stdout] ... | [INFO] [stdout] 65 | | }) [INFO] [stdout] 66 | | .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] help: try replacing `map` with `flat_map` and remove the `.flatten()` [INFO] [stdout] | [INFO] [stdout] 56 ~ .flat_map(|(rows, columns)| { [INFO] [stdout] 57 + columns [INFO] [stdout] 58 + .iter() [INFO] [stdout] 59 + .map(|c| { [INFO] [stdout] 60 + rows.iter() [INFO] [stdout] 61 + .map(|r| (r.to_owned(), c.to_owned(), digits[*r][*c])) [INFO] [stdout] 62 + .collect::>() [INFO] [stdout] 63 + }) [INFO] [stdout] 64 + .collect::>>() [INFO] [stdout] 65 + }) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `map(..).flatten()` on `Iterator` [INFO] [stdout] --> src/bin/day08.rs:72:10 [INFO] [stdout] | [INFO] [stdout] 72 | .map(|segment| { [INFO] [stdout] | __________^ [INFO] [stdout] 73 | | let (_max, set): (i8, HashSet<(usize, usize)>) = segment.iter().fold( [INFO] [stdout] 74 | | (-1_i8, HashSet::<(usize, usize)>::new()), [INFO] [stdout] 75 | | move |mut res, &point| { [INFO] [stdout] ... | [INFO] [stdout] 86 | | }) [INFO] [stdout] 87 | | .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] help: try replacing `map` with `flat_map` and remove the `.flatten()` [INFO] [stdout] | [INFO] [stdout] 72 ~ .flat_map(|segment| { [INFO] [stdout] 73 + let (_max, set): (i8, HashSet<(usize, usize)>) = segment.iter().fold( [INFO] [stdout] 74 + (-1_i8, HashSet::<(usize, usize)>::new()), [INFO] [stdout] 75 + move |mut res, &point| { [INFO] [stdout] 76 + if point.2 > res.0 { [INFO] [stdout] 77 + res.1.insert((point.0, point.1)); [INFO] [stdout] 78 + (point.2, res.1) [INFO] [stdout] 79 + } else { [INFO] [stdout] 80 + res [INFO] [stdout] 81 + } [INFO] [stdout] 82 + }, [INFO] [stdout] 83 + ); [INFO] [stdout] 84 + [INFO] [stdout] 85 + set [INFO] [stdout] 86 + }) [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/day08.rs:188:51 [INFO] [stdout] | [INFO] [stdout] 188 | println!("Test :: Part 1 ====> {}", part1(&test_data)); [INFO] [stdout] | ^^^^^^^^^^ help: change this to: `test_data` [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/day08.rs:189:51 [INFO] [stdout] | [INFO] [stdout] 189 | println!("Test :: Part 2 ====> {}", part2(&test_data)); [INFO] [stdout] | ^^^^^^^^^^ help: change this to: `test_data` [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: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/bin/day08.rs:193:51 [INFO] [stdout] | [INFO] [stdout] 193 | println!("Input:: Part 1 ====> {}", part1(&input_data)); [INFO] [stdout] | ^^^^^^^^^^^ help: change this to: `input_data` [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: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/bin/day08.rs:194:51 [INFO] [stdout] | [INFO] [stdout] 194 | println!("Input:: Part 2 ====> {}", part2(&input_data)); [INFO] [stdout] | ^^^^^^^^^^^ help: change this to: `input_data` [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: useless conversion to the same type: `std::iter::Take>` [INFO] [stdout] --> src/bin/day11.rs:225:5 [INFO] [stdout] | [INFO] [stdout] 225 | counts.iter().take(2).into_iter().fold(1, |a, b| a * b) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider removing `.into_iter()`: `counts.iter().take(2)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] = note: `#[warn(clippy::useless_conversion)]` 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/day11.rs:240:51 [INFO] [stdout] | [INFO] [stdout] 240 | println!("Test :: Part 1 ====> {}", part1(&test_data)); [INFO] [stdout] | ^^^^^^^^^^ help: change this to: `test_data` [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/day11.rs:241:51 [INFO] [stdout] | [INFO] [stdout] 241 | println!("Test :: Part 2 ====> {}", part2(&test_data)); [INFO] [stdout] | ^^^^^^^^^^ help: change this to: `test_data` [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: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/bin/day11.rs:245:51 [INFO] [stdout] | [INFO] [stdout] 245 | println!("Input:: Part 1 ====> {}", part1(&input_data)); [INFO] [stdout] | ^^^^^^^^^^^ help: change this to: `input_data` [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: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/bin/day12.rs:21:11 [INFO] [stdout] | [INFO] [stdout] 21 | 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] 21 - grid: &Vec>, [INFO] [stdout] 21 + grid: &[Vec], [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/bin/day12.rs:36:13 [INFO] [stdout] | [INFO] [stdout] 36 | res += &format!("┌"); [INFO] [stdout] | ^^^^^^^^^^^^ help: consider using `.to_string()`: `"┌".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] = note: `#[warn(clippy::useless_format)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/bin/day12.rs:38:17 [INFO] [stdout] | [INFO] [stdout] 38 | res += &format!( "─"); [INFO] [stdout] | ^^^^^^^^^^^^^ help: consider using `.to_string()`: `"─".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/bin/day11.rs:246:51 [INFO] [stdout] | [INFO] [stdout] 246 | println!("Input:: Part 2 ====> {}", part2(&input_data)); [INFO] [stdout] | ^^^^^^^^^^^ help: change this to: `input_data` [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: useless use of `format!` [INFO] [stdout] --> src/bin/day12.rs:42:17 [INFO] [stdout] | [INFO] [stdout] 42 | res += &format!( "─"); [INFO] [stdout] | ^^^^^^^^^^^^^ help: consider using `.to_string()`: `"─".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/bin/day12.rs:44:13 [INFO] [stdout] | [INFO] [stdout] 44 | res += &format!("┐\n"); [INFO] [stdout] | ^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"┐\n".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `r` is only used to index `grid` [INFO] [stdout] --> src/bin/day12.rs:46:14 [INFO] [stdout] | [INFO] [stdout] 46 | for r 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 [INFO] [stdout] | [INFO] [stdout] 46 - for r in 0..height { [INFO] [stdout] 46 + for in grid.iter().take(height) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/bin/day12.rs:47:17 [INFO] [stdout] | [INFO] [stdout] 47 | res += &format!( "│ "); [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"│ ".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `c` is only used to index `grid` [INFO] [stdout] --> src/bin/day12.rs:48:18 [INFO] [stdout] | [INFO] [stdout] 48 | for c 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 [INFO] [stdout] | [INFO] [stdout] 48 - for c in 0..width { [INFO] [stdout] 48 + for in grid.iter().take(width) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/bin/day12.rs:51:17 [INFO] [stdout] | [INFO] [stdout] 51 | res += &format!(" │\n"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `" │\n".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/bin/day12.rs:54:13 [INFO] [stdout] | [INFO] [stdout] 54 | res += &format!( "└"); [INFO] [stdout] | ^^^^^^^^^^^^^ help: consider using `.to_string()`: `"└".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/bin/day12.rs:56:17 [INFO] [stdout] | [INFO] [stdout] 56 | res += &format!( "─"); [INFO] [stdout] | ^^^^^^^^^^^^^ help: consider using `.to_string()`: `"─".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/bin/day12.rs:58:13 [INFO] [stdout] | [INFO] [stdout] 58 | res += &format!("┘\n"); [INFO] [stdout] | ^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"┘\n".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `isize` which implements the `Copy` trait [INFO] [stdout] --> src/bin/day12.rs:75:9 [INFO] [stdout] | [INFO] [stdout] 75 | self.grid[r][c].clone() [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `self.grid[r][c]` [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: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/bin/day12.rs:21:11 [INFO] [stdout] | [INFO] [stdout] 21 | 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] 21 - grid: &Vec>, [INFO] [stdout] 21 + grid: &[Vec], [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/bin/day12.rs:36:13 [INFO] [stdout] | [INFO] [stdout] 36 | res += &format!("┌"); [INFO] [stdout] | ^^^^^^^^^^^^ help: consider using `.to_string()`: `"┌".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] = note: `#[warn(clippy::useless_format)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/bin/day12.rs:38:17 [INFO] [stdout] | [INFO] [stdout] 38 | res += &format!( "─"); [INFO] [stdout] | ^^^^^^^^^^^^^ help: consider using `.to_string()`: `"─".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/bin/day12.rs:42:17 [INFO] [stdout] | [INFO] [stdout] 42 | res += &format!( "─"); [INFO] [stdout] | ^^^^^^^^^^^^^ help: consider using `.to_string()`: `"─".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/bin/day12.rs:44:13 [INFO] [stdout] | [INFO] [stdout] 44 | res += &format!("┐\n"); [INFO] [stdout] | ^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"┐\n".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `r` is only used to index `grid` [INFO] [stdout] --> src/bin/day12.rs:46:14 [INFO] [stdout] | [INFO] [stdout] 46 | for r 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 [INFO] [stdout] | [INFO] [stdout] 46 - for r in 0..height { [INFO] [stdout] 46 + for in grid.iter().take(height) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Cell` which implements the `Copy` trait [INFO] [stdout] --> src/bin/day12.rs:102:25 [INFO] [stdout] | [INFO] [stdout] 102 | start_cell: self.start_cell.clone(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `self.start_cell` [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: using `clone` on type `Cell` which implements the `Copy` trait [INFO] [stdout] --> src/bin/day12.rs:103:23 [INFO] [stdout] | [INFO] [stdout] 103 | end_cell: self.end_cell.clone() [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `self.end_cell` [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: useless use of `format!` [INFO] [stdout] --> src/bin/day12.rs:47:17 [INFO] [stdout] | [INFO] [stdout] 47 | res += &format!( "│ "); [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"│ ".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `c` is only used to index `grid` [INFO] [stdout] --> src/bin/day12.rs:48:18 [INFO] [stdout] | [INFO] [stdout] 48 | for c 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 [INFO] [stdout] | [INFO] [stdout] 48 - for c in 0..width { [INFO] [stdout] 48 + for in grid.iter().take(width) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is only used to index `next_cells` [INFO] [stdout] --> src/bin/day12.rs:123:14 [INFO] [stdout] | [INFO] [stdout] 123 | for i in 0..next_cells.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] 123 - for i in 0..next_cells.len() { [INFO] [stdout] 123 + for in &next_cells { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/bin/day12.rs:51:17 [INFO] [stdout] | [INFO] [stdout] 51 | res += &format!(" │\n"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `" │\n".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/bin/day12.rs:54:13 [INFO] [stdout] | [INFO] [stdout] 54 | res += &format!( "└"); [INFO] [stdout] | ^^^^^^^^^^^^^ help: consider using `.to_string()`: `"└".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/bin/day12.rs:56:17 [INFO] [stdout] | [INFO] [stdout] 56 | res += &format!( "─"); [INFO] [stdout] | ^^^^^^^^^^^^^ help: consider using `.to_string()`: `"─".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/bin/day12.rs:142:15 [INFO] [stdout] | [INFO] [stdout] 142 | while paths.len() > 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: using `!is_empty` is clearer and more explicit: `!paths.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: useless use of `format!` [INFO] [stdout] --> src/bin/day12.rs:58:13 [INFO] [stdout] | [INFO] [stdout] 58 | res += &format!("┘\n"); [INFO] [stdout] | ^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"┘\n".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/bin/day12.rs:146:54 [INFO] [stdout] | [INFO] [stdout] 146 | let (next_cells, end_reached) = navigate(&grid, weights, top_cell, old_path.len()); [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: using `clone` on type `isize` which implements the `Copy` trait [INFO] [stdout] --> src/bin/day12.rs:75:9 [INFO] [stdout] | [INFO] [stdout] 75 | self.grid[r][c].clone() [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `self.grid[r][c]` [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 `Cell` which implements the `Copy` trait [INFO] [stdout] --> src/bin/day12.rs:150:31 [INFO] [stdout] | [INFO] [stdout] 150 | end_path.push(top_cell.clone()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `top_cell` [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: using `clone` on type `Cell` which implements the `Copy` trait [INFO] [stdout] --> src/bin/day12.rs:151:31 [INFO] [stdout] | [INFO] [stdout] 151 | end_path.push(grid.end_cell.clone()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `grid.end_cell` [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: length comparison to zero [INFO] [stdout] --> src/bin/day12.rs:157:16 [INFO] [stdout] | [INFO] [stdout] 157 | if next_cells.len() != 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: using `!is_empty` is clearer and more explicit: `!next_cells.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] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Cell` which implements the `Copy` trait [INFO] [stdout] --> src/bin/day12.rs:160:35 [INFO] [stdout] | [INFO] [stdout] 160 | new_path.push(top_cell.clone()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `top_cell` [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: accessing first element with `lines.get(0)` [INFO] [stdout] --> src/bin/day12.rs:192:21 [INFO] [stdout] | [INFO] [stdout] 192 | let width = lines.get(0).expect("EMPTY GRID!").len(); [INFO] [stdout] | ^^^^^^^^^^^^ help: try: `lines.first()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_first [INFO] [stdout] = note: `#[warn(clippy::get_first)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Cell` which implements the `Copy` trait [INFO] [stdout] --> src/bin/day12.rs:230:42 [INFO] [stdout] | [INFO] [stdout] 230 | navigate_to_end(&grid, weights, vec![grid.start_cell.clone()]) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `grid.start_cell` [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: using `clone` on type `Cell` which implements the `Copy` trait [INFO] [stdout] --> src/bin/day12.rs:102:25 [INFO] [stdout] | [INFO] [stdout] 102 | start_cell: self.start_cell.clone(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `self.start_cell` [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 expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/bin/day12.rs:257:51 [INFO] [stdout] | [INFO] [stdout] 257 | println!("Test :: Part 1 ====> {}", part1(&test_data)); [INFO] [stdout] | ^^^^^^^^^^ help: change this to: `test_data` [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: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/bin/day12.rs:258:51 [INFO] [stdout] | [INFO] [stdout] 258 | println!("Test :: Part 2 ====> {}", part2(&test_data)); [INFO] [stdout] | ^^^^^^^^^^ help: change this to: `test_data` [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: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/bin/day12.rs:262:51 [INFO] [stdout] | [INFO] [stdout] 262 | println!("Input:: Part 1 ====> {}", part1(&input_data)); [INFO] [stdout] | ^^^^^^^^^^^ help: change this to: `input_data` [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: using `clone` on type `Cell` which implements the `Copy` trait [INFO] [stdout] --> src/bin/day12.rs:103:23 [INFO] [stdout] | [INFO] [stdout] 103 | end_cell: self.end_cell.clone() [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `self.end_cell` [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 expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/bin/day12.rs:263:51 [INFO] [stdout] | [INFO] [stdout] 263 | println!("Input:: Part 2 ====> {}", part2(&input_data)); [INFO] [stdout] | ^^^^^^^^^^^ help: change this to: `input_data` [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: the loop variable `i` is only used to index `next_cells` [INFO] [stdout] --> src/bin/day12.rs:123:14 [INFO] [stdout] | [INFO] [stdout] 123 | for i in 0..next_cells.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] 123 - for i in 0..next_cells.len() { [INFO] [stdout] 123 + for in &next_cells { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/bin/day12.rs:142:15 [INFO] [stdout] | [INFO] [stdout] 142 | while paths.len() > 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: using `!is_empty` is clearer and more explicit: `!paths.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: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/bin/day12.rs:146:54 [INFO] [stdout] | [INFO] [stdout] 146 | let (next_cells, end_reached) = navigate(&grid, weights, top_cell, old_path.len()); [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: using `clone` on type `Cell` which implements the `Copy` trait [INFO] [stdout] --> src/bin/day12.rs:150:31 [INFO] [stdout] | [INFO] [stdout] 150 | end_path.push(top_cell.clone()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `top_cell` [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: using `clone` on type `Cell` which implements the `Copy` trait [INFO] [stdout] --> src/bin/day12.rs:151:31 [INFO] [stdout] | [INFO] [stdout] 151 | end_path.push(grid.end_cell.clone()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `grid.end_cell` [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: length comparison to zero [INFO] [stdout] --> src/bin/day12.rs:157:16 [INFO] [stdout] | [INFO] [stdout] 157 | if next_cells.len() != 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: using `!is_empty` is clearer and more explicit: `!next_cells.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] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Cell` which implements the `Copy` trait [INFO] [stdout] --> src/bin/day12.rs:160:35 [INFO] [stdout] | [INFO] [stdout] 160 | new_path.push(top_cell.clone()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `top_cell` [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: accessing first element with `lines.get(0)` [INFO] [stdout] --> src/bin/day12.rs:192:21 [INFO] [stdout] | [INFO] [stdout] 192 | let width = lines.get(0).expect("EMPTY GRID!").len(); [INFO] [stdout] | ^^^^^^^^^^^^ help: try: `lines.first()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_first [INFO] [stdout] = note: `#[warn(clippy::get_first)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Cell` which implements the `Copy` trait [INFO] [stdout] --> src/bin/day12.rs:230:42 [INFO] [stdout] | [INFO] [stdout] 230 | navigate_to_end(&grid, weights, vec![grid.start_cell.clone()]) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `grid.start_cell` [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 expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/bin/day12.rs:257:51 [INFO] [stdout] | [INFO] [stdout] 257 | println!("Test :: Part 1 ====> {}", part1(&test_data)); [INFO] [stdout] | ^^^^^^^^^^ help: change this to: `test_data` [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: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/bin/day12.rs:258:51 [INFO] [stdout] | [INFO] [stdout] 258 | println!("Test :: Part 2 ====> {}", part2(&test_data)); [INFO] [stdout] | ^^^^^^^^^^ help: change this to: `test_data` [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: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/bin/day12.rs:262:51 [INFO] [stdout] | [INFO] [stdout] 262 | println!("Input:: Part 1 ====> {}", part1(&input_data)); [INFO] [stdout] | ^^^^^^^^^^^ help: change this to: `input_data` [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: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/bin/day12.rs:263:51 [INFO] [stdout] | [INFO] [stdout] 263 | println!("Input:: Part 2 ====> {}", part2(&input_data)); [INFO] [stdout] | ^^^^^^^^^^^ help: change this to: `input_data` [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: using `clone` on type `Shape` which implements the `Copy` trait [INFO] [stdout] --> src/bin/day02.rs:43:21 [INFO] [stdout] | [INFO] [stdout] 43 | Draw => oponent.clone(), [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: try dereferencing it: `*oponent` [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: redundant closure [INFO] [stdout] --> src/bin/day02.rs:134:14 [INFO] [stdout] | [INFO] [stdout] 134 | .map(|line| Round::from_line_1(line)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the associated function itself: `Round::from_line_1` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stdout] = note: `#[warn(clippy::redundant_closure)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant closure [INFO] [stdout] --> src/bin/day02.rs:141:14 [INFO] [stdout] | [INFO] [stdout] 141 | .map(|line| Round::from_line_2(line)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the associated function itself: `Round::from_line_2` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/bin/day02.rs:151:53 [INFO] [stdout] | [INFO] [stdout] 151 | println!("Test :: Part 1 ====> {:?}", part1(&test_data)); [INFO] [stdout] | ^^^^^^^^^^ help: change this to: `test_data` [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/day02.rs:152:53 [INFO] [stdout] | [INFO] [stdout] 152 | println!("Test :: Part 2 ====> {:?}", part2(&test_data)); [INFO] [stdout] | ^^^^^^^^^^ help: change this to: `test_data` [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: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/bin/day02.rs:157:53 [INFO] [stdout] | [INFO] [stdout] 157 | println!("Input:: Part 1 ====> {:?}", part1(&input_data)); [INFO] [stdout] | ^^^^^^^^^^^ help: change this to: `input_data` [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: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/bin/day02.rs:158:53 [INFO] [stdout] | [INFO] [stdout] 158 | println!("Input:: Part 2 ====> {:?}", part2(&input_data)); [INFO] [stdout] | ^^^^^^^^^^^ help: change this to: `input_data` [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] [stderr] Finished `dev` profile [optimized + debuginfo] target(s) in 1.15s [INFO] running `Command { std: "docker" "inspect" "535af031ab9da78ba71cd65e5bd25c6e1029dd0dc735b229081884d76b03396f", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "535af031ab9da78ba71cd65e5bd25c6e1029dd0dc735b229081884d76b03396f", kill_on_drop: false }` [INFO] [stdout] 535af031ab9da78ba71cd65e5bd25c6e1029dd0dc735b229081884d76b03396f