[INFO] cloning repository https://github.com/yasushisakai/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/yasushisakai/aoc_2023" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fyasushisakai%2Faoc_2023", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fyasushisakai%2Faoc_2023'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 2627c734037d507f5d86644d0c3f281b7978a8e9 [INFO] linting yasushisakai/aoc_2023 against nightly for clippy-nonminimal_bool-denied [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fyasushisakai%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/yasushisakai/aoc_2023 [INFO] finished tweaking git repo https://github.com/yasushisakai/aoc_2023 [INFO] tweaked toml for git repo https://github.com/yasushisakai/aoc_2023 written to /workspace/builds/worker-4-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/yasushisakai/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/yasushisakai/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] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded rayon-core v1.12.0 [INFO] [stderr] Downloaded itertools v0.12.0 [INFO] [stderr] Downloaded rayon v1.8.0 [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] c95245ece58d4b884b25a8be4415cd992bf4334552de5a25482002c16993eea6 [INFO] running `Command { std: "docker" "start" "-a" "c95245ece58d4b884b25a8be4415cd992bf4334552de5a25482002c16993eea6", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "c95245ece58d4b884b25a8be4415cd992bf4334552de5a25482002c16993eea6", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "c95245ece58d4b884b25a8be4415cd992bf4334552de5a25482002c16993eea6", kill_on_drop: false }` [INFO] [stdout] c95245ece58d4b884b25a8be4415cd992bf4334552de5a25482002c16993eea6 [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] 2bb4a6905b0f908a39c6a30614166122a5f33d32ae911f366758814d52d5e17a [INFO] running `Command { std: "docker" "start" "-a" "2bb4a6905b0f908a39c6a30614166122a5f33d32ae911f366758814d52d5e17a", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.151 [INFO] [stderr] Compiling crossbeam-utils v0.8.16 [INFO] [stderr] Compiling rayon-core v1.12.0 [INFO] [stderr] Checking either v1.9.0 [INFO] [stderr] Compiling memoffset v0.9.0 [INFO] [stderr] Compiling crossbeam-epoch v0.9.15 [INFO] [stderr] Checking itertools v0.12.0 [INFO] [stderr] Checking getrandom v0.2.11 [INFO] [stderr] Checking crossbeam-deque v0.8.3 [INFO] [stderr] Checking rand_core v0.6.4 [INFO] [stderr] Checking rand_chacha v0.3.1 [INFO] [stderr] Checking rand v0.8.5 [INFO] [stderr] Checking rayon v1.8.0 [INFO] [stderr] Checking aoc_2023 v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: this `else` branch is empty [INFO] [stdout] --> src/day10.rs:194:19 [INFO] [stdout] | [INFO] [stdout] 194 | } else { [INFO] [stdout] | ___________________^ [INFO] [stdout] 195 | | } [INFO] [stdout] | |_________________^ help: you can remove it [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_else [INFO] [stdout] = note: `#[warn(clippy::needless_else)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: digits grouped inconsistently by underscores [INFO] [stdout] --> src/day14.rs:129:17 [INFO] [stdout] | [INFO] [stdout] 129 | let total = 1000_000_000; [INFO] [stdout] | ^^^^^^^^^^^^ help: consider: `1_000_000_000` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#inconsistent_digit_grouping [INFO] [stdout] = note: `#[warn(clippy::inconsistent_digit_grouping)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: digits grouped inconsistently by underscores [INFO] [stdout] --> src/day14.rs:131:15 [INFO] [stdout] | [INFO] [stdout] 131 | while i < 1000_000_000 { [INFO] [stdout] | ^^^^^^^^^^^^ help: consider: `1_000_000_000` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#inconsistent_digit_grouping [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `a @ _` pattern can be written as just `a` [INFO] [stdout] --> src/day16.rs:92:13 [INFO] [stdout] | [INFO] [stdout] 92 | a @ _ => vec![a.clone()], [INFO] [stdout] | ^^^^^ help: try: `a` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern [INFO] [stdout] = note: `#[warn(clippy::redundant_pattern)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `a @ _` pattern can be written as just `a` [INFO] [stdout] --> src/day16.rs:99:13 [INFO] [stdout] | [INFO] [stdout] 99 | a @ _ => vec![a.clone()], [INFO] [stdout] | ^^^^^ help: try: `a` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `a @ _` pattern can be written as just `a` [INFO] [stdout] --> src/day16.rs:140:9 [INFO] [stdout] | [INFO] [stdout] 140 | a @ _ => panic!("unknown char: {a}"), [INFO] [stdout] | ^^^^^ help: try: `a` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::day8::gcd` [INFO] [stdout] --> src/day24.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::day8::gcd; [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: `itertools::Itertools` [INFO] [stdout] --> src/day24.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use itertools::Itertools; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `else` branch is empty [INFO] [stdout] --> src/day10.rs:194:19 [INFO] [stdout] | [INFO] [stdout] 194 | } else { [INFO] [stdout] | ___________________^ [INFO] [stdout] 195 | | } [INFO] [stdout] | |_________________^ help: you can remove it [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_else [INFO] [stdout] = note: `#[warn(clippy::needless_else)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: digits grouped inconsistently by underscores [INFO] [stdout] --> src/day14.rs:129:17 [INFO] [stdout] | [INFO] [stdout] 129 | let total = 1000_000_000; [INFO] [stdout] | ^^^^^^^^^^^^ help: consider: `1_000_000_000` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#inconsistent_digit_grouping [INFO] [stdout] = note: `#[warn(clippy::inconsistent_digit_grouping)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: digits grouped inconsistently by underscores [INFO] [stdout] --> src/day14.rs:131:15 [INFO] [stdout] | [INFO] [stdout] 131 | while i < 1000_000_000 { [INFO] [stdout] | ^^^^^^^^^^^^ help: consider: `1_000_000_000` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#inconsistent_digit_grouping [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `a @ _` pattern can be written as just `a` [INFO] [stdout] --> src/day16.rs:92:13 [INFO] [stdout] | [INFO] [stdout] 92 | a @ _ => vec![a.clone()], [INFO] [stdout] | ^^^^^ help: try: `a` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern [INFO] [stdout] = note: `#[warn(clippy::redundant_pattern)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `a @ _` pattern can be written as just `a` [INFO] [stdout] --> src/day16.rs:99:13 [INFO] [stdout] | [INFO] [stdout] 99 | a @ _ => vec![a.clone()], [INFO] [stdout] | ^^^^^ help: try: `a` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `a @ _` pattern can be written as just `a` [INFO] [stdout] --> src/day16.rs:140:9 [INFO] [stdout] | [INFO] [stdout] 140 | a @ _ => panic!("unknown char: {a}"), [INFO] [stdout] | ^^^^^ help: try: `a` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::day8::gcd` [INFO] [stdout] --> src/day24.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::day8::gcd; [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: `itertools::Itertools` [INFO] [stdout] --> src/day24.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use itertools::Itertools; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `content` [INFO] [stdout] --> src/day25.rs:111:14 [INFO] [stdout] | [INFO] [stdout] 111 | pub fn part2(content: &str) -> usize { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_content` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `content` [INFO] [stdout] --> src/day25.rs:111:14 [INFO] [stdout] | [INFO] [stdout] 111 | pub fn part2(content: &str) -> usize { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_content` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of `or_insert` to construct default value [INFO] [stdout] --> src/day10.rs:17:14 [INFO] [stdout] | [INFO] [stdout] 17 | .or_insert(Vec::new()) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: try: `or_default()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unwrap_or_default [INFO] [stdout] = note: `#[warn(clippy::unwrap_or_default)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `let...else` may be rewritten with the `?` operator [INFO] [stdout] --> src/day10.rs:23:5 [INFO] [stdout] | [INFO] [stdout] 23 | / let Some(directions) = connections.get(current) else { [INFO] [stdout] 24 | | return None; [INFO] [stdout] 25 | | }; [INFO] [stdout] | |______^ help: replace it with: `let directions = connections.get(current)?;` [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: this `let...else` may be rewritten with the `?` operator [INFO] [stdout] --> src/day10.rs:27:5 [INFO] [stdout] | [INFO] [stdout] 27 | / let Some(pos) = directions.iter().position(|c| c == prev) else { [INFO] [stdout] 28 | | return None; [INFO] [stdout] 29 | | }; [INFO] [stdout] | |______^ help: replace it with: `let pos = directions.iter().position(|c| c == prev)?;` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#question_mark [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of `or_insert` to construct default value [INFO] [stdout] --> src/day10.rs:17:14 [INFO] [stdout] | [INFO] [stdout] 17 | .or_insert(Vec::new()) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: try: `or_default()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unwrap_or_default [INFO] [stdout] = note: `#[warn(clippy::unwrap_or_default)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> src/day10.rs:42:6 [INFO] [stdout] | [INFO] [stdout] 42 | ) -> ( [INFO] [stdout] | ______^ [INFO] [stdout] 43 | | Coord, [INFO] [stdout] 44 | | BBox, [INFO] [stdout] 45 | | HashMap>, [INFO] [stdout] 46 | | HashMap, [INFO] [stdout] 47 | | ) { [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: this `let...else` may be rewritten with the `?` operator [INFO] [stdout] --> src/day10.rs:23:5 [INFO] [stdout] | [INFO] [stdout] 23 | / let Some(directions) = connections.get(current) else { [INFO] [stdout] 24 | | return None; [INFO] [stdout] 25 | | }; [INFO] [stdout] | |______^ help: replace it with: `let directions = connections.get(current)?;` [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: this `let...else` may be rewritten with the `?` operator [INFO] [stdout] --> src/day10.rs:27:5 [INFO] [stdout] | [INFO] [stdout] 27 | / let Some(pos) = directions.iter().position(|c| c == prev) else { [INFO] [stdout] 28 | | return None; [INFO] [stdout] 29 | | }; [INFO] [stdout] | |______^ help: replace it with: `let pos = directions.iter().position(|c| c == prev)?;` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#question_mark [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> src/day10.rs:42:6 [INFO] [stdout] | [INFO] [stdout] 42 | ) -> ( [INFO] [stdout] | ______^ [INFO] [stdout] 43 | | Coord, [INFO] [stdout] 44 | | BBox, [INFO] [stdout] 45 | | HashMap>, [INFO] [stdout] 46 | | HashMap, [INFO] [stdout] 47 | | ) { [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: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/day10.rs:107:52 [INFO] [stdout] | [INFO] [stdout] 107 | let Some(c) = bbox.check_within(&prev, &n) else { [INFO] [stdout] | ^^ help: change this to: `n` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] = note: `#[warn(clippy::needless_borrow)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/day10.rs:107:52 [INFO] [stdout] | [INFO] [stdout] 107 | let Some(c) = bbox.check_within(&prev, &n) else { [INFO] [stdout] | ^^ help: change this to: `n` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] = note: `#[warn(clippy::needless_borrow)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/day10.rs:114:48 [INFO] [stdout] | [INFO] [stdout] 114 | let mut current = bbox.check_within(&prev, &neighbor).unwrap(); [INFO] [stdout] | ^^^^^^^^^ help: change this to: `neighbor` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/day10.rs:114:48 [INFO] [stdout] | [INFO] [stdout] 114 | let mut current = bbox.check_within(&prev, &neighbor).unwrap(); [INFO] [stdout] | ^^^^^^^^^ help: change this to: `neighbor` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/day10.rs:147:52 [INFO] [stdout] | [INFO] [stdout] 147 | let Some(c) = bbox.check_within(&prev, &n) else { [INFO] [stdout] | ^^ help: change this to: `n` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/day10.rs:154:48 [INFO] [stdout] | [INFO] [stdout] 154 | let mut current = bbox.check_within(&prev, &neighbor).unwrap(); [INFO] [stdout] | ^^^^^^^^^ help: change this to: `neighbor` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` can be collapsed into the outer `match` [INFO] [stdout] --> src/day10.rs:185:25 [INFO] [stdout] | [INFO] [stdout] 185 | / if is_s_pipe { [INFO] [stdout] 186 | | is_inside = !is_inside [INFO] [stdout] 187 | | } [INFO] [stdout] | |_________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_match [INFO] [stdout] = note: `#[warn(clippy::collapsible_match)]` on by default [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 184 ~ 'S' [INFO] [stdout] 185 ~ if is_s_pipe => { [INFO] [stdout] 186 | is_inside = !is_inside [INFO] [stdout] 187 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/day10.rs:147:52 [INFO] [stdout] | [INFO] [stdout] 147 | let Some(c) = bbox.check_within(&prev, &n) else { [INFO] [stdout] | ^^ help: change this to: `n` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/day10.rs:154:48 [INFO] [stdout] | [INFO] [stdout] 154 | let mut current = bbox.check_within(&prev, &neighbor).unwrap(); [INFO] [stdout] | ^^^^^^^^^ help: change this to: `neighbor` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` can be collapsed into the outer `match` [INFO] [stdout] --> src/day10.rs:185:25 [INFO] [stdout] | [INFO] [stdout] 185 | / if is_s_pipe { [INFO] [stdout] 186 | | is_inside = !is_inside [INFO] [stdout] 187 | | } [INFO] [stdout] | |_________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_match [INFO] [stdout] = note: `#[warn(clippy::collapsible_match)]` on by default [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 184 ~ 'S' [INFO] [stdout] 185 ~ if is_s_pipe => { [INFO] [stdout] 186 | is_inside = !is_inside [INFO] [stdout] 187 ~ } [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/day11.rs:18:15 [INFO] [stdout] | [INFO] [stdout] 18 | expand_x: &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] 18 - expand_x: &Vec, [INFO] [stdout] 18 + expand_x: &[usize], [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/day11.rs:19:15 [INFO] [stdout] | [INFO] [stdout] 19 | expand_y: &Vec, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 19 - expand_y: &Vec, [INFO] [stdout] 19 + expand_y: &[usize], [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/day11.rs:18:15 [INFO] [stdout] | [INFO] [stdout] 18 | expand_x: &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] 18 - expand_x: &Vec, [INFO] [stdout] 18 + expand_x: &[usize], [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/day11.rs:19:15 [INFO] [stdout] | [INFO] [stdout] 19 | expand_y: &Vec, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 19 - expand_y: &Vec, [INFO] [stdout] 19 + expand_y: &[usize], [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: taken reference of right operand [INFO] [stdout] --> src/day11.rs:22:45 [INFO] [stdout] | [INFO] [stdout] 22 | let exp_x = expand_x.iter().filter(|ex| *ex < &x).count(); [INFO] [stdout] | ^^^^^^-- [INFO] [stdout] | | [INFO] [stdout] | help: use the right value directly: `x` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stdout] = note: `#[warn(clippy::op_ref)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/day11.rs:22:51 [INFO] [stdout] | [INFO] [stdout] 22 | let exp_x = expand_x.iter().filter(|ex| *ex < &x).count(); [INFO] [stdout] | ^^ help: change this to: `x` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: taken reference of right operand [INFO] [stdout] --> src/day11.rs:23:45 [INFO] [stdout] | [INFO] [stdout] 23 | let exp_y = expand_y.iter().filter(|ey| *ey < &y).count(); [INFO] [stdout] | ^^^^^^-- [INFO] [stdout] | | [INFO] [stdout] | help: use the right value directly: `y` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/day11.rs:23:51 [INFO] [stdout] | [INFO] [stdout] 23 | let exp_y = expand_y.iter().filter(|ey| *ey < &y).count(); [INFO] [stdout] | ^^ help: change this to: `y` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: taken reference of right operand [INFO] [stdout] --> src/day11.rs:22:45 [INFO] [stdout] | [INFO] [stdout] 22 | let exp_x = expand_x.iter().filter(|ex| *ex < &x).count(); [INFO] [stdout] | ^^^^^^-- [INFO] [stdout] | | [INFO] [stdout] | help: use the right value directly: `x` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stdout] = note: `#[warn(clippy::op_ref)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/day11.rs:22:51 [INFO] [stdout] | [INFO] [stdout] 22 | let exp_x = expand_x.iter().filter(|ex| *ex < &x).count(); [INFO] [stdout] | ^^ help: change this to: `x` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: taken reference of right operand [INFO] [stdout] --> src/day11.rs:23:45 [INFO] [stdout] | [INFO] [stdout] 23 | let exp_y = expand_y.iter().filter(|ey| *ey < &y).count(); [INFO] [stdout] | ^^^^^^-- [INFO] [stdout] | | [INFO] [stdout] | help: use the right value directly: `y` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/day11.rs:23:51 [INFO] [stdout] | [INFO] [stdout] 23 | let exp_y = expand_y.iter().filter(|ey| *ey < &y).count(); [INFO] [stdout] | ^^ help: change this to: `y` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `j` is only used to index `galaxies` [INFO] [stdout] --> src/day11.rs:64:18 [INFO] [stdout] | [INFO] [stdout] 64 | for j in (i + 1)..(galaxies.len()) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] = note: `#[warn(clippy::needless_range_loop)]` on by default [INFO] [stdout] help: consider using an iterator [INFO] [stdout] | [INFO] [stdout] 64 - for j in (i + 1)..(galaxies.len()) { [INFO] [stdout] 64 + for in galaxies.iter().skip((i + 1)) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `j` is only used to index `galaxies` [INFO] [stdout] --> src/day11.rs:64:18 [INFO] [stdout] | [INFO] [stdout] 64 | for j in (i + 1)..(galaxies.len()) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] = note: `#[warn(clippy::needless_range_loop)]` on by default [INFO] [stdout] help: consider using an iterator [INFO] [stdout] | [INFO] [stdout] 64 - for j in (i + 1)..(galaxies.len()) { [INFO] [stdout] 64 + for in galaxies.iter().skip((i + 1)) { [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/day12.rs:81:40 [INFO] [stdout] | [INFO] [stdout] 81 | pub fn new(literal: &str, damaged: &Vec) -> Self { [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] 81 ~ pub fn new(literal: &str, damaged: &[usize]) -> Self { [INFO] [stdout] 82 | Self { [INFO] [stdout] 83 | literal: literal.to_string(), [INFO] [stdout] 84 ~ damaged: damaged.to_owned(), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: returning the result of a `let` binding from a block [INFO] [stdout] --> src/day12.rs:132:13 [INFO] [stdout] | [INFO] [stdout] 131 | let p = permute(&record, cache.clone()); [INFO] [stdout] | ---------------------------------------- unnecessary `let` binding [INFO] [stdout] 132 | p [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return [INFO] [stdout] = note: `#[warn(clippy::let_and_return)]` on by default [INFO] [stdout] help: return the expression directly [INFO] [stdout] | [INFO] [stdout] 131 ~ [INFO] [stdout] 132 ~ permute(&record, cache.clone()) [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/day12.rs:81:40 [INFO] [stdout] | [INFO] [stdout] 81 | pub fn new(literal: &str, damaged: &Vec) -> Self { [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] 81 ~ pub fn new(literal: &str, damaged: &[usize]) -> Self { [INFO] [stdout] 82 | Self { [INFO] [stdout] 83 | literal: literal.to_string(), [INFO] [stdout] 84 ~ damaged: damaged.to_owned(), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: returning the result of a `let` binding from a block [INFO] [stdout] --> src/day12.rs:132:13 [INFO] [stdout] | [INFO] [stdout] 131 | let p = permute(&record, cache.clone()); [INFO] [stdout] | ---------------------------------------- unnecessary `let` binding [INFO] [stdout] 132 | p [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return [INFO] [stdout] = note: `#[warn(clippy::let_and_return)]` on by default [INFO] [stdout] help: return the expression directly [INFO] [stdout] | [INFO] [stdout] 131 ~ [INFO] [stdout] 132 ~ permute(&record, cache.clone()) [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/day13.rs:15:23 [INFO] [stdout] | [INFO] [stdout] 15 | pub fn new(lines: &Vec) -> Self { [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] 15 ~ pub fn new(lines: &[String]) -> Self { [INFO] [stdout] 16 | let height = lines.len(); [INFO] [stdout] 17 | let width = lines.iter().next().unwrap().len(); [INFO] [stdout] 18 | Self { [INFO] [stdout] 19 ~ lines: lines.to_owned(), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `.iter().next()` on an array [INFO] [stdout] --> src/day13.rs:28:21 [INFO] [stdout] | [INFO] [stdout] 28 | let width = lines.iter().next().unwrap().len(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: try calling: `lines.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: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/day13.rs:15:23 [INFO] [stdout] | [INFO] [stdout] 15 | pub fn new(lines: &Vec) -> Self { [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] 15 ~ pub fn new(lines: &[String]) -> Self { [INFO] [stdout] 16 | let height = lines.len(); [INFO] [stdout] 17 | let width = lines.iter().next().unwrap().len(); [INFO] [stdout] 18 | Self { [INFO] [stdout] 19 ~ lines: lines.to_owned(), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `.iter().next()` on an array [INFO] [stdout] --> src/day13.rs:28:21 [INFO] [stdout] | [INFO] [stdout] 28 | let width = lines.iter().next().unwrap().len(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: try calling: `lines.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: returning the result of a `let` binding from a block [INFO] [stdout] --> src/day14.rs:59:21 [INFO] [stdout] | [INFO] [stdout] 58 | let new_pos = spots.replacen('.', "O", num_rocks); [INFO] [stdout] | -------------------------------------------------- unnecessary `let` binding [INFO] [stdout] 59 | new_pos [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return [INFO] [stdout] help: return the expression directly [INFO] [stdout] | [INFO] [stdout] 58 ~ [INFO] [stdout] 59 ~ spots.replacen('.', "O", num_rocks) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: returning the result of a `let` binding from a block [INFO] [stdout] --> src/day14.rs:95:5 [INFO] [stdout] | [INFO] [stdout] 93 | let east = south_and_east(south); [INFO] [stdout] | --------------------------------- unnecessary `let` binding [INFO] [stdout] 94 | [INFO] [stdout] 95 | east [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return [INFO] [stdout] help: return the expression directly [INFO] [stdout] | [INFO] [stdout] 93 ~ [INFO] [stdout] 94 | [INFO] [stdout] 95 ~ south_and_east(south) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `.iter().next()` on an array [INFO] [stdout] --> src/day14.rs:99:15 [INFO] [stdout] | [INFO] [stdout] 99 | let len = content.iter().next().unwrap().len(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: try calling: `content.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] [INFO] [stdout] [INFO] [stdout] warning: returning the result of a `let` binding from a block [INFO] [stdout] --> src/day14.rs:59:21 [INFO] [stdout] | [INFO] [stdout] 58 | let new_pos = spots.replacen('.', "O", num_rocks); [INFO] [stdout] | -------------------------------------------------- unnecessary `let` binding [INFO] [stdout] 59 | new_pos [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return [INFO] [stdout] help: return the expression directly [INFO] [stdout] | [INFO] [stdout] 58 ~ [INFO] [stdout] 59 ~ spots.replacen('.', "O", num_rocks) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: returning the result of a `let` binding from a block [INFO] [stdout] --> src/day14.rs:95:5 [INFO] [stdout] | [INFO] [stdout] 93 | let east = south_and_east(south); [INFO] [stdout] | --------------------------------- unnecessary `let` binding [INFO] [stdout] 94 | [INFO] [stdout] 95 | east [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return [INFO] [stdout] help: return the expression directly [INFO] [stdout] | [INFO] [stdout] 93 ~ [INFO] [stdout] 94 | [INFO] [stdout] 95 ~ south_and_east(south) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `.iter().next()` on an array [INFO] [stdout] --> src/day14.rs:99:15 [INFO] [stdout] | [INFO] [stdout] 99 | let len = content.iter().next().unwrap().len(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: try calling: `content.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] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`i16` -> `i16`) [INFO] [stdout] --> src/day16.rs:29:30 [INFO] [stdout] | [INFO] [stdout] 29 | (0..self.w).map(|x| (x as i16, 0)).collect() [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 (`i16` -> `i16`) [INFO] [stdout] --> src/day16.rs:33:30 [INFO] [stdout] | [INFO] [stdout] 33 | (0..self.w).map(|x| (x as i16, self.h - 1)).collect() [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] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`i16` -> `i16`) [INFO] [stdout] --> src/day16.rs:37:33 [INFO] [stdout] | [INFO] [stdout] 37 | (0..self.h).map(|y| (0, y as i16)).collect() [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: casting to the same type is unnecessary (`i16` -> `i16`) [INFO] [stdout] --> src/day16.rs:41:42 [INFO] [stdout] | [INFO] [stdout] 41 | (0..self.h).map(|y| (self.w - 1, y as i16)).collect() [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: casting to the same type is unnecessary (`i16` -> `i16`) [INFO] [stdout] --> src/day16.rs:29:30 [INFO] [stdout] | [INFO] [stdout] 29 | (0..self.w).map(|x| (x as i16, 0)).collect() [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 (`i16` -> `i16`) [INFO] [stdout] --> src/day16.rs:33:30 [INFO] [stdout] | [INFO] [stdout] 33 | (0..self.w).map(|x| (x as i16, self.h - 1)).collect() [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] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`i16` -> `i16`) [INFO] [stdout] --> src/day16.rs:37:33 [INFO] [stdout] | [INFO] [stdout] 37 | (0..self.h).map(|y| (0, y as i16)).collect() [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: casting to the same type is unnecessary (`i16` -> `i16`) [INFO] [stdout] --> src/day16.rs:41:42 [INFO] [stdout] | [INFO] [stdout] 41 | (0..self.h).map(|y| (self.w - 1, y as i16)).collect() [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: using `clone` on type `Direction` which implements the `Copy` trait [INFO] [stdout] --> src/day16.rs:92:27 [INFO] [stdout] | [INFO] [stdout] 92 | a @ _ => vec![a.clone()], [INFO] [stdout] | ^^^^^^^^^ help: try dereferencing it: `*a` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] = note: `#[warn(clippy::clone_on_copy)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Direction` which implements the `Copy` trait [INFO] [stdout] --> src/day16.rs:99:27 [INFO] [stdout] | [INFO] [stdout] 99 | a @ _ => vec![a.clone()], [INFO] [stdout] | ^^^^^^^^^ help: try dereferencing it: `*a` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/day16.rs:145:24 [INFO] [stdout] | [INFO] [stdout] 145 | step(next, nd, &con, visited); [INFO] [stdout] | ^^^^ help: change this to: `con` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `(i16, i16)` which implements the `Copy` trait [INFO] [stdout] --> src/day16.rs:180:18 [INFO] [stdout] | [INFO] [stdout] 180 | step(c.clone(), direction, &contraption, &mut visited); [INFO] [stdout] | ^^^^^^^^^ help: try dereferencing it: `*c` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `(i16, i16)` which implements the `Copy` trait [INFO] [stdout] --> src/day16.rs:193:22 [INFO] [stdout] | [INFO] [stdout] 193 | step(c.clone(), direction, &contraption, &mut visited); [INFO] [stdout] | ^^^^^^^^^ help: try dereferencing it: `*c` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `(i16, i16)` which implements the `Copy` trait [INFO] [stdout] --> src/day16.rs:207:22 [INFO] [stdout] | [INFO] [stdout] 207 | step(c.clone(), direction, &contraption, &mut visited); [INFO] [stdout] | ^^^^^^^^^ help: try dereferencing it: `*c` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `(i16, i16)` which implements the `Copy` trait [INFO] [stdout] --> src/day16.rs:221:22 [INFO] [stdout] | [INFO] [stdout] 221 | step(c.clone(), direction, &contraption, &mut visited); [INFO] [stdout] | ^^^^^^^^^ help: try dereferencing it: `*c` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this multiplication by -1 can be written more succinctly [INFO] [stdout] --> src/day17.rs:21:28 [INFO] [stdout] | [INFO] [stdout] 21 | let reverse = (ndx * -1, ndy * -1); [INFO] [stdout] | ^^^^^^^^ help: consider using: `-ndx` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#neg_multiply [INFO] [stdout] = note: `#[warn(clippy::neg_multiply)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this multiplication by -1 can be written more succinctly [INFO] [stdout] --> src/day17.rs:21:38 [INFO] [stdout] | [INFO] [stdout] 21 | let reverse = (ndx * -1, ndy * -1); [INFO] [stdout] | ^^^^^^^^ help: consider using: `-ndy` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#neg_multiply [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Direction` which implements the `Copy` trait [INFO] [stdout] --> src/day16.rs:92:27 [INFO] [stdout] | [INFO] [stdout] 92 | a @ _ => vec![a.clone()], [INFO] [stdout] | ^^^^^^^^^ help: try dereferencing it: `*a` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] = note: `#[warn(clippy::clone_on_copy)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Direction` which implements the `Copy` trait [INFO] [stdout] --> src/day16.rs:99:27 [INFO] [stdout] | [INFO] [stdout] 99 | a @ _ => vec![a.clone()], [INFO] [stdout] | ^^^^^^^^^ help: try dereferencing it: `*a` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/day16.rs:145:24 [INFO] [stdout] | [INFO] [stdout] 145 | step(next, nd, &con, visited); [INFO] [stdout] | ^^^^ help: change this to: `con` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `(i16, i16)` which implements the `Copy` trait [INFO] [stdout] --> src/day16.rs:180:18 [INFO] [stdout] | [INFO] [stdout] 180 | step(c.clone(), direction, &contraption, &mut visited); [INFO] [stdout] | ^^^^^^^^^ help: try dereferencing it: `*c` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: returning the result of a `let` binding from a block [INFO] [stdout] --> src/day19.rs:57:9 [INFO] [stdout] | [INFO] [stdout] 56 | let s = self.x + self.m + self.a + self.s; [INFO] [stdout] | ------------------------------------------ unnecessary `let` binding [INFO] [stdout] 57 | s [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return [INFO] [stdout] help: return the expression directly [INFO] [stdout] | [INFO] [stdout] 56 ~ [INFO] [stdout] 57 ~ self.x + self.m + self.a + self.s [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `(i16, i16)` which implements the `Copy` trait [INFO] [stdout] --> src/day16.rs:193:22 [INFO] [stdout] | [INFO] [stdout] 193 | step(c.clone(), direction, &contraption, &mut visited); [INFO] [stdout] | ^^^^^^^^^ help: try dereferencing it: `*c` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `(i16, i16)` which implements the `Copy` trait [INFO] [stdout] --> src/day16.rs:207:22 [INFO] [stdout] | [INFO] [stdout] 207 | step(c.clone(), direction, &contraption, &mut visited); [INFO] [stdout] | ^^^^^^^^^ help: try dereferencing it: `*c` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `(i16, i16)` which implements the `Copy` trait [INFO] [stdout] --> src/day16.rs:221:22 [INFO] [stdout] | [INFO] [stdout] 221 | step(c.clone(), direction, &contraption, &mut visited); [INFO] [stdout] | ^^^^^^^^^ help: try dereferencing it: `*c` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this multiplication by -1 can be written more succinctly [INFO] [stdout] --> src/day17.rs:21:28 [INFO] [stdout] | [INFO] [stdout] 21 | let reverse = (ndx * -1, ndy * -1); [INFO] [stdout] | ^^^^^^^^ help: consider using: `-ndx` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#neg_multiply [INFO] [stdout] = note: `#[warn(clippy::neg_multiply)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this multiplication by -1 can be written more succinctly [INFO] [stdout] --> src/day17.rs:21:38 [INFO] [stdout] | [INFO] [stdout] 21 | let reverse = (ndx * -1, ndy * -1); [INFO] [stdout] | ^^^^^^^^ help: consider using: `-ndy` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#neg_multiply [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/day19.rs:161:11 [INFO] [stdout] | [INFO] [stdout] 161 | path: &Vec, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 161 ~ path: &[String], [INFO] [stdout] 162 | combinations: &mut Vec, [INFO] [stdout] 163 | workflows: &Workflows, [INFO] [stdout] 164 | ) { [INFO] [stdout] 165 ~ let mut path = path.to_owned(); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> src/day20.rs:63:6 [INFO] [stdout] | [INFO] [stdout] 63 | ) -> ( [INFO] [stdout] | ______^ [INFO] [stdout] 64 | | HashMap<&str, Vec<&str>>, [INFO] [stdout] 65 | | HashMap<&str, FlipFlop>, [INFO] [stdout] 66 | | HashMap<&str, Conjunction>, [INFO] [stdout] 67 | | ) { [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: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/day20.rs:106:46 [INFO] [stdout] | [INFO] [stdout] 106 | let (network, mut ffs, mut cons) = parse(&content); [INFO] [stdout] | ^^^^^^^^ help: change this to: `content` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: returning the result of a `let` binding from a block [INFO] [stdout] --> src/day19.rs:57:9 [INFO] [stdout] | [INFO] [stdout] 56 | let s = self.x + self.m + self.a + self.s; [INFO] [stdout] | ------------------------------------------ unnecessary `let` binding [INFO] [stdout] 57 | s [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return [INFO] [stdout] help: return the expression directly [INFO] [stdout] | [INFO] [stdout] 56 ~ [INFO] [stdout] 57 ~ self.x + self.m + self.a + self.s [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/day20.rs:155:46 [INFO] [stdout] | [INFO] [stdout] 155 | let (network, mut ffs, mut cons) = parse(&content); [INFO] [stdout] | ^^^^^^^^ help: change this to: `content` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/day20.rs:178:13 [INFO] [stdout] | [INFO] [stdout] 178 | / if second_children.contains(&source) && dest == first_child && pulse == Pulse::H { [INFO] [stdout] 179 | | if intervals.get(source) == Some(&None) { [INFO] [stdout] 180 | | intervals.insert(source, Some(i + 1)); [INFO] [stdout] 181 | | } [INFO] [stdout] 182 | | } [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] 178 ~ if second_children.contains(&source) && dest == first_child && pulse == Pulse::H [INFO] [stdout] 179 ~ && intervals.get(source) == Some(&None) { [INFO] [stdout] 180 | intervals.insert(source, Some(i + 1)); [INFO] [stdout] 181 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant closure [INFO] [stdout] --> src/day20.rs:188:30 [INFO] [stdout] | [INFO] [stdout] 188 | .fold(1, |acc, v| lcm(acc, v)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the function itself: `lcm` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stdout] = note: `#[warn(clippy::redundant_closure)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/day19.rs:161:11 [INFO] [stdout] | [INFO] [stdout] 161 | path: &Vec, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 161 ~ path: &[String], [INFO] [stdout] 162 | combinations: &mut Vec, [INFO] [stdout] 163 | workflows: &Workflows, [INFO] [stdout] 164 | ) { [INFO] [stdout] 165 ~ let mut path = path.to_owned(); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/day22.rs:27:27 [INFO] [stdout] | [INFO] [stdout] 27 | if falls.contains(&h) { [INFO] [stdout] | ^^ help: change this to: `h` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/day22.rs:39:26 [INFO] [stdout] | [INFO] [stdout] 39 | disintegrate(&h, holds, depends, falls); [INFO] [stdout] | ^^ help: change this to: `h` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> src/day20.rs:63:6 [INFO] [stdout] | [INFO] [stdout] 63 | ) -> ( [INFO] [stdout] | ______^ [INFO] [stdout] 64 | | HashMap<&str, Vec<&str>>, [INFO] [stdout] 65 | | HashMap<&str, FlipFlop>, [INFO] [stdout] 66 | | HashMap<&str, Conjunction>, [INFO] [stdout] 67 | | ) { [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: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/day20.rs:106:46 [INFO] [stdout] | [INFO] [stdout] 106 | let (network, mut ffs, mut cons) = parse(&content); [INFO] [stdout] | ^^^^^^^^ help: change this to: `content` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/day20.rs:155:46 [INFO] [stdout] | [INFO] [stdout] 155 | let (network, mut ffs, mut cons) = parse(&content); [INFO] [stdout] | ^^^^^^^^ help: change this to: `content` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/day20.rs:178:13 [INFO] [stdout] | [INFO] [stdout] 178 | / if second_children.contains(&source) && dest == first_child && pulse == Pulse::H { [INFO] [stdout] 179 | | if intervals.get(source) == Some(&None) { [INFO] [stdout] 180 | | intervals.insert(source, Some(i + 1)); [INFO] [stdout] 181 | | } [INFO] [stdout] 182 | | } [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] 178 ~ if second_children.contains(&source) && dest == first_child && pulse == Pulse::H [INFO] [stdout] 179 ~ && intervals.get(source) == Some(&None) { [INFO] [stdout] 180 | intervals.insert(source, Some(i + 1)); [INFO] [stdout] 181 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant closure [INFO] [stdout] --> src/day20.rs:188:30 [INFO] [stdout] | [INFO] [stdout] 188 | .fold(1, |acc, v| lcm(acc, v)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the function itself: `lcm` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stdout] = note: `#[warn(clippy::redundant_closure)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you seem to be trying to use `match` for destructuring a single pattern. Consider using `if let` [INFO] [stdout] --> src/day23.rs:42:17 [INFO] [stdout] | [INFO] [stdout] 42 | / match (nc, dx, dy) { [INFO] [stdout] 43 | | ('#', _, _) => continue, [INFO] [stdout] ... | [INFO] [stdout] 48 | | _ => (), [INFO] [stdout] 49 | | } [INFO] [stdout] | |_________________^ help: try: `if let ('#', _, _) = (nc, dx, dy) { continue }` [INFO] [stdout] | [INFO] [stdout] = note: you might want to preserve the comments from inside the `match` [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] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> src/day23.rs:119:39 [INFO] [stdout] | [INFO] [stdout] 119 | let new_content = content.replace(&['>', '<', '^', 'v'], "."); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: change this to: `['>', '<', '^', 'v']` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] = note: `#[warn(clippy::needless_borrows_for_generic_args)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/day22.rs:27:27 [INFO] [stdout] | [INFO] [stdout] 27 | if falls.contains(&h) { [INFO] [stdout] | ^^ help: change this to: `h` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/day22.rs:39:26 [INFO] [stdout] | [INFO] [stdout] 39 | disintegrate(&h, holds, depends, falls); [INFO] [stdout] | ^^ help: change this to: `h` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: consider using `sort_by_key` [INFO] [stdout] --> src/day24.rs:130:5 [INFO] [stdout] | [INFO] [stdout] 130 | common_vx.sort_by(|a, b| a.0.abs().cmp(&b.0.abs())); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_sort_by [INFO] [stdout] = note: `#[warn(clippy::unnecessary_sort_by)]` on by default [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 130 - common_vx.sort_by(|a, b| a.0.abs().cmp(&b.0.abs())); [INFO] [stdout] 130 + common_vx.sort_by_key(|a| a.0.abs()); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: consider using `sort_by_key` [INFO] [stdout] --> src/day24.rs:131:5 [INFO] [stdout] | [INFO] [stdout] 131 | common_vy.sort_by(|a, b| a.0.abs().cmp(&b.0.abs())); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_sort_by [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 131 - common_vy.sort_by(|a, b| a.0.abs().cmp(&b.0.abs())); [INFO] [stdout] 131 + common_vy.sort_by_key(|a| a.0.abs()); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: consider using `sort_by_key` [INFO] [stdout] --> src/day24.rs:132:5 [INFO] [stdout] | [INFO] [stdout] 132 | common_vz.sort_by(|a, b| a.0.abs().cmp(&b.0.abs())); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_sort_by [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 132 - common_vz.sort_by(|a, b| a.0.abs().cmp(&b.0.abs())); [INFO] [stdout] 132 + common_vz.sort_by_key(|a| a.0.abs()); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/day25.rs:83:25 [INFO] [stdout] | [INFO] [stdout] 83 | .entry((&a, &b)) [INFO] [stdout] | ^^ help: change this to: `a` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/day25.rs:83:29 [INFO] [stdout] | [INFO] [stdout] 83 | .entry((&a, &b)) [INFO] [stdout] | ^^ help: change this to: `b` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you seem to be trying to use `match` for destructuring a single pattern. Consider using `if let` [INFO] [stdout] --> src/day23.rs:42:17 [INFO] [stdout] | [INFO] [stdout] 42 | / match (nc, dx, dy) { [INFO] [stdout] 43 | | ('#', _, _) => continue, [INFO] [stdout] ... | [INFO] [stdout] 48 | | _ => (), [INFO] [stdout] 49 | | } [INFO] [stdout] | |_________________^ help: try: `if let ('#', _, _) = (nc, dx, dy) { continue }` [INFO] [stdout] | [INFO] [stdout] = note: you might want to preserve the comments from inside the `match` [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] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/day4.rs:20:29 [INFO] [stdout] | [INFO] [stdout] 20 | if winning.contains(&m) { [INFO] [stdout] | ^^ help: change this to: `m` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `j` is only used to index `card_numbers` [INFO] [stdout] --> src/day4.rs:50:18 [INFO] [stdout] | [INFO] [stdout] 50 | for j in i + 1..(i + 1 + matching as usize) { [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] 50 - for j in i + 1..(i + 1 + matching as usize) { [INFO] [stdout] 50 + for in card_numbers.iter_mut().skip(i + 1).take(matching as usize) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> src/day23.rs:119:39 [INFO] [stdout] | [INFO] [stdout] 119 | let new_content = content.replace(&['>', '<', '^', 'v'], "."); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: change this to: `['>', '<', '^', 'v']` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] = note: `#[warn(clippy::needless_borrows_for_generic_args)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/day5.rs:80:45 [INFO] [stdout] | [INFO] [stdout] 80 | fn location_to_seed(location: u64, map_rev: &Vec>) -> u64 { [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] 80 - fn location_to_seed(location: u64, map_rev: &Vec>) -> u64 { [INFO] [stdout] 80 + fn location_to_seed(location: u64, map_rev: &[Vec<(u64, u64, u64)>]) -> u64 { [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/day5.rs:99:38 [INFO] [stdout] | [INFO] [stdout] 99 | fn seed_to_location(seed: &u64, map: &Vec>) -> u64 { [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] 99 - fn seed_to_location(seed: &u64, map: &Vec>) -> u64 { [INFO] [stdout] 99 + fn seed_to_location(seed: &u64, map: &[Vec<(u64, u64, u64)>]) -> u64 { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/day5.rs:119:62 [INFO] [stdout] | [INFO] [stdout] 119 | let locations = seeds.iter().map(|seed| seed_to_location(&seed, &map)); [INFO] [stdout] | ^^^^^ help: change this to: `seed` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: consider using `sort_by_key` [INFO] [stdout] --> src/day24.rs:130:5 [INFO] [stdout] | [INFO] [stdout] 130 | common_vx.sort_by(|a, b| a.0.abs().cmp(&b.0.abs())); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_sort_by [INFO] [stdout] = note: `#[warn(clippy::unnecessary_sort_by)]` on by default [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 130 - common_vx.sort_by(|a, b| a.0.abs().cmp(&b.0.abs())); [INFO] [stdout] 130 + common_vx.sort_by_key(|a| a.0.abs()); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: consider using `sort_by_key` [INFO] [stdout] --> src/day5.rs:147:5 [INFO] [stdout] | [INFO] [stdout] 147 | seeds.sort_by(|(a, _): &(u64, u64), (b, _)| a.cmp(&b)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_sort_by [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 147 - seeds.sort_by(|(a, _): &(u64, u64), (b, _)| a.cmp(&b)); [INFO] [stdout] 147 + seeds.sort_by_key(|(a, _)| *a); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/day5.rs:147:55 [INFO] [stdout] | [INFO] [stdout] 147 | seeds.sort_by(|(a, _): &(u64, u64), (b, _)| a.cmp(&b)); [INFO] [stdout] | ^^ help: change this to: `b` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: consider using `sort_by_key` [INFO] [stdout] --> src/day24.rs:131:5 [INFO] [stdout] | [INFO] [stdout] 131 | common_vy.sort_by(|a, b| a.0.abs().cmp(&b.0.abs())); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_sort_by [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 131 - common_vy.sort_by(|a, b| a.0.abs().cmp(&b.0.abs())); [INFO] [stdout] 131 + common_vy.sort_by_key(|a| a.0.abs()); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: consider using `sort_by_key` [INFO] [stdout] --> src/day24.rs:132:5 [INFO] [stdout] | [INFO] [stdout] 132 | common_vz.sort_by(|a, b| a.0.abs().cmp(&b.0.abs())); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_sort_by [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 132 - common_vz.sort_by(|a, b| a.0.abs().cmp(&b.0.abs())); [INFO] [stdout] 132 + common_vz.sort_by_key(|a| a.0.abs()); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/day6.rs:19:21 [INFO] [stdout] | [INFO] [stdout] 19 | .filter(|c| !(*c == ' ')) [INFO] [stdout] | ^^^^^^^^^^^^ help: try: `(*c != ' ')` [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 expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/day25.rs:83:25 [INFO] [stdout] | [INFO] [stdout] 83 | .entry((&a, &b)) [INFO] [stdout] | ^^ help: change this to: `a` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`u32` -> `u32`) [INFO] [stdout] --> src/day6.rs:58:20 [INFO] [stdout] | [INFO] [stdout] 58 | let ways = (max - min) as u32; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: try: `(max - min)` [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: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/day25.rs:83:29 [INFO] [stdout] | [INFO] [stdout] 83 | .entry((&a, &b)) [INFO] [stdout] | ^^ help: change this to: `b` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/day4.rs:20:29 [INFO] [stdout] | [INFO] [stdout] 20 | if winning.contains(&m) { [INFO] [stdout] | ^^ help: change this to: `m` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `j` is only used to index `card_numbers` [INFO] [stdout] --> src/day4.rs:50:18 [INFO] [stdout] | [INFO] [stdout] 50 | for j in i + 1..(i + 1 + matching as usize) { [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] 50 - for j in i + 1..(i + 1 + matching as usize) { [INFO] [stdout] 50 + for in card_numbers.iter_mut().skip(i + 1).take(matching as usize) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/day7.rs:131:41 [INFO] [stdout] | [INFO] [stdout] 131 | bids.sort_by(|(a, _), (b, _)| b.cmp(&a)); [INFO] [stdout] | ^^ help: change this to: `a` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/day5.rs:80:45 [INFO] [stdout] | [INFO] [stdout] 80 | fn location_to_seed(location: u64, map_rev: &Vec>) -> u64 { [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] 80 - fn location_to_seed(location: u64, map_rev: &Vec>) -> u64 { [INFO] [stdout] 80 + fn location_to_seed(location: u64, map_rev: &[Vec<(u64, u64, u64)>]) -> u64 { [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/day5.rs:99:38 [INFO] [stdout] | [INFO] [stdout] 99 | fn seed_to_location(seed: &u64, map: &Vec>) -> u64 { [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] 99 - fn seed_to_location(seed: &u64, map: &Vec>) -> u64 { [INFO] [stdout] 99 + fn seed_to_location(seed: &u64, map: &[Vec<(u64, u64, u64)>]) -> u64 { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/day5.rs:119:62 [INFO] [stdout] | [INFO] [stdout] 119 | let locations = seeds.iter().map(|seed| seed_to_location(&seed, &map)); [INFO] [stdout] | ^^^^^ help: change this to: `seed` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: consider using `sort_by_key` [INFO] [stdout] --> src/day5.rs:147:5 [INFO] [stdout] | [INFO] [stdout] 147 | seeds.sort_by(|(a, _): &(u64, u64), (b, _)| a.cmp(&b)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_sort_by [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 147 - seeds.sort_by(|(a, _): &(u64, u64), (b, _)| a.cmp(&b)); [INFO] [stdout] 147 + seeds.sort_by_key(|(a, _)| *a); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: returning the result of a `let` binding from a block [INFO] [stdout] --> src/day8.rs:131:9 [INFO] [stdout] | [INFO] [stdout] 130 | let l = lcm(acc, *v); [INFO] [stdout] | --------------------- unnecessary `let` binding [INFO] [stdout] 131 | l [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return [INFO] [stdout] help: return the expression directly [INFO] [stdout] | [INFO] [stdout] 130 ~ [INFO] [stdout] 131 ~ lcm(acc, *v) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/day5.rs:147:55 [INFO] [stdout] | [INFO] [stdout] 147 | seeds.sort_by(|(a, _): &(u64, u64), (b, _)| a.cmp(&b)); [INFO] [stdout] | ^^ help: change this to: `b` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `.iter().next()` on an array [INFO] [stdout] --> src/day9.rs:48:36 [INFO] [stdout] | [INFO] [stdout] 48 | first_values.push(*current_diff.iter().next().unwrap()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try calling: `current_diff.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] [INFO] [stdout] [INFO] [stdout] warning: using `.iter().next()` on an array [INFO] [stdout] --> src/day9.rs:52:40 [INFO] [stdout] | [INFO] [stdout] 52 | first_values.push(*next_diff.iter().next().unwrap()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try calling: `next_diff.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] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/day6.rs:19:21 [INFO] [stdout] | [INFO] [stdout] 19 | .filter(|c| !(*c == ' ')) [INFO] [stdout] | ^^^^^^^^^^^^ help: try: `(*c != ' ')` [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: using `.iter().next()` on an array [INFO] [stdout] --> src/day9.rs:60:40 [INFO] [stdout] | [INFO] [stdout] 60 | first_values.push(*next_diff.iter().next().unwrap()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try calling: `next_diff.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] [INFO] [stdout] [INFO] [stdout] warning: useless use of `vec!` [INFO] [stdout] --> src/day10.rs:102:21 [INFO] [stdout] | [INFO] [stdout] 102 | let neighbors = vec![UP, DOWN, LEFT, RIGHT]; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: you can use an array directly: `[UP, DOWN, LEFT, RIGHT]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stdout] = note: `#[warn(clippy::useless_vec)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `vec!` [INFO] [stdout] --> src/day10.rs:142:21 [INFO] [stdout] | [INFO] [stdout] 142 | let neighbors = vec![UP, DOWN, LEFT, RIGHT]; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: you can use an array directly: `[UP, DOWN, LEFT, RIGHT]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `vec!` [INFO] [stdout] --> src/day17.rs:20:27 [INFO] [stdout] | [INFO] [stdout] 20 | for (ndx, ndy) in vec![(0, 1), (0, -1), (1, 0), (-1, 0)] { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: you can use an array directly: `[(0, 1), (0, -1), (1, 0), (-1, 0)]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`u32` -> `u32`) [INFO] [stdout] --> src/day6.rs:58:20 [INFO] [stdout] | [INFO] [stdout] 58 | let ways = (max - min) as u32; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: try: `(max - min)` [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: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/day7.rs:131:41 [INFO] [stdout] | [INFO] [stdout] 131 | bids.sort_by(|(a, _), (b, _)| b.cmp(&a)); [INFO] [stdout] | ^^ help: change this to: `a` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: returning the result of a `let` binding from a block [INFO] [stdout] --> src/day8.rs:131:9 [INFO] [stdout] | [INFO] [stdout] 130 | let l = lcm(acc, *v); [INFO] [stdout] | --------------------- unnecessary `let` binding [INFO] [stdout] 131 | l [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return [INFO] [stdout] help: return the expression directly [INFO] [stdout] | [INFO] [stdout] 130 ~ [INFO] [stdout] 131 ~ lcm(acc, *v) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `.iter().next()` on an array [INFO] [stdout] --> src/day9.rs:48:36 [INFO] [stdout] | [INFO] [stdout] 48 | first_values.push(*current_diff.iter().next().unwrap()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try calling: `current_diff.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] [INFO] [stdout] [INFO] [stdout] warning: using `.iter().next()` on an array [INFO] [stdout] --> src/day9.rs:52:40 [INFO] [stdout] | [INFO] [stdout] 52 | first_values.push(*next_diff.iter().next().unwrap()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try calling: `next_diff.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] [INFO] [stdout] [INFO] [stdout] warning: using `.iter().next()` on an array [INFO] [stdout] --> src/day9.rs:60:40 [INFO] [stdout] | [INFO] [stdout] 60 | first_values.push(*next_diff.iter().next().unwrap()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try calling: `next_diff.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] [INFO] [stdout] [INFO] [stdout] warning: useless use of `vec!` [INFO] [stdout] --> src/day10.rs:102:21 [INFO] [stdout] | [INFO] [stdout] 102 | let neighbors = vec![UP, DOWN, LEFT, RIGHT]; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: you can use an array directly: `[UP, DOWN, LEFT, RIGHT]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stdout] = note: `#[warn(clippy::useless_vec)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `vec!` [INFO] [stdout] --> src/day10.rs:142:21 [INFO] [stdout] | [INFO] [stdout] 142 | let neighbors = vec![UP, DOWN, LEFT, RIGHT]; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: you can use an array directly: `[UP, DOWN, LEFT, RIGHT]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `vec!` [INFO] [stdout] --> src/day17.rs:20:27 [INFO] [stdout] | [INFO] [stdout] 20 | for (ndx, ndy) in vec![(0, 1), (0, -1), (1, 0), (-1, 0)] { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: you can use an array directly: `[(0, 1), (0, -1), (1, 0), (-1, 0)]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: match expression looks like `matches!` macro [INFO] [stdout] --> examples/d1.rs:27:50 [INFO] [stdout] | [INFO] [stdout] 27 | let mut digits = line.chars().filter(|c| match c { [INFO] [stdout] | __________________________________________________^ [INFO] [stdout] 28 | | '0'..='9' => true, [INFO] [stdout] 29 | | _ => false, [INFO] [stdout] 30 | | }); [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_like_matches_macro [INFO] [stdout] = note: `#[warn(clippy::match_like_matches_macro)]` on by default [INFO] [stdout] help: use `matches!` directly [INFO] [stdout] | [INFO] [stdout] 27 - let mut digits = line.chars().filter(|c| match c { [INFO] [stdout] 28 - '0'..='9' => true, [INFO] [stdout] 29 - _ => false, [INFO] [stdout] 30 - }); [INFO] [stdout] 27 + let mut digits = line.chars().filter(|c| matches!(c, '0'..='9')); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `.nth(0)` on a `std::iter::Iterator`, when `.next()` is equivalent [INFO] [stdout] --> examples/d1.rs:32:21 [INFO] [stdout] | [INFO] [stdout] 32 | let first = digits.nth(0).unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^ help: try calling `.next()` instead of `.nth(0)`: `digits.next()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#iter_nth_zero [INFO] [stdout] = note: `#[warn(clippy::iter_nth_zero)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `Iterator::last` on a `DoubleEndedIterator`; this will needlessly iterate the entire iterator [INFO] [stdout] --> examples/d1.rs:33:20 [INFO] [stdout] | [INFO] [stdout] 33 | let last = digits.last().unwrap_or(first); [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#double_ended_iterator_last [INFO] [stdout] = note: `#[warn(clippy::double_ended_iterator_last)]` on by default [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 33 - let last = digits.last().unwrap_or(first); [INFO] [stdout] 33 + let last = digits.next_back().unwrap_or(first); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constants have by default a `'static` lifetime [INFO] [stdout] --> tests/day15.rs:5:21 [INFO] [stdout] | [INFO] [stdout] 5 | const CONTENT: &'static str = r#"rn=1,cm-,qp=3,cm=2,qp-,pc=4,ot=9,ab=5,pc-,pc=6,ot=7"#; [INFO] [stdout] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_static_lifetimes [INFO] [stdout] = note: `#[warn(clippy::redundant_static_lifetimes)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constants have by default a `'static` lifetime [INFO] [stdout] --> tests/day10.rs:6:21 [INFO] [stdout] | [INFO] [stdout] 6 | const CONTENT: &'static str = r#"-L|F7 [INFO] [stdout] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_static_lifetimes [INFO] [stdout] = note: `#[warn(clippy::redundant_static_lifetimes)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constants have by default a `'static` lifetime [INFO] [stdout] --> tests/day10.rs:12:22 [INFO] [stdout] | [INFO] [stdout] 12 | const CONTENT2: &'static str = r#"7-F7- [INFO] [stdout] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_static_lifetimes [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constants have by default a `'static` lifetime [INFO] [stdout] --> tests/day10.rs:30:22 [INFO] [stdout] | [INFO] [stdout] 30 | const CONTENT3: &'static str = r#"........... [INFO] [stdout] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_static_lifetimes [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constants have by default a `'static` lifetime [INFO] [stdout] --> tests/day10.rs:40:22 [INFO] [stdout] | [INFO] [stdout] 40 | const CONTENT4: &'static str = r#".F----7F7F7F7F-7.... [INFO] [stdout] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_static_lifetimes [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constants have by default a `'static` lifetime [INFO] [stdout] --> tests/day10.rs:51:22 [INFO] [stdout] | [INFO] [stdout] 51 | const CONTENT5: &'static str = r#"FF7FSF7F7F7F7F7F---7 [INFO] [stdout] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_static_lifetimes [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constants have by default a `'static` lifetime [INFO] [stdout] --> tests/day9.rs:6:21 [INFO] [stdout] | [INFO] [stdout] 6 | const CONTENT: &'static str = r#"0 3 6 9 12 15 [INFO] [stdout] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_static_lifetimes [INFO] [stdout] = note: `#[warn(clippy::redundant_static_lifetimes)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constants have by default a `'static` lifetime [INFO] [stdout] --> tests/day12.rs:8:21 [INFO] [stdout] | [INFO] [stdout] 8 | const CONTENT: &'static str = r#"???.### 1,1,3 [INFO] [stdout] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_static_lifetimes [INFO] [stdout] = note: `#[warn(clippy::redundant_static_lifetimes)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constants have by default a `'static` lifetime [INFO] [stdout] --> tests/day11.rs:6:21 [INFO] [stdout] | [INFO] [stdout] 6 | const CONTENT: &'static str = r#"...#...... [INFO] [stdout] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_static_lifetimes [INFO] [stdout] = note: `#[warn(clippy::redundant_static_lifetimes)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constants have by default a `'static` lifetime [INFO] [stdout] --> tests/day16.rs:5:21 [INFO] [stdout] | [INFO] [stdout] 5 | const CONTENT: &'static str = r#".|...\.... [INFO] [stdout] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_static_lifetimes [INFO] [stdout] = note: `#[warn(clippy::redundant_static_lifetimes)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constants have by default a `'static` lifetime [INFO] [stdout] --> tests/day25.rs:5:21 [INFO] [stdout] | [INFO] [stdout] 5 | const CONTENT: &'static str = r#"jqt: rhn xhk nvd [INFO] [stdout] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_static_lifetimes [INFO] [stdout] = note: `#[warn(clippy::redundant_static_lifetimes)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constants have by default a `'static` lifetime [INFO] [stdout] --> tests/day22.rs:5:21 [INFO] [stdout] | [INFO] [stdout] 5 | const CONTENT: &'static str = r#"1,0,1~1,2,1 [INFO] [stdout] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_static_lifetimes [INFO] [stdout] = note: `#[warn(clippy::redundant_static_lifetimes)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: digits grouped inconsistently by underscores [INFO] [stdout] --> examples/d11.rs:10:34 [INFO] [stdout] | [INFO] [stdout] 10 | let answer = part2(&content, 1000_000); [INFO] [stdout] | ^^^^^^^^ help: consider: `1_000_000` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#inconsistent_digit_grouping [INFO] [stdout] = note: `#[warn(clippy::inconsistent_digit_grouping)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constants have by default a `'static` lifetime [INFO] [stdout] --> tests/day20.rs:5:21 [INFO] [stdout] | [INFO] [stdout] 5 | const CONTENT: &'static str = r#"broadcaster -> a, b, c [INFO] [stdout] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_static_lifetimes [INFO] [stdout] = note: `#[warn(clippy::redundant_static_lifetimes)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constants have by default a `'static` lifetime [INFO] [stdout] --> tests/day20.rs:11:22 [INFO] [stdout] | [INFO] [stdout] 11 | const CONTENT2: &'static str = r#"broadcaster -> a [INFO] [stdout] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_static_lifetimes [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constants have by default a `'static` lifetime [INFO] [stdout] --> tests/day18.rs:5:21 [INFO] [stdout] | [INFO] [stdout] 5 | const CONTENT: &'static str = r#"R 6 (#70c710) [INFO] [stdout] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_static_lifetimes [INFO] [stdout] = note: `#[warn(clippy::redundant_static_lifetimes)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constants have by default a `'static` lifetime [INFO] [stdout] --> tests/day14.rs:5:21 [INFO] [stdout] | [INFO] [stdout] 5 | const CONTENT: &'static str = r#"O....#.... [INFO] [stdout] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_static_lifetimes [INFO] [stdout] = note: `#[warn(clippy::redundant_static_lifetimes)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constants have by default a `'static` lifetime [INFO] [stdout] --> tests/day14.rs:16:19 [INFO] [stdout] | [INFO] [stdout] 16 | const CYCLE: &'static str = r#".....#.... [INFO] [stdout] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_static_lifetimes [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constants have by default a `'static` lifetime [INFO] [stdout] --> tests/day14.rs:27:24 [INFO] [stdout] | [INFO] [stdout] 27 | const TWO_CYCLES: &'static str = r#".....#.... [INFO] [stdout] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_static_lifetimes [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constants have by default a `'static` lifetime [INFO] [stdout] --> tests/day14.rs:38:26 [INFO] [stdout] | [INFO] [stdout] 38 | const THREE_CYCLES: &'static str = r#".....#.... [INFO] [stdout] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_static_lifetimes [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constants have by default a `'static` lifetime [INFO] [stdout] --> tests/day17.rs:5:21 [INFO] [stdout] | [INFO] [stdout] 5 | const CONTENT: &'static str = r#"2413432311323 [INFO] [stdout] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_static_lifetimes [INFO] [stdout] = note: `#[warn(clippy::redundant_static_lifetimes)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constants have by default a `'static` lifetime [INFO] [stdout] --> tests/day17.rs:19:22 [INFO] [stdout] | [INFO] [stdout] 19 | const CONTENT2: &'static str = r#"111111111111 [INFO] [stdout] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_static_lifetimes [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constants have by default a `'static` lifetime [INFO] [stdout] --> tests/day5.rs:6:21 [INFO] [stdout] | [INFO] [stdout] 6 | const CONTENT: &'static str = r#"seeds: 79 14 55 13 [INFO] [stdout] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_static_lifetimes [INFO] [stdout] = note: `#[warn(clippy::redundant_static_lifetimes)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constants have by default a `'static` lifetime [INFO] [stdout] --> tests/day8.rs:6:21 [INFO] [stdout] | [INFO] [stdout] 6 | const CONTENT: &'static str = r#"LLR [INFO] [stdout] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_static_lifetimes [INFO] [stdout] = note: `#[warn(clippy::redundant_static_lifetimes)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constants have by default a `'static` lifetime [INFO] [stdout] --> tests/day7.rs:6:21 [INFO] [stdout] | [INFO] [stdout] 6 | const CONTENT: &'static str = r#"32T3K 765 [INFO] [stdout] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_static_lifetimes [INFO] [stdout] = note: `#[warn(clippy::redundant_static_lifetimes)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constants have by default a `'static` lifetime [INFO] [stdout] --> tests/day8.rs:18:26 [INFO] [stdout] | [INFO] [stdout] 18 | const CONTENT_PART: &'static str = r#"LR [INFO] [stdout] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_static_lifetimes [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constants have by default a `'static` lifetime [INFO] [stdout] --> tests/day4.rs:5:21 [INFO] [stdout] | [INFO] [stdout] 5 | const CONTENT: &'static str = r#"Card 1: 41 48 83 86 17 | 83 86 6 31 17 9 48 53 [INFO] [stdout] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_static_lifetimes [INFO] [stdout] = note: `#[warn(clippy::redundant_static_lifetimes)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constants have by default a `'static` lifetime [INFO] [stdout] --> tests/day21.rs:5:21 [INFO] [stdout] | [INFO] [stdout] 5 | const CONTENT: &'static str = r#"........... [INFO] [stdout] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_static_lifetimes [INFO] [stdout] = note: `#[warn(clippy::redundant_static_lifetimes)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constants have by default a `'static` lifetime [INFO] [stdout] --> tests/day6.rs:6:21 [INFO] [stdout] | [INFO] [stdout] 6 | const CONTENT: &'static str = r#"Time: 7 15 30 [INFO] [stdout] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_static_lifetimes [INFO] [stdout] = note: `#[warn(clippy::redundant_static_lifetimes)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constants have by default a `'static` lifetime [INFO] [stdout] --> tests/day19.rs:5:21 [INFO] [stdout] | [INFO] [stdout] 5 | const CONTENT: &'static str = r#"px{a<2006:qkq,m>2090:A,rfg} [INFO] [stdout] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_static_lifetimes [INFO] [stdout] = note: `#[warn(clippy::redundant_static_lifetimes)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constants have by default a `'static` lifetime [INFO] [stdout] --> tests/day13.rs:5:21 [INFO] [stdout] | [INFO] [stdout] 5 | const CONTENT: &'static str = r#"#.##..##. [INFO] [stdout] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_static_lifetimes [INFO] [stdout] = note: `#[warn(clippy::redundant_static_lifetimes)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constants have by default a `'static` lifetime [INFO] [stdout] --> tests/day13.rs:21:21 [INFO] [stdout] | [INFO] [stdout] 21 | const EXAMPLE: &'static str = r#"#.##..##. [INFO] [stdout] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_static_lifetimes [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constants have by default a `'static` lifetime [INFO] [stdout] --> tests/day13.rs:29:18 [INFO] [stdout] | [INFO] [stdout] 29 | const TEST: &'static str = r#".####......####.. [INFO] [stdout] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_static_lifetimes [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constants have by default a `'static` lifetime [INFO] [stdout] --> tests/day24.rs:5:21 [INFO] [stdout] | [INFO] [stdout] 5 | const CONTENT: &'static str = r#"19, 13, 30 @ -2, 1, -2 [INFO] [stdout] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_static_lifetimes [INFO] [stdout] = note: `#[warn(clippy::redundant_static_lifetimes)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constants have by default a `'static` lifetime [INFO] [stdout] --> tests/day23.rs:5:21 [INFO] [stdout] | [INFO] [stdout] 5 | const CONTENT: &'static str = r#"#.##################### [INFO] [stdout] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_static_lifetimes [INFO] [stdout] = note: `#[warn(clippy::redundant_static_lifetimes)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 7.15s [INFO] running `Command { std: "docker" "inspect" "2bb4a6905b0f908a39c6a30614166122a5f33d32ae911f366758814d52d5e17a", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "2bb4a6905b0f908a39c6a30614166122a5f33d32ae911f366758814d52d5e17a", kill_on_drop: false }` [INFO] [stdout] 2bb4a6905b0f908a39c6a30614166122a5f33d32ae911f366758814d52d5e17a