[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] testing MuhamedAgic/advent_of_code_2024 against try#bd7d74411512a3dd3b35d2f699c51dd2557c7e7e+cargoflags=-Zbuild-dir-new-layout for pr-149852-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FMuhamedAgic%2Fadvent_of_code_2024" "/workspace/builds/worker-0-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-0-tc2/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-0-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/MuhamedAgic/advent_of_code_2024 on toolchain bd7d74411512a3dd3b35d2f699c51dd2557c7e7e
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+bd7d74411512a3dd3b35d2f699c51dd2557c7e7e" "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" "+bd7d74411512a3dd3b35d2f699c51dd2557c7e7e" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/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:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+bd7d74411512a3dd3b35d2f699c51dd2557c7e7e" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] affee50130082ee1375c738c6ecd4d298a7c73885bb58255a12aa364bc97a470
[INFO] running `Command { std: "docker" "start" "-a" "affee50130082ee1375c738c6ecd4d298a7c73885bb58255a12aa364bc97a470", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "affee50130082ee1375c738c6ecd4d298a7c73885bb58255a12aa364bc97a470", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "affee50130082ee1375c738c6ecd4d298a7c73885bb58255a12aa364bc97a470", kill_on_drop: false }`
[INFO] [stdout] affee50130082ee1375c738c6ecd4d298a7c73885bb58255a12aa364bc97a470
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/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:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+bd7d74411512a3dd3b35d2f699c51dd2557c7e7e" "build" "--frozen" "--message-format=json" "-Zbuild-dir-new-layout", kill_on_drop: false }`
[INFO] [stdout] 3158dd5d9103bca4383b22369d6620e9d7f0e34cd5bac55a226c692bf959f716
[INFO] running `Command { std: "docker" "start" "-a" "3158dd5d9103bca4383b22369d6620e9d7f0e34cd5bac55a226c692bf959f716", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.92
[INFO] [stderr]    Compiling unicode-ident v1.0.14
[INFO] [stderr]    Compiling pin-project-lite v0.2.15
[INFO] [stderr]    Compiling parking v2.2.1
[INFO] [stderr]    Compiling serde v1.0.215
[INFO] [stderr]    Compiling libc v0.2.167
[INFO] [stderr]    Compiling rustix v0.38.41
[INFO] [stderr]    Compiling bitflags v2.6.0
[INFO] [stderr]    Compiling winnow v0.6.20
[INFO] [stderr]    Compiling litemap v0.7.4
[INFO] [stderr]    Compiling linux-raw-sys v0.4.14
[INFO] [stderr]    Compiling equivalent v1.0.1
[INFO] [stderr]    Compiling hashbrown v0.15.2
[INFO] [stderr]    Compiling smallvec v1.13.2
[INFO] [stderr]    Compiling fastrand v2.2.0
[INFO] [stderr]    Compiling concurrent-queue v2.5.0
[INFO] [stderr]    Compiling slab v0.4.9
[INFO] [stderr]    Compiling static_assertions v1.1.0
[INFO] [stderr]    Compiling toml_datetime v0.6.8
[INFO] [stderr]    Compiling memchr v2.7.4
[INFO] [stderr]    Compiling once_cell v1.20.2
[INFO] [stderr]    Compiling event-listener v5.3.1
[INFO] [stderr]    Compiling futures-lite v2.5.0
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling pkg-config v0.3.31
[INFO] [stderr]    Compiling async-task v4.7.1
[INFO] [stderr]    Compiling endi v1.1.0
[INFO] [stderr]    Compiling cc v1.2.2
[INFO] [stderr]    Compiling tracing-core v0.1.33
[INFO] [stderr]    Compiling libloading v0.8.6
[INFO] [stderr]    Compiling percent-encoding v2.3.1
[INFO] [stderr]    Compiling piper v0.2.4
[INFO] [stderr]    Compiling event-listener-strategy v0.5.3
[INFO] [stderr]    Compiling dlib v0.5.2
[INFO] [stderr]    Compiling async-lock v3.4.0
[INFO] [stderr]    Compiling async-channel v2.3.1
[INFO] [stderr]    Compiling form_urlencoded v1.2.1
[INFO] [stderr]    Compiling memoffset v0.9.1
[INFO] [stderr]    Compiling log v0.4.22
[INFO] [stderr]    Compiling indexmap v2.7.0
[INFO] [stderr]    Compiling byteorder v1.5.0
[INFO] [stderr]    Compiling quick-xml v0.36.2
[INFO] [stderr]    Compiling quote v1.0.37
[INFO] [stderr]    Compiling nix v0.29.0
[INFO] [stderr]    Compiling wayland-sys v0.31.5
[INFO] [stderr]    Compiling wayland-client v0.31.7
[INFO] [stderr]    Compiling syn v2.0.90
[INFO] [stderr]    Compiling blocking v1.6.1
[INFO] [stderr]    Compiling scoped-tls v1.0.1
[INFO] [stderr]    Compiling downcast-rs v1.2.1
[INFO] [stderr]    Compiling futures-sink v0.3.31
[INFO] [stderr]    Compiling async-executor v1.13.1
[INFO] [stderr]    Compiling async-broadcast v0.7.1
[INFO] [stderr]    Compiling ordered-stream v0.2.0
[INFO] [stderr]    Compiling aho-corasick v1.1.3
[INFO] [stderr]    Compiling regex-syntax v0.8.5
[INFO] [stderr]    Compiling either v1.13.0
[INFO] [stderr]    Compiling num-integer v0.1.46
[INFO] [stderr]    Compiling async-fs v2.1.2
[INFO] [stderr]    Compiling raw-window-handle v0.6.2
[INFO] [stderr]    Compiling rfd v0.15.1
[INFO] [stderr]    Compiling num-complex v0.4.6
[INFO] [stderr]    Compiling pollster v0.3.0
[INFO] [stderr]    Compiling wayland-scanner v0.31.5
[INFO] [stderr]    Compiling urlencoding v2.1.3
[INFO] [stderr]    Compiling num-bigint v0.4.6
[INFO] [stderr]    Compiling num-iter v0.1.45
[INFO] [stderr]    Compiling rayon v1.10.0
[INFO] [stderr]    Compiling itertools v0.13.0
[INFO] [stderr]    Compiling wayland-backend v0.3.7
[INFO] [stderr]    Compiling signal-hook-registry v1.4.2
[INFO] [stderr]    Compiling getrandom v0.2.15
[INFO] [stderr]    Compiling toml_edit v0.22.22
[INFO] [stderr]    Compiling xdg-home v1.3.0
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]    Compiling num-rational v0.4.2
[INFO] [stderr]    Compiling num v0.4.3
[INFO] [stderr]    Compiling regex-automata v0.4.9
[INFO] [stderr]    Compiling proc-macro-crate v3.2.0
[INFO] [stderr]    Compiling synstructure v0.13.1
[INFO] [stderr]    Compiling regex v1.11.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 zerocopy v0.7.35
[INFO] [stderr]    Compiling futures-util v0.3.31
[INFO] [stderr]    Compiling zerofrom v0.1.5
[INFO] [stderr]    Compiling yoke v0.7.5
[INFO] [stderr]    Compiling tracing v0.1.41
[INFO] [stderr]    Compiling zerovec v0.10.4
[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 wayland-protocols v0.32.5
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling async-signal v0.2.10
[INFO] [stderr]    Compiling async-net v2.0.0
[INFO] [stderr]    Compiling async-process v2.3.0
[INFO] [stderr]    Compiling rand v0.8.5
[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 icu_provider v1.5.0
[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 zvariant_derive v5.1.0
[INFO] [stderr]    Compiling icu_normalizer v1.5.0
[INFO] [stderr]    Compiling idna_adapter v1.2.0
[INFO] [stderr]    Compiling idna v1.0.3
[INFO] [stderr]    Compiling zvariant v5.1.0
[INFO] [stderr]    Compiling url v2.5.4
[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: 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: `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/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 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 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/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 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: value assigned to `ordering` is never read
[INFO] [stdout]   --> src/bin/day02.rs:53:24
[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: 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:74:13
[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 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: 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: 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: variable `bingo_numbers` is assigned to, but never used
[INFO] [stdout]   --> src/bin/day4_2021.rs:23:9
[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: unused variable: `is_valid_row`
[INFO] [stdout]   --> src/bin/day02.rs:93:13
[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: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: 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: 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: value assigned to `is_valid` is never read
[INFO] [stdout]    --> src/bin/day24_2023.rs:103:24
[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: `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]    = 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: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: `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: `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] 
[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: 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 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 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 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: 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: 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: `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: 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 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/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 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: 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: 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: `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 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/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: 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 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 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: 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: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: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: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: 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: 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 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/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: `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 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] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 21.66s
[INFO] running `Command { std: "docker" "inspect" "3158dd5d9103bca4383b22369d6620e9d7f0e34cd5bac55a226c692bf959f716", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "3158dd5d9103bca4383b22369d6620e9d7f0e34cd5bac55a226c692bf959f716", kill_on_drop: false }`
[INFO] [stdout] 3158dd5d9103bca4383b22369d6620e9d7f0e34cd5bac55a226c692bf959f716
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/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:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+bd7d74411512a3dd3b35d2f699c51dd2557c7e7e" "test" "--frozen" "--no-run" "--message-format=json" "-Zbuild-dir-new-layout", kill_on_drop: false }`
[INFO] [stdout] 0a2d09a86dd5bd393e8237cc845ebbf8f3db1dc51ceeb50edc4fd7bdf3972515
[INFO] running `Command { std: "docker" "start" "-a" "0a2d09a86dd5bd393e8237cc845ebbf8f3db1dc51ceeb50edc4fd7bdf3972515", kill_on_drop: false }`
[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] [stderr]    Compiling advent_of_code_2024 v0.1.0 (/opt/rustwide/workdir)
[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 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: `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: 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: 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: 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 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 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: 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: 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: `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: `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: `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: `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: 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: `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: 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 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/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: `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]    = 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: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: `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: `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] 
[INFO] [stdout] warning: variable `bingo_numbers` is assigned to, but never used
[INFO] [stdout]   --> src/bin/day4_2021.rs:23:9
[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: 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 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: 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 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/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 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: value assigned to `ordering` is never read
[INFO] [stdout]   --> src/bin/day02.rs:53:24
[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: `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: 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:74:13
[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: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: unused variable: `is_valid_row`
[INFO] [stdout]   --> src/bin/day02.rs:93:13
[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: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: value assigned to `is_valid` is never read
[INFO] [stdout]    --> src/bin/day24_2023.rs:103:24
[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: `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: `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: 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: `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: `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: `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: 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 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 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: 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: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: 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: 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: 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 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: 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 0.58s
[INFO] running `Command { std: "docker" "inspect" "0a2d09a86dd5bd393e8237cc845ebbf8f3db1dc51ceeb50edc4fd7bdf3972515", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "0a2d09a86dd5bd393e8237cc845ebbf8f3db1dc51ceeb50edc4fd7bdf3972515", kill_on_drop: false }`
[INFO] [stdout] 0a2d09a86dd5bd393e8237cc845ebbf8f3db1dc51ceeb50edc4fd7bdf3972515
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/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:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+bd7d74411512a3dd3b35d2f699c51dd2557c7e7e" "test" "--frozen" "-Zbuild-dir-new-layout", kill_on_drop: false }`
[INFO] [stdout] 770b7bf1e8c445357e3638f12dfc85e541048c71fcbb14d74d0fd3878aab0cdf
[INFO] running `Command { std: "docker" "start" "-a" "770b7bf1e8c445357e3638f12dfc85e541048c71fcbb14d74d0fd3878aab0cdf", kill_on_drop: false }`
[INFO] [stderr] warning: unnecessary parentheses around pattern
[INFO] [stderr]   --> src/lib.rs:95:28
[INFO] [stderr]    |
[INFO] [stderr] 95 |                     if let (byte) = set_bit_false(byte, pos) {
[INFO] [stderr]    |                            ^    ^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]    |
[INFO] [stderr] 95 -                     if let (byte) = set_bit_false(byte, pos) {
[INFO] [stderr] 95 +                     if let byte = set_bit_false(byte, pos) {
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around pattern
[INFO] [stderr]    --> src/lib.rs:101:28
[INFO] [stderr]     |
[INFO] [stderr] 101 |                     if let (byte) = set_bit_true(byte, pos) {
[INFO] [stderr]     |                            ^    ^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 101 -                     if let (byte) = set_bit_true(byte, pos) {
[INFO] [stderr] 101 +                     if let byte = set_bit_true(byte, pos) {
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: irrefutable `if let` pattern
[INFO] [stderr]   --> src/lib.rs:95:24
[INFO] [stderr]    |
[INFO] [stderr] 95 |                     if let (byte) = set_bit_false(byte, pos) {
[INFO] [stderr]    |                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: this pattern will always match, so the `if let` is useless
[INFO] [stderr]    = help: consider replacing the `if let` with a `let`
[INFO] [stderr]    = note: `#[warn(irrefutable_let_patterns)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: irrefutable `if let` pattern
[INFO] [stderr]    --> src/lib.rs:101:24
[INFO] [stderr]     |
[INFO] [stderr] 101 |                     if let (byte) = set_bit_true(byte, pos) {
[INFO] [stderr]     |                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this pattern will always match, so the `if let` is useless
[INFO] [stderr]     = help: consider replacing the `if let` with a `let`
[INFO] [stderr] 
[INFO] [stderr] warning: function `abs` is never used
[INFO] [stderr]   --> src/lib.rs:31:8
[INFO] [stderr]    |
[INFO] [stderr] 31 |     fn abs(val: i32) -> i32 {
[INFO] [stderr]    |        ^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: constant `BIT_MATRIX_IDENTITY_TRUE` is never used
[INFO] [stderr]   --> src/lib.rs:40:15
[INFO] [stderr]    |
[INFO] [stderr] 40 |         const BIT_MATRIX_IDENTITY_TRUE: [u8; 8] = [
[INFO] [stderr]    |               ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `BIT_MATRIX_IDENTITY_FALSE` is never used
[INFO] [stderr]   --> src/lib.rs:51:15
[INFO] [stderr]    |
[INFO] [stderr] 51 |         const BIT_MATRIX_IDENTITY_FALSE: [u8; 8] = [
[INFO] [stderr]    |               ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `set_bit_true` is never used
[INFO] [stderr]   --> src/lib.rs:62:12
[INFO] [stderr]    |
[INFO] [stderr] 62 |         fn set_bit_true(mut byte: u8, pos: u8) -> Option<u8> {
[INFO] [stderr]    |            ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `set_bit_false` is never used
[INFO] [stderr]   --> src/lib.rs:77:12
[INFO] [stderr]    |
[INFO] [stderr] 77 |         fn set_bit_false(mut byte: u8, pos: u8) -> Option<u8> {
[INFO] [stderr]    |            ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `set_bit` is never used
[INFO] [stderr]   --> src/lib.rs:92:12
[INFO] [stderr]    |
[INFO] [stderr] 92 |         fn set_bit(byte: u8, val: u8, pos: u8) -> Option<u8> {
[INFO] [stderr]    |            ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `get_bits` is never used
[INFO] [stderr]    --> src/lib.rs:110:12
[INFO] [stderr]     |
[INFO] [stderr] 110 |         fn get_bits(byte: u8) -> [u8; 8] {
[INFO] [stderr]     |            ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: `advent_of_code_2024` (lib) generated 11 warnings (run `cargo fix --lib -p advent_of_code_2024` to apply 2 suggestions)
[INFO] [stderr] warning: `advent_of_code_2024` (lib test) generated 11 warnings (11 duplicates)
[INFO] [stderr] warning: unused import: `std::collections::HashMap`
[INFO] [stderr]  --> src/bin/day23.rs:1:5
[INFO] [stderr]   |
[INFO] [stderr] 1 | use std::collections::HashMap;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::hash::Hash`
[INFO] [stderr]  --> src/bin/day23.rs:2:5
[INFO] [stderr]   |
[INFO] [stderr] 2 | use std::hash::Hash;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::io::BufRead`
[INFO] [stderr]  --> src/bin/day23.rs:3:5
[INFO] [stderr]   |
[INFO] [stderr] 3 | use std::io::BufRead;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `input`
[INFO] [stderr]   --> src/bin/day23.rs:80:13
[INFO] [stderr]    |
[INFO] [stderr] 80 | fn part_two(input: &str) -> i32 {
[INFO] [stderr]    |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_input`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `example_input`
[INFO] [stderr]   --> src/bin/day23.rs:87:9
[INFO] [stderr]    |
[INFO] [stderr] 87 |     let example_input = utils::read_input_from_path("C:\\Documenten\\magic-repo\\advent_of_code_2024\\example_input\\day23.txt");
[INFO] [stderr]    |         ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_example_input`
[INFO] [stderr] 
[INFO] [stderr] warning: function `part_two` is never used
[INFO] [stderr]   --> src/bin/day23.rs:80:4
[INFO] [stderr]    |
[INFO] [stderr] 80 | fn part_two(input: &str) -> i32 {
[INFO] [stderr]    |    ^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: using `.clone()` on a double reference, which returns `&str` instead of cloning the inner type
[INFO] [stderr]   --> src/bin/day23.rs:31:47
[INFO] [stderr]    |
[INFO] [stderr] 31 |         .flat_map(|(first, second)| vec![first.clone(), second.clone()])
[INFO] [stderr]    |                                               ^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(suspicious_double_ref_op)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: using `.clone()` on a double reference, which returns `&str` instead of cloning the inner type
[INFO] [stderr]   --> src/bin/day23.rs:31:63
[INFO] [stderr]    |
[INFO] [stderr] 31 |         .flat_map(|(first, second)| vec![first.clone(), second.clone()])
[INFO] [stderr]    |                                                               ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `input`
[INFO] [stderr]    --> src/bin/day17.rs:177:13
[INFO] [stderr]     |
[INFO] [stderr] 177 | fn part_two(input: &str) -> i32 {
[INFO] [stderr]     |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_input`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `example_input`
[INFO] [stderr]    --> src/bin/day17.rs:184:9
[INFO] [stderr]     |
[INFO] [stderr] 184 |     let example_input = utils::read_input_from_path("C:\\Documenten\\magic-repo\\advent_of_code_2024\\example_input\\day17.txt");
[INFO] [stderr]     |         ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_example_input`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `ans`
[INFO] [stderr]    --> src/bin/day17.rs:187:9
[INFO] [stderr]     |
[INFO] [stderr] 187 |     let ans = part_one(&input);
[INFO] [stderr]     |         ^^^ help: if this is intentional, prefix it with an underscore: `_ans`
[INFO] [stderr] 
[INFO] [stderr] warning: function `part_two` is never used
[INFO] [stderr]    --> src/bin/day17.rs:177:4
[INFO] [stderr]     |
[INFO] [stderr] 177 | fn part_two(input: &str) -> i32 {
[INFO] [stderr]     |    ^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `i`
[INFO] [stderr]   --> src/bin/day22.rs:24:17
[INFO] [stderr]    |
[INFO] [stderr] 24 |             for i in 0..2000 {
[INFO] [stderr]    |                 ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `input`
[INFO] [stderr]   --> src/bin/day22.rs:34:13
[INFO] [stderr]    |
[INFO] [stderr] 34 | fn part_two(input: &str) -> i32 {
[INFO] [stderr]    |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_input`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `example_input`
[INFO] [stderr]   --> src/bin/day22.rs:41:9
[INFO] [stderr]    |
[INFO] [stderr] 41 |     let example_input = utils::read_input_from_path("C:\\Documenten\\magic-repo\\advent_of_code_2024\\example_input\\day22.txt");
[INFO] [stderr]    |         ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_example_input`
[INFO] [stderr] 
[INFO] [stderr] warning: function `part_two` is never used
[INFO] [stderr]   --> src/bin/day22.rs:34:4
[INFO] [stderr]    |
[INFO] [stderr] 34 | fn part_two(input: &str) -> i32 {
[INFO] [stderr]    |    ^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused doc comment
[INFO] [stderr]   --> src/bin/day24_2023.rs:68:5
[INFO] [stderr]    |
[INFO] [stderr] 68 |     /// gets the a and b from y = ax + b
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 69 |     let a_hail_stone = hail_stone.velocity.y / hail_stone.velocity.x; // slope (a)
[INFO] [stderr]    |     ----------------------------------------------------------------- rustdoc does not generate documentation for statements
[INFO] [stderr]    |
[INFO] [stderr]    = help: use `//` for a plain comment
[INFO] [stderr]    = note: `#[warn(unused_doc_comments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: value assigned to `is_valid` is never read
[INFO] [stderr]    --> src/bin/day24_2023.rs:103:24
[INFO] [stderr]     |
[INFO] [stderr] 103 |     let mut is_valid = true;
[INFO] [stderr]     |                        ^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = help: maybe it is overwritten before being read?
[INFO] [stderr]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `input`
[INFO] [stderr]    --> src/bin/day24_2023.rs:265:13
[INFO] [stderr]     |
[INFO] [stderr] 265 | fn part_two(input: &str) -> i32 {
[INFO] [stderr]     |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_input`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: field `z` is never read
[INFO] [stderr]  --> src/bin/day24_2023.rs:9:5
[INFO] [stderr]   |
[INFO] [stderr] 6 | struct Position {
[INFO] [stderr]   |        -------- field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 9 |     z: f64
[INFO] [stderr]   |     ^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `Position` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: field `z` is never read
[INFO] [stderr]   --> src/bin/day24_2023.rs:23:5
[INFO] [stderr]    |
[INFO] [stderr] 19 | struct Velocity {
[INFO] [stderr]    |        -------- field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 23 |     z: f64
[INFO] [stderr]    |     ^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `Velocity` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: unused doc comment
[INFO] [stderr]   --> src/bin/day06.rs:29:5
[INFO] [stderr]    |
[INFO] [stderr] 29 |       /// Returns only the first found mark
[INFO] [stderr]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 30 | /     for (i, line) in grid.iter().enumerate() { // row
[INFO] [stderr] 31 | |         for (j, str) in line.chars().enumerate() { // col
[INFO] [stderr] 32 | |             if str == mark {
[INFO] [stderr] 33 | |                 let found_mark_coordinate = GridPoint2D::new(i as i32, j as i32);
[INFO] [stderr] ...  |
[INFO] [stderr] 37 | |     }
[INFO] [stderr]    | |_____- rustdoc does not generate documentation for expressions
[INFO] [stderr]    |
[INFO] [stderr]    = help: use `//` for a plain comment
[INFO] [stderr]    = note: `#[warn(unused_doc_comments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `input`
[INFO] [stderr]    --> src/bin/day06.rs:123:13
[INFO] [stderr]     |
[INFO] [stderr] 123 | fn part_two(input: &str) -> i32 {
[INFO] [stderr]     |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_input`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `example_input`
[INFO] [stderr]    --> src/bin/day06.rs:130:9
[INFO] [stderr]     |
[INFO] [stderr] 130 |     let example_input = utils::read_input_from_path("C:\\Documenten\\magic-repo\\advent_of_code_2024\\example_input\\day06.txt");
[INFO] [stderr]     |         ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_example_input`
[INFO] [stderr] 
[INFO] [stderr] warning: function `part_two` is never used
[INFO] [stderr]    --> src/bin/day06.rs:123:4
[INFO] [stderr]     |
[INFO] [stderr] 123 | fn part_two(input: &str) -> i32 {
[INFO] [stderr]     |    ^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `num::Num`
[INFO] [stderr]  --> src/bin/day07.rs:3:5
[INFO] [stderr]   |
[INFO] [stderr] 3 | use num::Num;
[INFO] [stderr]   |     ^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `example_input`
[INFO] [stderr]   --> src/bin/day07.rs:80:9
[INFO] [stderr]    |
[INFO] [stderr] 80 |     let example_input = utils::read_input_from_path("C:\\Documenten\\magic-repo\\advent_of_code_2024\\example_input\\day07.txt");
[INFO] [stderr]    |         ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_example_input`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variants `Sub` and `Div` are never constructed
[INFO] [stderr]   --> src/bin/day07.rs:8:5
[INFO] [stderr]    |
[INFO] [stderr]  6 | enum Operators {
[INFO] [stderr]    |      --------- variants in this enum
[INFO] [stderr]  7 |     Add,
[INFO] [stderr]  8 |     Sub,
[INFO] [stderr]    |     ^^^
[INFO] [stderr]  9 |     Mul,
[INFO] [stderr] 10 |     Div,
[INFO] [stderr]    |     ^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused doc comment
[INFO] [stderr]    --> src/bin/day14.rs:97:5
[INFO] [stderr]     |
[INFO] [stderr]  97 |       /// include min max of bounds
[INFO] [stderr]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]  98 | /     return robot_position.row >= grid.top_left.row
[INFO] [stderr]  99 | |         && robot_position.row <= grid.bottom_right.row
[INFO] [stderr] 100 | |         && robot_position.col >= grid.top_left.col
[INFO] [stderr] 101 | |         && robot_position.col <= grid.bottom_right.col;
[INFO] [stderr]     | |______________________________________________________- rustdoc does not generate documentation for expressions
[INFO] [stderr]     |
[INFO] [stderr]     = help: use `//` for a plain comment
[INFO] [stderr]     = note: `#[warn(unused_doc_comments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `num::traits::real::Real`
[INFO] [stderr]  --> src/bin/day14.rs:2:5
[INFO] [stderr]   |
[INFO] [stderr] 2 | use num::traits::real::Real;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `input`
[INFO] [stderr]    --> src/bin/day14.rs:202:13
[INFO] [stderr]     |
[INFO] [stderr] 202 | fn part_two(input: &str) -> i32 {
[INFO] [stderr]     |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_input`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `example_input`
[INFO] [stderr]    --> src/bin/day14.rs:209:9
[INFO] [stderr]     |
[INFO] [stderr] 209 |     let example_input = utils::read_input_from_path("C:\\Documenten\\magic-repo\\advent_of_code_2024\\example_input\\day14.txt");
[INFO] [stderr]     |         ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_example_input`
[INFO] [stderr] 
[INFO] [stderr] warning: function `visualize_robots` is never used
[INFO] [stderr]    --> src/bin/day14.rs:149:4
[INFO] [stderr]     |
[INFO] [stderr] 149 | fn visualize_robots(robots: &Vec<Robot>, grid: &Grid) {
[INFO] [stderr]     |    ^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `SystemTime`
[INFO] [stderr]  --> src/main.rs:1:26
[INFO] [stderr]   |
[INFO] [stderr] 1 | use std::time::{Instant, SystemTime};
[INFO] [stderr]   |                          ^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `itertools::enumerate`
[INFO] [stderr]  --> src/bin/day09.rs:2:5
[INFO] [stderr]   |
[INFO] [stderr] 2 | use itertools::enumerate;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `j`
[INFO] [stderr]   --> src/bin/day09.rs:11:17
[INFO] [stderr]    |
[INFO] [stderr] 11 |             for j in 0..*item {
[INFO] [stderr]    |                 ^ help: if this is intentional, prefix it with an underscore: `_j`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `j`
[INFO] [stderr]   --> src/bin/day09.rs:18:17
[INFO] [stderr]    |
[INFO] [stderr] 18 |             for j in 0..*item {
[INFO] [stderr]    |                 ^ help: if this is intentional, prefix it with an underscore: `_j`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `input`
[INFO] [stderr]   --> src/bin/day09.rs:85:13
[INFO] [stderr]    |
[INFO] [stderr] 85 | fn part_two(input: &str) -> i32 {
[INFO] [stderr]    |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_input`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `example_input`
[INFO] [stderr]   --> src/bin/day09.rs:92:9
[INFO] [stderr]    |
[INFO] [stderr] 92 |     let example_input = utils::read_input_from_path("C:\\Documenten\\magic-repo\\advent_of_code_2024\\example_input\\day09.txt");
[INFO] [stderr]    |         ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_example_input`
[INFO] [stderr] 
[INFO] [stderr] warning: function `print_rearranged_memory` is never used
[INFO] [stderr]   --> src/bin/day09.rs:28:4
[INFO] [stderr]    |
[INFO] [stderr] 28 | fn print_rearranged_memory(memory: &Vec<Option<i32>>) {
[INFO] [stderr]    |    ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: function `part_two` is never used
[INFO] [stderr]   --> src/bin/day09.rs:85:4
[INFO] [stderr]    |
[INFO] [stderr] 85 | fn part_two(input: &str) -> i32 {
[INFO] [stderr]    |    ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around assigned value
[INFO] [stderr]    --> src/bin/day13.rs:123:26
[INFO] [stderr]     |
[INFO] [stderr] 123 |     let button_b_count = (d_target as f64 / d_b as f64);
[INFO] [stderr]     |                          ^                            ^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 123 -     let button_b_count = (d_target as f64 / d_b as f64);
[INFO] [stderr] 123 +     let button_b_count = d_target as f64 / d_b as f64 ;
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around assigned value
[INFO] [stderr]    --> src/bin/day13.rs:127:26
[INFO] [stderr]     |
[INFO] [stderr] 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] [stderr]     |                          ^                                                                                                      ^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 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] [stderr] 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] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `num::traits::real::Real`
[INFO] [stderr]  --> src/bin/day13.rs:2:5
[INFO] [stderr]   |
[INFO] [stderr] 2 | use num::traits::real::Real;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `push_limit`
[INFO] [stderr]    --> src/bin/day13.rs:101:70
[INFO] [stderr]     |
[INFO] [stderr] 101 | fn meets_criteria_part_two(button_a_count: f64, button_b_count: f64, push_limit: i64) -> bool {
[INFO] [stderr]     |                                                                      ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_push_limit`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `example_input`
[INFO] [stderr]    --> src/bin/day13.rs:152:9
[INFO] [stderr]     |
[INFO] [stderr] 152 |     let example_input = utils::read_input_from_path("C:\\Documenten\\magic-repo\\advent_of_code_2024\\example_input\\day13.txt");
[INFO] [stderr]     |         ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_example_input`
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `new` is never used
[INFO] [stderr]   --> src/bin/day13.rs:13:8
[INFO] [stderr]    |
[INFO] [stderr] 12 | impl Coordinate2D {
[INFO] [stderr]    | ----------------- associated function in this implementation
[INFO] [stderr] 13 |     fn new() -> Coordinate2D {
[INFO] [stderr]    |        ^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable `bingo_numbers` is assigned to, but never used
[INFO] [stderr]   --> src/bin/day4_2021.rs:23:9
[INFO] [stderr]    |
[INFO] [stderr] 23 |     let mut bingo_numbers:Vec<i32> = Vec::new();
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: consider using `_bingo_numbers` instead
[INFO] [stderr]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: value assigned to `bingo_numbers` is never read
[INFO] [stderr]   --> src/bin/day4_2021.rs:32:13
[INFO] [stderr]    |
[INFO] [stderr] 32 |             bingo_numbers = utils::collect_numbers::<i32>(line, ',');
[INFO] [stderr]    |             ^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = help: maybe it is overwritten before being read?
[INFO] [stderr]    = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: fields `rows` and `cols` are never read
[INFO] [stderr]  --> src/bin/day4_2021.rs:6:5
[INFO] [stderr]   |
[INFO] [stderr] 5 | struct Grid2D {
[INFO] [stderr]   |        ------ fields in this struct
[INFO] [stderr] 6 |     rows: usize,
[INFO] [stderr]   |     ^^^^
[INFO] [stderr] 7 |     cols: usize,
[INFO] [stderr]   |     ^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `Grid2D` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::ops::Deref`
[INFO] [stderr]  --> src/bin/day11.rs:2:5
[INFO] [stderr]   |
[INFO] [stderr] 2 | use std::ops::Deref;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `regex::Regex`
[INFO] [stderr]  --> src/bin/day11.rs:4:5
[INFO] [stderr]   |
[INFO] [stderr] 4 | use regex::Regex;
[INFO] [stderr]   |     ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `example_input`
[INFO] [stderr]   --> src/bin/day11.rs:67:9
[INFO] [stderr]    |
[INFO] [stderr] 67 |     let example_input = utils::read_input_from_path("C:\\Documenten\\magic-repo\\advent_of_code_2024\\example_input\\day11.txt");
[INFO] [stderr]    |         ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_example_input`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `input`
[INFO] [stderr]  --> src/bin/template.rs:4:13
[INFO] [stderr]   |
[INFO] [stderr] 4 | fn part_one(input: &str) -> i32 {
[INFO] [stderr]   |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_input`
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `input`
[INFO] [stderr]  --> src/bin/template.rs:8:13
[INFO] [stderr]   |
[INFO] [stderr] 8 | fn part_two(input: &str) -> i32 {
[INFO] [stderr]   |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_input`
[INFO] [stderr] 
[INFO] [stderr] warning: `advent_of_code_2024` (bin "day23" test) generated 8 warnings (run `cargo fix --bin "day23" -p advent_of_code_2024 --tests` to apply 4 suggestions)
[INFO] [stderr] warning: `advent_of_code_2024` (bin "day17" test) generated 4 warnings (run `cargo fix --bin "day17" -p advent_of_code_2024 --tests` to apply 3 suggestions)
[INFO] [stderr] warning: `advent_of_code_2024` (bin "day22" test) generated 4 warnings (run `cargo fix --bin "day22" -p advent_of_code_2024 --tests` to apply 3 suggestions)
[INFO] [stderr] warning: `advent_of_code_2024` (bin "day24_2023" test) generated 5 warnings (run `cargo fix --bin "day24_2023" -p advent_of_code_2024 --tests` to apply 1 suggestion)
[INFO] [stderr] warning: `advent_of_code_2024` (bin "day06" test) generated 4 warnings (run `cargo fix --bin "day06" -p advent_of_code_2024 --tests` to apply 2 suggestions)
[INFO] [stderr] warning: `advent_of_code_2024` (bin "day07" test) generated 3 warnings (run `cargo fix --bin "day07" -p advent_of_code_2024 --tests` to apply 2 suggestions)
[INFO] [stderr] warning: `advent_of_code_2024` (bin "day14" test) generated 5 warnings (run `cargo fix --bin "day14" -p advent_of_code_2024 --tests` to apply 2 suggestions)
[INFO] [stderr] warning: `advent_of_code_2024` (bin "advent_of_code_2024" test) generated 1 warning (run `cargo fix --bin "advent_of_code_2024" -p advent_of_code_2024 --tests` to apply 1 suggestion)
[INFO] [stderr] warning: `advent_of_code_2024` (bin "day09" test) generated 7 warnings (run `cargo fix --bin "day09" -p advent_of_code_2024 --tests` to apply 5 suggestions)
[INFO] [stderr] warning: `advent_of_code_2024` (bin "day13" test) generated 6 warnings (run `cargo fix --bin "day13" -p advent_of_code_2024 --tests` to apply 4 suggestions)
[INFO] [stderr] warning: `advent_of_code_2024` (bin "day4_2021" test) generated 3 warnings
[INFO] [stderr] warning: `advent_of_code_2024` (bin "day11" test) generated 3 warnings (run `cargo fix --bin "day11" -p advent_of_code_2024 --tests` to apply 3 suggestions)
[INFO] [stderr] warning: `advent_of_code_2024` (bin "template" test) generated 2 warnings (run `cargo fix --bin "template" -p advent_of_code_2024 --tests` to apply 2 suggestions)
[INFO] [stderr] warning: unnecessary trailing semicolon
[INFO] [stderr]    --> src/bin/day02.rs:124:55
[INFO] [stderr]     |
[INFO] [stderr] 124 |     let mut result = BigInt::new(Sign::Plus, vec![0]);;
[INFO] [stderr]     |                                                       ^ help: remove this semicolon
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(redundant_semicolons)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: value assigned to `ordering` is never read
[INFO] [stderr]   --> src/bin/day02.rs:53:24
[INFO] [stderr]    |
[INFO] [stderr] 53 |     let mut ordering = Ordering::Equal;
[INFO] [stderr]    |                        ^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = help: maybe it is overwritten before being read?
[INFO] [stderr]    = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/bin/day02.rs:74:13
[INFO] [stderr]    |
[INFO] [stderr] 74 |         let mut is_valid_row = true;
[INFO] [stderr]    |             ----^^^^^^^^^^^^
[INFO] [stderr]    |             |
[INFO] [stderr]    |             help: remove this `mut`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `is_valid_row`
[INFO] [stderr]   --> src/bin/day02.rs:74:13
[INFO] [stderr]    |
[INFO] [stderr] 74 |         let mut is_valid_row = true;
[INFO] [stderr]    |             ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_is_valid_row`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/bin/day02.rs:93:13
[INFO] [stderr]    |
[INFO] [stderr] 93 |         let mut is_valid_row = true;
[INFO] [stderr]    |             ----^^^^^^^^^^^^
[INFO] [stderr]    |             |
[INFO] [stderr]    |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `is_valid_row`
[INFO] [stderr]   --> src/bin/day02.rs:93:13
[INFO] [stderr]    |
[INFO] [stderr] 93 |         let mut is_valid_row = true;
[INFO] [stderr]    |             ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_is_valid_row`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/bin/day02.rs:126:13
[INFO] [stderr]     |
[INFO] [stderr] 126 |         let mut num: Vec<_> = vec![i];
[INFO] [stderr]     |             ----^^^
[INFO] [stderr]     |             |
[INFO] [stderr]     |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `example_input`
[INFO] [stderr]    --> src/bin/day02.rs:137:9
[INFO] [stderr]     |
[INFO] [stderr] 137 |     let example_input = utils::read_input_from_path("C:\\Documenten\\magic-repo\\advent_of_code_2024\\example_input\\day02.txt");
[INFO] [stderr]     |         ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_example_input`
[INFO] [stderr] 
[INFO] [stderr] warning: function `project_euler_48` is never used
[INFO] [stderr]    --> src/bin/day02.rs:123:4
[INFO] [stderr]     |
[INFO] [stderr] 123 | fn project_euler_48() {
[INFO] [stderr]     |    ^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `pos`
[INFO] [stderr]   --> src/bin/day03.rs:71:24
[INFO] [stderr]    |
[INFO] [stderr] 71 |                 .map(|(pos, operation)| operation)
[INFO] [stderr]    |                        ^^^ help: if this is intentional, prefix it with an underscore: `_pos`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `operation`
[INFO] [stderr]   --> src/bin/day03.rs:70:32
[INFO] [stderr]    |
[INFO] [stderr] 70 |                 .filter(|(pos, operation)| *pos == i)
[INFO] [stderr]    |                                ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_operation`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `operation`
[INFO] [stderr]   --> src/bin/day03.rs:67:46
[INFO] [stderr]    |
[INFO] [stderr] 67 |         else if operations.iter().any(|(pos, operation)| *pos == i) && enabled { // if we are currently on a mul operation, and enabled
[INFO] [stderr]    |                                              ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_operation`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `char`
[INFO] [stderr]   --> src/bin/day03.rs:60:13
[INFO] [stderr]    |
[INFO] [stderr] 60 |     for (i, char) in input.chars().enumerate() {
[INFO] [stderr]    |             ^^^^ help: if this is intentional, prefix it with an underscore: `_char`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `example_input_v1`
[INFO] [stderr]   --> src/bin/day03.rs:82:9
[INFO] [stderr]    |
[INFO] [stderr] 82 |     let example_input_v1 = utils::read_input_from_path("C:\\Documenten\\magic-repo\\advent_of_code_2024\\example_input\\day03_v1.txt");
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_example_input_v1`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `example_input_v2`
[INFO] [stderr]   --> src/bin/day03.rs:83:9
[INFO] [stderr]    |
[INFO] [stderr] 83 |     let example_input_v2 = utils::read_input_from_path("C:\\Documenten\\magic-repo\\advent_of_code_2024\\example_input\\day03_v2.txt");
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_example_input_v2`
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::hash::Hash`
[INFO] [stderr]  --> src/bin/day04.rs:1:5
[INFO] [stderr]   |
[INFO] [stderr] 1 | use std::hash::Hash;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::thread`
[INFO] [stderr]  --> src/bin/day04.rs:3:5
[INFO] [stderr]   |
[INFO] [stderr] 3 | use std::thread;
[INFO] [stderr]   |     ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `IntoParallelRefIterator`
[INFO] [stderr]  --> src/bin/day04.rs:5:41
[INFO] [stderr]   |
[INFO] [stderr] 5 | use rayon::iter::{IntoParallelIterator, IntoParallelRefIterator};
[INFO] [stderr]   |                                         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `rfd::FileDialog`
[INFO] [stderr]  --> src/bin/day04.rs:9:5
[INFO] [stderr]   |
[INFO] [stderr] 9 | use rfd::FileDialog;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `rayon::iter::IndexedParallelIterator`
[INFO] [stderr]  --> src/bin/day04.rs:7:5
[INFO] [stderr]   |
[INFO] [stderr] 7 | use rayon::iter::IndexedParallelIterator;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/bin/day04.rs:162:9
[INFO] [stderr]     |
[INFO] [stderr] 162 |     let mut found_xmases = 0;
[INFO] [stderr]     |         ----^^^^^^^^^^^^
[INFO] [stderr]     |         |
[INFO] [stderr]     |         help: remove this `mut`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `char`
[INFO] [stderr]    --> src/bin/day04.rs:167:17
[INFO] [stderr]     |
[INFO] [stderr] 167 |         for (j, char) in grid[i].iter().enumerate() {
[INFO] [stderr]     |                 ^^^^ help: if this is intentional, prefix it with an underscore: `_char`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/bin/day04.rs:181:9
[INFO] [stderr]     |
[INFO] [stderr] 181 |     let mut found_xmases = 0;
[INFO] [stderr]     |         ----^^^^^^^^^^^^
[INFO] [stderr]     |         |
[INFO] [stderr]     |         help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `char`
[INFO] [stderr]    --> src/bin/day04.rs:185:17
[INFO] [stderr]     |
[INFO] [stderr] 185 |         for (j, char) in grid[i].iter().enumerate() {
[INFO] [stderr]     |                 ^^^^ help: if this is intentional, prefix it with an underscore: `_char`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `char`
[INFO] [stderr]    --> src/bin/day04.rs:200:17
[INFO] [stderr]     |
[INFO] [stderr] 200 |         for (j, char) in row.iter().enumerate() {
[INFO] [stderr]     |                 ^^^^ help: if this is intentional, prefix it with an underscore: `_char`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `search_functions`
[INFO] [stderr]    --> src/bin/day04.rs:239:9
[INFO] [stderr]     |
[INFO] [stderr] 239 |     let search_functions = vec![check_target_north, check_target_south, check_target_east, check_target_west,
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_search_functions`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `char`
[INFO] [stderr]    --> src/bin/day04.rs:244:17
[INFO] [stderr]     |
[INFO] [stderr] 244 |         for (j, char) in row.iter().enumerate() {
[INFO] [stderr]     |                 ^^^^ help: if this is intentional, prefix it with an underscore: `_char`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `example_input`
[INFO] [stderr]    --> src/bin/day04.rs:256:9
[INFO] [stderr]     |
[INFO] [stderr] 256 |     let example_input = utils::read_input_from_path("C:\\Documenten\\magic-repo\\advent_of_code_2024\\example_input\\day04.txt");
[INFO] [stderr]     |         ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_example_input`
[INFO] [stderr] 
[INFO] [stderr] warning: function `part_one_more_overhead` is never used
[INFO] [stderr]    --> src/bin/day04.rs:177:4
[INFO] [stderr]     |
[INFO] [stderr] 177 | fn part_one_more_overhead(input: &str) -> i32 {
[INFO] [stderr]     |    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Duration`
[INFO] [stderr]  --> src/bin/day3_2021.rs:1:17
[INFO] [stderr]   |
[INFO] [stderr] 1 | use std::time::{Duration, SystemTime};
[INFO] [stderr]   |                 ^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: `advent_of_code_2024` (bin "day02" test) generated 9 warnings (run `cargo fix --bin "day02" -p advent_of_code_2024 --tests` to apply 6 suggestions)
[INFO] [stderr] warning: `advent_of_code_2024` (bin "day03" test) generated 6 warnings (run `cargo fix --bin "day03" -p advent_of_code_2024 --tests` to apply 6 suggestions)
[INFO] [stderr] warning: `advent_of_code_2024` (bin "day04" test) generated 14 warnings (run `cargo fix --bin "day04" -p advent_of_code_2024 --tests` to apply 12 suggestions)
[INFO] [stderr] warning: `advent_of_code_2024` (bin "day3_2021" test) generated 1 warning (run `cargo fix --bin "day3_2021" -p advent_of_code_2024 --tests` to apply 1 suggestion)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.12s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/build/advent_of_code_2024/456734b356c2e5f4/deps/advent_of_code_2024-456734b356c2e5f4)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/build/advent_of_code_2024/14c1b767e4ce6e6c/deps/advent_of_code_2024-14c1b767e4ce6e6c)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/bin/day01.rs (/opt/rustwide/target/debug/build/advent_of_code_2024/0eed4fa316ebacdc/deps/day01-0eed4fa316ebacdc)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/bin/day02.rs (/opt/rustwide/target/debug/build/advent_of_code_2024/acc8330e69632a11/deps/day02-acc8330e69632a11)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/bin/day03.rs (/opt/rustwide/target/debug/build/advent_of_code_2024/3fae32ff02c15627/deps/day03-3fae32ff02c15627)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/bin/day04.rs (/opt/rustwide/target/debug/build/advent_of_code_2024/319dc042173fc432/deps/day04-319dc042173fc432)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/bin/day06.rs (/opt/rustwide/target/debug/build/advent_of_code_2024/f0baf11bbd783bf7/deps/day06-f0baf11bbd783bf7)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/bin/day07.rs (/opt/rustwide/target/debug/build/advent_of_code_2024/6ae077358c5d42d8/deps/day07-6ae077358c5d42d8)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/bin/day09.rs (/opt/rustwide/target/debug/build/advent_of_code_2024/92ac49b0ca4ba7fe/deps/day09-92ac49b0ca4ba7fe)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/bin/day11.rs (/opt/rustwide/target/debug/build/advent_of_code_2024/5c1be3e5d38e0b60/deps/day11-5c1be3e5d38e0b60)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/bin/day13.rs (/opt/rustwide/target/debug/build/advent_of_code_2024/ec25d3869059afbd/deps/day13-ec25d3869059afbd)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/bin/day14.rs (/opt/rustwide/target/debug/build/advent_of_code_2024/13e9252cc009363f/deps/day14-13e9252cc009363f)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/bin/day17.rs (/opt/rustwide/target/debug/build/advent_of_code_2024/f8e261d27925d384/deps/day17-f8e261d27925d384)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/bin/day22.rs (/opt/rustwide/target/debug/build/advent_of_code_2024/69a74401961a84e2/deps/day22-69a74401961a84e2)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/bin/day23.rs (/opt/rustwide/target/debug/build/advent_of_code_2024/f074081abdec40f7/deps/day23-f074081abdec40f7)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/bin/day24_2023.rs (/opt/rustwide/target/debug/build/advent_of_code_2024/05dab451069e3943/deps/day24_2023-05dab451069e3943)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/bin/day2_2021.rs (/opt/rustwide/target/debug/build/advent_of_code_2024/a815ab5bc2644e3a/deps/day2_2021-a815ab5bc2644e3a)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/bin/day3_2021.rs (/opt/rustwide/target/debug/build/advent_of_code_2024/2564ec6866830c6b/deps/day3_2021-2564ec6866830c6b)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/bin/day4_2021.rs (/opt/rustwide/target/debug/build/advent_of_code_2024/3676570c9a7eb119/deps/day4_2021-3676570c9a7eb119)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/bin/template.rs (/opt/rustwide/target/debug/build/advent_of_code_2024/710ff9010c2e6d89/deps/template-710ff9010c2e6d89)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests advent_of_code_2024
[INFO] [stderr] warning: unnecessary parentheses around pattern
[INFO] [stderr]   --> src/lib.rs:95:28
[INFO] [stderr]    |
[INFO] [stderr] 95 |                     if let (byte) = set_bit_false(byte, pos) {
[INFO] [stderr]    |                            ^    ^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]    |
[INFO] [stderr] 95 -                     if let (byte) = set_bit_false(byte, pos) {
[INFO] [stderr] 95 +                     if let byte = set_bit_false(byte, pos) {
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around pattern
[INFO] [stderr]    --> src/lib.rs:101:28
[INFO] [stderr]     |
[INFO] [stderr] 101 |                     if let (byte) = set_bit_true(byte, pos) {
[INFO] [stderr]     |                            ^    ^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 101 -                     if let (byte) = set_bit_true(byte, pos) {
[INFO] [stderr] 101 +                     if let byte = set_bit_true(byte, pos) {
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: 2 warnings emitted
[INFO] [stderr] 
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "770b7bf1e8c445357e3638f12dfc85e541048c71fcbb14d74d0fd3878aab0cdf", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "770b7bf1e8c445357e3638f12dfc85e541048c71fcbb14d74d0fd3878aab0cdf", kill_on_drop: false }`
[INFO] [stdout] 770b7bf1e8c445357e3638f12dfc85e541048c71fcbb14d74d0fd3878aab0cdf
