[INFO] cloning repository https://github.com/brucedo/advent-Challenge1 [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/brucedo/advent-Challenge1" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fbrucedo%2Fadvent-Challenge1", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fbrucedo%2Fadvent-Challenge1'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 881044009205492c4283253873da74bea318d6d3 [INFO] linting brucedo/advent-Challenge1 against nightly for clippy-nonminimal_bool-denied [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fbrucedo%2Fadvent-Challenge1" "/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/brucedo/advent-Challenge1 [INFO] finished tweaking git repo https://github.com/brucedo/advent-Challenge1 [INFO] tweaked toml for git repo https://github.com/brucedo/advent-Challenge1 written to /workspace/builds/worker-2-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/brucedo/advent-Challenge1 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/brucedo/advent-Challenge1 already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+nightly" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded libc v0.2.109 [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] b7b5d138226b56fb78c6082e4d39d103e996c08c2aff9f118d784797937318e9 [INFO] running `Command { std: "docker" "start" "-a" "b7b5d138226b56fb78c6082e4d39d103e996c08c2aff9f118d784797937318e9", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "b7b5d138226b56fb78c6082e4d39d103e996c08c2aff9f118d784797937318e9", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "b7b5d138226b56fb78c6082e4d39d103e996c08c2aff9f118d784797937318e9", kill_on_drop: false }` [INFO] [stdout] b7b5d138226b56fb78c6082e4d39d103e996c08c2aff9f118d784797937318e9 [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] 95bc6d6df74672fb4c44ab7a82acc2411776b2fbad5ae0dae91824f0da878195 [INFO] running `Command { std: "docker" "start" "-a" "95bc6d6df74672fb4c44ab7a82acc2411776b2fbad5ae0dae91824f0da878195", kill_on_drop: false }` [INFO] [stderr] Compiling memchr v2.4.1 [INFO] [stderr] Compiling libc v0.2.109 [INFO] [stderr] Checking regex-syntax v0.6.25 [INFO] [stderr] Checking aho-corasick v0.7.18 [INFO] [stderr] Checking atty v0.2.14 [INFO] [stderr] Checking regex v1.5.4 [INFO] [stderr] Checking env_logger v0.9.0 [INFO] [stderr] Checking challenge1 v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unnecessary `>= y + 1` or `x - 1 >=` [INFO] [stdout] --> src/day/day9.rs:63:16 [INFO] [stdout] | [INFO] [stdout] 63 | if i >= top_edge + 1 && field[i-1][j] <= field[i][j] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: change it to: `i > top_edge` [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: unnecessary `>= y + 1` or `x - 1 >=` [INFO] [stdout] --> src/day/day9.rs:67:16 [INFO] [stdout] | [INFO] [stdout] 67 | if j >= left_edge + 1 && field[i][j-1] <= field[i][j] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: change it to: `j > left_edge` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#int_plus_one [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `>= y + 1` or `x - 1 >=` [INFO] [stdout] --> src/day/day9.rs:133:20 [INFO] [stdout] | [INFO] [stdout] 133 | if next_i >= top + 1 && !searched.contains(&(next_i-1, next_j)) && !queue.contains(&(next_i-1, next_j)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: change it to: `next_i > top` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#int_plus_one [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `>= y + 1` or `x - 1 >=` [INFO] [stdout] --> src/day/day9.rs:145:20 [INFO] [stdout] | [INFO] [stdout] 145 | if next_j >= left + 1 && !searched.contains(&(next_i, next_j-1)) && !queue.contains(&(next_i, next_j-1)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: change it to: `next_j > left` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#int_plus_one [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around index expression [INFO] [stdout] --> src/day/day10.rs:103:93 [INFO] [stdout] | [INFO] [stdout] 103 | println!("The middle score which apparently matters is {}, located at index {}", scores[(scores.len() / 2)], (scores.len() / 2)) [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 103 - println!("The middle score which apparently matters is {}, located at index {}", scores[(scores.len() / 2)], (scores.len() / 2)) [INFO] [stdout] 103 + println!("The middle score which apparently matters is {}, located at index {}", scores[scores.len() / 2 ], (scores.len() / 2)) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `HashMap` and `hash_map::Entry` [INFO] [stdout] --> src/day/day15.rs:1:50 [INFO] [stdout] | [INFO] [stdout] 1 | use std::{io::BufReader, fs::File, collections::{HashMap, hash_map::Entry, BinaryHeap}, cmp::Ordering}; [INFO] [stdout] | ^^^^^^^ ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `cmp` [INFO] [stdout] --> src/day/day16.rs:1:11 [INFO] [stdout] | [INFO] [stdout] 1 | use std::{cmp, }; [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/day/day16.rs:411:13 [INFO] [stdout] | [INFO] [stdout] 411 | stream_pos: stream_pos, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `stream_pos` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] = note: `#[warn(clippy::redundant_field_names)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `log::debug` [INFO] [stdout] --> src/day/day17.rs:345:9 [INFO] [stdout] | [INFO] [stdout] 345 | use log::debug; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::day::day11::part_one` [INFO] [stdout] --> src/day/day17.rs:347:9 [INFO] [stdout] | [INFO] [stdout] 347 | use crate::day::day11::part_one; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `>= y + 1` or `x - 1 >=` [INFO] [stdout] --> src/day/day9.rs:63:16 [INFO] [stdout] | [INFO] [stdout] 63 | if i >= top_edge + 1 && field[i-1][j] <= field[i][j] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: change it to: `i > top_edge` [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: unnecessary `>= y + 1` or `x - 1 >=` [INFO] [stdout] --> src/day/day9.rs:67:16 [INFO] [stdout] | [INFO] [stdout] 67 | if j >= left_edge + 1 && field[i][j-1] <= field[i][j] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: change it to: `j > left_edge` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#int_plus_one [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `>= y + 1` or `x - 1 >=` [INFO] [stdout] --> src/day/day9.rs:133:20 [INFO] [stdout] | [INFO] [stdout] 133 | if next_i >= top + 1 && !searched.contains(&(next_i-1, next_j)) && !queue.contains(&(next_i-1, next_j)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: change it to: `next_i > top` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#int_plus_one [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `>= y + 1` or `x - 1 >=` [INFO] [stdout] --> src/day/day9.rs:145:20 [INFO] [stdout] | [INFO] [stdout] 145 | if next_j >= left + 1 && !searched.contains(&(next_i, next_j-1)) && !queue.contains(&(next_i, next_j-1)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: change it to: `next_j > left` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#int_plus_one [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around index expression [INFO] [stdout] --> src/day/day10.rs:103:93 [INFO] [stdout] | [INFO] [stdout] 103 | println!("The middle score which apparently matters is {}, located at index {}", scores[(scores.len() / 2)], (scores.len() / 2)) [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 103 - println!("The middle score which apparently matters is {}, located at index {}", scores[(scores.len() / 2)], (scores.len() / 2)) [INFO] [stdout] 103 + println!("The middle score which apparently matters is {}, located at index {}", scores[scores.len() / 2 ], (scores.len() / 2)) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `HashMap` and `hash_map::Entry` [INFO] [stdout] --> src/day/day15.rs:1:50 [INFO] [stdout] | [INFO] [stdout] 1 | use std::{io::BufReader, fs::File, collections::{HashMap, hash_map::Entry, BinaryHeap}, cmp::Ordering}; [INFO] [stdout] | ^^^^^^^ ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `cmp` [INFO] [stdout] --> src/day/day16.rs:1:11 [INFO] [stdout] | [INFO] [stdout] 1 | use std::{cmp, }; [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/day/day16.rs:411:13 [INFO] [stdout] | [INFO] [stdout] 411 | stream_pos: stream_pos, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `stream_pos` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] = note: `#[warn(clippy::redundant_field_names)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `msb_mask` [INFO] [stdout] --> src/day/day16.rs:596:13 [INFO] [stdout] | [INFO] [stdout] 596 | let mut msb_mask:u8; [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_msb_mask` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `simulate_x` is never used [INFO] [stdout] --> src/day/day17.rs:101:4 [INFO] [stdout] | [INFO] [stdout] 101 | fn simulate_x(x_min: i32, x_max: i32) -> HashMap> [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `simulate_y` is never used [INFO] [stdout] --> src/day/day17.rs:160:4 [INFO] [stdout] | [INFO] [stdout] 160 | fn simulate_y(y_min: i32, y_max: i32) -> HashMap> [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `name` is never read [INFO] [stdout] --> src/graph/graph.rs:11:9 [INFO] [stdout] | [INFO] [stdout] 9 | struct Node [INFO] [stdout] | ---- field in this struct [INFO] [stdout] 10 | { [INFO] [stdout] 11 | pub name: String, [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you should consider adding a `Default` implementation for `Board` [INFO] [stdout] --> src/bingo/board.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | / pub fn new() -> Board [INFO] [stdout] 12 | | { [INFO] [stdout] 13 | | Board [INFO] [stdout] ... | [INFO] [stdout] 18 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stdout] = note: `#[warn(clippy::new_without_default)]` on by default [INFO] [stdout] help: try adding this [INFO] [stdout] | [INFO] [stdout] 9 + impl Default for Board { [INFO] [stdout] 10 + fn default() -> Self { [INFO] [stdout] 11 + Self::new() [INFO] [stdout] 12 + } [INFO] [stdout] 13 + } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/bingo/board.rs:53:9 [INFO] [stdout] | [INFO] [stdout] 53 | return total; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] = note: `#[warn(clippy::needless_return)]` on by default [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 53 - return total; [INFO] [stdout] 53 + total [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `print!()` with a format string that ends in a single newline [INFO] [stdout] --> src/bingo/board.rs:47:13 [INFO] [stdout] | [INFO] [stdout] 47 | print!("\n"); [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#print_with_newline [INFO] [stdout] = note: `#[warn(clippy::print_with_newline)]` on by default [INFO] [stdout] help: use `println!` instead [INFO] [stdout] | [INFO] [stdout] 47 - print!("\n"); [INFO] [stdout] 47 + println!(); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/bingo/board.rs:66:17 [INFO] [stdout] | [INFO] [stdout] 66 | return self.row_or_col_win(row_pos, col_pos); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 66 - return self.row_or_col_win(row_pos, col_pos); [INFO] [stdout] 66 + self.row_or_col_win(row_pos, col_pos) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/bingo/board.rs:70:17 [INFO] [stdout] | [INFO] [stdout] 70 | return false; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 70 - return false; [INFO] [stdout] 70 + false [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/bingo/board.rs:95:9 [INFO] [stdout] | [INFO] [stdout] 95 | return Err("Not found.".to_string()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 95 - return Err("Not found.".to_string()); [INFO] [stdout] 95 + Err("Not found.".to_string()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/bingo/board.rs:119:9 [INFO] [stdout] | [INFO] [stdout] 119 | return row_win || column_win; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 119 - return row_win || column_win; [INFO] [stdout] 119 + row_win || column_win [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/bingo/board.rs:168:9 [INFO] [stdout] | [INFO] [stdout] 168 | return win; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 168 - return win; [INFO] [stdout] 168 + win [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: equality checks against true are unnecessary [INFO] [stdout] --> src/bingo/board.rs:139:16 [INFO] [stdout] | [INFO] [stdout] 139 | if win == true [INFO] [stdout] | ^^^^^^^^^^^ help: try: `win` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_comparison [INFO] [stdout] = note: `#[warn(clippy::bool_comparison)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: equality checks against true are unnecessary [INFO] [stdout] --> src/bingo/board.rs:158:16 [INFO] [stdout] | [INFO] [stdout] 158 | if win == true [INFO] [stdout] | ^^^^^^^^^^^ help: try: `win` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_comparison [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: module has the same name as its containing module [INFO] [stdout] --> src/bingo.rs:2:1 [INFO] [stdout] | [INFO] [stdout] 2 | pub mod bingo; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#module_inception [INFO] [stdout] = note: `#[warn(clippy::module_inception)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you should consider adding a `Default` implementation for `Bingo` [INFO] [stdout] --> src/bingo/bingo.rs:16:5 [INFO] [stdout] | [INFO] [stdout] 16 | / pub fn new() -> Bingo [INFO] [stdout] 17 | | { [INFO] [stdout] 18 | | Bingo [INFO] [stdout] ... | [INFO] [stdout] 26 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stdout] help: try adding this [INFO] [stdout] | [INFO] [stdout] 14 + impl Default for Bingo { [INFO] [stdout] 15 + fn default() -> Self { [INFO] [stdout] 16 + Self::new() [INFO] [stdout] 17 + } [INFO] [stdout] 18 + } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/bingo/bingo.rs:31:9 [INFO] [stdout] | [INFO] [stdout] 31 | return self.boards.len() - 1; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 31 - return self.boards.len() - 1; [INFO] [stdout] 31 + self.boards.len() - 1 [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/bingo/bingo.rs:37:9 [INFO] [stdout] | [INFO] [stdout] 37 | return self.boards.len() - 1; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 37 - return self.boards.len() - 1; [INFO] [stdout] 37 + self.boards.len() - 1 [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/bingo/bingo.rs:77:9 [INFO] [stdout] | [INFO] [stdout] 77 | return win; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 77 - return win; [INFO] [stdout] 77 + win [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: calling `push_str()` using a single-character string literal [INFO] [stdout] --> src/bingo/bingo.rs:105:13 [INFO] [stdout] | [INFO] [stdout] 105 | buffer.push_str("\n"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: consider using `push` with a character literal: `buffer.push('\n')` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_add_str [INFO] [stdout] = note: `#[warn(clippy::single_char_add_str)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you should consider adding a `Default` implementation for `Line` [INFO] [stdout] --> src/lines/line.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | / pub fn new() -> Line [INFO] [stdout] 12 | | { [INFO] [stdout] 13 | | Line { [INFO] [stdout] 14 | | x1: -1, [INFO] [stdout] ... | [INFO] [stdout] 19 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stdout] help: try adding this [INFO] [stdout] | [INFO] [stdout] 9 + impl Default for Line { [INFO] [stdout] 10 + fn default() -> Self { [INFO] [stdout] 11 + Self::new() [INFO] [stdout] 12 + } [INFO] [stdout] 13 + } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/lines/grid.rs:16:9 [INFO] [stdout] | [INFO] [stdout] 16 | return &self.grid[index]; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 16 - return &self.grid[index]; [INFO] [stdout] 16 + &self.grid[index] [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/lines/grid.rs:23:9 [INFO] [stdout] | [INFO] [stdout] 23 | return self.grid[index].as_mut(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 23 - return self.grid[index].as_mut(); [INFO] [stdout] 23 + self.grid[index].as_mut() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you should consider adding a `Default` implementation for `Grid` [INFO] [stdout] --> src/lines/grid.rs:29:5 [INFO] [stdout] | [INFO] [stdout] 29 | / pub fn new() -> Grid [INFO] [stdout] 30 | | { [INFO] [stdout] 31 | | Grid [INFO] [stdout] ... | [INFO] [stdout] 35 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stdout] help: try adding this [INFO] [stdout] | [INFO] [stdout] 27 + impl Default for Grid { [INFO] [stdout] 28 + fn default() -> Self { [INFO] [stdout] 29 + Self::new() [INFO] [stdout] 30 + } [INFO] [stdout] 31 + } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: module has the same name as its containing module [INFO] [stdout] --> src/common.rs:1:1 [INFO] [stdout] | [INFO] [stdout] 1 | pub mod common; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#module_inception [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/common/common.rs:19:5 [INFO] [stdout] | [INFO] [stdout] 19 | return Ok(possible_number.unwrap()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 19 - return Ok(possible_number.unwrap()); [INFO] [stdout] 19 + Ok(possible_number.unwrap()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: comparison to empty slice [INFO] [stdout] --> src/common/common.rs:8:8 [INFO] [stdout] | [INFO] [stdout] 8 | if line_buffer == "" [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `line_buffer.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: unneeded `return` statement [INFO] [stdout] --> src/common/common.rs:38:13 [INFO] [stdout] | [INFO] [stdout] 38 | return Ok(bytes_read); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 38 - return Ok(bytes_read); [INFO] [stdout] 38 + Ok(bytes_read) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/common/common.rs:42:13 [INFO] [stdout] | [INFO] [stdout] 42 | return Err("Unable to read file contents for some reason.".to_string()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 42 - return Err("Unable to read file contents for some reason.".to_string()); [INFO] [stdout] 42 + Err("Unable to read file contents for some reason.".to_string()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `byte_count` after checking its variant with `is_err` [INFO] [stdout] --> src/common/common.rs:58:13 [INFO] [stdout] | [INFO] [stdout] 54 | if byte_count.is_err() [INFO] [stdout] | ---------------------- help: try: `if let Ok() = byte_count` [INFO] [stdout] ... [INFO] [stdout] 58 | else if byte_count.unwrap() == 0 { [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: unneeded `return` statement [INFO] [stdout] --> src/common/common.rs:71:5 [INFO] [stdout] | [INFO] [stdout] 71 | return Ok(line_buffer); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 71 - return Ok(line_buffer); [INFO] [stdout] 71 + Ok(line_buffer) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the function `Path::new` doesn't need a mutable reference [INFO] [stdout] --> src/common/common.rs:90:26 [INFO] [stdout] | [INFO] [stdout] 90 | let path = Path::new(&mut filename); [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_mut_passed [INFO] [stdout] = note: `#[warn(clippy::unnecessary_mut_passed)]` on by default [INFO] [stdout] help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] 90 - let path = Path::new(&mut filename); [INFO] [stdout] 90 + let path = Path::new(&filename); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `to_string` applied to a type that implements `Display` in `println!` args [INFO] [stdout] --> src/common/common.rs:98:96 [INFO] [stdout] | [INFO] [stdout] 98 | println!("The path provided does not point to a valid readable file. Error: {}", error.to_string()); [INFO] [stdout] | ^^^^^^^^^^^^ help: remove this [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#to_string_in_format_args [INFO] [stdout] = note: `#[warn(clippy::to_string_in_format_args)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the function `Path::new` doesn't need a mutable reference [INFO] [stdout] --> src/common/common.rs:105:30 [INFO] [stdout] | [INFO] [stdout] 105 | let path = Path::new(&mut filename); [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_mut_passed [INFO] [stdout] help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] 105 - let path = Path::new(&mut filename); [INFO] [stdout] 105 + let path = Path::new(&filename); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/common/common.rs:131:5 [INFO] [stdout] | [INFO] [stdout] 131 | return Ok(value); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 131 - return Ok(value); [INFO] [stdout] 131 + Ok(value) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/common/common.rs:153:9 [INFO] [stdout] | [INFO] [stdout] 153 | return 0; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 153 - return 0; [INFO] [stdout] 153 + 0 [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/common/common.rs:157:9 [INFO] [stdout] | [INFO] [stdout] 157 | return 1; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 157 - return 1; [INFO] [stdout] 157 + 1 [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/common/common.rs:180:9 [INFO] [stdout] | [INFO] [stdout] 180 | return 0; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 180 - return 0; [INFO] [stdout] 180 + 0 [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/common/common.rs:184:9 [INFO] [stdout] | [INFO] [stdout] 184 | return 1; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 184 - return 1; [INFO] [stdout] 184 + 1 [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap_err` on `increase_result` after checking its variant with `is_err` [INFO] [stdout] --> src/day/day1.rs:14:24 [INFO] [stdout] | [INFO] [stdout] 12 | if increase_result.is_err() [INFO] [stdout] | --------------------------- help: try: `if let Err() = increase_result` [INFO] [stdout] 13 | { [INFO] [stdout] 14 | println!("{}", increase_result.unwrap_err()); [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] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `increase_result` after checking its variant with `is_err` [INFO] [stdout] --> src/day/day1.rs:18:21 [INFO] [stdout] | [INFO] [stdout] 12 | if increase_result.is_err() [INFO] [stdout] | --------------------------- help: try: `if let Ok() = increase_result` [INFO] [stdout] ... [INFO] [stdout] 18 | let count = increase_result.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] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap_err` on `rolling_increase_result` after checking its variant with `is_err` [INFO] [stdout] --> src/day/day1.rs:33:24 [INFO] [stdout] | [INFO] [stdout] 31 | if rolling_increase_result.is_err() [INFO] [stdout] | ----------------------------------- help: try: `if let Err() = rolling_increase_result` [INFO] [stdout] 32 | { [INFO] [stdout] 33 | println!("{}", rolling_increase_result.unwrap_err()); [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] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `rolling_increase_result` after checking its variant with `is_err` [INFO] [stdout] --> src/day/day1.rs:37:29 [INFO] [stdout] | [INFO] [stdout] 31 | if rolling_increase_result.is_err() [INFO] [stdout] | ----------------------------------- help: try: `if let Ok() = rolling_increase_result` [INFO] [stdout] ... [INFO] [stdout] 37 | let rolling_count = rolling_increase_result.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] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/day/day1.rs:86:5 [INFO] [stdout] | [INFO] [stdout] 86 | return Ok(count); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 86 - return Ok(count); [INFO] [stdout] 86 + Ok(count) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/day/day1.rs:75:9 [INFO] [stdout] | [INFO] [stdout] 75 | / if first > -1 && second > -1 [INFO] [stdout] 76 | | { [INFO] [stdout] 77 | | if first < second [INFO] [stdout] ... | [INFO] [stdout] 81 | | } [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] = note: `#[warn(clippy::collapsible_if)]` on by default [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 75 ~ if first > -1 && second > -1 [INFO] [stdout] 76 ~ && first < second [INFO] [stdout] 77 | { [INFO] [stdout] 78 | count += 1; [INFO] [stdout] 79 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/day/day1.rs:127:5 [INFO] [stdout] | [INFO] [stdout] 127 | return Ok(count); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 127 - return Ok(count); [INFO] [stdout] 127 + Ok(count) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this creates an owned instance just for comparison [INFO] [stdout] --> src/day/day2.rs:38:19 [INFO] [stdout] | [INFO] [stdout] 38 | while line != "".to_string() [INFO] [stdout] | ^^^^^^^^^^^^^^ help: try: `""` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cmp_owned [INFO] [stdout] = note: `#[warn(clippy::cmp_owned)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this creates an owned instance just for comparison [INFO] [stdout] --> src/day/day2.rs:102:19 [INFO] [stdout] | [INFO] [stdout] 102 | while line != "".to_string() [INFO] [stdout] | ^^^^^^^^^^^^^^ help: try: `""` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cmp_owned [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: comparison to empty slice [INFO] [stdout] --> src/day/day3.rs:20:20 [INFO] [stdout] | [INFO] [stdout] 20 | if result == "" [INFO] [stdout] | ^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `result.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] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/day/day3.rs:140:5 [INFO] [stdout] | [INFO] [stdout] 140 | return Ok("".to_string()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 140 - return Ok("".to_string()); [INFO] [stdout] 140 + Ok("".to_string()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: comparison to empty slice [INFO] [stdout] --> src/day/day3.rs:66:12 [INFO] [stdout] | [INFO] [stdout] 66 | if bit_string == "" [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `bit_string.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] [INFO] [stdout] [INFO] [stdout] warning: using `print!()` with a format string that ends in a single newline [INFO] [stdout] --> src/day/day3.rs:178:5 [INFO] [stdout] | [INFO] [stdout] 178 | print!("\n"); [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#print_with_newline [INFO] [stdout] help: use `println!` instead [INFO] [stdout] | [INFO] [stdout] 178 - print!("\n"); [INFO] [stdout] 178 + println!(); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `print!()` with a format string that ends in a single newline [INFO] [stdout] --> src/day/day3.rs:179:5 [INFO] [stdout] | [INFO] [stdout] 179 | print!("\n"); [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#print_with_newline [INFO] [stdout] help: use `println!` instead [INFO] [stdout] | [INFO] [stdout] 179 - print!("\n"); [INFO] [stdout] 179 + println!(); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: comparison to empty slice [INFO] [stdout] --> src/day/day4.rs:45:12 [INFO] [stdout] | [INFO] [stdout] 45 | if board_line == "" [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `board_line.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] [INFO] [stdout] [INFO] [stdout] warning: comparison to empty slice [INFO] [stdout] --> src/day/day4.rs:61:20 [INFO] [stdout] | [INFO] [stdout] 61 | if num == "" [INFO] [stdout] | ^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `num.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] [INFO] [stdout] [INFO] [stdout] warning: `to_string` applied to a type that implements `Display` in `println!` args [INFO] [stdout] --> src/day/day4.rs:71:92 [INFO] [stdout] | [INFO] [stdout] 71 | println!("Unable to convert string {} to int with error {}", num, e.to_string()); [INFO] [stdout] | ^^^^^^^^^^^^ help: remove this [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#to_string_in_format_args [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `to_string` applied to a type that implements `Display` in `println!` args [INFO] [stdout] --> src/day/day4.rs:96:101 [INFO] [stdout] | [INFO] [stdout] 96 | println!("Unable to convert called number in string {} to int with error {}", num, e.to_string()); [INFO] [stdout] | ^^^^^^^^^^^^ help: remove this [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#to_string_in_format_args [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/day/day5.rs:116:5 [INFO] [stdout] | [INFO] [stdout] 116 | return line; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 116 - return line; [INFO] [stdout] 116 + line [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `_i` is only used to index `fishes` [INFO] [stdout] --> src/day/day6.rs:63:15 [INFO] [stdout] | [INFO] [stdout] 63 | for _i in 0..9 [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] 63 - for _i in 0..9 [INFO] [stdout] 63 + for in &fishes [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: importing a legacy numeric constant [INFO] [stdout] --> src/day/day7.rs:1:74 [INFO] [stdout] | [INFO] [stdout] 1 | use std::{io::{BufReader, Seek, SeekFrom}, fs::File, cmp::max, cmp::min, i32::MAX}; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: remove this import and use the associated constant `i32::MAX` from the primitive type instead [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#legacy_numeric_constants [INFO] [stdout] = note: `#[warn(clippy::legacy_numeric_constants)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/day/day7.rs:11:9 [INFO] [stdout] | [INFO] [stdout] 11 | return distance [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 11 - return distance [INFO] [stdout] 11 + distance [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: usage of a legacy numeric constant [INFO] [stdout] --> src/day/day7.rs:60:30 [INFO] [stdout] | [INFO] [stdout] 60 | let mut min_fuel_usage = MAX; [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#legacy_numeric_constants [INFO] [stdout] help: use the associated constant instead [INFO] [stdout] | [INFO] [stdout] 60 | let mut min_fuel_usage = i32::MAX; [INFO] [stdout] | +++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is only used to index `complete` [INFO] [stdout] --> src/day/day8.rs:76:18 [INFO] [stdout] | [INFO] [stdout] 76 | for i in 10..14 [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] 76 - for i in 10..14 [INFO] [stdout] 76 + for in complete.iter().take(14).skip(10) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/day/day8.rs:216:5 [INFO] [stdout] | [INFO] [stdout] 216 | return known; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 216 - return known; [INFO] [stdout] 216 + known [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you seem to be trying to pop elements from a `Vec` in a loop [INFO] [stdout] --> src/day/day8.rs:138:9 [INFO] [stdout] | [INFO] [stdout] 138 | let temp = display.pop().unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_while_let_some [INFO] [stdout] = note: `#[warn(clippy::manual_while_let_some)]` on by default [INFO] [stdout] help: consider using a `while..let` loop [INFO] [stdout] | [INFO] [stdout] 136 ~ while let Some(temp) = display.pop() [INFO] [stdout] 137 | { [INFO] [stdout] 138 ~ [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you seem to be trying to pop elements from a `Vec` in a loop [INFO] [stdout] --> src/day/day8.rs:162:9 [INFO] [stdout] | [INFO] [stdout] 162 | let mut digit1 = unknown.pop().unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_while_let_some [INFO] [stdout] help: consider using a `while..let` loop [INFO] [stdout] | [INFO] [stdout] 156 ~ while let Some(mut digit1) = unknown.pop() [INFO] [stdout] 157 | { [INFO] [stdout] ... [INFO] [stdout] 161 | // } [INFO] [stdout] 162 ~ [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/day/day8.rs:230:5 [INFO] [stdout] | [INFO] [stdout] 230 | return common; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 230 - return common; [INFO] [stdout] 230 + common [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `msb_mask` [INFO] [stdout] --> src/day/day16.rs:596:13 [INFO] [stdout] | [INFO] [stdout] 596 | let mut msb_mask:u8; [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_msb_mask` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/day/day8.rs:273:5 [INFO] [stdout] | [INFO] [stdout] 273 | return Ok(matches); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 273 - return Ok(matches); [INFO] [stdout] 273 + Ok(matches) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/day/day8.rs:306:5 [INFO] [stdout] | [INFO] [stdout] 306 | return built_digits; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 306 - return built_digits; [INFO] [stdout] 306 + built_digits [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&String` instead of `&str` involves a new object where a slice will do [INFO] [stdout] --> src/day/day8.rs:276:25 [INFO] [stdout] | [INFO] [stdout] 276 | fn build_digits(digits: &String) -> 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] 276 - fn build_digits(digits: &String) -> Vec [INFO] [stdout] 276 + fn build_digits(digits: &str) -> Vec [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/day/day17.rs:361:13 [INFO] [stdout] | [INFO] [stdout] 361 | let mut min_y = -2; [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/day/day17.rs:362:13 [INFO] [stdout] | [INFO] [stdout] 362 | let mut max_y = -1; [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/day/day17.rs:367:13 [INFO] [stdout] | [INFO] [stdout] 367 | let mut min_y = -10; [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/day/day17.rs:368:13 [INFO] [stdout] | [INFO] [stdout] 368 | let mut max_y = -5; [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `y_velocities` is never read [INFO] [stdout] --> src/day/day17.rs:369:9 [INFO] [stdout] | [INFO] [stdout] 369 | y_velocities = simulate_y(min_y, max_y); [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you seem to be trying to pop elements from a `Vec` in a loop [INFO] [stdout] --> src/day/day10.rs:92:13 [INFO] [stdout] | [INFO] [stdout] 92 | let open = incomplete.pop().unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_while_let_some [INFO] [stdout] help: consider using a `while..let` loop [INFO] [stdout] | [INFO] [stdout] 90 ~ while let Some(open) = incomplete.pop() [INFO] [stdout] 91 | { [INFO] [stdout] 92 ~ [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/day/day10.rs:125:5 [INFO] [stdout] | [INFO] [stdout] 125 | return total; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 125 - return total; [INFO] [stdout] 125 + total [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/day/day10.rs:172:5 [INFO] [stdout] | [INFO] [stdout] 172 | return score; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 172 - return score; [INFO] [stdout] 172 + score [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you seem to be trying to pop elements from a `Vec` in a loop [INFO] [stdout] --> src/day/day11.rs:39:13 [INFO] [stdout] | [INFO] [stdout] 39 | let (i, j) = follow_up.pop().unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_while_let_some [INFO] [stdout] help: consider using a `while..let` loop [INFO] [stdout] | [INFO] [stdout] 37 ~ while let Some((i, j)) = follow_up.pop() [INFO] [stdout] 38 | { [INFO] [stdout] 39 ~ [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&mut Vec` instead of `&mut [_]` involves a new object where a slice will do [INFO] [stdout] --> src/day/day11.rs:74:24 [INFO] [stdout] | [INFO] [stdout] 74 | fn reset_flashed(grid: &mut Vec>, flashed: &mut Vec<(usize, usize)>) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 74 - fn reset_flashed(grid: &mut Vec>, flashed: &mut Vec<(usize, usize)>) [INFO] [stdout] 74 + fn reset_flashed(grid: &mut [Vec], flashed: &mut Vec<(usize, usize)>) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `simulate_x` is never used [INFO] [stdout] --> src/day/day17.rs:101:4 [INFO] [stdout] | [INFO] [stdout] 101 | fn simulate_x(x_min: i32, x_max: i32) -> HashMap> [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/day/day11.rs:149:5 [INFO] [stdout] | [INFO] [stdout] 149 | return false; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 149 - return false; [INFO] [stdout] 149 + false [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `name` is never read [INFO] [stdout] --> src/graph/graph.rs:11:9 [INFO] [stdout] | [INFO] [stdout] 9 | struct Node [INFO] [stdout] | ---- field in this struct [INFO] [stdout] 10 | { [INFO] [stdout] 11 | pub name: String, [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/day/day11.rs:135:58 [INFO] [stdout] | [INFO] [stdout] 135 | pub fn in_grid(i: Option, j: Option, grid: &Vec>) -> bool [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 135 - pub fn in_grid(i: Option, j: Option, grid: &Vec>) -> bool [INFO] [stdout] 135 + pub fn in_grid(i: Option, j: Option, grid: &[Vec]) -> bool [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you should consider adding a `Default` implementation for `Board` [INFO] [stdout] --> src/bingo/board.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | / pub fn new() -> Board [INFO] [stdout] 12 | | { [INFO] [stdout] 13 | | Board [INFO] [stdout] ... | [INFO] [stdout] 18 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stdout] = note: `#[warn(clippy::new_without_default)]` on by default [INFO] [stdout] help: try adding this [INFO] [stdout] | [INFO] [stdout] 9 + impl Default for Board { [INFO] [stdout] 10 + fn default() -> Self { [INFO] [stdout] 11 + Self::new() [INFO] [stdout] 12 + } [INFO] [stdout] 13 + } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/day/day11.rs:190:5 [INFO] [stdout] | [INFO] [stdout] 190 | return Ok(grid); [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 190 - return Ok(grid); [INFO] [stdout] 190 + Ok(grid) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/day/day12.rs:37:12 [INFO] [stdout] | [INFO] [stdout] 37 | if double_visit_history.len() == 0 [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `double_visit_history.is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stdout] = note: `#[warn(clippy::len_zero)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/bingo/board.rs:53:9 [INFO] [stdout] | [INFO] [stdout] 53 | return total; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] = note: `#[warn(clippy::needless_return)]` on by default [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 53 - return total; [INFO] [stdout] 53 + total [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `print!()` with a format string that ends in a single newline [INFO] [stdout] --> src/bingo/board.rs:47:13 [INFO] [stdout] | [INFO] [stdout] 47 | print!("\n"); [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#print_with_newline [INFO] [stdout] = note: `#[warn(clippy::print_with_newline)]` on by default [INFO] [stdout] help: use `println!` instead [INFO] [stdout] | [INFO] [stdout] 47 - print!("\n"); [INFO] [stdout] 47 + println!(); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/bingo/board.rs:66:17 [INFO] [stdout] | [INFO] [stdout] 66 | return self.row_or_col_win(row_pos, col_pos); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 66 - return self.row_or_col_win(row_pos, col_pos); [INFO] [stdout] 66 + self.row_or_col_win(row_pos, col_pos) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/bingo/board.rs:70:17 [INFO] [stdout] | [INFO] [stdout] 70 | return false; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 70 - return false; [INFO] [stdout] 70 + false [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/bingo/board.rs:95:9 [INFO] [stdout] | [INFO] [stdout] 95 | return Err("Not found.".to_string()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 95 - return Err("Not found.".to_string()); [INFO] [stdout] 95 + Err("Not found.".to_string()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/bingo/board.rs:119:9 [INFO] [stdout] | [INFO] [stdout] 119 | return row_win || column_win; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 119 - return row_win || column_win; [INFO] [stdout] 119 + row_win || column_win [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/bingo/board.rs:168:9 [INFO] [stdout] | [INFO] [stdout] 168 | return win; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 168 - return win; [INFO] [stdout] 168 + win [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: equality checks against true are unnecessary [INFO] [stdout] --> src/bingo/board.rs:139:16 [INFO] [stdout] | [INFO] [stdout] 139 | if win == true [INFO] [stdout] | ^^^^^^^^^^^ help: try: `win` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_comparison [INFO] [stdout] = note: `#[warn(clippy::bool_comparison)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: equality checks against true are unnecessary [INFO] [stdout] --> src/bingo/board.rs:158:16 [INFO] [stdout] | [INFO] [stdout] 158 | if win == true [INFO] [stdout] | ^^^^^^^^^^^ help: try: `win` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_comparison [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/day/day12.rs:173:5 [INFO] [stdout] | [INFO] [stdout] 173 | return graph; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 173 - return graph; [INFO] [stdout] 173 + graph [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: module has the same name as its containing module [INFO] [stdout] --> src/bingo.rs:2:1 [INFO] [stdout] | [INFO] [stdout] 2 | pub mod bingo; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#module_inception [INFO] [stdout] = note: `#[warn(clippy::module_inception)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you should consider adding a `Default` implementation for `Bingo` [INFO] [stdout] --> src/bingo/bingo.rs:16:5 [INFO] [stdout] | [INFO] [stdout] 16 | / pub fn new() -> Bingo [INFO] [stdout] 17 | | { [INFO] [stdout] 18 | | Bingo [INFO] [stdout] ... | [INFO] [stdout] 26 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stdout] help: try adding this [INFO] [stdout] | [INFO] [stdout] 14 + impl Default for Bingo { [INFO] [stdout] 15 + fn default() -> Self { [INFO] [stdout] 16 + Self::new() [INFO] [stdout] 17 + } [INFO] [stdout] 18 + } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/bingo/bingo.rs:31:9 [INFO] [stdout] | [INFO] [stdout] 31 | return self.boards.len() - 1; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 31 - return self.boards.len() - 1; [INFO] [stdout] 31 + self.boards.len() - 1 [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/bingo/bingo.rs:37:9 [INFO] [stdout] | [INFO] [stdout] 37 | return self.boards.len() - 1; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 37 - return self.boards.len() - 1; [INFO] [stdout] 37 + self.boards.len() - 1 [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`usize` -> `usize`) [INFO] [stdout] --> src/day/day13.rs:27:21 [INFO] [stdout] | [INFO] [stdout] 27 | max_x = max(*x as usize, max_x); [INFO] [stdout] | ^^^^^^^^^^^ help: try: `(*x)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] = note: `#[warn(clippy::unnecessary_cast)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/bingo/bingo.rs:77:9 [INFO] [stdout] | [INFO] [stdout] 77 | return win; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 77 - return win; [INFO] [stdout] 77 + win [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`usize` -> `usize`) [INFO] [stdout] --> src/day/day13.rs:28:21 [INFO] [stdout] | [INFO] [stdout] 28 | max_y = max(*y as usize, max_y); [INFO] [stdout] | ^^^^^^^^^^^ help: try: `(*y)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `index` is only used to index `fold_list` [INFO] [stdout] --> src/day/day13.rs:66:18 [INFO] [stdout] | [INFO] [stdout] 66 | for index in 1..fold_list.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] 66 - for index in 1..fold_list.len() [INFO] [stdout] 66 + for in fold_list.iter().skip(1) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: calling `push_str()` using a single-character string literal [INFO] [stdout] --> src/bingo/bingo.rs:105:13 [INFO] [stdout] | [INFO] [stdout] 105 | buffer.push_str("\n"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: consider using `push` with a character literal: `buffer.push('\n')` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_add_str [INFO] [stdout] = note: `#[warn(clippy::single_char_add_str)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `print!()` with a format string that ends in a single newline [INFO] [stdout] --> src/day/day13.rs:96:9 [INFO] [stdout] | [INFO] [stdout] 96 | print!("\n"); [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#print_with_newline [INFO] [stdout] help: use `println!` instead [INFO] [stdout] | [INFO] [stdout] 96 - print!("\n"); [INFO] [stdout] 96 + println!(); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you should consider adding a `Default` implementation for `Line` [INFO] [stdout] --> src/lines/line.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | / pub fn new() -> Line [INFO] [stdout] 12 | | { [INFO] [stdout] 13 | | Line { [INFO] [stdout] 14 | | x1: -1, [INFO] [stdout] ... | [INFO] [stdout] 19 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stdout] help: try adding this [INFO] [stdout] | [INFO] [stdout] 9 + impl Default for Line { [INFO] [stdout] 10 + fn default() -> Self { [INFO] [stdout] 11 + Self::new() [INFO] [stdout] 12 + } [INFO] [stdout] 13 + } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/day/day13.rs:150:5 [INFO] [stdout] | [INFO] [stdout] 150 | return fold_list; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 150 - return fold_list; [INFO] [stdout] 150 + fold_list [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/lines/grid.rs:16:9 [INFO] [stdout] | [INFO] [stdout] 16 | return &self.grid[index]; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 16 - return &self.grid[index]; [INFO] [stdout] 16 + &self.grid[index] [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/lines/grid.rs:23:9 [INFO] [stdout] | [INFO] [stdout] 23 | return self.grid[index].as_mut(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 23 - return self.grid[index].as_mut(); [INFO] [stdout] 23 + self.grid[index].as_mut() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you should consider adding a `Default` implementation for `Grid` [INFO] [stdout] --> src/lines/grid.rs:29:5 [INFO] [stdout] | [INFO] [stdout] 29 | / pub fn new() -> Grid [INFO] [stdout] 30 | | { [INFO] [stdout] 31 | | Grid [INFO] [stdout] ... | [INFO] [stdout] 35 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stdout] help: try adding this [INFO] [stdout] | [INFO] [stdout] 27 + impl Default for Grid { [INFO] [stdout] 28 + fn default() -> Self { [INFO] [stdout] 29 + Self::new() [INFO] [stdout] 30 + } [INFO] [stdout] 31 + } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/day/day13.rs:200:5 [INFO] [stdout] | [INFO] [stdout] 200 | return coords; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 200 - return coords; [INFO] [stdout] 200 + coords [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/day/day13.rs:179:20 [INFO] [stdout] | [INFO] [stdout] 179 | if buffer.len() == 0 [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `buffer.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: the loop variable `i` is only used to index `count_letters` [INFO] [stdout] --> src/day/day14.rs:127:14 [INFO] [stdout] | [INFO] [stdout] 127 | for i in 0..count_letters.len() - 1 [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] 127 - for i in 0..count_letters.len() - 1 [INFO] [stdout] 127 + for in count_letters.iter().take(count_letters.len() - 1) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/day/day14.rs:186:5 [INFO] [stdout] | [INFO] [stdout] 186 | return processed_stack; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 186 - return processed_stack; [INFO] [stdout] 186 + processed_stack [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: comparison to empty slice [INFO] [stdout] --> src/day/day14.rs:157:20 [INFO] [stdout] | [INFO] [stdout] 157 | if buffer == "" [INFO] [stdout] | ^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `buffer.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] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> src/day/day14.rs:189:63 [INFO] [stdout] | [INFO] [stdout] 189 | fn read_polymerization_rules(reader: &mut BufReader) -> [[((usize,usize),(usize,usize));26];26] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] = note: `#[warn(clippy::type_complexity)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/day/day14.rs:228:5 [INFO] [stdout] | [INFO] [stdout] 228 | return polymerization_rules; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 228 - return polymerization_rules; [INFO] [stdout] 228 + polymerization_rules [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> src/day/day14.rs:193:35 [INFO] [stdout] | [INFO] [stdout] 193 | let mut polymerization_rules: [[((usize,usize),(usize,usize));26];26] = [[((0,0),(0,0));26];26]; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting a character literal to `u8` truncates [INFO] [stdout] --> src/day/day14.rs:211:57 [INFO] [stdout] | [INFO] [stdout] 211 | let row = (pair.next().unwrap() as u8 - 'A' as u8) as usize; [INFO] [stdout] | ^^^^^^^^^ help: use a byte literal instead: `b'A'` [INFO] [stdout] | [INFO] [stdout] = note: `char` is four bytes wide, but `u8` is a single byte [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#char_lit_as_u8 [INFO] [stdout] = note: `#[warn(clippy::char_lit_as_u8)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting a character literal to `u8` truncates [INFO] [stdout] --> src/day/day14.rs:212:57 [INFO] [stdout] | [INFO] [stdout] 212 | let col = (pair.next().unwrap() as u8 - 'A' as u8) as usize; [INFO] [stdout] | ^^^^^^^^^ help: use a byte literal instead: `b'A'` [INFO] [stdout] | [INFO] [stdout] = note: `char` is four bytes wide, but `u8` is a single byte [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#char_lit_as_u8 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting a character literal to `u8` truncates [INFO] [stdout] --> src/day/day14.rs:213:51 [INFO] [stdout] | [INFO] [stdout] 213 | let first = (row, (inject as u8 - 'A' as u8) as usize); [INFO] [stdout] | ^^^^^^^^^ help: use a byte literal instead: `b'A'` [INFO] [stdout] | [INFO] [stdout] = note: `char` is four bytes wide, but `u8` is a single byte [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#char_lit_as_u8 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting a character literal to `u8` truncates [INFO] [stdout] --> src/day/day14.rs:214:47 [INFO] [stdout] | [INFO] [stdout] 214 | let second = ((inject as u8 - 'A' as u8) as usize, col); [INFO] [stdout] | ^^^^^^^^^ help: use a byte literal instead: `b'A'` [INFO] [stdout] | [INFO] [stdout] = note: `char` is four bytes wide, but `u8` is a single byte [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#char_lit_as_u8 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`usize` -> `usize`) [INFO] [stdout] --> src/day/day14.rs:216:38 [INFO] [stdout] | [INFO] [stdout] 216 | polymerization_rules[row as usize][col as usize] = (first, second); [INFO] [stdout] | ^^^^^^^^^^^^ help: try: `row` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`usize` -> `usize`) [INFO] [stdout] --> src/day/day14.rs:216:52 [INFO] [stdout] | [INFO] [stdout] 216 | polymerization_rules[row as usize][col as usize] = (first, second); [INFO] [stdout] | ^^^^^^^^^^^^ help: try: `col` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `row` is only used to index `expanded_map` [INFO] [stdout] --> src/day/day15.rs:19:16 [INFO] [stdout] | [INFO] [stdout] 19 | for row in 0..expanded_map.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] 19 - for row in 0..expanded_map.len() [INFO] [stdout] 19 + for in &expanded_map [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `column` is only used to index `expanded_map` [INFO] [stdout] --> src/day/day15.rs:21:23 [INFO] [stdout] | [INFO] [stdout] 21 | for column in 0..expanded_map[row].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] 21 - for column in 0..expanded_map[row].len() [INFO] [stdout] 21 + for in expanded_map.iter().take(expanded_map[row].len()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `print!()` with a format string that ends in a single newline [INFO] [stdout] --> src/day/day15.rs:25:9 [INFO] [stdout] | [INFO] [stdout] 25 | print!("\n"); [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#print_with_newline [INFO] [stdout] help: use `println!` instead [INFO] [stdout] | [INFO] [stdout] 25 - print!("\n"); [INFO] [stdout] 25 + println!(); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/day/day15.rs:109:8 [INFO] [stdout] | [INFO] [stdout] 109 | if !previous_row.is_none() [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try: `previous_row.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: this boolean expression can be simplified [INFO] [stdout] --> src/day/day15.rs:113:8 [INFO] [stdout] | [INFO] [stdout] 113 | if !previous_col.is_none() [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try: `previous_col.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] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/day/day15.rs:117:8 [INFO] [stdout] | [INFO] [stdout] 117 | if !next_row.is_none() && next_row.unwrap() < map.len() [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: try: `next_row.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] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/day/day15.rs:121:8 [INFO] [stdout] | [INFO] [stdout] 121 | if !next_col.is_none() && next_col.unwrap() < map[index.0].len() [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: try: `next_col.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] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `previous_row` after checking its variant with `is_none` [INFO] [stdout] --> src/day/day15.rs:111:25 [INFO] [stdout] | [INFO] [stdout] 109 | if !previous_row.is_none() [INFO] [stdout] | ---------------------- the check is happening here [INFO] [stdout] 110 | { [INFO] [stdout] 111 | neighbors.push((previous_row.unwrap(), index.1)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: try using `match` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `previous_col` after checking its variant with `is_none` [INFO] [stdout] --> src/day/day15.rs:115:34 [INFO] [stdout] | [INFO] [stdout] 113 | if !previous_col.is_none() [INFO] [stdout] | ---------------------- the check is happening here [INFO] [stdout] 114 | { [INFO] [stdout] 115 | neighbors.push((index.0, previous_col.unwrap())) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: try using `match` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `next_row` after checking its variant with `is_none` [INFO] [stdout] --> src/day/day15.rs:119:25 [INFO] [stdout] | [INFO] [stdout] 117 | if !next_row.is_none() && next_row.unwrap() < map.len() [INFO] [stdout] | ------------------ the check is happening here [INFO] [stdout] 118 | { [INFO] [stdout] 119 | neighbors.push((next_row.unwrap(), index.1)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: try using `match` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `next_col` after checking its variant with `is_none` [INFO] [stdout] --> src/day/day15.rs:123:34 [INFO] [stdout] | [INFO] [stdout] 121 | if !next_col.is_none() && next_col.unwrap() < map[index.0].len() [INFO] [stdout] | ------------------ the check is happening here [INFO] [stdout] 122 | { [INFO] [stdout] 123 | neighbors.push((index.0, next_col.unwrap())); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: try using `match` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/day/day15.rs:126:5 [INFO] [stdout] | [INFO] [stdout] 126 | return neighbors; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 126 - return neighbors; [INFO] [stdout] 126 + neighbors [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/day/day15.rs:102:48 [INFO] [stdout] | [INFO] [stdout] 102 | fn build_neighbors(index: (usize, usize), map: &Vec>) -> Vec<(usize, usize)> [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 102 - fn build_neighbors(index: (usize, usize), map: &Vec>) -> Vec<(usize, usize)> [INFO] [stdout] 102 + fn build_neighbors(index: (usize, usize), map: &[Vec]) -> Vec<(usize, usize)> [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-canonical implementation of `partial_cmp` on an `Ord` type [INFO] [stdout] --> src/day/day15.rs:154:1 [INFO] [stdout] | [INFO] [stdout] 154 | / impl PartialOrd for NodeOrder [INFO] [stdout] 155 | | { [INFO] [stdout] 156 | | fn partial_cmp(&self, other: &Self) -> Option { [INFO] [stdout] 157 | | if self.eq(other) [INFO] [stdout] ... | [INFO] [stdout] 170 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#non_canonical_partial_ord_impl [INFO] [stdout] = note: `#[warn(clippy::non_canonical_partial_ord_impl)]` on by default [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 156 - fn partial_cmp(&self, other: &Self) -> Option { [INFO] [stdout] 157 - if self.eq(other) [INFO] [stdout] 158 - { [INFO] [stdout] 159 - Some(Ordering::Equal) [INFO] [stdout] 160 - } [INFO] [stdout] 161 - else if self.distance < other.distance [INFO] [stdout] 162 - { [INFO] [stdout] 163 - Some(Ordering::Greater) [INFO] [stdout] 164 - } [INFO] [stdout] 165 - else [INFO] [stdout] 166 - { [INFO] [stdout] 167 - Some(Ordering::Less) [INFO] [stdout] 168 - } [INFO] [stdout] 169 - } [INFO] [stdout] 156 + fn partial_cmp(&self, other: &Self) -> Option { Some(self.cmp(other)) } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/day/day15.rs:224:5 [INFO] [stdout] | [INFO] [stdout] 224 | return expanded; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 224 - return expanded; [INFO] [stdout] 224 + expanded [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `row_index` is only used to index `map` [INFO] [stdout] --> src/day/day15.rs:195:26 [INFO] [stdout] | [INFO] [stdout] 195 | for row_index in 0..map_height [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator [INFO] [stdout] | [INFO] [stdout] 195 - for row_index in 0..map_height [INFO] [stdout] 195 + for in map.iter().take(map_height) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `column_index` is only used to index `map` [INFO] [stdout] --> src/day/day15.rs:201:37 [INFO] [stdout] | [INFO] [stdout] 201 | for column_index in 0..map_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] 201 - for column_index in 0..map_width [INFO] [stdout] 201 + for in map.iter().take(map_width) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/day/day15.rs:272:5 [INFO] [stdout] | [INFO] [stdout] 272 | return map; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 272 - return map; [INFO] [stdout] 272 + map [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/day/day16.rs:62:5 [INFO] [stdout] | [INFO] [stdout] 62 | return version; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 62 - return version; [INFO] [stdout] 62 + version [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you seem to be trying to pop elements from a `Vec` in a loop [INFO] [stdout] --> src/day/day16.rs:54:9 [INFO] [stdout] | [INFO] [stdout] 54 | let mut temp = stack.pop().unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_while_let_some [INFO] [stdout] help: consider using a `while..let` loop [INFO] [stdout] | [INFO] [stdout] 52 ~ while let Some(mut temp) = stack.pop() [INFO] [stdout] 53 | { [INFO] [stdout] 54 ~ [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/day/day16.rs:56:12 [INFO] [stdout] | [INFO] [stdout] 56 | if temp.nested.len() > 0 [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: using `!is_empty` is clearer and more explicit: `!temp.nested.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: unneeded `return` statement [INFO] [stdout] --> src/day/day16.rs:78:13 [INFO] [stdout] | [INFO] [stdout] 78 | return return_value; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 78 - return return_value; [INFO] [stdout] 78 + return_value [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/day/day16.rs:88:13 [INFO] [stdout] | [INFO] [stdout] 88 | return return_value; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 88 - return return_value; [INFO] [stdout] 88 + return_value [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/day/day16.rs:98:13 [INFO] [stdout] | [INFO] [stdout] 98 | return min; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 98 - return min; [INFO] [stdout] 98 + min [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/day/day16.rs:108:13 [INFO] [stdout] | [INFO] [stdout] 108 | return max; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 108 - return max; [INFO] [stdout] 108 + max [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/day/day16.rs:348:5 [INFO] [stdout] | [INFO] [stdout] 348 | return siblings.pop().unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 348 - return siblings.pop().unwrap(); [INFO] [stdout] 348 + siblings.pop().unwrap() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: module has the same name as its containing module [INFO] [stdout] --> src/common.rs:1:1 [INFO] [stdout] | [INFO] [stdout] 1 | pub mod common; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#module_inception [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/common/common.rs:19:5 [INFO] [stdout] | [INFO] [stdout] 19 | return Ok(possible_number.unwrap()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 19 - return Ok(possible_number.unwrap()); [INFO] [stdout] 19 + Ok(possible_number.unwrap()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: comparison to empty slice [INFO] [stdout] --> src/common/common.rs:8:8 [INFO] [stdout] | [INFO] [stdout] 8 | if line_buffer == "" [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `line_buffer.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: unneeded `return` statement [INFO] [stdout] --> src/common/common.rs:38:13 [INFO] [stdout] | [INFO] [stdout] 38 | return Ok(bytes_read); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 38 - return Ok(bytes_read); [INFO] [stdout] 38 + Ok(bytes_read) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/common/common.rs:42:13 [INFO] [stdout] | [INFO] [stdout] 42 | return Err("Unable to read file contents for some reason.".to_string()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 42 - return Err("Unable to read file contents for some reason.".to_string()); [INFO] [stdout] 42 + Err("Unable to read file contents for some reason.".to_string()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `byte_count` after checking its variant with `is_err` [INFO] [stdout] --> src/common/common.rs:58:13 [INFO] [stdout] | [INFO] [stdout] 54 | if byte_count.is_err() [INFO] [stdout] | ---------------------- help: try: `if let Ok() = byte_count` [INFO] [stdout] ... [INFO] [stdout] 58 | else if byte_count.unwrap() == 0 { [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: unneeded `return` statement [INFO] [stdout] --> src/common/common.rs:71:5 [INFO] [stdout] | [INFO] [stdout] 71 | return Ok(line_buffer); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 71 - return Ok(line_buffer); [INFO] [stdout] 71 + Ok(line_buffer) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the function `Path::new` doesn't need a mutable reference [INFO] [stdout] --> src/common/common.rs:90:26 [INFO] [stdout] | [INFO] [stdout] 90 | let path = Path::new(&mut filename); [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_mut_passed [INFO] [stdout] = note: `#[warn(clippy::unnecessary_mut_passed)]` on by default [INFO] [stdout] help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] 90 - let path = Path::new(&mut filename); [INFO] [stdout] 90 + let path = Path::new(&filename); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `to_string` applied to a type that implements `Display` in `println!` args [INFO] [stdout] --> src/common/common.rs:98:96 [INFO] [stdout] | [INFO] [stdout] 98 | println!("The path provided does not point to a valid readable file. Error: {}", error.to_string()); [INFO] [stdout] | ^^^^^^^^^^^^ help: remove this [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#to_string_in_format_args [INFO] [stdout] = note: `#[warn(clippy::to_string_in_format_args)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the function `Path::new` doesn't need a mutable reference [INFO] [stdout] --> src/common/common.rs:105:30 [INFO] [stdout] | [INFO] [stdout] 105 | let path = Path::new(&mut filename); [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_mut_passed [INFO] [stdout] help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] 105 - let path = Path::new(&mut filename); [INFO] [stdout] 105 + let path = Path::new(&filename); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/common/common.rs:131:5 [INFO] [stdout] | [INFO] [stdout] 131 | return Ok(value); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 131 - return Ok(value); [INFO] [stdout] 131 + Ok(value) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/common/common.rs:153:9 [INFO] [stdout] | [INFO] [stdout] 153 | return 0; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 153 - return 0; [INFO] [stdout] 153 + 0 [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/common/common.rs:157:9 [INFO] [stdout] | [INFO] [stdout] 157 | return 1; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 157 - return 1; [INFO] [stdout] 157 + 1 [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/common/common.rs:180:9 [INFO] [stdout] | [INFO] [stdout] 180 | return 0; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 180 - return 0; [INFO] [stdout] 180 + 0 [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/common/common.rs:184:9 [INFO] [stdout] | [INFO] [stdout] 184 | return 1; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 184 - return 1; [INFO] [stdout] 184 + 1 [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap_err` on `increase_result` after checking its variant with `is_err` [INFO] [stdout] --> src/day/day1.rs:14:24 [INFO] [stdout] | [INFO] [stdout] 12 | if increase_result.is_err() [INFO] [stdout] | --------------------------- help: try: `if let Err() = increase_result` [INFO] [stdout] 13 | { [INFO] [stdout] 14 | println!("{}", increase_result.unwrap_err()); [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] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `increase_result` after checking its variant with `is_err` [INFO] [stdout] --> src/day/day1.rs:18:21 [INFO] [stdout] | [INFO] [stdout] 12 | if increase_result.is_err() [INFO] [stdout] | --------------------------- help: try: `if let Ok() = increase_result` [INFO] [stdout] ... [INFO] [stdout] 18 | let count = increase_result.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] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/day/day16.rs:461:9 [INFO] [stdout] | [INFO] [stdout] 461 | return converted; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 461 - return converted; [INFO] [stdout] 461 + converted [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap_err` on `rolling_increase_result` after checking its variant with `is_err` [INFO] [stdout] --> src/day/day1.rs:33:24 [INFO] [stdout] | [INFO] [stdout] 31 | if rolling_increase_result.is_err() [INFO] [stdout] | ----------------------------------- help: try: `if let Err() = rolling_increase_result` [INFO] [stdout] 32 | { [INFO] [stdout] 33 | println!("{}", rolling_increase_result.unwrap_err()); [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] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `rolling_increase_result` after checking its variant with `is_err` [INFO] [stdout] --> src/day/day1.rs:37:29 [INFO] [stdout] | [INFO] [stdout] 31 | if rolling_increase_result.is_err() [INFO] [stdout] | ----------------------------------- help: try: `if let Ok() = rolling_increase_result` [INFO] [stdout] ... [INFO] [stdout] 37 | let rolling_count = rolling_increase_result.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] [INFO] [stdout] [INFO] [stdout] warning: unneeded late initialization [INFO] [stdout] --> src/day/day16.rs:426:13 [INFO] [stdout] | [INFO] [stdout] 426 | let hex_right: char; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_late_init [INFO] [stdout] = note: `#[warn(clippy::needless_late_init)]` on by default [INFO] [stdout] help: move the declaration `hex_right` here and remove the assignments from the `match` arms [INFO] [stdout] | [INFO] [stdout] 426 ~ [INFO] [stdout] 427 | let hex_left: char; [INFO] [stdout] 428 | [INFO] [stdout] 429 ~ let hex_right: char = match cur.pop() [INFO] [stdout] 430 | { [INFO] [stdout] 431 ~ Some(char) => {char} [INFO] [stdout] 432 | None =>{break;} [INFO] [stdout] 433 ~ }; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded late initialization [INFO] [stdout] --> src/day/day16.rs:427:13 [INFO] [stdout] | [INFO] [stdout] 427 | let hex_left: char; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_late_init [INFO] [stdout] help: move the declaration `hex_left` here and remove the assignments from the `match` arms [INFO] [stdout] | [INFO] [stdout] 427 ~ [INFO] [stdout] 428 | [INFO] [stdout] ... [INFO] [stdout] 433 | } [INFO] [stdout] 434 ~ let hex_left: char = match cur.pop() [INFO] [stdout] 435 | { [INFO] [stdout] 436 | Some(char) => [INFO] [stdout] 437 ~ {char} [INFO] [stdout] 438 ~ None => {'0'} [INFO] [stdout] 439 ~ }; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/day/day1.rs:86:5 [INFO] [stdout] | [INFO] [stdout] 86 | return Ok(count); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 86 - return Ok(count); [INFO] [stdout] 86 + Ok(count) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/day/day16.rs:489:9 [INFO] [stdout] | [INFO] [stdout] 489 | return number; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 489 - return number; [INFO] [stdout] 489 + number [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/day/day16.rs:494:9 [INFO] [stdout] | [INFO] [stdout] 494 | return (self.bits.len() * 8) - self.start_bit; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 494 - return (self.bits.len() * 8) - self.start_bit; [INFO] [stdout] 494 + (self.bits.len() * 8) - self.start_bit [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/day/day1.rs:75:9 [INFO] [stdout] | [INFO] [stdout] 75 | / if first > -1 && second > -1 [INFO] [stdout] 76 | | { [INFO] [stdout] 77 | | if first < second [INFO] [stdout] ... | [INFO] [stdout] 81 | | } [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] = note: `#[warn(clippy::collapsible_if)]` on by default [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 75 ~ if first > -1 && second > -1 [INFO] [stdout] 76 ~ && first < second [INFO] [stdout] 77 | { [INFO] [stdout] 78 | count += 1; [INFO] [stdout] 79 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/day/day1.rs:127:5 [INFO] [stdout] | [INFO] [stdout] 127 | return Ok(count); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 127 - return Ok(count); [INFO] [stdout] 127 + Ok(count) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/day/day16.rs:499:9 [INFO] [stdout] | [INFO] [stdout] 499 | return (self.bits.len() * 8) - self.stream_pos + self.start_bit; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 499 - return (self.bits.len() * 8) - self.stream_pos + self.start_bit; [INFO] [stdout] 499 + (self.bits.len() * 8) - self.stream_pos + self.start_bit [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this creates an owned instance just for comparison [INFO] [stdout] --> src/day/day2.rs:38:19 [INFO] [stdout] | [INFO] [stdout] 38 | while line != "".to_string() [INFO] [stdout] | ^^^^^^^^^^^^^^ help: try: `""` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cmp_owned [INFO] [stdout] = note: `#[warn(clippy::cmp_owned)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/day/day16.rs:504:9 [INFO] [stdout] | [INFO] [stdout] 504 | return self.stream_pos - self.start_bit; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 504 - return self.stream_pos - self.start_bit; [INFO] [stdout] 504 + self.stream_pos - self.start_bit [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/day/day16.rs:583:9 [INFO] [stdout] | [INFO] [stdout] 583 | return Some(value); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 583 - return Some(value); [INFO] [stdout] 583 + Some(value) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this creates an owned instance just for comparison [INFO] [stdout] --> src/day/day2.rs:102:19 [INFO] [stdout] | [INFO] [stdout] 102 | while line != "".to_string() [INFO] [stdout] | ^^^^^^^^^^^^^^ help: try: `""` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cmp_owned [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: comparison to empty slice [INFO] [stdout] --> src/day/day3.rs:20:20 [INFO] [stdout] | [INFO] [stdout] 20 | if result == "" [INFO] [stdout] | ^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `result.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] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/day/day3.rs:140:5 [INFO] [stdout] | [INFO] [stdout] 140 | return Ok("".to_string()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 140 - return Ok("".to_string()); [INFO] [stdout] 140 + Ok("".to_string()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: comparison to empty slice [INFO] [stdout] --> src/day/day3.rs:66:12 [INFO] [stdout] | [INFO] [stdout] 66 | if bit_string == "" [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `bit_string.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] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/day/day16.rs:643:9 [INFO] [stdout] | [INFO] [stdout] 643 | return Some(value); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 643 - return Some(value); [INFO] [stdout] 643 + Some(value) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `print!()` with a format string that ends in a single newline [INFO] [stdout] --> src/day/day3.rs:178:5 [INFO] [stdout] | [INFO] [stdout] 178 | print!("\n"); [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#print_with_newline [INFO] [stdout] help: use `println!` instead [INFO] [stdout] | [INFO] [stdout] 178 - print!("\n"); [INFO] [stdout] 178 + println!(); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `print!()` with a format string that ends in a single newline [INFO] [stdout] --> src/day/day3.rs:179:5 [INFO] [stdout] | [INFO] [stdout] 179 | print!("\n"); [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#print_with_newline [INFO] [stdout] help: use `println!` instead [INFO] [stdout] | [INFO] [stdout] 179 - print!("\n"); [INFO] [stdout] 179 + println!(); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: comparison to empty slice [INFO] [stdout] --> src/day/day4.rs:45:12 [INFO] [stdout] | [INFO] [stdout] 45 | if board_line == "" [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `board_line.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] [INFO] [stdout] [INFO] [stdout] warning: comparison to empty slice [INFO] [stdout] --> src/day/day4.rs:61:20 [INFO] [stdout] | [INFO] [stdout] 61 | if num == "" [INFO] [stdout] | ^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `num.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] [INFO] [stdout] [INFO] [stdout] warning: `to_string` applied to a type that implements `Display` in `println!` args [INFO] [stdout] --> src/day/day4.rs:71:92 [INFO] [stdout] | [INFO] [stdout] 71 | println!("Unable to convert string {} to int with error {}", num, e.to_string()); [INFO] [stdout] | ^^^^^^^^^^^^ help: remove this [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#to_string_in_format_args [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `to_string` applied to a type that implements `Display` in `println!` args [INFO] [stdout] --> src/day/day4.rs:96:101 [INFO] [stdout] | [INFO] [stdout] 96 | println!("Unable to convert called number in string {} to int with error {}", num, e.to_string()); [INFO] [stdout] | ^^^^^^^^^^^^ help: remove this [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#to_string_in_format_args [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/day/day5.rs:116:5 [INFO] [stdout] | [INFO] [stdout] 116 | return line; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 116 - return line; [INFO] [stdout] 116 + line [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/day/day17.rs:156:5 [INFO] [stdout] | [INFO] [stdout] 156 | return x_velocities; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 156 - return x_velocities; [INFO] [stdout] 156 + x_velocities [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `_i` is only used to index `fishes` [INFO] [stdout] --> src/day/day6.rs:63:15 [INFO] [stdout] | [INFO] [stdout] 63 | for _i in 0..9 [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] 63 - for _i in 0..9 [INFO] [stdout] 63 + for in &fishes [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: importing a legacy numeric constant [INFO] [stdout] --> src/day/day7.rs:1:74 [INFO] [stdout] | [INFO] [stdout] 1 | use std::{io::{BufReader, Seek, SeekFrom}, fs::File, cmp::max, cmp::min, i32::MAX}; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: remove this import and use the associated constant `i32::MAX` from the primitive type instead [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#legacy_numeric_constants [INFO] [stdout] = note: `#[warn(clippy::legacy_numeric_constants)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/day/day7.rs:11:9 [INFO] [stdout] | [INFO] [stdout] 11 | return distance [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 11 - return distance [INFO] [stdout] 11 + distance [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: calls to `push` immediately after creation [INFO] [stdout] --> src/day/day17.rs:138:25 [INFO] [stdout] | [INFO] [stdout] 138 | / let mut vec = Vec::::new(); [INFO] [stdout] 139 | | vec.push(starting_velocity); [INFO] [stdout] | |____________________________________________________^ help: consider using the `vec![]` macro: `let vec = vec![..];` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#vec_init_then_push [INFO] [stdout] = note: `#[warn(clippy::vec_init_then_push)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/day/day17.rs:214:5 [INFO] [stdout] | [INFO] [stdout] 214 | return y_velocities; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 214 - return y_velocities; [INFO] [stdout] 214 + y_velocities [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: usage of a legacy numeric constant [INFO] [stdout] --> src/day/day7.rs:60:30 [INFO] [stdout] | [INFO] [stdout] 60 | let mut min_fuel_usage = MAX; [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#legacy_numeric_constants [INFO] [stdout] help: use the associated constant instead [INFO] [stdout] | [INFO] [stdout] 60 | let mut min_fuel_usage = i32::MAX; [INFO] [stdout] | +++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: calls to `push` immediately after creation [INFO] [stdout] --> src/day/day17.rs:200:25 [INFO] [stdout] | [INFO] [stdout] 200 | / let mut vec = Vec::::new(); [INFO] [stdout] 201 | | vec.push(starting_velocity); [INFO] [stdout] | |____________________________________________________^ help: consider using the `vec![]` macro: `let vec = vec![..];` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#vec_init_then_push [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/day/day17.rs:338:5 [INFO] [stdout] | [INFO] [stdout] 338 | return ((x_min, x_max), (y_min, y_max)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 338 - return ((x_min, x_max), (y_min, y_max)); [INFO] [stdout] 338 + ((x_min, x_max), (y_min, y_max)) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is only used to index `complete` [INFO] [stdout] --> src/day/day8.rs:76:18 [INFO] [stdout] | [INFO] [stdout] 76 | for i in 10..14 [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] 76 - for i in 10..14 [INFO] [stdout] 76 + for in complete.iter().take(14).skip(10) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: module has the same name as its containing module [INFO] [stdout] --> src/digit.rs:1:1 [INFO] [stdout] | [INFO] [stdout] 1 | pub mod digit; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#module_inception [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you should consider adding a `Default` implementation for `Digit` [INFO] [stdout] --> src/digit/digit.rs:14:5 [INFO] [stdout] | [INFO] [stdout] 14 | / pub fn new() -> Digit [INFO] [stdout] 15 | | { [INFO] [stdout] 16 | | Digit { segments: [0;7], possible_digits: Vec::::new(), num_set_segments: 0, position: std::usize::MAX } [INFO] [stdout] 17 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stdout] help: try adding this [INFO] [stdout] | [INFO] [stdout] 12 + impl Default for Digit { [INFO] [stdout] 13 + fn default() -> Self { [INFO] [stdout] 14 + Self::new() [INFO] [stdout] 15 + } [INFO] [stdout] 16 + } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: usage of a legacy numeric constant [INFO] [stdout] --> src/digit/digit.rs:16:100 [INFO] [stdout] | [INFO] [stdout] 16 | Digit { segments: [0;7], possible_digits: Vec::::new(), num_set_segments: 0, position: std::usize::MAX } [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#legacy_numeric_constants [INFO] [stdout] help: use the associated constant instead [INFO] [stdout] | [INFO] [stdout] 16 - Digit { segments: [0;7], possible_digits: Vec::::new(), num_set_segments: 0, position: std::usize::MAX } [INFO] [stdout] 16 + Digit { segments: [0;7], possible_digits: Vec::::new(), num_set_segments: 0, position: usize::MAX } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/day/day8.rs:216:5 [INFO] [stdout] | [INFO] [stdout] 216 | return known; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 216 - return known; [INFO] [stdout] 216 + known [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you seem to be trying to pop elements from a `Vec` in a loop [INFO] [stdout] --> src/day/day8.rs:138:9 [INFO] [stdout] | [INFO] [stdout] 138 | let temp = display.pop().unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_while_let_some [INFO] [stdout] = note: `#[warn(clippy::manual_while_let_some)]` on by default [INFO] [stdout] help: consider using a `while..let` loop [INFO] [stdout] | [INFO] [stdout] 136 ~ while let Some(temp) = display.pop() [INFO] [stdout] 137 | { [INFO] [stdout] 138 ~ [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: module has the same name as its containing module [INFO] [stdout] --> src/graph.rs:1:1 [INFO] [stdout] | [INFO] [stdout] 1 | pub mod graph; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#module_inception [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you should consider adding a `Default` implementation for `Graph` [INFO] [stdout] --> src/graph/graph.rs:17:5 [INFO] [stdout] | [INFO] [stdout] 17 | / pub fn new() -> Graph [INFO] [stdout] 18 | | { [INFO] [stdout] 19 | | Graph [INFO] [stdout] ... | [INFO] [stdout] 23 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stdout] help: try adding this [INFO] [stdout] | [INFO] [stdout] 15 + impl Default for Graph { [INFO] [stdout] 16 + fn default() -> Self { [INFO] [stdout] 17 + Self::new() [INFO] [stdout] 18 + } [INFO] [stdout] 19 + } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you seem to be trying to pop elements from a `Vec` in a loop [INFO] [stdout] --> src/day/day8.rs:162:9 [INFO] [stdout] | [INFO] [stdout] 162 | let mut digit1 = unknown.pop().unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_while_let_some [INFO] [stdout] help: consider using a `while..let` loop [INFO] [stdout] | [INFO] [stdout] 156 ~ while let Some(mut digit1) = unknown.pop() [INFO] [stdout] 157 | { [INFO] [stdout] ... [INFO] [stdout] 161 | // } [INFO] [stdout] 162 ~ [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/graph/graph.rs:78:9 [INFO] [stdout] | [INFO] [stdout] 78 | return Option::Some(&lookup.connections); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 78 - return Option::Some(&lookup.connections); [INFO] [stdout] 78 + Option::Some(&lookup.connections) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/graph/graph.rs:87:9 [INFO] [stdout] | [INFO] [stdout] 87 | return Option::Some(copy); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 87 - return Option::Some(copy); [INFO] [stdout] 87 + Option::Some(copy) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/day/day8.rs:230:5 [INFO] [stdout] | [INFO] [stdout] 230 | return common; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 230 - return common; [INFO] [stdout] 230 + common [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/day/day8.rs:273:5 [INFO] [stdout] | [INFO] [stdout] 273 | return Ok(matches); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 273 - return Ok(matches); [INFO] [stdout] 273 + Ok(matches) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: calls to `std::mem::drop` with a reference instead of an owned value does nothing [INFO] [stdout] --> src/day/day8.rs:150:5 [INFO] [stdout] | [INFO] [stdout] 150 | drop(display); [INFO] [stdout] | ^^^^^-------^ [INFO] [stdout] | | [INFO] [stdout] | argument has type `&mut std::vec::Vec` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dropping_references)]` on by default [INFO] [stdout] help: use `let _ = ...` to ignore the expression or result [INFO] [stdout] | [INFO] [stdout] 150 - drop(display); [INFO] [stdout] 150 + let _ = display; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/day/day8.rs:306:5 [INFO] [stdout] | [INFO] [stdout] 306 | return built_digits; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 306 - return built_digits; [INFO] [stdout] 306 + built_digits [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&String` instead of `&str` involves a new object where a slice will do [INFO] [stdout] --> src/day/day8.rs:276:25 [INFO] [stdout] | [INFO] [stdout] 276 | fn build_digits(digits: &String) -> 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] 276 - fn build_digits(digits: &String) -> Vec [INFO] [stdout] 276 + fn build_digits(digits: &str) -> Vec [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you seem to be trying to pop elements from a `Vec` in a loop [INFO] [stdout] --> src/day/day10.rs:92:13 [INFO] [stdout] | [INFO] [stdout] 92 | let open = incomplete.pop().unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_while_let_some [INFO] [stdout] help: consider using a `while..let` loop [INFO] [stdout] | [INFO] [stdout] 90 ~ while let Some(open) = incomplete.pop() [INFO] [stdout] 91 | { [INFO] [stdout] 92 ~ [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/day/day10.rs:125:5 [INFO] [stdout] | [INFO] [stdout] 125 | return total; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 125 - return total; [INFO] [stdout] 125 + total [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/day/day10.rs:172:5 [INFO] [stdout] | [INFO] [stdout] 172 | return score; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 172 - return score; [INFO] [stdout] 172 + score [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you seem to be trying to pop elements from a `Vec` in a loop [INFO] [stdout] --> src/day/day11.rs:39:13 [INFO] [stdout] | [INFO] [stdout] 39 | let (i, j) = follow_up.pop().unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_while_let_some [INFO] [stdout] help: consider using a `while..let` loop [INFO] [stdout] | [INFO] [stdout] 37 ~ while let Some((i, j)) = follow_up.pop() [INFO] [stdout] 38 | { [INFO] [stdout] 39 ~ [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&mut Vec` instead of `&mut [_]` involves a new object where a slice will do [INFO] [stdout] --> src/day/day11.rs:74:24 [INFO] [stdout] | [INFO] [stdout] 74 | fn reset_flashed(grid: &mut Vec>, flashed: &mut Vec<(usize, usize)>) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 74 - fn reset_flashed(grid: &mut Vec>, flashed: &mut Vec<(usize, usize)>) [INFO] [stdout] 74 + fn reset_flashed(grid: &mut [Vec], flashed: &mut Vec<(usize, usize)>) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/day/day11.rs:149:5 [INFO] [stdout] | [INFO] [stdout] 149 | return false; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 149 - return false; [INFO] [stdout] 149 + false [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/day/day11.rs:135:58 [INFO] [stdout] | [INFO] [stdout] 135 | pub fn in_grid(i: Option, j: Option, grid: &Vec>) -> bool [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 135 - pub fn in_grid(i: Option, j: Option, grid: &Vec>) -> bool [INFO] [stdout] 135 + pub fn in_grid(i: Option, j: Option, grid: &[Vec]) -> bool [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/day/day11.rs:190:5 [INFO] [stdout] | [INFO] [stdout] 190 | return Ok(grid); [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 190 - return Ok(grid); [INFO] [stdout] 190 + Ok(grid) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/day/day12.rs:37:12 [INFO] [stdout] | [INFO] [stdout] 37 | if double_visit_history.len() == 0 [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `double_visit_history.is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stdout] = note: `#[warn(clippy::len_zero)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/day/day12.rs:173:5 [INFO] [stdout] | [INFO] [stdout] 173 | return graph; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 173 - return graph; [INFO] [stdout] 173 + graph [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`usize` -> `usize`) [INFO] [stdout] --> src/day/day13.rs:27:21 [INFO] [stdout] | [INFO] [stdout] 27 | max_x = max(*x as usize, max_x); [INFO] [stdout] | ^^^^^^^^^^^ help: try: `(*x)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] = note: `#[warn(clippy::unnecessary_cast)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`usize` -> `usize`) [INFO] [stdout] --> src/day/day13.rs:28:21 [INFO] [stdout] | [INFO] [stdout] 28 | max_y = max(*y as usize, max_y); [INFO] [stdout] | ^^^^^^^^^^^ help: try: `(*y)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `index` is only used to index `fold_list` [INFO] [stdout] --> src/day/day13.rs:66:18 [INFO] [stdout] | [INFO] [stdout] 66 | for index in 1..fold_list.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] 66 - for index in 1..fold_list.len() [INFO] [stdout] 66 + for in fold_list.iter().skip(1) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `print!()` with a format string that ends in a single newline [INFO] [stdout] --> src/day/day13.rs:96:9 [INFO] [stdout] | [INFO] [stdout] 96 | print!("\n"); [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#print_with_newline [INFO] [stdout] help: use `println!` instead [INFO] [stdout] | [INFO] [stdout] 96 - print!("\n"); [INFO] [stdout] 96 + println!(); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/day/day13.rs:150:5 [INFO] [stdout] | [INFO] [stdout] 150 | return fold_list; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 150 - return fold_list; [INFO] [stdout] 150 + fold_list [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/day/day13.rs:200:5 [INFO] [stdout] | [INFO] [stdout] 200 | return coords; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 200 - return coords; [INFO] [stdout] 200 + coords [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/day/day13.rs:179:20 [INFO] [stdout] | [INFO] [stdout] 179 | if buffer.len() == 0 [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `buffer.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: the loop variable `i` is only used to index `count_letters` [INFO] [stdout] --> src/day/day14.rs:127:14 [INFO] [stdout] | [INFO] [stdout] 127 | for i in 0..count_letters.len() - 1 [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] 127 - for i in 0..count_letters.len() - 1 [INFO] [stdout] 127 + for in count_letters.iter().take(count_letters.len() - 1) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/day/day14.rs:186:5 [INFO] [stdout] | [INFO] [stdout] 186 | return processed_stack; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 186 - return processed_stack; [INFO] [stdout] 186 + processed_stack [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: comparison to empty slice [INFO] [stdout] --> src/day/day14.rs:157:20 [INFO] [stdout] | [INFO] [stdout] 157 | if buffer == "" [INFO] [stdout] | ^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `buffer.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] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> src/day/day14.rs:189:63 [INFO] [stdout] | [INFO] [stdout] 189 | fn read_polymerization_rules(reader: &mut BufReader) -> [[((usize,usize),(usize,usize));26];26] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] = note: `#[warn(clippy::type_complexity)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/day/day14.rs:228:5 [INFO] [stdout] | [INFO] [stdout] 228 | return polymerization_rules; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 228 - return polymerization_rules; [INFO] [stdout] 228 + polymerization_rules [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> src/day/day14.rs:193:35 [INFO] [stdout] | [INFO] [stdout] 193 | let mut polymerization_rules: [[((usize,usize),(usize,usize));26];26] = [[((0,0),(0,0));26];26]; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting a character literal to `u8` truncates [INFO] [stdout] --> src/day/day14.rs:211:57 [INFO] [stdout] | [INFO] [stdout] 211 | let row = (pair.next().unwrap() as u8 - 'A' as u8) as usize; [INFO] [stdout] | ^^^^^^^^^ help: use a byte literal instead: `b'A'` [INFO] [stdout] | [INFO] [stdout] = note: `char` is four bytes wide, but `u8` is a single byte [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#char_lit_as_u8 [INFO] [stdout] = note: `#[warn(clippy::char_lit_as_u8)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting a character literal to `u8` truncates [INFO] [stdout] --> src/day/day14.rs:212:57 [INFO] [stdout] | [INFO] [stdout] 212 | let col = (pair.next().unwrap() as u8 - 'A' as u8) as usize; [INFO] [stdout] | ^^^^^^^^^ help: use a byte literal instead: `b'A'` [INFO] [stdout] | [INFO] [stdout] = note: `char` is four bytes wide, but `u8` is a single byte [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#char_lit_as_u8 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting a character literal to `u8` truncates [INFO] [stdout] --> src/day/day14.rs:213:51 [INFO] [stdout] | [INFO] [stdout] 213 | let first = (row, (inject as u8 - 'A' as u8) as usize); [INFO] [stdout] | ^^^^^^^^^ help: use a byte literal instead: `b'A'` [INFO] [stdout] | [INFO] [stdout] = note: `char` is four bytes wide, but `u8` is a single byte [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#char_lit_as_u8 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting a character literal to `u8` truncates [INFO] [stdout] --> src/day/day14.rs:214:47 [INFO] [stdout] | [INFO] [stdout] 214 | let second = ((inject as u8 - 'A' as u8) as usize, col); [INFO] [stdout] | ^^^^^^^^^ help: use a byte literal instead: `b'A'` [INFO] [stdout] | [INFO] [stdout] = note: `char` is four bytes wide, but `u8` is a single byte [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#char_lit_as_u8 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`usize` -> `usize`) [INFO] [stdout] --> src/day/day14.rs:216:38 [INFO] [stdout] | [INFO] [stdout] 216 | polymerization_rules[row as usize][col as usize] = (first, second); [INFO] [stdout] | ^^^^^^^^^^^^ help: try: `row` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`usize` -> `usize`) [INFO] [stdout] --> src/day/day14.rs:216:52 [INFO] [stdout] | [INFO] [stdout] 216 | polymerization_rules[row as usize][col as usize] = (first, second); [INFO] [stdout] | ^^^^^^^^^^^^ help: try: `col` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `row` is only used to index `expanded_map` [INFO] [stdout] --> src/day/day15.rs:19:16 [INFO] [stdout] | [INFO] [stdout] 19 | for row in 0..expanded_map.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] 19 - for row in 0..expanded_map.len() [INFO] [stdout] 19 + for in &expanded_map [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `column` is only used to index `expanded_map` [INFO] [stdout] --> src/day/day15.rs:21:23 [INFO] [stdout] | [INFO] [stdout] 21 | for column in 0..expanded_map[row].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] 21 - for column in 0..expanded_map[row].len() [INFO] [stdout] 21 + for in expanded_map.iter().take(expanded_map[row].len()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `print!()` with a format string that ends in a single newline [INFO] [stdout] --> src/day/day15.rs:25:9 [INFO] [stdout] | [INFO] [stdout] 25 | print!("\n"); [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#print_with_newline [INFO] [stdout] help: use `println!` instead [INFO] [stdout] | [INFO] [stdout] 25 - print!("\n"); [INFO] [stdout] 25 + println!(); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/day/day15.rs:109:8 [INFO] [stdout] | [INFO] [stdout] 109 | if !previous_row.is_none() [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try: `previous_row.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: this boolean expression can be simplified [INFO] [stdout] --> src/day/day15.rs:113:8 [INFO] [stdout] | [INFO] [stdout] 113 | if !previous_col.is_none() [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try: `previous_col.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] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/day/day15.rs:117:8 [INFO] [stdout] | [INFO] [stdout] 117 | if !next_row.is_none() && next_row.unwrap() < map.len() [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: try: `next_row.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] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/day/day15.rs:121:8 [INFO] [stdout] | [INFO] [stdout] 121 | if !next_col.is_none() && next_col.unwrap() < map[index.0].len() [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: try: `next_col.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] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `previous_row` after checking its variant with `is_none` [INFO] [stdout] --> src/day/day15.rs:111:25 [INFO] [stdout] | [INFO] [stdout] 109 | if !previous_row.is_none() [INFO] [stdout] | ---------------------- the check is happening here [INFO] [stdout] 110 | { [INFO] [stdout] 111 | neighbors.push((previous_row.unwrap(), index.1)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: try using `match` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `previous_col` after checking its variant with `is_none` [INFO] [stdout] --> src/day/day15.rs:115:34 [INFO] [stdout] | [INFO] [stdout] 113 | if !previous_col.is_none() [INFO] [stdout] | ---------------------- the check is happening here [INFO] [stdout] 114 | { [INFO] [stdout] 115 | neighbors.push((index.0, previous_col.unwrap())) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: try using `match` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `next_row` after checking its variant with `is_none` [INFO] [stdout] --> src/day/day15.rs:119:25 [INFO] [stdout] | [INFO] [stdout] 117 | if !next_row.is_none() && next_row.unwrap() < map.len() [INFO] [stdout] | ------------------ the check is happening here [INFO] [stdout] 118 | { [INFO] [stdout] 119 | neighbors.push((next_row.unwrap(), index.1)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: try using `match` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `next_col` after checking its variant with `is_none` [INFO] [stdout] --> src/day/day15.rs:123:34 [INFO] [stdout] | [INFO] [stdout] 121 | if !next_col.is_none() && next_col.unwrap() < map[index.0].len() [INFO] [stdout] | ------------------ the check is happening here [INFO] [stdout] 122 | { [INFO] [stdout] 123 | neighbors.push((index.0, next_col.unwrap())); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: try using `match` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/day/day15.rs:126:5 [INFO] [stdout] | [INFO] [stdout] 126 | return neighbors; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 126 - return neighbors; [INFO] [stdout] 126 + neighbors [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/day/day15.rs:102:48 [INFO] [stdout] | [INFO] [stdout] 102 | fn build_neighbors(index: (usize, usize), map: &Vec>) -> Vec<(usize, usize)> [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 102 - fn build_neighbors(index: (usize, usize), map: &Vec>) -> Vec<(usize, usize)> [INFO] [stdout] 102 + fn build_neighbors(index: (usize, usize), map: &[Vec]) -> Vec<(usize, usize)> [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-canonical implementation of `partial_cmp` on an `Ord` type [INFO] [stdout] --> src/day/day15.rs:154:1 [INFO] [stdout] | [INFO] [stdout] 154 | / impl PartialOrd for NodeOrder [INFO] [stdout] 155 | | { [INFO] [stdout] 156 | | fn partial_cmp(&self, other: &Self) -> Option { [INFO] [stdout] 157 | | if self.eq(other) [INFO] [stdout] ... | [INFO] [stdout] 170 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#non_canonical_partial_ord_impl [INFO] [stdout] = note: `#[warn(clippy::non_canonical_partial_ord_impl)]` on by default [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 156 - fn partial_cmp(&self, other: &Self) -> Option { [INFO] [stdout] 157 - if self.eq(other) [INFO] [stdout] 158 - { [INFO] [stdout] 159 - Some(Ordering::Equal) [INFO] [stdout] 160 - } [INFO] [stdout] 161 - else if self.distance < other.distance [INFO] [stdout] 162 - { [INFO] [stdout] 163 - Some(Ordering::Greater) [INFO] [stdout] 164 - } [INFO] [stdout] 165 - else [INFO] [stdout] 166 - { [INFO] [stdout] 167 - Some(Ordering::Less) [INFO] [stdout] 168 - } [INFO] [stdout] 169 - } [INFO] [stdout] 156 + fn partial_cmp(&self, other: &Self) -> Option { Some(self.cmp(other)) } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/day/day15.rs:224:5 [INFO] [stdout] | [INFO] [stdout] 224 | return expanded; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 224 - return expanded; [INFO] [stdout] 224 + expanded [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `row_index` is only used to index `map` [INFO] [stdout] --> src/day/day15.rs:195:26 [INFO] [stdout] | [INFO] [stdout] 195 | for row_index in 0..map_height [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator [INFO] [stdout] | [INFO] [stdout] 195 - for row_index in 0..map_height [INFO] [stdout] 195 + for in map.iter().take(map_height) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `column_index` is only used to index `map` [INFO] [stdout] --> src/day/day15.rs:201:37 [INFO] [stdout] | [INFO] [stdout] 201 | for column_index in 0..map_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] 201 - for column_index in 0..map_width [INFO] [stdout] 201 + for in map.iter().take(map_width) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/day/day15.rs:272:5 [INFO] [stdout] | [INFO] [stdout] 272 | return map; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 272 - return map; [INFO] [stdout] 272 + map [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/day/day16.rs:62:5 [INFO] [stdout] | [INFO] [stdout] 62 | return version; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 62 - return version; [INFO] [stdout] 62 + version [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you seem to be trying to pop elements from a `Vec` in a loop [INFO] [stdout] --> src/day/day16.rs:54:9 [INFO] [stdout] | [INFO] [stdout] 54 | let mut temp = stack.pop().unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_while_let_some [INFO] [stdout] help: consider using a `while..let` loop [INFO] [stdout] | [INFO] [stdout] 52 ~ while let Some(mut temp) = stack.pop() [INFO] [stdout] 53 | { [INFO] [stdout] 54 ~ [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/day/day16.rs:56:12 [INFO] [stdout] | [INFO] [stdout] 56 | if temp.nested.len() > 0 [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: using `!is_empty` is clearer and more explicit: `!temp.nested.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: unneeded `return` statement [INFO] [stdout] --> src/day/day16.rs:78:13 [INFO] [stdout] | [INFO] [stdout] 78 | return return_value; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 78 - return return_value; [INFO] [stdout] 78 + return_value [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/day/day16.rs:88:13 [INFO] [stdout] | [INFO] [stdout] 88 | return return_value; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 88 - return return_value; [INFO] [stdout] 88 + return_value [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/day/day16.rs:98:13 [INFO] [stdout] | [INFO] [stdout] 98 | return min; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 98 - return min; [INFO] [stdout] 98 + min [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/day/day16.rs:108:13 [INFO] [stdout] | [INFO] [stdout] 108 | return max; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 108 - return max; [INFO] [stdout] 108 + max [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/day/day16.rs:348:5 [INFO] [stdout] | [INFO] [stdout] 348 | return siblings.pop().unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 348 - return siblings.pop().unwrap(); [INFO] [stdout] 348 + siblings.pop().unwrap() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/day/day16.rs:461:9 [INFO] [stdout] | [INFO] [stdout] 461 | return converted; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 461 - return converted; [INFO] [stdout] 461 + converted [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded late initialization [INFO] [stdout] --> src/day/day16.rs:426:13 [INFO] [stdout] | [INFO] [stdout] 426 | let hex_right: char; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_late_init [INFO] [stdout] = note: `#[warn(clippy::needless_late_init)]` on by default [INFO] [stdout] help: move the declaration `hex_right` here and remove the assignments from the `match` arms [INFO] [stdout] | [INFO] [stdout] 426 ~ [INFO] [stdout] 427 | let hex_left: char; [INFO] [stdout] 428 | [INFO] [stdout] 429 ~ let hex_right: char = match cur.pop() [INFO] [stdout] 430 | { [INFO] [stdout] 431 ~ Some(char) => {char} [INFO] [stdout] 432 | None =>{break;} [INFO] [stdout] 433 ~ }; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded late initialization [INFO] [stdout] --> src/day/day16.rs:427:13 [INFO] [stdout] | [INFO] [stdout] 427 | let hex_left: char; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_late_init [INFO] [stdout] help: move the declaration `hex_left` here and remove the assignments from the `match` arms [INFO] [stdout] | [INFO] [stdout] 427 ~ [INFO] [stdout] 428 | [INFO] [stdout] ... [INFO] [stdout] 433 | } [INFO] [stdout] 434 ~ let hex_left: char = match cur.pop() [INFO] [stdout] 435 | { [INFO] [stdout] 436 | Some(char) => [INFO] [stdout] 437 ~ {char} [INFO] [stdout] 438 ~ None => {'0'} [INFO] [stdout] 439 ~ }; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/day/day16.rs:489:9 [INFO] [stdout] | [INFO] [stdout] 489 | return number; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 489 - return number; [INFO] [stdout] 489 + number [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/day/day16.rs:494:9 [INFO] [stdout] | [INFO] [stdout] 494 | return (self.bits.len() * 8) - self.start_bit; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 494 - return (self.bits.len() * 8) - self.start_bit; [INFO] [stdout] 494 + (self.bits.len() * 8) - self.start_bit [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/day/day16.rs:499:9 [INFO] [stdout] | [INFO] [stdout] 499 | return (self.bits.len() * 8) - self.stream_pos + self.start_bit; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 499 - return (self.bits.len() * 8) - self.stream_pos + self.start_bit; [INFO] [stdout] 499 + (self.bits.len() * 8) - self.stream_pos + self.start_bit [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/day/day16.rs:504:9 [INFO] [stdout] | [INFO] [stdout] 504 | return self.stream_pos - self.start_bit; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 504 - return self.stream_pos - self.start_bit; [INFO] [stdout] 504 + self.stream_pos - self.start_bit [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/day/day16.rs:583:9 [INFO] [stdout] | [INFO] [stdout] 583 | return Some(value); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 583 - return Some(value); [INFO] [stdout] 583 + Some(value) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/day/day16.rs:643:9 [INFO] [stdout] | [INFO] [stdout] 643 | return Some(value); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 643 - return Some(value); [INFO] [stdout] 643 + Some(value) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/day/day17.rs:156:5 [INFO] [stdout] | [INFO] [stdout] 156 | return x_velocities; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 156 - return x_velocities; [INFO] [stdout] 156 + x_velocities [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: calls to `push` immediately after creation [INFO] [stdout] --> src/day/day17.rs:138:25 [INFO] [stdout] | [INFO] [stdout] 138 | / let mut vec = Vec::::new(); [INFO] [stdout] 139 | | vec.push(starting_velocity); [INFO] [stdout] | |____________________________________________________^ help: consider using the `vec![]` macro: `let vec = vec![..];` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#vec_init_then_push [INFO] [stdout] = note: `#[warn(clippy::vec_init_then_push)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/day/day17.rs:214:5 [INFO] [stdout] | [INFO] [stdout] 214 | return y_velocities; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 214 - return y_velocities; [INFO] [stdout] 214 + y_velocities [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: calls to `push` immediately after creation [INFO] [stdout] --> src/day/day17.rs:200:25 [INFO] [stdout] | [INFO] [stdout] 200 | / let mut vec = Vec::::new(); [INFO] [stdout] 201 | | vec.push(starting_velocity); [INFO] [stdout] | |____________________________________________________^ help: consider using the `vec![]` macro: `let vec = vec![..];` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#vec_init_then_push [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/day/day17.rs:338:5 [INFO] [stdout] | [INFO] [stdout] 338 | return ((x_min, x_max), (y_min, y_max)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 338 - return ((x_min, x_max), (y_min, y_max)); [INFO] [stdout] 338 + ((x_min, x_max), (y_min, y_max)) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: module has the same name as its containing module [INFO] [stdout] --> src/digit.rs:1:1 [INFO] [stdout] | [INFO] [stdout] 1 | pub mod digit; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#module_inception [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you should consider adding a `Default` implementation for `Digit` [INFO] [stdout] --> src/digit/digit.rs:14:5 [INFO] [stdout] | [INFO] [stdout] 14 | / pub fn new() -> Digit [INFO] [stdout] 15 | | { [INFO] [stdout] 16 | | Digit { segments: [0;7], possible_digits: Vec::::new(), num_set_segments: 0, position: std::usize::MAX } [INFO] [stdout] 17 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stdout] help: try adding this [INFO] [stdout] | [INFO] [stdout] 12 + impl Default for Digit { [INFO] [stdout] 13 + fn default() -> Self { [INFO] [stdout] 14 + Self::new() [INFO] [stdout] 15 + } [INFO] [stdout] 16 + } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: usage of a legacy numeric constant [INFO] [stdout] --> src/digit/digit.rs:16:100 [INFO] [stdout] | [INFO] [stdout] 16 | Digit { segments: [0;7], possible_digits: Vec::::new(), num_set_segments: 0, position: std::usize::MAX } [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#legacy_numeric_constants [INFO] [stdout] help: use the associated constant instead [INFO] [stdout] | [INFO] [stdout] 16 - Digit { segments: [0;7], possible_digits: Vec::::new(), num_set_segments: 0, position: std::usize::MAX } [INFO] [stdout] 16 + Digit { segments: [0;7], possible_digits: Vec::::new(), num_set_segments: 0, position: usize::MAX } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: module has the same name as its containing module [INFO] [stdout] --> src/graph.rs:1:1 [INFO] [stdout] | [INFO] [stdout] 1 | pub mod graph; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#module_inception [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you should consider adding a `Default` implementation for `Graph` [INFO] [stdout] --> src/graph/graph.rs:17:5 [INFO] [stdout] | [INFO] [stdout] 17 | / pub fn new() -> Graph [INFO] [stdout] 18 | | { [INFO] [stdout] 19 | | Graph [INFO] [stdout] ... | [INFO] [stdout] 23 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stdout] help: try adding this [INFO] [stdout] | [INFO] [stdout] 15 + impl Default for Graph { [INFO] [stdout] 16 + fn default() -> Self { [INFO] [stdout] 17 + Self::new() [INFO] [stdout] 18 + } [INFO] [stdout] 19 + } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/graph/graph.rs:78:9 [INFO] [stdout] | [INFO] [stdout] 78 | return Option::Some(&lookup.connections); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 78 - return Option::Some(&lookup.connections); [INFO] [stdout] 78 + Option::Some(&lookup.connections) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/graph/graph.rs:87:9 [INFO] [stdout] | [INFO] [stdout] 87 | return Option::Some(copy); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 87 - return Option::Some(copy); [INFO] [stdout] 87 + Option::Some(copy) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: calls to `std::mem::drop` with a reference instead of an owned value does nothing [INFO] [stdout] --> src/day/day8.rs:150:5 [INFO] [stdout] | [INFO] [stdout] 150 | drop(display); [INFO] [stdout] | ^^^^^-------^ [INFO] [stdout] | | [INFO] [stdout] | argument has type `&mut std::vec::Vec` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dropping_references)]` on by default [INFO] [stdout] help: use `let _ = ...` to ignore the expression or result [INFO] [stdout] | [INFO] [stdout] 150 - drop(display); [INFO] [stdout] 150 + let _ = display; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 4.20s [INFO] running `Command { std: "docker" "inspect" "95bc6d6df74672fb4c44ab7a82acc2411776b2fbad5ae0dae91824f0da878195", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "95bc6d6df74672fb4c44ab7a82acc2411776b2fbad5ae0dae91824f0da878195", kill_on_drop: false }` [INFO] [stdout] 95bc6d6df74672fb4c44ab7a82acc2411776b2fbad5ae0dae91824f0da878195