[INFO] cloning repository https://github.com/MuhamedAgic/advent_of_code_2024
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/MuhamedAgic/advent_of_code_2024" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FMuhamedAgic%2Fadvent_of_code_2024", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FMuhamedAgic%2Fadvent_of_code_2024'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] e0c76df0dd71f50730ae2113743d345c88672d78
[INFO] building MuhamedAgic/advent_of_code_2024 against master#ad85bc524b1ad696e42061ad8338d382dffbdbe5 for pr-146237-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FMuhamedAgic%2Fadvent_of_code_2024" "/workspace/builds/worker-1-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/MuhamedAgic/advent_of_code_2024
[INFO] finished tweaking git repo https://github.com/MuhamedAgic/advent_of_code_2024
[INFO] tweaked toml for git repo https://github.com/MuhamedAgic/advent_of_code_2024 written to /workspace/builds/worker-1-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/MuhamedAgic/advent_of_code_2024 on toolchain ad85bc524b1ad696e42061ad8338d382dffbdbe5
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+ad85bc524b1ad696e42061ad8338d382dffbdbe5" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/MuhamedAgic/advent_of_code_2024 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" "+ad85bc524b1ad696e42061ad8338d382dffbdbe5" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded wasm-bindgen-macro-support v0.2.97
[INFO] [stderr]   Downloaded wasm-bindgen-shared v0.2.97
[INFO] [stderr]   Downloaded wasm-bindgen-futures v0.4.47
[INFO] [stderr]   Downloaded wasm-bindgen-macro v0.2.97
[INFO] [stderr]   Downloaded wasm-bindgen v0.2.97
[INFO] [stderr]   Downloaded js-sys v0.3.74
[INFO] [stderr]   Downloaded wasm-bindgen-backend v0.2.97
[INFO] [stderr]   Downloaded cc v1.2.2
[INFO] [stderr]   Downloaded web-sys v0.3.74
[INFO] [stderr]   Downloaded libc v0.2.167
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+ad85bc524b1ad696e42061ad8338d382dffbdbe5" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 9e21e8f9fc5a254bd688ba393480658fa036b955dff1ab5b6032e274bec8c230
[INFO] running `Command { std: "docker" "start" "-a" "9e21e8f9fc5a254bd688ba393480658fa036b955dff1ab5b6032e274bec8c230", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "9e21e8f9fc5a254bd688ba393480658fa036b955dff1ab5b6032e274bec8c230", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "9e21e8f9fc5a254bd688ba393480658fa036b955dff1ab5b6032e274bec8c230", kill_on_drop: false }`
[INFO] [stdout] 9e21e8f9fc5a254bd688ba393480658fa036b955dff1ab5b6032e274bec8c230
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+ad85bc524b1ad696e42061ad8338d382dffbdbe5" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] e4cc48b811e132e213f6b4a2c5f96a673f5bc3a6d79643a0125d57c9a7ce08ee
[INFO] running `Command { std: "docker" "start" "-a" "e4cc48b811e132e213f6b4a2c5f96a673f5bc3a6d79643a0125d57c9a7ce08ee", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.92
[INFO] [stderr]    Compiling unicode-ident v1.0.14
[INFO] [stderr]    Compiling crossbeam-utils v0.8.20
[INFO] [stderr]    Compiling pin-project-lite v0.2.15
[INFO] [stderr]    Compiling serde v1.0.215
[INFO] [stderr]    Compiling libc v0.2.167
[INFO] [stderr]    Compiling winnow v0.6.20
[INFO] [stderr]    Compiling rustix v0.38.41
[INFO] [stderr]    Compiling linux-raw-sys v0.4.14
[INFO] [stderr]    Compiling fastrand v2.2.0
[INFO] [stderr]    Compiling indexmap v2.7.0
[INFO] [stderr]    Compiling futures-lite v2.5.0
[INFO] [stderr]    Compiling tracing-core v0.1.33
[INFO] [stderr]    Compiling concurrent-queue v2.5.0
[INFO] [stderr]    Compiling quote v1.0.37
[INFO] [stderr]    Compiling event-listener v5.3.1
[INFO] [stderr]    Compiling cc v1.2.2
[INFO] [stderr]    Compiling syn v2.0.90
[INFO] [stderr]    Compiling event-listener-strategy v0.5.3
[INFO] [stderr]    Compiling wayland-sys v0.31.5
[INFO] [stderr]    Compiling libloading v0.8.6
[INFO] [stderr]    Compiling async-lock v3.4.0
[INFO] [stderr]    Compiling async-channel v2.3.1
[INFO] [stderr]    Compiling toml_edit v0.22.22
[INFO] [stderr]    Compiling percent-encoding v2.3.1
[INFO] [stderr]    Compiling piper v0.2.4
[INFO] [stderr]    Compiling form_urlencoded v1.2.1
[INFO] [stderr]    Compiling dlib v0.5.2
[INFO] [stderr]    Compiling log v0.4.22
[INFO] [stderr]    Compiling signal-hook-registry v1.4.2
[INFO] [stderr]    Compiling getrandom v0.2.15
[INFO] [stderr]    Compiling nix v0.29.0
[INFO] [stderr]    Compiling blocking v1.6.1
[INFO] [stderr]    Compiling wayland-backend v0.3.7
[INFO] [stderr]    Compiling wayland-client v0.31.7
[INFO] [stderr]    Compiling wayland-scanner v0.31.5
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]    Compiling futures-sink v0.3.31
[INFO] [stderr]    Compiling async-fs v2.1.2
[INFO] [stderr]    Compiling xdg-home v1.3.0
[INFO] [stderr]    Compiling async-broadcast v0.7.1
[INFO] [stderr]    Compiling async-executor v1.13.1
[INFO] [stderr]    Compiling crossbeam-epoch v0.9.18
[INFO] [stderr]    Compiling proc-macro-crate v3.2.0
[INFO] [stderr]    Compiling ordered-stream v0.2.0
[INFO] [stderr]    Compiling crossbeam-deque v0.8.5
[INFO] [stderr]    Compiling either v1.13.0
[INFO] [stderr]    Compiling rfd v0.15.1
[INFO] [stderr]    Compiling raw-window-handle v0.6.2
[INFO] [stderr]    Compiling rayon-core v1.12.1
[INFO] [stderr]    Compiling num-rational v0.4.2
[INFO] [stderr]    Compiling num-iter v0.1.45
[INFO] [stderr]    Compiling num-complex v0.4.6
[INFO] [stderr]    Compiling urlencoding v2.1.3
[INFO] [stderr]    Compiling itertools v0.13.0
[INFO] [stderr]    Compiling rayon v1.10.0
[INFO] [stderr]    Compiling num v0.4.3
[INFO] [stderr]    Compiling synstructure v0.13.1
[INFO] [stderr]    Compiling zerofrom-derive v0.1.5
[INFO] [stderr]    Compiling yoke-derive v0.7.5
[INFO] [stderr]    Compiling zerovec-derive v0.10.3
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]    Compiling serde_derive v1.0.215
[INFO] [stderr]    Compiling icu_provider_macros v1.5.0
[INFO] [stderr]    Compiling tracing-attributes v0.1.28
[INFO] [stderr]    Compiling enumflags2_derive v0.7.10
[INFO] [stderr]    Compiling zerocopy-derive v0.7.35
[INFO] [stderr]    Compiling futures-macro v0.3.31
[INFO] [stderr]    Compiling async-trait v0.1.83
[INFO] [stderr]    Compiling serde_repr v0.1.19
[INFO] [stderr]    Compiling zerofrom v0.1.5
[INFO] [stderr]    Compiling yoke v0.7.5
[INFO] [stderr]    Compiling zerovec v0.10.4
[INFO] [stderr]    Compiling zerocopy v0.7.35
[INFO] [stderr]    Compiling futures-util v0.3.31
[INFO] [stderr]    Compiling tracing v0.1.41
[INFO] [stderr]    Compiling polling v3.7.4
[INFO] [stderr]    Compiling async-io v2.4.0
[INFO] [stderr]    Compiling ppv-lite86 v0.2.20
[INFO] [stderr]    Compiling tinystr v0.7.6
[INFO] [stderr]    Compiling icu_collections v1.5.0
[INFO] [stderr]    Compiling icu_locid v1.5.0
[INFO] [stderr]    Compiling async-signal v0.2.10
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling async-process v2.3.0
[INFO] [stderr]    Compiling rand v0.8.5
[INFO] [stderr]    Compiling async-net v2.0.0
[INFO] [stderr]    Compiling icu_provider v1.5.0
[INFO] [stderr]    Compiling wayland-protocols v0.32.5
[INFO] [stderr]    Compiling icu_locid_transform v1.5.0
[INFO] [stderr]    Compiling icu_properties v1.5.1
[INFO] [stderr]    Compiling zvariant_utils v3.0.2
[INFO] [stderr]    Compiling enumflags2 v0.7.10
[INFO] [stderr]    Compiling icu_normalizer v1.5.0
[INFO] [stderr]    Compiling zvariant_derive v5.1.0
[INFO] [stderr]    Compiling idna_adapter v1.2.0
[INFO] [stderr]    Compiling idna v1.0.3
[INFO] [stderr]    Compiling url v2.5.4
[INFO] [stderr]    Compiling zvariant v5.1.0
[INFO] [stderr]    Compiling zbus_names v4.1.0
[INFO] [stderr]    Compiling zbus_macros v5.1.1
[INFO] [stderr]    Compiling zbus v5.1.1
[INFO] [stderr]    Compiling ashpd v0.10.2
[INFO] [stderr]    Compiling advent_of_code_2024 v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unnecessary parentheses around pattern
[INFO] [stdout]   --> src/lib.rs:95:28
[INFO] [stdout]    |
[INFO] [stdout] 95 |                     if let (byte) = set_bit_false(byte, pos) {
[INFO] [stdout]    |                            ^    ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 95 -                     if let (byte) = set_bit_false(byte, pos) {
[INFO] [stdout] 95 +                     if let byte = set_bit_false(byte, pos) {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around pattern
[INFO] [stdout]    --> src/lib.rs:101:28
[INFO] [stdout]     |
[INFO] [stdout] 101 |                     if let (byte) = set_bit_true(byte, pos) {
[INFO] [stdout]     |                            ^    ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 101 -                     if let (byte) = set_bit_true(byte, pos) {
[INFO] [stdout] 101 +                     if let byte = set_bit_true(byte, pos) {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: irrefutable `if let` pattern
[INFO] [stdout]   --> src/lib.rs:95:24
[INFO] [stdout]    |
[INFO] [stdout] 95 |                     if let (byte) = set_bit_false(byte, pos) {
[INFO] [stdout]    |                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this pattern will always match, so the `if let` is useless
[INFO] [stdout]    = help: consider replacing the `if let` with a `let`
[INFO] [stdout]    = note: `#[warn(irrefutable_let_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: irrefutable `if let` pattern
[INFO] [stdout]    --> src/lib.rs:101:24
[INFO] [stdout]     |
[INFO] [stdout] 101 |                     if let (byte) = set_bit_true(byte, pos) {
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this pattern will always match, so the `if let` is useless
[INFO] [stdout]     = help: consider replacing the `if let` with a `let`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `abs` is never used
[INFO] [stdout]   --> src/lib.rs:31:8
[INFO] [stdout]    |
[INFO] [stdout] 31 |     fn abs(val: i32) -> i32 {
[INFO] [stdout]    |        ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BIT_MATRIX_IDENTITY_TRUE` is never used
[INFO] [stdout]   --> src/lib.rs:40:15
[INFO] [stdout]    |
[INFO] [stdout] 40 |         const BIT_MATRIX_IDENTITY_TRUE: [u8; 8] = [
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BIT_MATRIX_IDENTITY_FALSE` is never used
[INFO] [stdout]   --> src/lib.rs:51:15
[INFO] [stdout]    |
[INFO] [stdout] 51 |         const BIT_MATRIX_IDENTITY_FALSE: [u8; 8] = [
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `set_bit_true` is never used
[INFO] [stdout]   --> src/lib.rs:62:12
[INFO] [stdout]    |
[INFO] [stdout] 62 |         fn set_bit_true(mut byte: u8, pos: u8) -> Option<u8> {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `set_bit_false` is never used
[INFO] [stdout]   --> src/lib.rs:77:12
[INFO] [stdout]    |
[INFO] [stdout] 77 |         fn set_bit_false(mut byte: u8, pos: u8) -> Option<u8> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `set_bit` is never used
[INFO] [stdout]   --> src/lib.rs:92:12
[INFO] [stdout]    |
[INFO] [stdout] 92 |         fn set_bit(byte: u8, val: u8, pos: u8) -> Option<u8> {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_bits` is never used
[INFO] [stdout]    --> src/lib.rs:110:12
[INFO] [stdout]     |
[INFO] [stdout] 110 |         fn get_bits(byte: u8) -> [u8; 8] {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ops::Deref`
[INFO] [stdout]  --> src/bin/day11.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::ops::Deref;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `regex::Regex`
[INFO] [stdout]  --> src/bin/day11.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use regex::Regex;
[INFO] [stdout]   |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/bin/day23.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::collections::HashMap;
[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: `std::hash::Hash`
[INFO] [stdout]  --> src/bin/day23.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::hash::Hash;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io::BufRead`
[INFO] [stdout]  --> src/bin/day23.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::io::BufRead;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `input`
[INFO] [stdout]   --> src/bin/day23.rs:80:13
[INFO] [stdout]    |
[INFO] [stdout] 80 | fn part_two(input: &str) -> i32 {
[INFO] [stdout]    |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_input`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `example_input`
[INFO] [stdout]   --> src/bin/day23.rs:87:9
[INFO] [stdout]    |
[INFO] [stdout] 87 |     let example_input = utils::read_input_from_path("C:\\Documenten\\magic-repo\\advent_of_code_2024\\example_input\\day23.txt");
[INFO] [stdout]    |         ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_example_input`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `part_two` is never used
[INFO] [stdout]   --> src/bin/day23.rs:80:4
[INFO] [stdout]    |
[INFO] [stdout] 80 | fn part_two(input: &str) -> i32 {
[INFO] [stdout]    |    ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: using `.clone()` on a double reference, which returns `&str` instead of cloning the inner type
[INFO] [stdout]   --> src/bin/day23.rs:31:47
[INFO] [stdout]    |
[INFO] [stdout] 31 |         .flat_map(|(first, second)| vec![first.clone(), second.clone()])
[INFO] [stdout]    |                                               ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(suspicious_double_ref_op)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: using `.clone()` on a double reference, which returns `&str` instead of cloning the inner type
[INFO] [stdout]   --> src/bin/day23.rs:31:63
[INFO] [stdout]    |
[INFO] [stdout] 31 |         .flat_map(|(first, second)| vec![first.clone(), second.clone()])
[INFO] [stdout]    |                                                               ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `example_input`
[INFO] [stdout]   --> src/bin/day11.rs:67:9
[INFO] [stdout]    |
[INFO] [stdout] 67 |     let example_input = utils::read_input_from_path("C:\\Documenten\\magic-repo\\advent_of_code_2024\\example_input\\day11.txt");
[INFO] [stdout]    |         ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_example_input`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]    --> src/bin/day13.rs:123:26
[INFO] [stdout]     |
[INFO] [stdout] 123 |     let button_b_count = (d_target as f64 / d_b as f64);
[INFO] [stdout]     |                          ^                            ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 123 -     let button_b_count = (d_target as f64 / d_b as f64);
[INFO] [stdout] 123 +     let button_b_count = d_target as f64 / d_b as f64;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]    --> src/bin/day13.rs:127:26
[INFO] [stdout]     |
[INFO] [stdout] 127 |     let button_a_count = ((claw_machine.prize.x as f64 - (claw_machine.b.dx as f64 * button_b_count)) / claw_machine.a.dx as f64);
[INFO] [stdout]     |                          ^                                                                                                      ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 127 -     let button_a_count = ((claw_machine.prize.x as f64 - (claw_machine.b.dx as f64 * button_b_count)) / claw_machine.a.dx as f64);
[INFO] [stdout] 127 +     let button_a_count = (claw_machine.prize.x as f64 - (claw_machine.b.dx as f64 * button_b_count)) / claw_machine.a.dx as f64;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `num::Num`
[INFO] [stdout]  --> src/bin/day07.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use num::Num;
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `SystemTime`
[INFO] [stdout]  --> src/main.rs:1:26
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::time::{Instant, SystemTime};
[INFO] [stdout]   |                          ^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `example_input`
[INFO] [stdout]   --> src/bin/day07.rs:80:9
[INFO] [stdout]    |
[INFO] [stdout] 80 |     let example_input = utils::read_input_from_path("C:\\Documenten\\magic-repo\\advent_of_code_2024\\example_input\\day07.txt");
[INFO] [stdout]    |         ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_example_input`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `input`
[INFO] [stdout]  --> src/bin/template.rs:4:13
[INFO] [stdout]   |
[INFO] [stdout] 4 | fn part_one(input: &str) -> i32 {
[INFO] [stdout]   |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_input`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Sub` and `Div` are never constructed
[INFO] [stdout]   --> src/bin/day07.rs:8:5
[INFO] [stdout]    |
[INFO] [stdout]  6 | enum Operators {
[INFO] [stdout]    |      --------- variants in this enum
[INFO] [stdout]  7 |     Add,
[INFO] [stdout]  8 |     Sub,
[INFO] [stdout]    |     ^^^
[INFO] [stdout]  9 |     Mul,
[INFO] [stdout] 10 |     Div,
[INFO] [stdout]    |     ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `input`
[INFO] [stdout]  --> src/bin/template.rs:8:13
[INFO] [stdout]   |
[INFO] [stdout] 8 | fn part_two(input: &str) -> i32 {
[INFO] [stdout]   |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_input`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `num::traits::real::Real`
[INFO] [stdout]  --> src/bin/day13.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use num::traits::real::Real;
[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 doc comment
[INFO] [stdout]   --> src/bin/day24_2023.rs:68:5
[INFO] [stdout]    |
[INFO] [stdout] 68 |     /// gets the a and b from y = ax + b
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 69 |     let a_hail_stone = hail_stone.velocity.y / hail_stone.velocity.x; // slope (a)
[INFO] [stdout]    |     ----------------------------------------------------------------- rustdoc does not generate documentation for statements
[INFO] [stdout]    |
[INFO] [stdout]    = help: use `//` for a plain comment
[INFO] [stdout]    = note: `#[warn(unused_doc_comments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `push_limit`
[INFO] [stdout]    --> src/bin/day13.rs:101:70
[INFO] [stdout]     |
[INFO] [stdout] 101 | fn meets_criteria_part_two(button_a_count: f64, button_b_count: f64, push_limit: i64) -> bool {
[INFO] [stdout]     |                                                                      ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_push_limit`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `example_input`
[INFO] [stdout]    --> src/bin/day13.rs:152:9
[INFO] [stdout]     |
[INFO] [stdout] 152 |     let example_input = utils::read_input_from_path("C:\\Documenten\\magic-repo\\advent_of_code_2024\\example_input\\day13.txt");
[INFO] [stdout]     |         ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_example_input`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/bin/day13.rs:13:8
[INFO] [stdout]    |
[INFO] [stdout] 12 | impl Coordinate2D {
[INFO] [stdout]    | ----------------- associated function in this implementation
[INFO] [stdout] 13 |     fn new() -> Coordinate2D {
[INFO] [stdout]    |        ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `bingo_numbers` is assigned to, but never used
[INFO] [stdout]   --> src/bin/day4_2021.rs:23:13
[INFO] [stdout]    |
[INFO] [stdout] 23 |     let mut bingo_numbers:Vec<i32> = Vec::new();
[INFO] [stdout]    |             ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: consider using `_bingo_numbers` instead
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `bingo_numbers` is never read
[INFO] [stdout]   --> src/bin/day4_2021.rs:32:13
[INFO] [stdout]    |
[INFO] [stdout] 32 |             bingo_numbers = utils::collect_numbers::<i32>(line, ',');
[INFO] [stdout]    |             ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: maybe it is overwritten before being read?
[INFO] [stdout]    = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `rows` and `cols` are never read
[INFO] [stdout]  --> src/bin/day4_2021.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | struct Grid2D {
[INFO] [stdout]   |        ------ fields in this struct
[INFO] [stdout] 6 |     rows: usize,
[INFO] [stdout]   |     ^^^^
[INFO] [stdout] 7 |     cols: usize,
[INFO] [stdout]   |     ^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `Grid2D` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `is_valid` is never read
[INFO] [stdout]    --> src/bin/day24_2023.rs:103:13
[INFO] [stdout]     |
[INFO] [stdout] 103 |     let mut is_valid = true;
[INFO] [stdout]     |             ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `input`
[INFO] [stdout]    --> src/bin/day24_2023.rs:265:13
[INFO] [stdout]     |
[INFO] [stdout] 265 | fn part_two(input: &str) -> i32 {
[INFO] [stdout]     |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_input`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `z` is never read
[INFO] [stdout]  --> src/bin/day24_2023.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | struct Position {
[INFO] [stdout]   |        -------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 9 |     z: f64
[INFO] [stdout]   |     ^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `Position` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `z` is never read
[INFO] [stdout]   --> src/bin/day24_2023.rs:23:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | struct Velocity {
[INFO] [stdout]    |        -------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 23 |     z: f64
[INFO] [stdout]    |     ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Velocity` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Duration`
[INFO] [stdout]  --> src/bin/day3_2021.rs:1:17
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::time::{Duration, SystemTime};
[INFO] [stdout]   |                 ^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]   --> src/bin/day22.rs:24:17
[INFO] [stdout]    |
[INFO] [stdout] 24 |             for i in 0..2000 {
[INFO] [stdout]    |                 ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `input`
[INFO] [stdout]   --> src/bin/day22.rs:34:13
[INFO] [stdout]    |
[INFO] [stdout] 34 | fn part_two(input: &str) -> i32 {
[INFO] [stdout]    |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_input`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `example_input`
[INFO] [stdout]   --> src/bin/day22.rs:41:9
[INFO] [stdout]    |
[INFO] [stdout] 41 |     let example_input = utils::read_input_from_path("C:\\Documenten\\magic-repo\\advent_of_code_2024\\example_input\\day22.txt");
[INFO] [stdout]    |         ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_example_input`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `part_two` is never used
[INFO] [stdout]   --> src/bin/day22.rs:34:4
[INFO] [stdout]    |
[INFO] [stdout] 34 | fn part_two(input: &str) -> i32 {
[INFO] [stdout]    |    ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]    --> src/bin/day02.rs:124:55
[INFO] [stdout]     |
[INFO] [stdout] 124 |     let mut result = BigInt::new(Sign::Plus, vec![0]);;
[INFO] [stdout]     |                                                       ^ help: remove this semicolon
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(redundant_semicolons)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `char`
[INFO] [stdout]   --> src/bin/day03.rs:60:13
[INFO] [stdout]    |
[INFO] [stdout] 60 |     for (i, char) in input.chars().enumerate() {
[INFO] [stdout]    |             ^^^^ help: if this is intentional, prefix it with an underscore: `_char`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `operation`
[INFO] [stdout]   --> src/bin/day03.rs:67:46
[INFO] [stdout]    |
[INFO] [stdout] 67 |         else if operations.iter().any(|(pos, operation)| *pos == i) && enabled { // if we are currently on a mul operation, and enabled
[INFO] [stdout]    |                                              ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_operation`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `operation`
[INFO] [stdout]   --> src/bin/day03.rs:70:32
[INFO] [stdout]    |
[INFO] [stdout] 70 |                 .filter(|(pos, operation)| *pos == i)
[INFO] [stdout]    |                                ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_operation`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pos`
[INFO] [stdout]   --> src/bin/day03.rs:71:24
[INFO] [stdout]    |
[INFO] [stdout] 71 |                 .map(|(pos, operation)| operation)
[INFO] [stdout]    |                        ^^^ help: if this is intentional, prefix it with an underscore: `_pos`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::hash::Hash`
[INFO] [stdout]  --> src/bin/day04.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::hash::Hash;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::thread`
[INFO] [stdout]  --> src/bin/day04.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::thread;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `IntoParallelRefIterator`
[INFO] [stdout]  --> src/bin/day04.rs:5:41
[INFO] [stdout]   |
[INFO] [stdout] 5 | use rayon::iter::{IntoParallelIterator, IntoParallelRefIterator};
[INFO] [stdout]   |                                         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rfd::FileDialog`
[INFO] [stdout]  --> src/bin/day04.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use rfd::FileDialog;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `example_input_v1`
[INFO] [stdout]   --> src/bin/day03.rs:82:9
[INFO] [stdout]    |
[INFO] [stdout] 82 |     let example_input_v1 = utils::read_input_from_path("C:\\Documenten\\magic-repo\\advent_of_code_2024\\example_input\\day03_v1.txt");
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_example_input_v1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `example_input_v2`
[INFO] [stdout]   --> src/bin/day03.rs:83:9
[INFO] [stdout]    |
[INFO] [stdout] 83 |     let example_input_v2 = utils::read_input_from_path("C:\\Documenten\\magic-repo\\advent_of_code_2024\\example_input\\day03_v2.txt");
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_example_input_v2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/bin/day06.rs:29:5
[INFO] [stdout]    |
[INFO] [stdout] 29 |       /// Returns only the first found mark
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 30 | /     for (i, line) in grid.iter().enumerate() { // row
[INFO] [stdout] 31 | |         for (j, str) in line.chars().enumerate() { // col
[INFO] [stdout] 32 | |             if str == mark {
[INFO] [stdout] 33 | |                 let found_mark_coordinate = GridPoint2D::new(i as i32, j as i32);
[INFO] [stdout] ...  |
[INFO] [stdout] 37 | |     }
[INFO] [stdout]    | |_____- rustdoc does not generate documentation for expressions
[INFO] [stdout]    |
[INFO] [stdout]    = help: use `//` for a plain comment
[INFO] [stdout]    = note: `#[warn(unused_doc_comments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rayon::iter::IndexedParallelIterator`
[INFO] [stdout]  --> src/bin/day04.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use rayon::iter::IndexedParallelIterator;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `char`
[INFO] [stdout]    --> src/bin/day04.rs:167:17
[INFO] [stdout]     |
[INFO] [stdout] 167 |         for (j, char) in grid[i].iter().enumerate() {
[INFO] [stdout]     |                 ^^^^ help: if this is intentional, prefix it with an underscore: `_char`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/bin/day04.rs:162:9
[INFO] [stdout]     |
[INFO] [stdout] 162 |     let mut found_xmases = 0;
[INFO] [stdout]     |         ----^^^^^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `char`
[INFO] [stdout]    --> src/bin/day04.rs:185:17
[INFO] [stdout]     |
[INFO] [stdout] 185 |         for (j, char) in grid[i].iter().enumerate() {
[INFO] [stdout]     |                 ^^^^ help: if this is intentional, prefix it with an underscore: `_char`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/bin/day04.rs:181:9
[INFO] [stdout]     |
[INFO] [stdout] 181 |     let mut found_xmases = 0;
[INFO] [stdout]     |         ----^^^^^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `char`
[INFO] [stdout]    --> src/bin/day04.rs:200:17
[INFO] [stdout]     |
[INFO] [stdout] 200 |         for (j, char) in row.iter().enumerate() {
[INFO] [stdout]     |                 ^^^^ help: if this is intentional, prefix it with an underscore: `_char`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `search_functions`
[INFO] [stdout]    --> src/bin/day04.rs:239:9
[INFO] [stdout]     |
[INFO] [stdout] 239 |     let search_functions = vec![check_target_north, check_target_south, check_target_east, check_target_west,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_search_functions`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `char`
[INFO] [stdout]    --> src/bin/day04.rs:244:17
[INFO] [stdout]     |
[INFO] [stdout] 244 |         for (j, char) in row.iter().enumerate() {
[INFO] [stdout]     |                 ^^^^ help: if this is intentional, prefix it with an underscore: `_char`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `example_input`
[INFO] [stdout]    --> src/bin/day04.rs:256:9
[INFO] [stdout]     |
[INFO] [stdout] 256 |     let example_input = utils::read_input_from_path("C:\\Documenten\\magic-repo\\advent_of_code_2024\\example_input\\day04.txt");
[INFO] [stdout]     |         ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_example_input`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `part_one_more_overhead` is never used
[INFO] [stdout]    --> src/bin/day04.rs:177:4
[INFO] [stdout]     |
[INFO] [stdout] 177 | fn part_one_more_overhead(input: &str) -> i32 {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `ordering` is never read
[INFO] [stdout]   --> src/bin/day02.rs:53:13
[INFO] [stdout]    |
[INFO] [stdout] 53 |     let mut ordering = Ordering::Equal;
[INFO] [stdout]    |             ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: maybe it is overwritten before being read?
[INFO] [stdout]    = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `is_valid_row`
[INFO] [stdout]   --> src/bin/day02.rs:74:17
[INFO] [stdout]    |
[INFO] [stdout] 74 |         let mut is_valid_row = true;
[INFO] [stdout]    |                 ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_is_valid_row`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/bin/day02.rs:74:13
[INFO] [stdout]    |
[INFO] [stdout] 74 |         let mut is_valid_row = true;
[INFO] [stdout]    |             ----^^^^^^^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `is_valid_row`
[INFO] [stdout]   --> src/bin/day02.rs:93:17
[INFO] [stdout]    |
[INFO] [stdout] 93 |         let mut is_valid_row = true;
[INFO] [stdout]    |                 ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_is_valid_row`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/bin/day02.rs:93:13
[INFO] [stdout]    |
[INFO] [stdout] 93 |         let mut is_valid_row = true;
[INFO] [stdout]    |             ----^^^^^^^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/bin/day02.rs:126:13
[INFO] [stdout]     |
[INFO] [stdout] 126 |         let mut num: Vec<_> = vec![i];
[INFO] [stdout]     |             ----^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `example_input`
[INFO] [stdout]    --> src/bin/day02.rs:137:9
[INFO] [stdout]     |
[INFO] [stdout] 137 |     let example_input = utils::read_input_from_path("C:\\Documenten\\magic-repo\\advent_of_code_2024\\example_input\\day02.txt");
[INFO] [stdout]     |         ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_example_input`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `input`
[INFO] [stdout]    --> src/bin/day06.rs:123:13
[INFO] [stdout]     |
[INFO] [stdout] 123 | fn part_two(input: &str) -> i32 {
[INFO] [stdout]     |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_input`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `example_input`
[INFO] [stdout]    --> src/bin/day06.rs:130:9
[INFO] [stdout]     |
[INFO] [stdout] 130 |     let example_input = utils::read_input_from_path("C:\\Documenten\\magic-repo\\advent_of_code_2024\\example_input\\day06.txt");
[INFO] [stdout]     |         ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_example_input`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `project_euler_48` is never used
[INFO] [stdout]    --> src/bin/day02.rs:123:4
[INFO] [stdout]     |
[INFO] [stdout] 123 | fn project_euler_48() {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `part_two` is never used
[INFO] [stdout]    --> src/bin/day06.rs:123:4
[INFO] [stdout]     |
[INFO] [stdout] 123 | fn part_two(input: &str) -> i32 {
[INFO] [stdout]     |    ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `itertools::enumerate`
[INFO] [stdout]  --> src/bin/day09.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use itertools::enumerate;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `j`
[INFO] [stdout]   --> src/bin/day09.rs:11:17
[INFO] [stdout]    |
[INFO] [stdout] 11 |             for j in 0..*item {
[INFO] [stdout]    |                 ^ help: if this is intentional, prefix it with an underscore: `_j`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `j`
[INFO] [stdout]   --> src/bin/day09.rs:18:17
[INFO] [stdout]    |
[INFO] [stdout] 18 |             for j in 0..*item {
[INFO] [stdout]    |                 ^ help: if this is intentional, prefix it with an underscore: `_j`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `input`
[INFO] [stdout]   --> src/bin/day09.rs:85:13
[INFO] [stdout]    |
[INFO] [stdout] 85 | fn part_two(input: &str) -> i32 {
[INFO] [stdout]    |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_input`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `example_input`
[INFO] [stdout]   --> src/bin/day09.rs:92:9
[INFO] [stdout]    |
[INFO] [stdout] 92 |     let example_input = utils::read_input_from_path("C:\\Documenten\\magic-repo\\advent_of_code_2024\\example_input\\day09.txt");
[INFO] [stdout]    |         ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_example_input`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `print_rearranged_memory` is never used
[INFO] [stdout]   --> src/bin/day09.rs:28:4
[INFO] [stdout]    |
[INFO] [stdout] 28 | fn print_rearranged_memory(memory: &Vec<Option<i32>>) {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `part_two` is never used
[INFO] [stdout]   --> src/bin/day09.rs:85:4
[INFO] [stdout]    |
[INFO] [stdout] 85 | fn part_two(input: &str) -> i32 {
[INFO] [stdout]    |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/bin/day14.rs:97:5
[INFO] [stdout]     |
[INFO] [stdout]  97 |       /// include min max of bounds
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]  98 | /     return robot_position.row >= grid.top_left.row
[INFO] [stdout]  99 | |         && robot_position.row <= grid.bottom_right.row
[INFO] [stdout] 100 | |         && robot_position.col >= grid.top_left.col
[INFO] [stdout] 101 | |         && robot_position.col <= grid.bottom_right.col;
[INFO] [stdout]     | |______________________________________________________- rustdoc does not generate documentation for expressions
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout]     = note: `#[warn(unused_doc_comments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `input`
[INFO] [stdout]    --> src/bin/day17.rs:177:13
[INFO] [stdout]     |
[INFO] [stdout] 177 | fn part_two(input: &str) -> i32 {
[INFO] [stdout]     |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_input`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `example_input`
[INFO] [stdout]    --> src/bin/day17.rs:184:9
[INFO] [stdout]     |
[INFO] [stdout] 184 |     let example_input = utils::read_input_from_path("C:\\Documenten\\magic-repo\\advent_of_code_2024\\example_input\\day17.txt");
[INFO] [stdout]     |         ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_example_input`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ans`
[INFO] [stdout]    --> src/bin/day17.rs:187:9
[INFO] [stdout]     |
[INFO] [stdout] 187 |     let ans = part_one(&input);
[INFO] [stdout]     |         ^^^ help: if this is intentional, prefix it with an underscore: `_ans`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `part_two` is never used
[INFO] [stdout]    --> src/bin/day17.rs:177:4
[INFO] [stdout]     |
[INFO] [stdout] 177 | fn part_two(input: &str) -> i32 {
[INFO] [stdout]     |    ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `num::traits::real::Real`
[INFO] [stdout]  --> src/bin/day14.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use num::traits::real::Real;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `input`
[INFO] [stdout]    --> src/bin/day14.rs:202:13
[INFO] [stdout]     |
[INFO] [stdout] 202 | fn part_two(input: &str) -> i32 {
[INFO] [stdout]     |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_input`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `example_input`
[INFO] [stdout]    --> src/bin/day14.rs:209:9
[INFO] [stdout]     |
[INFO] [stdout] 209 |     let example_input = utils::read_input_from_path("C:\\Documenten\\magic-repo\\advent_of_code_2024\\example_input\\day14.txt");
[INFO] [stdout]     |         ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_example_input`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `visualize_robots` is never used
[INFO] [stdout]    --> src/bin/day14.rs:149:4
[INFO] [stdout]     |
[INFO] [stdout] 149 | fn visualize_robots(robots: &Vec<Robot>, grid: &Grid) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 2m 23s
[INFO] running `Command { std: "docker" "inspect" "e4cc48b811e132e213f6b4a2c5f96a673f5bc3a6d79643a0125d57c9a7ce08ee", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "e4cc48b811e132e213f6b4a2c5f96a673f5bc3a6d79643a0125d57c9a7ce08ee", kill_on_drop: false }`
[INFO] [stdout] e4cc48b811e132e213f6b4a2c5f96a673f5bc3a6d79643a0125d57c9a7ce08ee
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+ad85bc524b1ad696e42061ad8338d382dffbdbe5" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 999f81325f0e5699ee07f5e73a1bf36d8fe2253838a81608d8f72fbde7e531bb
[INFO] running `Command { std: "docker" "start" "-a" "999f81325f0e5699ee07f5e73a1bf36d8fe2253838a81608d8f72fbde7e531bb", kill_on_drop: false }`
[INFO] [stderr]    Compiling advent_of_code_2024 v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unnecessary parentheses around pattern
[INFO] [stdout]   --> src/lib.rs:95:28
[INFO] [stdout]    |
[INFO] [stdout] 95 |                     if let (byte) = set_bit_false(byte, pos) {
[INFO] [stdout]    |                            ^    ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 95 -                     if let (byte) = set_bit_false(byte, pos) {
[INFO] [stdout] 95 +                     if let byte = set_bit_false(byte, pos) {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around pattern
[INFO] [stdout]    --> src/lib.rs:101:28
[INFO] [stdout]     |
[INFO] [stdout] 101 |                     if let (byte) = set_bit_true(byte, pos) {
[INFO] [stdout]     |                            ^    ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 101 -                     if let (byte) = set_bit_true(byte, pos) {
[INFO] [stdout] 101 +                     if let byte = set_bit_true(byte, pos) {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: irrefutable `if let` pattern
[INFO] [stdout]   --> src/lib.rs:95:24
[INFO] [stdout]    |
[INFO] [stdout] 95 |                     if let (byte) = set_bit_false(byte, pos) {
[INFO] [stdout]    |                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this pattern will always match, so the `if let` is useless
[INFO] [stdout]    = help: consider replacing the `if let` with a `let`
[INFO] [stdout]    = note: `#[warn(irrefutable_let_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: irrefutable `if let` pattern
[INFO] [stdout]    --> src/lib.rs:101:24
[INFO] [stdout]     |
[INFO] [stdout] 101 |                     if let (byte) = set_bit_true(byte, pos) {
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this pattern will always match, so the `if let` is useless
[INFO] [stdout]     = help: consider replacing the `if let` with a `let`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `abs` is never used
[INFO] [stdout]   --> src/lib.rs:31:8
[INFO] [stdout]    |
[INFO] [stdout] 31 |     fn abs(val: i32) -> i32 {
[INFO] [stdout]    |        ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BIT_MATRIX_IDENTITY_TRUE` is never used
[INFO] [stdout]   --> src/lib.rs:40:15
[INFO] [stdout]    |
[INFO] [stdout] 40 |         const BIT_MATRIX_IDENTITY_TRUE: [u8; 8] = [
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BIT_MATRIX_IDENTITY_FALSE` is never used
[INFO] [stdout]   --> src/lib.rs:51:15
[INFO] [stdout]    |
[INFO] [stdout] 51 |         const BIT_MATRIX_IDENTITY_FALSE: [u8; 8] = [
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `set_bit_true` is never used
[INFO] [stdout]   --> src/lib.rs:62:12
[INFO] [stdout]    |
[INFO] [stdout] 62 |         fn set_bit_true(mut byte: u8, pos: u8) -> Option<u8> {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `set_bit_false` is never used
[INFO] [stdout]   --> src/lib.rs:77:12
[INFO] [stdout]    |
[INFO] [stdout] 77 |         fn set_bit_false(mut byte: u8, pos: u8) -> Option<u8> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `set_bit` is never used
[INFO] [stdout]   --> src/lib.rs:92:12
[INFO] [stdout]    |
[INFO] [stdout] 92 |         fn set_bit(byte: u8, val: u8, pos: u8) -> Option<u8> {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_bits` is never used
[INFO] [stdout]    --> src/lib.rs:110:12
[INFO] [stdout]     |
[INFO] [stdout] 110 |         fn get_bits(byte: u8) -> [u8; 8] {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around pattern
[INFO] [stdout]   --> src/lib.rs:95:28
[INFO] [stdout]    |
[INFO] [stdout] 95 |                     if let (byte) = set_bit_false(byte, pos) {
[INFO] [stdout]    |                            ^    ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 95 -                     if let (byte) = set_bit_false(byte, pos) {
[INFO] [stdout] 95 +                     if let byte = set_bit_false(byte, pos) {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around pattern
[INFO] [stdout]    --> src/lib.rs:101:28
[INFO] [stdout]     |
[INFO] [stdout] 101 |                     if let (byte) = set_bit_true(byte, pos) {
[INFO] [stdout]     |                            ^    ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 101 -                     if let (byte) = set_bit_true(byte, pos) {
[INFO] [stdout] 101 +                     if let byte = set_bit_true(byte, pos) {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ops::Deref`
[INFO] [stdout]  --> src/bin/day11.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::ops::Deref;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `regex::Regex`
[INFO] [stdout]  --> src/bin/day11.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use regex::Regex;
[INFO] [stdout]   |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `num::Num`
[INFO] [stdout]  --> src/bin/day07.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use num::Num;
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Duration`
[INFO] [stdout]  --> src/bin/day3_2021.rs:1:17
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::time::{Duration, SystemTime};
[INFO] [stdout]   |                 ^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: irrefutable `if let` pattern
[INFO] [stdout]   --> src/lib.rs:95:24
[INFO] [stdout]    |
[INFO] [stdout] 95 |                     if let (byte) = set_bit_false(byte, pos) {
[INFO] [stdout]    |                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this pattern will always match, so the `if let` is useless
[INFO] [stdout]    = help: consider replacing the `if let` with a `let`
[INFO] [stdout]    = note: `#[warn(irrefutable_let_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: irrefutable `if let` pattern
[INFO] [stdout]    --> src/lib.rs:101:24
[INFO] [stdout]     |
[INFO] [stdout] 101 |                     if let (byte) = set_bit_true(byte, pos) {
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this pattern will always match, so the `if let` is useless
[INFO] [stdout]     = help: consider replacing the `if let` with a `let`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `abs` is never used
[INFO] [stdout]   --> src/lib.rs:31:8
[INFO] [stdout]    |
[INFO] [stdout] 31 |     fn abs(val: i32) -> i32 {
[INFO] [stdout]    |        ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BIT_MATRIX_IDENTITY_TRUE` is never used
[INFO] [stdout]   --> src/lib.rs:40:15
[INFO] [stdout]    |
[INFO] [stdout] 40 |         const BIT_MATRIX_IDENTITY_TRUE: [u8; 8] = [
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BIT_MATRIX_IDENTITY_FALSE` is never used
[INFO] [stdout]   --> src/lib.rs:51:15
[INFO] [stdout]    |
[INFO] [stdout] 51 |         const BIT_MATRIX_IDENTITY_FALSE: [u8; 8] = [
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `set_bit_true` is never used
[INFO] [stdout]   --> src/lib.rs:62:12
[INFO] [stdout]    |
[INFO] [stdout] 62 |         fn set_bit_true(mut byte: u8, pos: u8) -> Option<u8> {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `set_bit_false` is never used
[INFO] [stdout]   --> src/lib.rs:77:12
[INFO] [stdout]    |
[INFO] [stdout] 77 |         fn set_bit_false(mut byte: u8, pos: u8) -> Option<u8> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `set_bit` is never used
[INFO] [stdout]   --> src/lib.rs:92:12
[INFO] [stdout]    |
[INFO] [stdout] 92 |         fn set_bit(byte: u8, val: u8, pos: u8) -> Option<u8> {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_bits` is never used
[INFO] [stdout]    --> src/lib.rs:110:12
[INFO] [stdout]     |
[INFO] [stdout] 110 |         fn get_bits(byte: u8) -> [u8; 8] {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `example_input`
[INFO] [stdout]   --> src/bin/day11.rs:67:9
[INFO] [stdout]    |
[INFO] [stdout] 67 |     let example_input = utils::read_input_from_path("C:\\Documenten\\magic-repo\\advent_of_code_2024\\example_input\\day11.txt");
[INFO] [stdout]    |         ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_example_input`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `example_input`
[INFO] [stdout]   --> src/bin/day07.rs:80:9
[INFO] [stdout]    |
[INFO] [stdout] 80 |     let example_input = utils::read_input_from_path("C:\\Documenten\\magic-repo\\advent_of_code_2024\\example_input\\day07.txt");
[INFO] [stdout]    |         ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_example_input`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Sub` and `Div` are never constructed
[INFO] [stdout]   --> src/bin/day07.rs:8:5
[INFO] [stdout]    |
[INFO] [stdout]  6 | enum Operators {
[INFO] [stdout]    |      --------- variants in this enum
[INFO] [stdout]  7 |     Add,
[INFO] [stdout]  8 |     Sub,
[INFO] [stdout]    |     ^^^
[INFO] [stdout]  9 |     Mul,
[INFO] [stdout] 10 |     Div,
[INFO] [stdout]    |     ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `bingo_numbers` is assigned to, but never used
[INFO] [stdout]   --> src/bin/day4_2021.rs:23:13
[INFO] [stdout]    |
[INFO] [stdout] 23 |     let mut bingo_numbers:Vec<i32> = Vec::new();
[INFO] [stdout]    |             ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: consider using `_bingo_numbers` instead
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `bingo_numbers` is never read
[INFO] [stdout]   --> src/bin/day4_2021.rs:32:13
[INFO] [stdout]    |
[INFO] [stdout] 32 |             bingo_numbers = utils::collect_numbers::<i32>(line, ',');
[INFO] [stdout]    |             ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: maybe it is overwritten before being read?
[INFO] [stdout]    = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `rows` and `cols` are never read
[INFO] [stdout]  --> src/bin/day4_2021.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | struct Grid2D {
[INFO] [stdout]   |        ------ fields in this struct
[INFO] [stdout] 6 |     rows: usize,
[INFO] [stdout]   |     ^^^^
[INFO] [stdout] 7 |     cols: usize,
[INFO] [stdout]   |     ^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `Grid2D` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `input`
[INFO] [stdout]    --> src/bin/day17.rs:177:13
[INFO] [stdout]     |
[INFO] [stdout] 177 | fn part_two(input: &str) -> i32 {
[INFO] [stdout]     |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_input`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `example_input`
[INFO] [stdout]    --> src/bin/day17.rs:184:9
[INFO] [stdout]     |
[INFO] [stdout] 184 |     let example_input = utils::read_input_from_path("C:\\Documenten\\magic-repo\\advent_of_code_2024\\example_input\\day17.txt");
[INFO] [stdout]     |         ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_example_input`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ans`
[INFO] [stdout]    --> src/bin/day17.rs:187:9
[INFO] [stdout]     |
[INFO] [stdout] 187 |     let ans = part_one(&input);
[INFO] [stdout]     |         ^^^ help: if this is intentional, prefix it with an underscore: `_ans`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `part_two` is never used
[INFO] [stdout]    --> src/bin/day17.rs:177:4
[INFO] [stdout]     |
[INFO] [stdout] 177 | fn part_two(input: &str) -> i32 {
[INFO] [stdout]     |    ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]    --> src/bin/day02.rs:124:55
[INFO] [stdout]     |
[INFO] [stdout] 124 |     let mut result = BigInt::new(Sign::Plus, vec![0]);;
[INFO] [stdout]     |                                                       ^ help: remove this semicolon
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(redundant_semicolons)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/bin/day23.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::collections::HashMap;
[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: `std::hash::Hash`
[INFO] [stdout]  --> src/bin/day23.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::hash::Hash;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `ordering` is never read
[INFO] [stdout]   --> src/bin/day02.rs:53:13
[INFO] [stdout]    |
[INFO] [stdout] 53 |     let mut ordering = Ordering::Equal;
[INFO] [stdout]    |             ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: maybe it is overwritten before being read?
[INFO] [stdout]    = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io::BufRead`
[INFO] [stdout]  --> src/bin/day23.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::io::BufRead;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `is_valid_row`
[INFO] [stdout]   --> src/bin/day02.rs:74:17
[INFO] [stdout]    |
[INFO] [stdout] 74 |         let mut is_valid_row = true;
[INFO] [stdout]    |                 ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_is_valid_row`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/bin/day06.rs:29:5
[INFO] [stdout]    |
[INFO] [stdout] 29 |       /// Returns only the first found mark
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 30 | /     for (i, line) in grid.iter().enumerate() { // row
[INFO] [stdout] 31 | |         for (j, str) in line.chars().enumerate() { // col
[INFO] [stdout] 32 | |             if str == mark {
[INFO] [stdout] 33 | |                 let found_mark_coordinate = GridPoint2D::new(i as i32, j as i32);
[INFO] [stdout] ...  |
[INFO] [stdout] 37 | |     }
[INFO] [stdout]    | |_____- rustdoc does not generate documentation for expressions
[INFO] [stdout]    |
[INFO] [stdout]    = help: use `//` for a plain comment
[INFO] [stdout]    = note: `#[warn(unused_doc_comments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `input`
[INFO] [stdout]   --> src/bin/day23.rs:80:13
[INFO] [stdout]    |
[INFO] [stdout] 80 | fn part_two(input: &str) -> i32 {
[INFO] [stdout]    |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_input`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `example_input`
[INFO] [stdout]   --> src/bin/day23.rs:87:9
[INFO] [stdout]    |
[INFO] [stdout] 87 |     let example_input = utils::read_input_from_path("C:\\Documenten\\magic-repo\\advent_of_code_2024\\example_input\\day23.txt");
[INFO] [stdout]    |         ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_example_input`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/bin/day02.rs:74:13
[INFO] [stdout]    |
[INFO] [stdout] 74 |         let mut is_valid_row = true;
[INFO] [stdout]    |             ----^^^^^^^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `is_valid_row`
[INFO] [stdout]   --> src/bin/day02.rs:93:17
[INFO] [stdout]    |
[INFO] [stdout] 93 |         let mut is_valid_row = true;
[INFO] [stdout]    |                 ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_is_valid_row`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `part_two` is never used
[INFO] [stdout]   --> src/bin/day23.rs:80:4
[INFO] [stdout]    |
[INFO] [stdout] 80 | fn part_two(input: &str) -> i32 {
[INFO] [stdout]    |    ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: using `.clone()` on a double reference, which returns `&str` instead of cloning the inner type
[INFO] [stdout]   --> src/bin/day23.rs:31:47
[INFO] [stdout]    |
[INFO] [stdout] 31 |         .flat_map(|(first, second)| vec![first.clone(), second.clone()])
[INFO] [stdout]    |                                               ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(suspicious_double_ref_op)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: using `.clone()` on a double reference, which returns `&str` instead of cloning the inner type
[INFO] [stdout]   --> src/bin/day23.rs:31:63
[INFO] [stdout]    |
[INFO] [stdout] 31 |         .flat_map(|(first, second)| vec![first.clone(), second.clone()])
[INFO] [stdout]    |                                                               ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/bin/day02.rs:93:13
[INFO] [stdout]    |
[INFO] [stdout] 93 |         let mut is_valid_row = true;
[INFO] [stdout]    |             ----^^^^^^^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/bin/day02.rs:126:13
[INFO] [stdout]     |
[INFO] [stdout] 126 |         let mut num: Vec<_> = vec![i];
[INFO] [stdout]     |             ----^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `example_input`
[INFO] [stdout]    --> src/bin/day02.rs:137:9
[INFO] [stdout]     |
[INFO] [stdout] 137 |     let example_input = utils::read_input_from_path("C:\\Documenten\\magic-repo\\advent_of_code_2024\\example_input\\day02.txt");
[INFO] [stdout]     |         ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_example_input`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `project_euler_48` is never used
[INFO] [stdout]    --> src/bin/day02.rs:123:4
[INFO] [stdout]     |
[INFO] [stdout] 123 | fn project_euler_48() {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `input`
[INFO] [stdout]    --> src/bin/day06.rs:123:13
[INFO] [stdout]     |
[INFO] [stdout] 123 | fn part_two(input: &str) -> i32 {
[INFO] [stdout]     |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_input`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `example_input`
[INFO] [stdout]    --> src/bin/day06.rs:130:9
[INFO] [stdout]     |
[INFO] [stdout] 130 |     let example_input = utils::read_input_from_path("C:\\Documenten\\magic-repo\\advent_of_code_2024\\example_input\\day06.txt");
[INFO] [stdout]     |         ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_example_input`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `part_two` is never used
[INFO] [stdout]    --> src/bin/day06.rs:123:4
[INFO] [stdout]     |
[INFO] [stdout] 123 | fn part_two(input: &str) -> i32 {
[INFO] [stdout]     |    ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `SystemTime`
[INFO] [stdout]  --> src/main.rs:1:26
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::time::{Instant, SystemTime};
[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 doc comment
[INFO] [stdout]    --> src/bin/day14.rs:97:5
[INFO] [stdout]     |
[INFO] [stdout]  97 |       /// include min max of bounds
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]  98 | /     return robot_position.row >= grid.top_left.row
[INFO] [stdout]  99 | |         && robot_position.row <= grid.bottom_right.row
[INFO] [stdout] 100 | |         && robot_position.col >= grid.top_left.col
[INFO] [stdout] 101 | |         && robot_position.col <= grid.bottom_right.col;
[INFO] [stdout]     | |______________________________________________________- rustdoc does not generate documentation for expressions
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout]     = note: `#[warn(unused_doc_comments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/bin/day24_2023.rs:68:5
[INFO] [stdout]    |
[INFO] [stdout] 68 |     /// gets the a and b from y = ax + b
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 69 |     let a_hail_stone = hail_stone.velocity.y / hail_stone.velocity.x; // slope (a)
[INFO] [stdout]    |     ----------------------------------------------------------------- rustdoc does not generate documentation for statements
[INFO] [stdout]    |
[INFO] [stdout]    = help: use `//` for a plain comment
[INFO] [stdout]    = note: `#[warn(unused_doc_comments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `char`
[INFO] [stdout]   --> src/bin/day03.rs:60:13
[INFO] [stdout]    |
[INFO] [stdout] 60 |     for (i, char) in input.chars().enumerate() {
[INFO] [stdout]    |             ^^^^ help: if this is intentional, prefix it with an underscore: `_char`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `operation`
[INFO] [stdout]   --> src/bin/day03.rs:67:46
[INFO] [stdout]    |
[INFO] [stdout] 67 |         else if operations.iter().any(|(pos, operation)| *pos == i) && enabled { // if we are currently on a mul operation, and enabled
[INFO] [stdout]    |                                              ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_operation`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `operation`
[INFO] [stdout]   --> src/bin/day03.rs:70:32
[INFO] [stdout]    |
[INFO] [stdout] 70 |                 .filter(|(pos, operation)| *pos == i)
[INFO] [stdout]    |                                ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_operation`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pos`
[INFO] [stdout]   --> src/bin/day03.rs:71:24
[INFO] [stdout]    |
[INFO] [stdout] 71 |                 .map(|(pos, operation)| operation)
[INFO] [stdout]    |                        ^^^ help: if this is intentional, prefix it with an underscore: `_pos`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `num::traits::real::Real`
[INFO] [stdout]  --> src/bin/day14.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use num::traits::real::Real;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]   --> src/bin/day22.rs:24:17
[INFO] [stdout]    |
[INFO] [stdout] 24 |             for i in 0..2000 {
[INFO] [stdout]    |                 ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `input`
[INFO] [stdout]   --> src/bin/day22.rs:34:13
[INFO] [stdout]    |
[INFO] [stdout] 34 | fn part_two(input: &str) -> i32 {
[INFO] [stdout]    |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_input`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `example_input_v1`
[INFO] [stdout]   --> src/bin/day03.rs:82:9
[INFO] [stdout]    |
[INFO] [stdout] 82 |     let example_input_v1 = utils::read_input_from_path("C:\\Documenten\\magic-repo\\advent_of_code_2024\\example_input\\day03_v1.txt");
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_example_input_v1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `example_input_v2`
[INFO] [stdout]   --> src/bin/day03.rs:83:9
[INFO] [stdout]    |
[INFO] [stdout] 83 |     let example_input_v2 = utils::read_input_from_path("C:\\Documenten\\magic-repo\\advent_of_code_2024\\example_input\\day03_v2.txt");
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_example_input_v2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `example_input`
[INFO] [stdout]   --> src/bin/day22.rs:41:9
[INFO] [stdout]    |
[INFO] [stdout] 41 |     let example_input = utils::read_input_from_path("C:\\Documenten\\magic-repo\\advent_of_code_2024\\example_input\\day22.txt");
[INFO] [stdout]    |         ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_example_input`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `part_two` is never used
[INFO] [stdout]   --> src/bin/day22.rs:34:4
[INFO] [stdout]    |
[INFO] [stdout] 34 | fn part_two(input: &str) -> i32 {
[INFO] [stdout]    |    ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `input`
[INFO] [stdout]    --> src/bin/day14.rs:202:13
[INFO] [stdout]     |
[INFO] [stdout] 202 | fn part_two(input: &str) -> i32 {
[INFO] [stdout]     |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_input`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `example_input`
[INFO] [stdout]    --> src/bin/day14.rs:209:9
[INFO] [stdout]     |
[INFO] [stdout] 209 |     let example_input = utils::read_input_from_path("C:\\Documenten\\magic-repo\\advent_of_code_2024\\example_input\\day14.txt");
[INFO] [stdout]     |         ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_example_input`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `visualize_robots` is never used
[INFO] [stdout]    --> src/bin/day14.rs:149:4
[INFO] [stdout]     |
[INFO] [stdout] 149 | fn visualize_robots(robots: &Vec<Robot>, grid: &Grid) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `is_valid` is never read
[INFO] [stdout]    --> src/bin/day24_2023.rs:103:13
[INFO] [stdout]     |
[INFO] [stdout] 103 |     let mut is_valid = true;
[INFO] [stdout]     |             ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `input`
[INFO] [stdout]  --> src/bin/template.rs:4:13
[INFO] [stdout]   |
[INFO] [stdout] 4 | fn part_one(input: &str) -> i32 {
[INFO] [stdout]   |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_input`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `input`
[INFO] [stdout]  --> src/bin/template.rs:8:13
[INFO] [stdout]   |
[INFO] [stdout] 8 | fn part_two(input: &str) -> i32 {
[INFO] [stdout]   |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_input`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `input`
[INFO] [stdout]    --> src/bin/day24_2023.rs:265:13
[INFO] [stdout]     |
[INFO] [stdout] 265 | fn part_two(input: &str) -> i32 {
[INFO] [stdout]     |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_input`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `z` is never read
[INFO] [stdout]  --> src/bin/day24_2023.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | struct Position {
[INFO] [stdout]   |        -------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 9 |     z: f64
[INFO] [stdout]   |     ^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `Position` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `z` is never read
[INFO] [stdout]   --> src/bin/day24_2023.rs:23:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | struct Velocity {
[INFO] [stdout]    |        -------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 23 |     z: f64
[INFO] [stdout]    |     ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Velocity` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]    --> src/bin/day13.rs:123:26
[INFO] [stdout]     |
[INFO] [stdout] 123 |     let button_b_count = (d_target as f64 / d_b as f64);
[INFO] [stdout]     |                          ^                            ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 123 -     let button_b_count = (d_target as f64 / d_b as f64);
[INFO] [stdout] 123 +     let button_b_count = d_target as f64 / d_b as f64;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]    --> src/bin/day13.rs:127:26
[INFO] [stdout]     |
[INFO] [stdout] 127 |     let button_a_count = ((claw_machine.prize.x as f64 - (claw_machine.b.dx as f64 * button_b_count)) / claw_machine.a.dx as f64);
[INFO] [stdout]     |                          ^                                                                                                      ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 127 -     let button_a_count = ((claw_machine.prize.x as f64 - (claw_machine.b.dx as f64 * button_b_count)) / claw_machine.a.dx as f64);
[INFO] [stdout] 127 +     let button_a_count = (claw_machine.prize.x as f64 - (claw_machine.b.dx as f64 * button_b_count)) / claw_machine.a.dx as f64;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `num::traits::real::Real`
[INFO] [stdout]  --> src/bin/day13.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use num::traits::real::Real;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `push_limit`
[INFO] [stdout]    --> src/bin/day13.rs:101:70
[INFO] [stdout]     |
[INFO] [stdout] 101 | fn meets_criteria_part_two(button_a_count: f64, button_b_count: f64, push_limit: i64) -> bool {
[INFO] [stdout]     |                                                                      ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_push_limit`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `example_input`
[INFO] [stdout]    --> src/bin/day13.rs:152:9
[INFO] [stdout]     |
[INFO] [stdout] 152 |     let example_input = utils::read_input_from_path("C:\\Documenten\\magic-repo\\advent_of_code_2024\\example_input\\day13.txt");
[INFO] [stdout]     |         ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_example_input`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/bin/day13.rs:13:8
[INFO] [stdout]    |
[INFO] [stdout] 12 | impl Coordinate2D {
[INFO] [stdout]    | ----------------- associated function in this implementation
[INFO] [stdout] 13 |     fn new() -> Coordinate2D {
[INFO] [stdout]    |        ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `itertools::enumerate`
[INFO] [stdout]  --> src/bin/day09.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use itertools::enumerate;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `j`
[INFO] [stdout]   --> src/bin/day09.rs:11:17
[INFO] [stdout]    |
[INFO] [stdout] 11 |             for j in 0..*item {
[INFO] [stdout]    |                 ^ help: if this is intentional, prefix it with an underscore: `_j`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `j`
[INFO] [stdout]   --> src/bin/day09.rs:18:17
[INFO] [stdout]    |
[INFO] [stdout] 18 |             for j in 0..*item {
[INFO] [stdout]    |                 ^ help: if this is intentional, prefix it with an underscore: `_j`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `input`
[INFO] [stdout]   --> src/bin/day09.rs:85:13
[INFO] [stdout]    |
[INFO] [stdout] 85 | fn part_two(input: &str) -> i32 {
[INFO] [stdout]    |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_input`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `example_input`
[INFO] [stdout]   --> src/bin/day09.rs:92:9
[INFO] [stdout]    |
[INFO] [stdout] 92 |     let example_input = utils::read_input_from_path("C:\\Documenten\\magic-repo\\advent_of_code_2024\\example_input\\day09.txt");
[INFO] [stdout]    |         ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_example_input`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `print_rearranged_memory` is never used
[INFO] [stdout]   --> src/bin/day09.rs:28:4
[INFO] [stdout]    |
[INFO] [stdout] 28 | fn print_rearranged_memory(memory: &Vec<Option<i32>>) {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `part_two` is never used
[INFO] [stdout]   --> src/bin/day09.rs:85:4
[INFO] [stdout]    |
[INFO] [stdout] 85 | fn part_two(input: &str) -> i32 {
[INFO] [stdout]    |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::hash::Hash`
[INFO] [stdout]  --> src/bin/day04.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::hash::Hash;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::thread`
[INFO] [stdout]  --> src/bin/day04.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::thread;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `IntoParallelRefIterator`
[INFO] [stdout]  --> src/bin/day04.rs:5:41
[INFO] [stdout]   |
[INFO] [stdout] 5 | use rayon::iter::{IntoParallelIterator, IntoParallelRefIterator};
[INFO] [stdout]   |                                         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rfd::FileDialog`
[INFO] [stdout]  --> src/bin/day04.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use rfd::FileDialog;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rayon::iter::IndexedParallelIterator`
[INFO] [stdout]  --> src/bin/day04.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use rayon::iter::IndexedParallelIterator;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `char`
[INFO] [stdout]    --> src/bin/day04.rs:167:17
[INFO] [stdout]     |
[INFO] [stdout] 167 |         for (j, char) in grid[i].iter().enumerate() {
[INFO] [stdout]     |                 ^^^^ help: if this is intentional, prefix it with an underscore: `_char`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/bin/day04.rs:162:9
[INFO] [stdout]     |
[INFO] [stdout] 162 |     let mut found_xmases = 0;
[INFO] [stdout]     |         ----^^^^^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `char`
[INFO] [stdout]    --> src/bin/day04.rs:185:17
[INFO] [stdout]     |
[INFO] [stdout] 185 |         for (j, char) in grid[i].iter().enumerate() {
[INFO] [stdout]     |                 ^^^^ help: if this is intentional, prefix it with an underscore: `_char`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/bin/day04.rs:181:9
[INFO] [stdout]     |
[INFO] [stdout] 181 |     let mut found_xmases = 0;
[INFO] [stdout]     |         ----^^^^^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `char`
[INFO] [stdout]    --> src/bin/day04.rs:200:17
[INFO] [stdout]     |
[INFO] [stdout] 200 |         for (j, char) in row.iter().enumerate() {
[INFO] [stdout]     |                 ^^^^ help: if this is intentional, prefix it with an underscore: `_char`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `search_functions`
[INFO] [stdout]    --> src/bin/day04.rs:239:9
[INFO] [stdout]     |
[INFO] [stdout] 239 |     let search_functions = vec![check_target_north, check_target_south, check_target_east, check_target_west,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_search_functions`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `char`
[INFO] [stdout]    --> src/bin/day04.rs:244:17
[INFO] [stdout]     |
[INFO] [stdout] 244 |         for (j, char) in row.iter().enumerate() {
[INFO] [stdout]     |                 ^^^^ help: if this is intentional, prefix it with an underscore: `_char`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `example_input`
[INFO] [stdout]    --> src/bin/day04.rs:256:9
[INFO] [stdout]     |
[INFO] [stdout] 256 |     let example_input = utils::read_input_from_path("C:\\Documenten\\magic-repo\\advent_of_code_2024\\example_input\\day04.txt");
[INFO] [stdout]     |         ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_example_input`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `part_one_more_overhead` is never used
[INFO] [stdout]    --> src/bin/day04.rs:177:4
[INFO] [stdout]     |
[INFO] [stdout] 177 | fn part_one_more_overhead(input: &str) -> i32 {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 2.94s
[INFO] running `Command { std: "docker" "inspect" "999f81325f0e5699ee07f5e73a1bf36d8fe2253838a81608d8f72fbde7e531bb", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "999f81325f0e5699ee07f5e73a1bf36d8fe2253838a81608d8f72fbde7e531bb", kill_on_drop: false }`
[INFO] [stdout] 999f81325f0e5699ee07f5e73a1bf36d8fe2253838a81608d8f72fbde7e531bb
