[INFO] cloning repository https://github.com/dbanetto/aoc-2023 [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/dbanetto/aoc-2023" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdbanetto%2Faoc-2023", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdbanetto%2Faoc-2023'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 28713f2e716e43b7926549d06d60ac2e0ef0fdc3 [INFO] linting dbanetto/aoc-2023 against nightly for clippy-nonminimal_bool-denied [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdbanetto%2Faoc-2023" "/workspace/builds/worker-4-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc1/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/dbanetto/aoc-2023 [INFO] finished tweaking git repo https://github.com/dbanetto/aoc-2023 [INFO] tweaked toml for git repo https://github.com/dbanetto/aoc-2023 written to /workspace/builds/worker-4-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/dbanetto/aoc-2023 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/dbanetto/aoc-2023 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] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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] 7b2ec52296b8b2ce7b8c66b2661b98ac760101daa0ebf4cfe8ee99e73a7f751f [INFO] running `Command { std: "docker" "start" "-a" "7b2ec52296b8b2ce7b8c66b2661b98ac760101daa0ebf4cfe8ee99e73a7f751f", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "7b2ec52296b8b2ce7b8c66b2661b98ac760101daa0ebf4cfe8ee99e73a7f751f", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "7b2ec52296b8b2ce7b8c66b2661b98ac760101daa0ebf4cfe8ee99e73a7f751f", kill_on_drop: false }` [INFO] [stdout] 7b2ec52296b8b2ce7b8c66b2661b98ac760101daa0ebf4cfe8ee99e73a7f751f [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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] 1d892a557f2a236bd15c7c3d00561654e4b4fc650c70f5ed4a163b565d62ada4 [INFO] running `Command { std: "docker" "start" "-a" "1d892a557f2a236bd15c7c3d00561654e4b4fc650c70f5ed4a163b565d62ada4", kill_on_drop: false }` [INFO] [stderr] Checking day05 v0.1.0 (/opt/rustwide/workdir/day05) [INFO] [stderr] Checking day07 v0.1.0 (/opt/rustwide/workdir/day07) [INFO] [stderr] Checking day01 v0.1.0 (/opt/rustwide/workdir/day01) [INFO] [stderr] Checking day06 v0.1.0 (/opt/rustwide/workdir/day06) [INFO] [stderr] Checking day09 v0.1.0 (/opt/rustwide/workdir/day09) [INFO] [stderr] Checking day02 v0.1.0 (/opt/rustwide/workdir/day02) [INFO] [stderr] Checking day03 v0.1.0 (/opt/rustwide/workdir/day03) [INFO] [stdout] warning: unused import: `std::ops::Range` [INFO] [stdout] --> day06/src/main.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::ops::Range; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> day03/src/main.rs:89:13 [INFO] [stdout] | [INFO] [stdout] 89 | counter: counter, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: replace it with: `counter` [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: matching on `Some` with `ok()` is redundant [INFO] [stdout] --> day01/src/main.rs:9:9 [INFO] [stdout] | [INFO] [stdout] 9 | if let Some(line) = line.ok() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_result_ok [INFO] [stdout] = note: `#[warn(clippy::match_result_ok)]` on by default [INFO] [stdout] help: consider matching on `Ok(line)` and removing the call to `ok` instead [INFO] [stdout] | [INFO] [stdout] 9 - if let Some(line) = line.ok() { [INFO] [stdout] 9 + if let Ok(line) = line { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> day01/src/main.rs:59:5 [INFO] [stdout] | [INFO] [stdout] 59 | return (first.unwrap_or_default().1, last.unwrap_or_default().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] = note: `#[warn(clippy::needless_return)]` on by default [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 59 - return (first.unwrap_or_default().1, last.unwrap_or_default().1); [INFO] [stdout] 59 + (first.unwrap_or_default().1, last.unwrap_or_default().1) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: matching on `Some` with `ok()` is redundant [INFO] [stdout] --> day09/src/main.rs:9:9 [INFO] [stdout] | [INFO] [stdout] 9 | if let Some(line) = line.ok() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_result_ok [INFO] [stdout] = note: `#[warn(clippy::match_result_ok)]` on by default [INFO] [stdout] help: consider matching on `Ok(line)` and removing the call to `ok` instead [INFO] [stdout] | [INFO] [stdout] 9 - if let Some(line) = line.ok() { [INFO] [stdout] 9 + if let Ok(line) = line { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> day09/src/main.rs:38:9 [INFO] [stdout] | [INFO] [stdout] 38 | return Ok(Series { numbers: nums }); [INFO] [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] 38 - return Ok(Series { numbers: nums }); [INFO] [stdout] 38 + Ok(Series { numbers: nums }) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `.fold` can be written more succinctly using another method [INFO] [stdout] --> day09/src/main.rs:44:32 [INFO] [stdout] | [INFO] [stdout] 44 | if self.numbers.iter().fold(true, |acc, n| *n == 0 && acc) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `all(|n| *n == 0)` [INFO] [stdout] | [INFO] [stdout] = note: the `all` method is short circuiting and may change the program semantics if the iterator has side effects [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_fold [INFO] [stdout] = note: `#[warn(clippy::unnecessary_fold)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `.fold` can be written more succinctly using another method [INFO] [stdout] --> day09/src/main.rs:52:32 [INFO] [stdout] | [INFO] [stdout] 52 | if self.numbers.iter().fold(true, |acc, n| *n == 0 && acc) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `all(|n| *n == 0)` [INFO] [stdout] | [INFO] [stdout] = note: the `all` method is short circuiting and may change the program semantics if the iterator has side effects [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_fold [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `.iter().next()` on an array [INFO] [stdout] --> day09/src/main.rs:55:13 [INFO] [stdout] | [INFO] [stdout] 55 | self.numbers.iter().next().unwrap() - self.deriviative().predict_prev() [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try calling: `self.numbers.first()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#iter_next_slice [INFO] [stdout] = note: `#[warn(clippy::iter_next_slice)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> day09/src/main.rs:70:9 [INFO] [stdout] | [INFO] [stdout] 70 | / return Series { [INFO] [stdout] 71 | | numbers: derv.collect(), [INFO] [stdout] 72 | | }; [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for 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 ~ Series { [INFO] [stdout] 71 + numbers: derv.collect(), [INFO] [stdout] 72 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Checking day08 v0.1.0 (/opt/rustwide/workdir/day08) [INFO] [stderr] Checking day04 v0.1.0 (/opt/rustwide/workdir/day04) [INFO] [stdout] warning: matching on `Some` with `ok()` is redundant [INFO] [stdout] --> day03/src/main.rs:13:9 [INFO] [stdout] | [INFO] [stdout] 13 | if let Some(line) = line.ok() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_result_ok [INFO] [stdout] = note: `#[warn(clippy::match_result_ok)]` on by default [INFO] [stdout] help: consider matching on `Ok(line)` and removing the call to `ok` instead [INFO] [stdout] | [INFO] [stdout] 13 - if let Some(line) = line.ok() { [INFO] [stdout] 13 + if let Ok(line) = line { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> day03/src/main.rs:84:9 [INFO] [stdout] | [INFO] [stdout] 84 | / return Board { [INFO] [stdout] 85 | | last: self.current, [INFO] [stdout] 86 | | current: self.next, [INFO] [stdout] 87 | | next: Some(block), [INFO] [stdout] ... | [INFO] [stdout] 90 | | gear_ratio: ratio, [INFO] [stdout] 91 | | }; [INFO] [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] 84 ~ Board { [INFO] [stdout] 85 + last: self.current, [INFO] [stdout] 86 + current: self.next, [INFO] [stdout] 87 + next: Some(block), [INFO] [stdout] 88 + [INFO] [stdout] 89 + counter: counter, [INFO] [stdout] 90 + gear_ratio: ratio, [INFO] [stdout] 91 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of `char::is_digit` with literal radix of 10 [INFO] [stdout] --> day03/src/main.rs:50:16 [INFO] [stdout] | [INFO] [stdout] 50 | if char.is_digit(10) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: try: `char.is_ascii_digit()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#is_digit_ascii_radix [INFO] [stdout] = note: `#[warn(clippy::is_digit_ascii_radix)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> day03/src/main.rs:52:23 [INFO] [stdout] | [INFO] [stdout] 52 | } else if buf.len() != 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^ help: using `!is_empty` is clearer and more explicit: `!buf.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: use of `char::is_digit` with literal radix of 10 [INFO] [stdout] --> day03/src/main.rs:63:17 [INFO] [stdout] | [INFO] [stdout] 63 | if !char.is_digit(10) && char == '*' { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: try: `char.is_ascii_digit()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#is_digit_ascii_radix [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of `char::is_digit` with literal radix of 10 [INFO] [stdout] --> day03/src/main.rs:65:24 [INFO] [stdout] | [INFO] [stdout] 65 | } else if !char.is_digit(10) && char != '.' { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: try: `char.is_ascii_digit()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#is_digit_ascii_radix [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> day03/src/main.rs:69:12 [INFO] [stdout] | [INFO] [stdout] 69 | if buf.len() != 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^ help: using `!is_empty` is clearer and more explicit: `!buf.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] --> day03/src/main.rs:123:9 [INFO] [stdout] | [INFO] [stdout] 123 | return val; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 123 - return val; [INFO] [stdout] 123 + val [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::ops::Range` [INFO] [stdout] --> day06/src/main.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::ops::Range; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> day03/src/main.rs:159:9 [INFO] [stdout] | [INFO] [stdout] 159 | return val; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 159 - return val; [INFO] [stdout] 159 + val [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `.fold` can be written more succinctly using another method [INFO] [stdout] --> day03/src/main.rs:155:37 [INFO] [stdout] | [INFO] [stdout] 155 | val += found.iter().fold(1, |acc, i| acc * i) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `product::()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_fold [INFO] [stdout] = note: `#[warn(clippy::unnecessary_fold)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> day03/src/main.rs:163:36 [INFO] [stdout] | [INFO] [stdout] 163 | fn find_adjacent(idx: usize, list: &Vec) -> Vec { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] = note: `#[warn(clippy::ptr_arg)]` on by default [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 163 - fn find_adjacent(idx: usize, list: &Vec) -> Vec { [INFO] [stdout] 163 + fn find_adjacent(idx: usize, list: &[Span]) -> Vec { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> day05/src/main.rs:98:9 [INFO] [stdout] | [INFO] [stdout] 98 | let mut smallest: Option<(u64, u64)> = None; [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: matching on `Some` with `ok()` is redundant [INFO] [stdout] --> day05/src/main.rs:22:9 [INFO] [stdout] | [INFO] [stdout] 22 | if let Some(line) = line.ok() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_result_ok [INFO] [stdout] = note: `#[warn(clippy::match_result_ok)]` on by default [INFO] [stdout] help: consider matching on `Ok(line)` and removing the call to `ok` instead [INFO] [stdout] | [INFO] [stdout] 22 - if let Some(line) = line.ok() { [INFO] [stdout] 22 + if let Ok(line) = line { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: comparison to empty slice [INFO] [stdout] --> day05/src/main.rs:23:16 [INFO] [stdout] | [INFO] [stdout] 23 | if line == "" { [INFO] [stdout] | ^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `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] = note: `#[warn(clippy::comparison_to_empty)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> day05/src/main.rs:204:9 [INFO] [stdout] | [INFO] [stdout] 204 | return (num, self.destination); [INFO] [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] 204 - return (num, self.destination); [INFO] [stdout] 204 + (num, self.destination) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `id` is never read [INFO] [stdout] --> day04/src/main.rs:39:5 [INFO] [stdout] | [INFO] [stdout] 38 | struct Card { [INFO] [stdout] | ---- field in this struct [INFO] [stdout] 39 | id: i32, [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = note: `Card` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: matching on `Some` with `ok()` is redundant [INFO] [stdout] --> day04/src/main.rs:15:9 [INFO] [stdout] | [INFO] [stdout] 15 | if let Some(line) = line.ok() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_result_ok [INFO] [stdout] = note: `#[warn(clippy::match_result_ok)]` on by default [INFO] [stdout] help: consider matching on `Ok(line)` and removing the call to `ok` instead [INFO] [stdout] | [INFO] [stdout] 15 - if let Some(line) = line.ok() { [INFO] [stdout] 15 + if let Ok(line) = line { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> day02/src/main.rs:129:13 [INFO] [stdout] | [INFO] [stdout] 129 | games: games, [INFO] [stdout] | ^^^^^^^^^^^^ help: replace it with: `games` [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: unneeded `return` statement [INFO] [stdout] --> day04/src/main.rs:70:9 [INFO] [stdout] | [INFO] [stdout] 70 | return intersection.count().try_into().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] = note: `#[warn(clippy::needless_return)]` on by default [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 70 - return intersection.count().try_into().unwrap(); [INFO] [stdout] 70 + intersection.count().try_into().unwrap() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> day04/src/main.rs:77:13 [INFO] [stdout] | [INFO] [stdout] 77 | 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] 77 - return 1; [INFO] [stdout] 77 + 1 [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> day04/src/main.rs:88:5 [INFO] [stdout] | [INFO] [stdout] 88 | / return HashSet::from_iter( [INFO] [stdout] 89 | | s.trim() [INFO] [stdout] 90 | | .split(" ") [INFO] [stdout] 91 | | .filter_map(|s| i32::from_str(s.trim()).ok()), [INFO] [stdout] 92 | | ); [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: for 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 ~ HashSet::from_iter( [INFO] [stdout] 89 + s.trim() [INFO] [stdout] 90 + .split(" ") [INFO] [stdout] 91 + .filter_map(|s| i32::from_str(s.trim()).ok()), [INFO] [stdout] 92 ~ ) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: matching on `Some` with `ok()` is redundant [INFO] [stdout] --> day01/src/main.rs:9:9 [INFO] [stdout] | [INFO] [stdout] 9 | if let Some(line) = line.ok() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_result_ok [INFO] [stdout] = note: `#[warn(clippy::match_result_ok)]` on by default [INFO] [stdout] help: consider matching on `Ok(line)` and removing the call to `ok` instead [INFO] [stdout] | [INFO] [stdout] 9 - if let Some(line) = line.ok() { [INFO] [stdout] 9 + if let Ok(line) = line { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> day01/src/main.rs:59:5 [INFO] [stdout] | [INFO] [stdout] 59 | return (first.unwrap_or_default().1, last.unwrap_or_default().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] = note: `#[warn(clippy::needless_return)]` on by default [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 59 - return (first.unwrap_or_default().1, last.unwrap_or_default().1); [INFO] [stdout] 59 + (first.unwrap_or_default().1, last.unwrap_or_default().1) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> day02/src/main.rs:129:13 [INFO] [stdout] | [INFO] [stdout] 129 | games: games, [INFO] [stdout] | ^^^^^^^^^^^^ help: replace it with: `games` [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: field `id` is never read [INFO] [stdout] --> day04/src/main.rs:39:5 [INFO] [stdout] | [INFO] [stdout] 38 | struct Card { [INFO] [stdout] | ---- field in this struct [INFO] [stdout] 39 | id: i32, [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = note: `Card` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: matching on `Some` with `ok()` is redundant [INFO] [stdout] --> day04/src/main.rs:15:9 [INFO] [stdout] | [INFO] [stdout] 15 | if let Some(line) = line.ok() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_result_ok [INFO] [stdout] = note: `#[warn(clippy::match_result_ok)]` on by default [INFO] [stdout] help: consider matching on `Ok(line)` and removing the call to `ok` instead [INFO] [stdout] | [INFO] [stdout] 15 - if let Some(line) = line.ok() { [INFO] [stdout] 15 + if let Ok(line) = line { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> day04/src/main.rs:70:9 [INFO] [stdout] | [INFO] [stdout] 70 | return intersection.count().try_into().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] = note: `#[warn(clippy::needless_return)]` on by default [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 70 - return intersection.count().try_into().unwrap(); [INFO] [stdout] 70 + intersection.count().try_into().unwrap() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> day04/src/main.rs:77:13 [INFO] [stdout] | [INFO] [stdout] 77 | 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] 77 - return 1; [INFO] [stdout] 77 + 1 [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> day04/src/main.rs:88:5 [INFO] [stdout] | [INFO] [stdout] 88 | / return HashSet::from_iter( [INFO] [stdout] 89 | | s.trim() [INFO] [stdout] 90 | | .split(" ") [INFO] [stdout] 91 | | .filter_map(|s| i32::from_str(s.trim()).ok()), [INFO] [stdout] 92 | | ); [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: for 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 ~ HashSet::from_iter( [INFO] [stdout] 89 + s.trim() [INFO] [stdout] 90 + .split(" ") [INFO] [stdout] 91 + .filter_map(|s| i32::from_str(s.trim()).ok()), [INFO] [stdout] 92 ~ ) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: matching on `Some` with `ok()` is redundant [INFO] [stdout] --> day02/src/main.rs:11:9 [INFO] [stdout] | [INFO] [stdout] 11 | if let Some(line) = line.ok() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_result_ok [INFO] [stdout] = note: `#[warn(clippy::match_result_ok)]` on by default [INFO] [stdout] help: consider matching on `Ok(line)` and removing the call to `ok` instead [INFO] [stdout] | [INFO] [stdout] 11 - if let Some(line) = line.ok() { [INFO] [stdout] 11 + if let Ok(line) = line { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `.fold` can be written more succinctly using another method [INFO] [stdout] --> day02/src/main.rs:20:18 [INFO] [stdout] | [INFO] [stdout] 20 | .fold(true, |acc, g| acc && g.is_valid(12, 14, 13)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `all(|g| g.is_valid(12, 14, 13))` [INFO] [stdout] | [INFO] [stdout] = note: the `all` method is short circuiting and may change the program semantics if the iterator has side effects [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_fold [INFO] [stdout] = note: `#[warn(clippy::unnecessary_fold)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: match can be simplified with `.unwrap_or_default()` [INFO] [stdout] --> day02/src/main.rs:25:22 [INFO] [stdout] | [INFO] [stdout] 25 | power += match game.power() { [INFO] [stdout] | ______________________^ [INFO] [stdout] 26 | | Some(v) => v, [INFO] [stdout] 27 | | None => 0, [INFO] [stdout] 28 | | }; [INFO] [stdout] | |_____________^ help: ascribe the type u32 and replace your expression with: `game.power().unwrap_or_default()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_unwrap_or_default [INFO] [stdout] = note: `#[warn(clippy::manual_unwrap_or_default)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> day02/src/main.rs:97:9 [INFO] [stdout] | [INFO] [stdout] 97 | return true; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] = note: `#[warn(clippy::needless_return)]` on by default [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 97 - return true; [INFO] [stdout] 97 + true [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> day02/src/main.rs:127:9 [INFO] [stdout] | [INFO] [stdout] 127 | / return Ok(GameSet { [INFO] [stdout] 128 | | id: num, [INFO] [stdout] 129 | | games: games, [INFO] [stdout] 130 | | }); [INFO] [stdout] | |__________^ [INFO] [stdout] | [INFO] [stdout] = help: for 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 ~ Ok(GameSet { [INFO] [stdout] 128 + id: num, [INFO] [stdout] 129 + games: games, [INFO] [stdout] 130 ~ }) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `match` expression can be replaced with `?` [INFO] [stdout] --> day02/src/main.rs:119:24 [INFO] [stdout] | [INFO] [stdout] 119 | let game = match Game::from_str(game) { [INFO] [stdout] | ________________________^ [INFO] [stdout] 120 | | Ok(g) => g, [INFO] [stdout] 121 | | Err(e) => return Err(e), [INFO] [stdout] 122 | | }; [INFO] [stdout] | |_____________^ help: try instead: `Game::from_str(game)?` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#question_mark [INFO] [stdout] = note: `#[warn(clippy::question_mark)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: matching on `Some` with `ok()` is redundant [INFO] [stdout] --> day02/src/main.rs:11:9 [INFO] [stdout] | [INFO] [stdout] 11 | if let Some(line) = line.ok() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_result_ok [INFO] [stdout] = note: `#[warn(clippy::match_result_ok)]` on by default [INFO] [stdout] help: consider matching on `Ok(line)` and removing the call to `ok` instead [INFO] [stdout] | [INFO] [stdout] 11 - if let Some(line) = line.ok() { [INFO] [stdout] 11 + if let Ok(line) = line { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `.fold` can be written more succinctly using another method [INFO] [stdout] --> day02/src/main.rs:20:18 [INFO] [stdout] | [INFO] [stdout] 20 | .fold(true, |acc, g| acc && g.is_valid(12, 14, 13)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `all(|g| g.is_valid(12, 14, 13))` [INFO] [stdout] | [INFO] [stdout] = note: the `all` method is short circuiting and may change the program semantics if the iterator has side effects [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_fold [INFO] [stdout] = note: `#[warn(clippy::unnecessary_fold)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: match can be simplified with `.unwrap_or_default()` [INFO] [stdout] --> day02/src/main.rs:25:22 [INFO] [stdout] | [INFO] [stdout] 25 | power += match game.power() { [INFO] [stdout] | ______________________^ [INFO] [stdout] 26 | | Some(v) => v, [INFO] [stdout] 27 | | None => 0, [INFO] [stdout] 28 | | }; [INFO] [stdout] | |_____________^ help: ascribe the type u32 and replace your expression with: `game.power().unwrap_or_default()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_unwrap_or_default [INFO] [stdout] = note: `#[warn(clippy::manual_unwrap_or_default)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> day03/src/main.rs:89:13 [INFO] [stdout] | [INFO] [stdout] 89 | counter: counter, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: replace it with: `counter` [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: unneeded `return` statement [INFO] [stdout] --> day02/src/main.rs:97:9 [INFO] [stdout] | [INFO] [stdout] 97 | return true; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] = note: `#[warn(clippy::needless_return)]` on by default [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 97 - return true; [INFO] [stdout] 97 + true [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> day02/src/main.rs:127:9 [INFO] [stdout] | [INFO] [stdout] 127 | / return Ok(GameSet { [INFO] [stdout] 128 | | id: num, [INFO] [stdout] 129 | | games: games, [INFO] [stdout] 130 | | }); [INFO] [stdout] | |__________^ [INFO] [stdout] | [INFO] [stdout] = help: for 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 ~ Ok(GameSet { [INFO] [stdout] 128 + id: num, [INFO] [stdout] 129 + games: games, [INFO] [stdout] 130 ~ }) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `match` expression can be replaced with `?` [INFO] [stdout] --> day02/src/main.rs:119:24 [INFO] [stdout] | [INFO] [stdout] 119 | let game = match Game::from_str(game) { [INFO] [stdout] | ________________________^ [INFO] [stdout] 120 | | Ok(g) => g, [INFO] [stdout] 121 | | Err(e) => return Err(e), [INFO] [stdout] 122 | | }; [INFO] [stdout] | |_____________^ help: try instead: `Game::from_str(game)?` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#question_mark [INFO] [stdout] = note: `#[warn(clippy::question_mark)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> day05/src/main.rs:98:9 [INFO] [stdout] | [INFO] [stdout] 98 | let mut smallest: Option<(u64, u64)> = None; [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: matching on `Some` with `ok()` is redundant [INFO] [stdout] --> day03/src/main.rs:13:9 [INFO] [stdout] | [INFO] [stdout] 13 | if let Some(line) = line.ok() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_result_ok [INFO] [stdout] = note: `#[warn(clippy::match_result_ok)]` on by default [INFO] [stdout] help: consider matching on `Ok(line)` and removing the call to `ok` instead [INFO] [stdout] | [INFO] [stdout] 13 - if let Some(line) = line.ok() { [INFO] [stdout] 13 + if let Ok(line) = line { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> day03/src/main.rs:84:9 [INFO] [stdout] | [INFO] [stdout] 84 | / return Board { [INFO] [stdout] 85 | | last: self.current, [INFO] [stdout] 86 | | current: self.next, [INFO] [stdout] 87 | | next: Some(block), [INFO] [stdout] ... | [INFO] [stdout] 90 | | gear_ratio: ratio, [INFO] [stdout] 91 | | }; [INFO] [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] 84 ~ Board { [INFO] [stdout] 85 + last: self.current, [INFO] [stdout] 86 + current: self.next, [INFO] [stdout] 87 + next: Some(block), [INFO] [stdout] 88 + [INFO] [stdout] 89 + counter: counter, [INFO] [stdout] 90 + gear_ratio: ratio, [INFO] [stdout] 91 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of `char::is_digit` with literal radix of 10 [INFO] [stdout] --> day03/src/main.rs:50:16 [INFO] [stdout] | [INFO] [stdout] 50 | if char.is_digit(10) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: try: `char.is_ascii_digit()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#is_digit_ascii_radix [INFO] [stdout] = note: `#[warn(clippy::is_digit_ascii_radix)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> day03/src/main.rs:52:23 [INFO] [stdout] | [INFO] [stdout] 52 | } else if buf.len() != 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^ help: using `!is_empty` is clearer and more explicit: `!buf.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: use of `char::is_digit` with literal radix of 10 [INFO] [stdout] --> day03/src/main.rs:63:17 [INFO] [stdout] | [INFO] [stdout] 63 | if !char.is_digit(10) && char == '*' { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: try: `char.is_ascii_digit()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#is_digit_ascii_radix [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of `char::is_digit` with literal radix of 10 [INFO] [stdout] --> day03/src/main.rs:65:24 [INFO] [stdout] | [INFO] [stdout] 65 | } else if !char.is_digit(10) && char != '.' { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: try: `char.is_ascii_digit()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#is_digit_ascii_radix [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> day03/src/main.rs:69:12 [INFO] [stdout] | [INFO] [stdout] 69 | if buf.len() != 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^ help: using `!is_empty` is clearer and more explicit: `!buf.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] --> day03/src/main.rs:123:9 [INFO] [stdout] | [INFO] [stdout] 123 | return val; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 123 - return val; [INFO] [stdout] 123 + val [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> day03/src/main.rs:159:9 [INFO] [stdout] | [INFO] [stdout] 159 | return val; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 159 - return val; [INFO] [stdout] 159 + val [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `.fold` can be written more succinctly using another method [INFO] [stdout] --> day03/src/main.rs:155:37 [INFO] [stdout] | [INFO] [stdout] 155 | val += found.iter().fold(1, |acc, i| acc * i) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `product::()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_fold [INFO] [stdout] = note: `#[warn(clippy::unnecessary_fold)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> day03/src/main.rs:163:36 [INFO] [stdout] | [INFO] [stdout] 163 | fn find_adjacent(idx: usize, list: &Vec) -> Vec { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] = note: `#[warn(clippy::ptr_arg)]` on by default [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 163 - fn find_adjacent(idx: usize, list: &Vec) -> Vec { [INFO] [stdout] 163 + fn find_adjacent(idx: usize, list: &[Span]) -> Vec { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: matching on `Some` with `ok()` is redundant [INFO] [stdout] --> day05/src/main.rs:22:9 [INFO] [stdout] | [INFO] [stdout] 22 | if let Some(line) = line.ok() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_result_ok [INFO] [stdout] = note: `#[warn(clippy::match_result_ok)]` on by default [INFO] [stdout] help: consider matching on `Ok(line)` and removing the call to `ok` instead [INFO] [stdout] | [INFO] [stdout] 22 - if let Some(line) = line.ok() { [INFO] [stdout] 22 + if let Ok(line) = line { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: comparison to empty slice [INFO] [stdout] --> day05/src/main.rs:23:16 [INFO] [stdout] | [INFO] [stdout] 23 | if line == "" { [INFO] [stdout] | ^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `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] = note: `#[warn(clippy::comparison_to_empty)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> day05/src/main.rs:204:9 [INFO] [stdout] | [INFO] [stdout] 204 | return (num, self.destination); [INFO] [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] 204 - return (num, self.destination); [INFO] [stdout] 204 + (num, self.destination) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Winner` is never used [INFO] [stdout] --> day07/src/main.rs:37:6 [INFO] [stdout] | [INFO] [stdout] 37 | enum Winner {} [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Winner` is never used [INFO] [stdout] --> day07/src/main.rs:37:6 [INFO] [stdout] | [INFO] [stdout] 37 | enum Winner {} [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: matching on `Some` with `ok()` is redundant [INFO] [stdout] --> day07/src/main.rs:8:9 [INFO] [stdout] | [INFO] [stdout] 8 | if let Some(line) = line.ok() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_result_ok [INFO] [stdout] = note: `#[warn(clippy::match_result_ok)]` on by default [INFO] [stdout] help: consider matching on `Ok(line)` and removing the call to `ok` instead [INFO] [stdout] | [INFO] [stdout] 8 - if let Some(line) = line.ok() { [INFO] [stdout] 8 + if let Ok(line) = line { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> day07/src/main.rs:20:9 [INFO] [stdout] | [INFO] [stdout] 20 | return a_str.partial_cmp(&b_str).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] = note: `#[warn(clippy::needless_return)]` on by default [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 20 - return a_str.partial_cmp(&b_str).unwrap(); [INFO] [stdout] 20 + a_str.partial_cmp(&b_str).unwrap() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: matching on `Some` with `ok()` is redundant [INFO] [stdout] --> day07/src/main.rs:8:9 [INFO] [stdout] | [INFO] [stdout] 8 | if let Some(line) = line.ok() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_result_ok [INFO] [stdout] = note: `#[warn(clippy::match_result_ok)]` on by default [INFO] [stdout] help: consider matching on `Ok(line)` and removing the call to `ok` instead [INFO] [stdout] | [INFO] [stdout] 8 - if let Some(line) = line.ok() { [INFO] [stdout] 8 + if let Ok(line) = line { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> day07/src/main.rs:20:9 [INFO] [stdout] | [INFO] [stdout] 20 | return a_str.partial_cmp(&b_str).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] = note: `#[warn(clippy::needless_return)]` on by default [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 20 - return a_str.partial_cmp(&b_str).unwrap(); [INFO] [stdout] 20 + a_str.partial_cmp(&b_str).unwrap() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> day07/src/main.rs:63:9 [INFO] [stdout] | [INFO] [stdout] 63 | return Ok(Card(val)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 63 - return Ok(Card(val)); [INFO] [stdout] 63 + Ok(Card(val)) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> day07/src/main.rs:63:9 [INFO] [stdout] | [INFO] [stdout] 63 | return Ok(Card(val)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 63 - return Ok(Card(val)); [INFO] [stdout] 63 + Ok(Card(val)) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: matching on `Some` with `ok()` is redundant [INFO] [stdout] --> day08/src/main.rs:13:9 [INFO] [stdout] | [INFO] [stdout] 13 | if let Some(line) = line.ok() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_result_ok [INFO] [stdout] = note: `#[warn(clippy::match_result_ok)]` on by default [INFO] [stdout] help: consider matching on `Ok(line)` and removing the call to `ok` instead [INFO] [stdout] | [INFO] [stdout] 13 - if let Some(line) = line.ok() { [INFO] [stdout] 13 + if let Ok(line) = line { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> day08/src/main.rs:68:25 [INFO] [stdout] | [INFO] [stdout] 68 | acc && true [INFO] [stdout] | ^^^^^^^^^^^ help: try: `acc` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] = note: `#[warn(clippy::nonminimal_bool)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> day08/src/main.rs:114:9 [INFO] [stdout] | [INFO] [stdout] 114 | / return Ok(Doors { [INFO] [stdout] 115 | | label: label.trim().to_owned(), [INFO] [stdout] 116 | | [INFO] [stdout] 117 | | left: l.trim_start_matches(" (").to_owned(), [INFO] [stdout] 118 | | right: r.trim_end_matches(")").to_owned(), [INFO] [stdout] 119 | | }); [INFO] [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] 114 ~ Ok(Doors { [INFO] [stdout] 115 + label: label.trim().to_owned(), [INFO] [stdout] 116 + [INFO] [stdout] 117 + left: l.trim_start_matches(" (").to_owned(), [INFO] [stdout] 118 + right: r.trim_end_matches(")").to_owned(), [INFO] [stdout] 119 ~ }) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> day07/src/main.rs:217:9 [INFO] [stdout] | [INFO] [stdout] 217 | / return Strengh::High { [INFO] [stdout] 218 | | cards: self.cards.clone(), [INFO] [stdout] 219 | | }; [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 217 ~ Strengh::High { [INFO] [stdout] 218 + cards: self.cards.clone(), [INFO] [stdout] 219 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> day07/src/main.rs:124:25 [INFO] [stdout] | [INFO] [stdout] 124 | return Some((*c, *n)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 124 - return Some((*c, *n)); [INFO] [stdout] 124 + Some((*c, *n)) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> day07/src/main.rs:126:25 [INFO] [stdout] | [INFO] [stdout] 126 | return Some((acc_c, acc_n)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 126 - return Some((acc_c, acc_n)); [INFO] [stdout] 126 + Some((acc_c, acc_n)) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> day07/src/main.rs:128:25 [INFO] [stdout] | [INFO] [stdout] 128 | return Some((*c, *n)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 128 - return Some((*c, *n)); [INFO] [stdout] 128 + Some((*c, *n)) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> day07/src/main.rs:130:25 [INFO] [stdout] | [INFO] [stdout] 130 | return Some((acc_c, acc_n)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 130 - return Some((acc_c, acc_n)); [INFO] [stdout] 130 + Some((acc_c, acc_n)) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you seem to be trying to use `match` for an equality check. Consider using `if` [INFO] [stdout] --> day07/src/main.rs:207:13 [INFO] [stdout] | [INFO] [stdout] 207 | / match count { [INFO] [stdout] 208 | | 2 => { [INFO] [stdout] 209 | | return Strengh::Pair { [INFO] [stdout] 210 | | cards: self.cards.clone(), [INFO] [stdout] ... | [INFO] [stdout] 213 | | _ => (), [INFO] [stdout] 214 | | }; [INFO] [stdout] | |_____________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stdout] = note: `#[warn(clippy::single_match)]` on by default [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 207 ~ if count == &2 { [INFO] [stdout] 208 + return Strengh::Pair { [INFO] [stdout] 209 + cards: self.cards.clone(), [INFO] [stdout] 210 + } [INFO] [stdout] 211 ~ }; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: matching on `Some` with `ok()` is redundant [INFO] [stdout] --> day08/src/main.rs:13:9 [INFO] [stdout] | [INFO] [stdout] 13 | if let Some(line) = line.ok() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_result_ok [INFO] [stdout] = note: `#[warn(clippy::match_result_ok)]` on by default [INFO] [stdout] help: consider matching on `Ok(line)` and removing the call to `ok` instead [INFO] [stdout] | [INFO] [stdout] 13 - if let Some(line) = line.ok() { [INFO] [stdout] 13 + if let Ok(line) = line { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> day08/src/main.rs:68:25 [INFO] [stdout] | [INFO] [stdout] 68 | acc && true [INFO] [stdout] | ^^^^^^^^^^^ help: try: `acc` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] = note: `#[warn(clippy::nonminimal_bool)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> day07/src/main.rs:217:9 [INFO] [stdout] | [INFO] [stdout] 217 | / return Strengh::High { [INFO] [stdout] 218 | | cards: self.cards.clone(), [INFO] [stdout] 219 | | }; [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 217 ~ Strengh::High { [INFO] [stdout] 218 + cards: self.cards.clone(), [INFO] [stdout] 219 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> day07/src/main.rs:124:25 [INFO] [stdout] | [INFO] [stdout] 124 | return Some((*c, *n)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 124 - return Some((*c, *n)); [INFO] [stdout] 124 + Some((*c, *n)) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> day07/src/main.rs:126:25 [INFO] [stdout] | [INFO] [stdout] 126 | return Some((acc_c, acc_n)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 126 - return Some((acc_c, acc_n)); [INFO] [stdout] 126 + Some((acc_c, acc_n)) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> day07/src/main.rs:128:25 [INFO] [stdout] | [INFO] [stdout] 128 | return Some((*c, *n)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 128 - return Some((*c, *n)); [INFO] [stdout] 128 + Some((*c, *n)) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> day07/src/main.rs:130:25 [INFO] [stdout] | [INFO] [stdout] 130 | return Some((acc_c, acc_n)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 130 - return Some((acc_c, acc_n)); [INFO] [stdout] 130 + Some((acc_c, acc_n)) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> day08/src/main.rs:114:9 [INFO] [stdout] | [INFO] [stdout] 114 | / return Ok(Doors { [INFO] [stdout] 115 | | label: label.trim().to_owned(), [INFO] [stdout] 116 | | [INFO] [stdout] 117 | | left: l.trim_start_matches(" (").to_owned(), [INFO] [stdout] 118 | | right: r.trim_end_matches(")").to_owned(), [INFO] [stdout] 119 | | }); [INFO] [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] 114 ~ Ok(Doors { [INFO] [stdout] 115 + label: label.trim().to_owned(), [INFO] [stdout] 116 + [INFO] [stdout] 117 + left: l.trim_start_matches(" (").to_owned(), [INFO] [stdout] 118 + right: r.trim_end_matches(")").to_owned(), [INFO] [stdout] 119 ~ }) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you seem to be trying to use `match` for an equality check. Consider using `if` [INFO] [stdout] --> day07/src/main.rs:207:13 [INFO] [stdout] | [INFO] [stdout] 207 | / match count { [INFO] [stdout] 208 | | 2 => { [INFO] [stdout] 209 | | return Strengh::Pair { [INFO] [stdout] 210 | | cards: self.cards.clone(), [INFO] [stdout] ... | [INFO] [stdout] 213 | | _ => (), [INFO] [stdout] 214 | | }; [INFO] [stdout] | |_____________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stdout] = note: `#[warn(clippy::single_match)]` on by default [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 207 ~ if count == &2 { [INFO] [stdout] 208 + return Strengh::Pair { [INFO] [stdout] 209 + cards: self.cards.clone(), [INFO] [stdout] 210 + } [INFO] [stdout] 211 ~ }; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: matching on `Some` with `ok()` is redundant [INFO] [stdout] --> day09/src/main.rs:9:9 [INFO] [stdout] | [INFO] [stdout] 9 | if let Some(line) = line.ok() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_result_ok [INFO] [stdout] = note: `#[warn(clippy::match_result_ok)]` on by default [INFO] [stdout] help: consider matching on `Ok(line)` and removing the call to `ok` instead [INFO] [stdout] | [INFO] [stdout] 9 - if let Some(line) = line.ok() { [INFO] [stdout] 9 + if let Ok(line) = line { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> day09/src/main.rs:38:9 [INFO] [stdout] | [INFO] [stdout] 38 | return Ok(Series { numbers: nums }); [INFO] [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] 38 - return Ok(Series { numbers: nums }); [INFO] [stdout] 38 + Ok(Series { numbers: nums }) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `.fold` can be written more succinctly using another method [INFO] [stdout] --> day09/src/main.rs:44:32 [INFO] [stdout] | [INFO] [stdout] 44 | if self.numbers.iter().fold(true, |acc, n| *n == 0 && acc) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `all(|n| *n == 0)` [INFO] [stdout] | [INFO] [stdout] = note: the `all` method is short circuiting and may change the program semantics if the iterator has side effects [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_fold [INFO] [stdout] = note: `#[warn(clippy::unnecessary_fold)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `.fold` can be written more succinctly using another method [INFO] [stdout] --> day09/src/main.rs:52:32 [INFO] [stdout] | [INFO] [stdout] 52 | if self.numbers.iter().fold(true, |acc, n| *n == 0 && acc) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `all(|n| *n == 0)` [INFO] [stdout] | [INFO] [stdout] = note: the `all` method is short circuiting and may change the program semantics if the iterator has side effects [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_fold [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `.iter().next()` on an array [INFO] [stdout] --> day09/src/main.rs:55:13 [INFO] [stdout] | [INFO] [stdout] 55 | self.numbers.iter().next().unwrap() - self.deriviative().predict_prev() [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try calling: `self.numbers.first()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#iter_next_slice [INFO] [stdout] = note: `#[warn(clippy::iter_next_slice)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> day09/src/main.rs:70:9 [INFO] [stdout] | [INFO] [stdout] 70 | / return Series { [INFO] [stdout] 71 | | numbers: derv.collect(), [INFO] [stdout] 72 | | }; [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for 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 ~ Series { [INFO] [stdout] 71 + numbers: derv.collect(), [INFO] [stdout] 72 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 1.19s [INFO] running `Command { std: "docker" "inspect" "1d892a557f2a236bd15c7c3d00561654e4b4fc650c70f5ed4a163b565d62ada4", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "1d892a557f2a236bd15c7c3d00561654e4b4fc650c70f5ed4a163b565d62ada4", kill_on_drop: false }` [INFO] [stdout] 1d892a557f2a236bd15c7c3d00561654e4b4fc650c70f5ed4a163b565d62ada4