[INFO] cloning repository https://github.com/smejkyz/aoc_2024
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/smejkyz/aoc_2024" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fsmejkyz%2Faoc_2024", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fsmejkyz%2Faoc_2024'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 810d0ca57acb030a7310a125baeaa6dda962becb
[INFO] checking smejkyz/aoc_2024 against try#4f260f0f20b3133d20cfb50353c0221943af5796+rustflags=-Dunmustuse_in_always_ok for pr-148577
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fsmejkyz%2Faoc_2024" "/workspace/builds/worker-3-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/smejkyz/aoc_2024
[INFO] finished tweaking git repo https://github.com/smejkyz/aoc_2024
[INFO] tweaked toml for git repo https://github.com/smejkyz/aoc_2024 written to /workspace/builds/worker-3-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/smejkyz/aoc_2024 on toolchain 4f260f0f20b3133d20cfb50353c0221943af5796
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+4f260f0f20b3133d20cfb50353c0221943af5796" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/smejkyz/aoc_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" "+4f260f0f20b3133d20cfb50353c0221943af5796" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+4f260f0f20b3133d20cfb50353c0221943af5796" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] b7962433ef11df387b12bf4eea49f5b915dbf85b3c5b078966209e814b4e8773
[INFO] running `Command { std: "docker" "start" "-a" "b7962433ef11df387b12bf4eea49f5b915dbf85b3c5b078966209e814b4e8773", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "b7962433ef11df387b12bf4eea49f5b915dbf85b3c5b078966209e814b4e8773", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "b7962433ef11df387b12bf4eea49f5b915dbf85b3c5b078966209e814b4e8773", kill_on_drop: false }`
[INFO] [stdout] b7962433ef11df387b12bf4eea49f5b915dbf85b3c5b078966209e814b4e8773
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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 -Dunmustuse_in_always_ok" "-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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+4f260f0f20b3133d20cfb50353c0221943af5796" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] c6048f8a1ef2537dd5ae4d2af8ddf14afe380a7bfdc125e4e19b382389311a6f
[INFO] running `Command { std: "docker" "start" "-a" "c6048f8a1ef2537dd5ae4d2af8ddf14afe380a7bfdc125e4e19b382389311a6f", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.167
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]     Checking once_cell v1.20.2
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]     Checking itertools v0.12.1
[INFO] [stderr]     Checking unindent v0.2.3
[INFO] [stderr]     Checking partition v0.1.2
[INFO] [stderr]    Compiling regex-automata v0.4.9
[INFO] [stderr]    Compiling syn v2.0.90
[INFO] [stderr]     Checking num-integer v0.1.46
[INFO] [stderr]     Checking num-complex v0.4.6
[INFO] [stderr]     Checking getrandom v0.2.15
[INFO] [stderr]     Checking num-bigint v0.4.6
[INFO] [stderr]     Checking num-iter v0.1.45
[INFO] [stderr]     Checking ahash v0.8.11
[INFO] [stderr]    Compiling structmeta-derive v0.3.0
[INFO] [stderr]    Compiling derive-new v0.6.0
[INFO] [stderr]    Compiling strum_macros v0.26.4
[INFO] [stderr]    Compiling derive_more v0.99.18
[INFO] [stderr]     Checking regex v1.11.1
[INFO] [stderr]     Checking bstr v1.11.0
[INFO] [stderr]     Checking num-rational v0.4.2
[INFO] [stderr]     Checking num v0.4.3
[INFO] [stderr]    Compiling structmeta v0.3.0
[INFO] [stderr]    Compiling parse-display-derive v0.9.1
[INFO] [stderr]    Compiling tailcall-impl v1.0.1
[INFO] [stderr]     Checking tailcall v1.0.1
[INFO] [stderr]     Checking parse-display v0.9.1
[INFO] [stderr]     Checking aoc_2024 v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> src/days/day03.rs:44:12
[INFO] [stdout]    |
[INFO] [stdout] 44 |         if (match_as_string == do_command){
[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] 44 -         if (match_as_string == do_command){
[INFO] [stdout] 44 +         if match_as_string == do_command {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> src/days/day03.rs:46:18
[INFO] [stdout]    |
[INFO] [stdout] 46 |         }else if (match_as_string == skip_command){
[INFO] [stdout]    |                  ^                               ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 46 -         }else if (match_as_string == skip_command){
[INFO] [stdout] 46 +         }else if match_as_string == skip_command {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `HashMap`
[INFO] [stdout]  --> src/days/day05.rs:2:13
[INFO] [stdout]   |
[INFO] [stdout] 2 | use ahash::{HashMap, HashMapExt};
[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: `Array2D`
[INFO] [stdout]  --> src/days/day05.rs:3:20
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::utils::{Array2D};
[INFO] [stdout]   |                    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> src/days/day05.rs:77:12
[INFO] [stdout]    |
[INFO] [stdout] 77 |         if (correct_page == *page){
[INFO] [stdout]    |            ^                     ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 77 -         if (correct_page == *page){
[INFO] [stdout] 77 +         if correct_page == *page {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `core::panic::PanicInfo`
[INFO] [stdout]  --> src/days/day06.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use core::panic::PanicInfo;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashSet`
[INFO] [stdout]  --> src/days/day06.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::collections::HashSet;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::process::id`
[INFO] [stdout]  --> src/days/day06.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::process::id;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `HashMap`
[INFO] [stdout]  --> src/days/day06.rs:5:13
[INFO] [stdout]   |
[INFO] [stdout] 5 | use ahash::{HashMap, HashMapExt};
[INFO] [stdout]   |             ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `core::panic::PanicInfo`
[INFO] [stdout]  --> src/days/day07.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use core::panic::PanicInfo;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashSet`
[INFO] [stdout]  --> src/days/day07.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::collections::HashSet;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::process::id`
[INFO] [stdout]  --> src/days/day07.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::process::id;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `HashMapExt` and `HashMap`
[INFO] [stdout]  --> src/days/day07.rs:5:13
[INFO] [stdout]   |
[INFO] [stdout] 5 | use ahash::{HashMap, HashMapExt};
[INFO] [stdout]   |             ^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `join`
[INFO] [stdout]  --> src/days/day07.rs:6:17
[INFO] [stdout]   |
[INFO] [stdout] 6 | use itertools::{join, Itertools};
[INFO] [stdout]   |                 ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Array2D`
[INFO] [stdout]  --> src/days/day07.rs:7:20
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::utils::{Array2D};
[INFO] [stdout]   |                    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `strum_macros::EnumIter`
[INFO] [stdout]  --> src/days/day07.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use strum_macros::EnumIter;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `core::panic::PanicInfo`
[INFO] [stdout]  --> src/days/day08.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use core::panic::PanicInfo;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `fmt`
[INFO] [stdout]  --> src/days/day08.rs:3:11
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::{fmt, fs};
[INFO] [stdout]   |           ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::process::id`
[INFO] [stdout]  --> src/days/day08.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::process::id;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `HashMap`
[INFO] [stdout]  --> src/days/day08.rs:6:13
[INFO] [stdout]   |
[INFO] [stdout] 6 | use ahash::{HashMap, HashMapExt};
[INFO] [stdout]   |             ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `join`
[INFO] [stdout]  --> src/days/day08.rs:7:17
[INFO] [stdout]   |
[INFO] [stdout] 7 | use itertools::{join, Itertools};
[INFO] [stdout]   |                 ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `strum_macros::EnumIter`
[INFO] [stdout]   --> src/days/day08.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use strum_macros::EnumIter;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `core::panic::PanicInfo`
[INFO] [stdout]  --> src/days/day09.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use core::panic::PanicInfo;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `fmt`
[INFO] [stdout]  --> src/days/day09.rs:3:11
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::{fmt, fs};
[INFO] [stdout]   |           ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::f32::consts::PI`
[INFO] [stdout]  --> src/days/day09.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::f32::consts::PI;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::process::id`
[INFO] [stdout]  --> src/days/day09.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::process::id;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `HashMap`
[INFO] [stdout]  --> src/days/day09.rs:7:13
[INFO] [stdout]   |
[INFO] [stdout] 7 | use ahash::{HashMap, HashMapExt};
[INFO] [stdout]   |             ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `join`
[INFO] [stdout]  --> src/days/day09.rs:8:17
[INFO] [stdout]   |
[INFO] [stdout] 8 | use itertools::{join, Itertools};
[INFO] [stdout]   |                 ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `num::traits::real::Real`
[INFO] [stdout]  --> src/days/day09.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use num::traits::real::Real;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Array2D`
[INFO] [stdout]   --> src/days/day09.rs:10:20
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::utils::{Array2D};
[INFO] [stdout]    |                    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `strum_macros::EnumIter`
[INFO] [stdout]   --> src/days/day09.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use strum_macros::EnumIter;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `num::integer::gcd`
[INFO] [stdout]   --> src/days/day09.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use num::integer::gcd;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `core::panic::PanicInfo`
[INFO] [stdout]  --> src/days/day10.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use core::panic::PanicInfo;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashSet`
[INFO] [stdout]  --> src/days/day10.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::collections::HashSet;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::process::id`
[INFO] [stdout]  --> src/days/day10.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::process::id;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `HashMapExt` and `HashMap`
[INFO] [stdout]  --> src/days/day10.rs:5:13
[INFO] [stdout]   |
[INFO] [stdout] 5 | use ahash::{HashMap, HashMapExt};
[INFO] [stdout]   |             ^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `multiple_bfs`
[INFO] [stdout]  --> src/days/day10.rs:6:49
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::utils::{find_all_paths_bfs_one_step, multiple_bfs, multiple_bfs_with_one_step, Array2D};
[INFO] [stdout]   |                                                 ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::error::Error`
[INFO] [stdout]  --> src/utils.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::error::Error;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> src/days/day03.rs:44:12
[INFO] [stdout]    |
[INFO] [stdout] 44 |         if (match_as_string == do_command){
[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] 44 -         if (match_as_string == do_command){
[INFO] [stdout] 44 +         if match_as_string == do_command {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> src/days/day03.rs:46:18
[INFO] [stdout]    |
[INFO] [stdout] 46 |         }else if (match_as_string == skip_command){
[INFO] [stdout]    |                  ^                               ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 46 -         }else if (match_as_string == skip_command){
[INFO] [stdout] 46 +         }else if match_as_string == skip_command {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `HashMap`
[INFO] [stdout]  --> src/days/day05.rs:2:13
[INFO] [stdout]   |
[INFO] [stdout] 2 | use ahash::{HashMap, HashMapExt};
[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: `Array2D`
[INFO] [stdout]  --> src/days/day05.rs:3:20
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::utils::{Array2D};
[INFO] [stdout]   |                    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> src/days/day05.rs:77:12
[INFO] [stdout]    |
[INFO] [stdout] 77 |         if (correct_page == *page){
[INFO] [stdout]    |            ^                     ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 77 -         if (correct_page == *page){
[INFO] [stdout] 77 +         if correct_page == *page {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `core::panic::PanicInfo`
[INFO] [stdout]  --> src/days/day06.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use core::panic::PanicInfo;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashSet`
[INFO] [stdout]  --> src/days/day06.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::collections::HashSet;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::process::id`
[INFO] [stdout]  --> src/days/day06.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::process::id;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `HashMap`
[INFO] [stdout]  --> src/days/day06.rs:5:13
[INFO] [stdout]   |
[INFO] [stdout] 5 | use ahash::{HashMap, HashMapExt};
[INFO] [stdout]   |             ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `core::panic::PanicInfo`
[INFO] [stdout]  --> src/days/day07.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use core::panic::PanicInfo;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashSet`
[INFO] [stdout]  --> src/days/day07.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::collections::HashSet;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::process::id`
[INFO] [stdout]  --> src/days/day07.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::process::id;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `HashMapExt` and `HashMap`
[INFO] [stdout]  --> src/days/day07.rs:5:13
[INFO] [stdout]   |
[INFO] [stdout] 5 | use ahash::{HashMap, HashMapExt};
[INFO] [stdout]   |             ^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `join`
[INFO] [stdout]  --> src/days/day07.rs:6:17
[INFO] [stdout]   |
[INFO] [stdout] 6 | use itertools::{join, Itertools};
[INFO] [stdout]   |                 ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Array2D`
[INFO] [stdout]  --> src/days/day07.rs:7:20
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::utils::{Array2D};
[INFO] [stdout]   |                    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `strum_macros::EnumIter`
[INFO] [stdout]  --> src/days/day07.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use strum_macros::EnumIter;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `core::panic::PanicInfo`
[INFO] [stdout]  --> src/days/day08.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use core::panic::PanicInfo;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `fmt`
[INFO] [stdout]  --> src/days/day08.rs:3:11
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::{fmt, fs};
[INFO] [stdout]   |           ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::process::id`
[INFO] [stdout]  --> src/days/day08.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::process::id;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `HashMap`
[INFO] [stdout]  --> src/days/day08.rs:6:13
[INFO] [stdout]   |
[INFO] [stdout] 6 | use ahash::{HashMap, HashMapExt};
[INFO] [stdout]   |             ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `join`
[INFO] [stdout]  --> src/days/day08.rs:7:17
[INFO] [stdout]   |
[INFO] [stdout] 7 | use itertools::{join, Itertools};
[INFO] [stdout]   |                 ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `strum_macros::EnumIter`
[INFO] [stdout]   --> src/days/day08.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use strum_macros::EnumIter;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `core::panic::PanicInfo`
[INFO] [stdout]  --> src/days/day09.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use core::panic::PanicInfo;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `fmt`
[INFO] [stdout]  --> src/days/day09.rs:3:11
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::{fmt, fs};
[INFO] [stdout]   |           ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::f32::consts::PI`
[INFO] [stdout]  --> src/days/day09.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::f32::consts::PI;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::process::id`
[INFO] [stdout]  --> src/days/day09.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::process::id;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `HashMap`
[INFO] [stdout]  --> src/days/day09.rs:7:13
[INFO] [stdout]   |
[INFO] [stdout] 7 | use ahash::{HashMap, HashMapExt};
[INFO] [stdout]   |             ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `join`
[INFO] [stdout]  --> src/days/day09.rs:8:17
[INFO] [stdout]   |
[INFO] [stdout] 8 | use itertools::{join, Itertools};
[INFO] [stdout]   |                 ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `num::traits::real::Real`
[INFO] [stdout]  --> src/days/day09.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use num::traits::real::Real;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Array2D`
[INFO] [stdout]   --> src/days/day09.rs:10:20
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::utils::{Array2D};
[INFO] [stdout]    |                    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `strum_macros::EnumIter`
[INFO] [stdout]   --> src/days/day09.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use strum_macros::EnumIter;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `num::integer::gcd`
[INFO] [stdout]   --> src/days/day09.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use num::integer::gcd;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `core::panic::PanicInfo`
[INFO] [stdout]  --> src/days/day10.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use core::panic::PanicInfo;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashSet`
[INFO] [stdout]  --> src/days/day10.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::collections::HashSet;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::process::id`
[INFO] [stdout]  --> src/days/day10.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::process::id;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `HashMapExt` and `HashMap`
[INFO] [stdout]  --> src/days/day10.rs:5:13
[INFO] [stdout]   |
[INFO] [stdout] 5 | use ahash::{HashMap, HashMapExt};
[INFO] [stdout]   |             ^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `multiple_bfs`
[INFO] [stdout]  --> src/days/day10.rs:6:49
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::utils::{find_all_paths_bfs_one_step, multiple_bfs, multiple_bfs_with_one_step, Array2D};
[INFO] [stdout]   |                                                 ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::error::Error`
[INFO] [stdout]  --> src/utils.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::error::Error;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `HashMapExt`
[INFO] [stdout]  --> src/days/day05.rs:2:22
[INFO] [stdout]   |
[INFO] [stdout] 2 | use ahash::{HashMap, HashMapExt};
[INFO] [stdout]   |                      ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `HashMapExt`
[INFO] [stdout]  --> src/days/day06.rs:5:22
[INFO] [stdout]   |
[INFO] [stdout] 5 | use ahash::{HashMap, HashMapExt};
[INFO] [stdout]   |                      ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `HashMapExt`
[INFO] [stdout]  --> src/days/day08.rs:6:22
[INFO] [stdout]   |
[INFO] [stdout] 6 | use ahash::{HashMap, HashMapExt};
[INFO] [stdout]   |                      ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `num::traits::real::Real`
[INFO] [stdout]  --> src/days/day08.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use num::traits::real::Real;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Itertools`
[INFO] [stdout]  --> src/days/day09.rs:8:23
[INFO] [stdout]   |
[INFO] [stdout] 8 | use itertools::{join, Itertools};
[INFO] [stdout]   |                       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `HashMapExt`
[INFO] [stdout]  --> src/days/day09.rs:7:22
[INFO] [stdout]   |
[INFO] [stdout] 7 | use ahash::{HashMap, HashMapExt};
[INFO] [stdout]   |                      ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `HashMapExt`
[INFO] [stdout]  --> src/days/day05.rs:2:22
[INFO] [stdout]   |
[INFO] [stdout] 2 | use ahash::{HashMap, HashMapExt};
[INFO] [stdout]   |                      ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `HashMapExt`
[INFO] [stdout]  --> src/days/day06.rs:5:22
[INFO] [stdout]   |
[INFO] [stdout] 5 | use ahash::{HashMap, HashMapExt};
[INFO] [stdout]   |                      ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `HashMapExt`
[INFO] [stdout]  --> src/days/day08.rs:6:22
[INFO] [stdout]   |
[INFO] [stdout] 6 | use ahash::{HashMap, HashMapExt};
[INFO] [stdout]   |                      ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `num::traits::real::Real`
[INFO] [stdout]  --> src/days/day08.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use num::traits::real::Real;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Itertools`
[INFO] [stdout]  --> src/days/day09.rs:8:23
[INFO] [stdout]   |
[INFO] [stdout] 8 | use itertools::{join, Itertools};
[INFO] [stdout]   |                       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `HashMapExt`
[INFO] [stdout]  --> src/days/day09.rs:7:22
[INFO] [stdout]   |
[INFO] [stdout] 7 | use ahash::{HashMap, HashMapExt};
[INFO] [stdout]   |                      ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x_min`
[INFO] [stdout]    --> src/days/day08.rs:101:34
[INFO] [stdout]     |
[INFO] [stdout] 101 |     pub fn get_all_points(&self, x_min: i32, x_max: i32, y_min: i32, y_max: i32) -> Vec<(i32, i32)>{
[INFO] [stdout]     |                                  ^^^^^ help: if this is intentional, prefix it with an underscore: `_x_min`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x_max`
[INFO] [stdout]    --> src/days/day08.rs:101:46
[INFO] [stdout]     |
[INFO] [stdout] 101 |     pub fn get_all_points(&self, x_min: i32, x_max: i32, y_min: i32, y_max: i32) -> Vec<(i32, i32)>{
[INFO] [stdout]     |                                              ^^^^^ help: if this is intentional, prefix it with an underscore: `_x_max`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `y_min`
[INFO] [stdout]    --> src/days/day08.rs:101:58
[INFO] [stdout]     |
[INFO] [stdout] 101 |     pub fn get_all_points(&self, x_min: i32, x_max: i32, y_min: i32, y_max: i32) -> Vec<(i32, i32)>{
[INFO] [stdout]     |                                                          ^^^^^ help: if this is intentional, prefix it with an underscore: `_y_min`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `y_max`
[INFO] [stdout]    --> src/days/day08.rs:101:70
[INFO] [stdout]     |
[INFO] [stdout] 101 |     pub fn get_all_points(&self, x_min: i32, x_max: i32, y_min: i32, y_max: i32) -> Vec<(i32, i32)>{
[INFO] [stdout]     |                                                                      ^^^^^ help: if this is intentional, prefix it with an underscore: `_y_max`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `index`
[INFO] [stdout]   --> src/days/day09.rs:62:21
[INFO] [stdout]    |
[INFO] [stdout] 62 |         if let Some(index) = &representation_copy[..total_file_size].iter().position(|x| x == ".") {
[INFO] [stdout]    |                     ^^^^^ help: if this is intentional, prefix it with an underscore: `_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `representation`
[INFO] [stdout]    --> src/days/day09.rs:112:9
[INFO] [stdout]     |
[INFO] [stdout] 112 |     let representation = create_representation_from_files_and_spaces(&files, size);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_representation`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x_min`
[INFO] [stdout]    --> src/days/day08.rs:101:34
[INFO] [stdout]     |
[INFO] [stdout] 101 |     pub fn get_all_points(&self, x_min: i32, x_max: i32, y_min: i32, y_max: i32) -> Vec<(i32, i32)>{
[INFO] [stdout]     |                                  ^^^^^ help: if this is intentional, prefix it with an underscore: `_x_min`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x_max`
[INFO] [stdout]    --> src/days/day08.rs:101:46
[INFO] [stdout]     |
[INFO] [stdout] 101 |     pub fn get_all_points(&self, x_min: i32, x_max: i32, y_min: i32, y_max: i32) -> Vec<(i32, i32)>{
[INFO] [stdout]     |                                              ^^^^^ help: if this is intentional, prefix it with an underscore: `_x_max`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `y_min`
[INFO] [stdout]    --> src/days/day08.rs:101:58
[INFO] [stdout]     |
[INFO] [stdout] 101 |     pub fn get_all_points(&self, x_min: i32, x_max: i32, y_min: i32, y_max: i32) -> Vec<(i32, i32)>{
[INFO] [stdout]     |                                                          ^^^^^ help: if this is intentional, prefix it with an underscore: `_y_min`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `y_max`
[INFO] [stdout]    --> src/days/day08.rs:101:70
[INFO] [stdout]     |
[INFO] [stdout] 101 |     pub fn get_all_points(&self, x_min: i32, x_max: i32, y_min: i32, y_max: i32) -> Vec<(i32, i32)>{
[INFO] [stdout]     |                                                                      ^^^^^ help: if this is intentional, prefix it with an underscore: `_y_max`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `currect` is never read
[INFO] [stdout]    --> src/utils.rs:273:23
[INFO] [stdout]     |
[INFO] [stdout] 273 |     let mut currect = start.clone();
[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: value assigned to `currect` is never read
[INFO] [stdout]    --> src/utils.rs:310:23
[INFO] [stdout]     |
[INFO] [stdout] 310 |     let mut currect = start.clone();
[INFO] [stdout]     |                       ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `index`
[INFO] [stdout]   --> src/days/day09.rs:62:21
[INFO] [stdout]    |
[INFO] [stdout] 62 |         if let Some(index) = &representation_copy[..total_file_size].iter().position(|x| x == ".") {
[INFO] [stdout]    |                     ^^^^^ help: if this is intentional, prefix it with an underscore: `_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `representation`
[INFO] [stdout]    --> src/days/day09.rs:112:9
[INFO] [stdout]     |
[INFO] [stdout] 112 |     let representation = create_representation_from_files_and_spaces(&files, size);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_representation`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `day09::File` is more private than the item `create_representation_p2`
[INFO] [stdout]    --> src/days/day09.rs:164:1
[INFO] [stdout]     |
[INFO] [stdout] 164 | pub fn create_representation_p2(input: &Vec<i32>) -> (Vec<File>, Vec<(usize, usize)>){
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ function `create_representation_p2` is reachable at visibility `pub(crate)`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `day09::File` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> src/days/day09.rs:159:1
[INFO] [stdout]     |
[INFO] [stdout] 159 | struct File{
[INFO] [stdout]     | ^^^^^^^^^^^
[INFO] [stdout]     = note: `#[warn(private_interfaces)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `solve` is never used
[INFO] [stdout]  --> src/days/day01.rs:3:8
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub fn solve() {
[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 `parse_input` is never used
[INFO] [stdout]   --> src/days/day01.rs:16:4
[INFO] [stdout]    |
[INFO] [stdout] 16 | fn parse_input(raw_input: &str) -> (Vec<i32>,Vec<i32>){
[INFO] [stdout]    |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `solve_part_1` is never used
[INFO] [stdout]   --> src/days/day01.rs:29:4
[INFO] [stdout]    |
[INFO] [stdout] 29 | fn solve_part_1(left_values: &Vec<i32>, right_values: &Vec<i32>) -> usize{
[INFO] [stdout]    |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `solve_part_2` is never used
[INFO] [stdout]   --> src/days/day01.rs:45:4
[INFO] [stdout]    |
[INFO] [stdout] 45 | fn solve_part_2(left_values: &Vec<i32>, right_values: &Vec<i32>) -> usize{
[INFO] [stdout]    |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `number_of_occurences` is never used
[INFO] [stdout]   --> src/days/day01.rs:52:4
[INFO] [stdout]    |
[INFO] [stdout] 52 | fn number_of_occurences(value: &i32, right_values: &Vec<i32>) -> i32 {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `solve` is never used
[INFO] [stdout]  --> src/days/day02.rs:3:8
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub fn solve() {
[INFO] [stdout]   |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_input` is never used
[INFO] [stdout]   --> src/days/day02.rs:18:4
[INFO] [stdout]    |
[INFO] [stdout] 18 | fn parse_input(raw_input: &str) -> Vec<Vec<i32>>{
[INFO] [stdout]    |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `solve_part_1` is never used
[INFO] [stdout]   --> src/days/day02.rs:28:4
[INFO] [stdout]    |
[INFO] [stdout] 28 | fn solve_part_1(reports: &Vec<Vec<i32>>) -> usize{
[INFO] [stdout]    |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_safe` is never used
[INFO] [stdout]   --> src/days/day02.rs:32:4
[INFO] [stdout]    |
[INFO] [stdout] 32 | fn is_safe(levels: &Vec<i32>) -> bool{
[INFO] [stdout]    |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `solve_part_2` is never used
[INFO] [stdout]   --> src/days/day02.rs:40:4
[INFO] [stdout]    |
[INFO] [stdout] 40 | fn solve_part_2(reports: &Vec<Vec<i32>>) -> usize{
[INFO] [stdout]    |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_safe_with_tolerance` is never used
[INFO] [stdout]   --> src/days/day02.rs:44:4
[INFO] [stdout]    |
[INFO] [stdout] 44 | fn is_safe_with_tolerance(levels: &Vec<i32>) -> bool {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `solve` is never used
[INFO] [stdout]  --> src/days/day03.rs:5:8
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub fn solve(){
[INFO] [stdout]   |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `solve_p1` is never used
[INFO] [stdout]   --> src/days/day03.rs:16:4
[INFO] [stdout]    |
[INFO] [stdout] 16 | fn solve_p1(input: &str) -> i32{
[INFO] [stdout]    |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_to_int` is never used
[INFO] [stdout]   --> src/days/day03.rs:26:4
[INFO] [stdout]    |
[INFO] [stdout] 26 | fn parse_to_int(s: &str) -> (i32, i32){
[INFO] [stdout]    |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `solve_p2` is never used
[INFO] [stdout]   --> src/days/day03.rs:35:4
[INFO] [stdout]    |
[INFO] [stdout] 35 | fn solve_p2(input: &str) -> i32{
[INFO] [stdout]    |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `solve` is never used
[INFO] [stdout]  --> src/days/day04.rs:4:8
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub fn solve(){
[INFO] [stdout]   |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `solve_p1` is never used
[INFO] [stdout]   --> src/days/day04.rs:18:4
[INFO] [stdout]    |
[INFO] [stdout] 18 | fn solve_p1(grid: &Array2D<String>) -> i32{
[INFO] [stdout]    |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `find_for_given_i_j` is never used
[INFO] [stdout]   --> src/days/day04.rs:34:4
[INFO] [stdout]    |
[INFO] [stdout] 34 | fn find_for_given_i_j(grid: &Array2D<String>, i: usize, j: usize) -> usize {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `find_to_the_down` is never used
[INFO] [stdout]   --> src/days/day04.rs:51:4
[INFO] [stdout]    |
[INFO] [stdout] 51 | fn find_to_the_down(grid: &Array2D<String>, i: usize, j: usize) -> usize {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `find_to_the_up` is never used
[INFO] [stdout]   --> src/days/day04.rs:69:4
[INFO] [stdout]    |
[INFO] [stdout] 69 | fn find_to_the_up(grid: &Array2D<String>, i: usize, j: usize) -> usize {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `find_to_the_left` is never used
[INFO] [stdout]   --> src/days/day04.rs:86:4
[INFO] [stdout]    |
[INFO] [stdout] 86 | fn find_to_the_left(grid: &Array2D<String>, i: usize, j: usize) -> usize {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `find_to_the_right` is never used
[INFO] [stdout]    --> src/days/day04.rs:104:4
[INFO] [stdout]     |
[INFO] [stdout] 104 | fn find_to_the_right(grid: &Array2D<String>, i: usize, j: usize) -> usize {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `find_to_the_right_up` is never used
[INFO] [stdout]    --> src/days/day04.rs:122:4
[INFO] [stdout]     |
[INFO] [stdout] 122 | fn find_to_the_right_up(grid: &Array2D<String>, i: usize, j: usize) -> usize {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `find_to_the_right_down` is never used
[INFO] [stdout]    --> src/days/day04.rs:140:4
[INFO] [stdout]     |
[INFO] [stdout] 140 | fn find_to_the_right_down(grid: &Array2D<String>, i: usize, j: usize) -> usize {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `find_to_the_left_up` is never used
[INFO] [stdout]    --> src/days/day04.rs:158:4
[INFO] [stdout]     |
[INFO] [stdout] 158 | fn find_to_the_left_up(grid: &Array2D<String>, i: usize, j: usize) -> usize {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `find_to_the_left_down` is never used
[INFO] [stdout]    --> src/days/day04.rs:176:4
[INFO] [stdout]     |
[INFO] [stdout] 176 | fn find_to_the_left_down(grid: &Array2D<String>, i: usize, j: usize) -> usize {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_to_int` is never used
[INFO] [stdout]    --> src/days/day04.rs:195:4
[INFO] [stdout]     |
[INFO] [stdout] 195 | fn parse_to_int(s: &str) -> (i32, i32){
[INFO] [stdout]     |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `solve_p2` is never used
[INFO] [stdout]    --> src/days/day04.rs:204:4
[INFO] [stdout]     |
[INFO] [stdout] 204 | fn solve_p2(grid: &Array2D<String>) -> i32{
[INFO] [stdout]     |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `find_p2_for_given_i_j` is never used
[INFO] [stdout]    --> src/days/day04.rs:220:4
[INFO] [stdout]     |
[INFO] [stdout] 220 | fn find_p2_for_given_i_j(grid: &Array2D<String>, i: usize, j: usize) -> i32{
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `solve` is never used
[INFO] [stdout]  --> src/days/day05.rs:5:8
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub fn solve(){
[INFO] [stdout]   |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_input` is never used
[INFO] [stdout]   --> src/days/day05.rs:17:4
[INFO] [stdout]    |
[INFO] [stdout] 17 | fn parse_input(raw_input: &str) -> (Vec<(i32, i32)>, Vec<Vec<i32>>){
[INFO] [stdout]    |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `solve_p1` is never used
[INFO] [stdout]   --> src/days/day05.rs:44:4
[INFO] [stdout]    |
[INFO] [stdout] 44 | fn solve_p1(page_rules: &Vec<(i32, i32)>, pages_to_produce: &Vec<Vec<i32>>) -> i32{
[INFO] [stdout]    |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `page_is_in_correct_order` is never used
[INFO] [stdout]   --> src/days/day05.rs:57:4
[INFO] [stdout]    |
[INFO] [stdout] 57 | fn page_is_in_correct_order(page: &Vec<i32>, page_rules: &Vec<(i32, i32)>) -> bool {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `solve_p2` is never used
[INFO] [stdout]   --> src/days/day05.rs:73:4
[INFO] [stdout]    |
[INFO] [stdout] 73 | fn solve_p2(page_rules: &Vec<(i32, i32)>, pages_to_produce: &Vec<Vec<i32>>) -> i32{
[INFO] [stdout]    |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `compute_correct_page` is never used
[INFO] [stdout]   --> src/days/day05.rs:90:4
[INFO] [stdout]    |
[INFO] [stdout] 90 | fn compute_correct_page(page: &Vec<i32>, page_rules: &Vec<(i32, i32)>) -> Vec<i32> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `single_switch` is never used
[INFO] [stdout]    --> src/days/day05.rs:100:4
[INFO] [stdout]     |
[INFO] [stdout] 100 | fn single_switch(page: &Vec<i32>, page_rules: &Vec<(i32, i32)>) -> Vec<i32> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `solve` is never used
[INFO] [stdout]  --> src/days/day06.rs:8:8
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub fn solve(){
[INFO] [stdout]   |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `solve_p1` is never used
[INFO] [stdout]   --> src/days/day06.rs:24:4
[INFO] [stdout]    |
[INFO] [stdout] 24 | fn solve_p1(grid_input: &Array2D<String>) -> i32{
[INFO] [stdout]    |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Direction` is never used
[INFO] [stdout]   --> src/days/day06.rs:57:6
[INFO] [stdout]    |
[INFO] [stdout] 57 | enum Direction {
[INFO] [stdout]    |      ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `as_str` is never used
[INFO] [stdout]   --> src/days/day06.rs:66:8
[INFO] [stdout]    |
[INFO] [stdout] 64 | impl Direction {
[INFO] [stdout]    | -------------- method in this implementation
[INFO] [stdout] 65 |     // Method to get the associated string value
[INFO] [stdout] 66 |     fn as_str(&self) -> &str {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `direction_from_string` is never used
[INFO] [stdout]   --> src/days/day06.rs:75:4
[INFO] [stdout]    |
[INFO] [stdout] 75 | fn direction_from_string(id: &str) -> Direction {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `turn_right` is never used
[INFO] [stdout]   --> src/days/day06.rs:85:4
[INFO] [stdout]    |
[INFO] [stdout] 85 | fn turn_right(direction: Direction) -> Direction {
[INFO] [stdout]    |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `make_move` is never used
[INFO] [stdout]   --> src/days/day06.rs:94:4
[INFO] [stdout]    |
[INFO] [stdout] 94 | fn make_move(grid_input: &Array2D<String>, current_position: (usize, usize), direction: &Direction, visited_locations: &mut Array2D<Strin...
[INFO] [stdout]    |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `make_one_step` is never used
[INFO] [stdout]    --> src/days/day06.rs:109:4
[INFO] [stdout]     |
[INFO] [stdout] 109 | fn make_one_step(current_position: (usize, usize), direction: &Direction) -> (usize, usize){
[INFO] [stdout]     |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `solve_p2` is never used
[INFO] [stdout]    --> src/days/day06.rs:118:4
[INFO] [stdout]     |
[INFO] [stdout] 118 | fn solve_p2(grid_input: &Array2D<String>) -> i32 {
[INFO] [stdout]     |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `solve` is never used
[INFO] [stdout]   --> src/days/day07.rs:10:8
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub fn solve(){
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `solve_p1` is never used
[INFO] [stdout]   --> src/days/day07.rs:23:4
[INFO] [stdout]    |
[INFO] [stdout] 23 | fn solve_p1(raw_input: &str) -> i64{
[INFO] [stdout]    |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Operation` is never used
[INFO] [stdout]   --> src/days/day07.rs:34:6
[INFO] [stdout]    |
[INFO] [stdout] 34 | enum Operation {
[INFO] [stdout]    |      ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `line_can_be_solved` is never used
[INFO] [stdout]   --> src/days/day07.rs:52:4
[INFO] [stdout]    |
[INFO] [stdout] 52 | fn line_can_be_solved(line: &str, possible_operations: &Vec<Operation>) -> i64{
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `solve_line` is never used
[INFO] [stdout]   --> src/days/day07.rs:69:4
[INFO] [stdout]    |
[INFO] [stdout] 69 | fn solve_line(operands: &Vec<i64>, operations: &Vec<Operation>) -> i64{
[INFO] [stdout]    |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `single_operation` is never used
[INFO] [stdout]   --> src/days/day07.rs:79:4
[INFO] [stdout]    |
[INFO] [stdout] 79 | fn single_operation(left: i64, right: i64, operation: &Operation) -> i64{
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_line` is never used
[INFO] [stdout]   --> src/days/day07.rs:88:4
[INFO] [stdout]    |
[INFO] [stdout] 88 | fn parse_line(line: &str) -> (i64, Vec<i64>){
[INFO] [stdout]    |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `solve_p2` is never used
[INFO] [stdout]    --> src/days/day07.rs:100:4
[INFO] [stdout]     |
[INFO] [stdout] 100 | fn solve_p2(raw_input: &str) -> i64 {
[INFO] [stdout]     |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `solve` is never used
[INFO] [stdout]   --> src/days/day08.rs:13:8
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub fn solve(){
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `solve_p1` is never used
[INFO] [stdout]   --> src/days/day08.rs:25:4
[INFO] [stdout]    |
[INFO] [stdout] 25 | fn solve_p1(input_grid: &Array2D<String>) -> i64{
[INFO] [stdout]    |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `find_antinodes_for_given_frequency` is never used
[INFO] [stdout]   --> src/days/day08.rs:43:4
[INFO] [stdout]    |
[INFO] [stdout] 43 | fn find_antinodes_for_given_frequency(input_grid: &Array2D<String>, frequency: String) -> Vec<(i32, i32)>{
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_valid` is never used
[INFO] [stdout]   --> src/days/day08.rs:63:4
[INFO] [stdout]    |
[INFO] [stdout] 63 | fn is_valid(antinode: (i32, i32), rows: usize, cols: usize) -> bool{
[INFO] [stdout]    |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ParametricLine` is never constructed
[INFO] [stdout]   --> src/days/day08.rs:72:12
[INFO] [stdout]    |
[INFO] [stdout] 72 | pub struct ParametricLine{
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `get`, `direction_vector`, `angle`, and `get_all_points` are never used
[INFO] [stdout]    --> src/days/day08.rs:79:12
[INFO] [stdout]     |
[INFO] [stdout]  78 | impl ParametricLine {
[INFO] [stdout]     | ------------------- associated items in this implementation
[INFO] [stdout]  79 |     pub fn new(a: (i32, i32), b: (i32, i32)) -> ParametricLine {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  83 |     pub fn get(&self, t: i32) -> (i32, i32){
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  88 |     pub fn direction_vector(&self) -> (i32, i32){
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  92 |     pub fn angle(&self) -> f32{
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 101 |     pub fn get_all_points(&self, x_min: i32, x_max: i32, y_min: i32, y_max: i32) -> Vec<(i32, i32)>{
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `find_antinodes_for_given_pair` is never used
[INFO] [stdout]    --> src/days/day08.rs:106:4
[INFO] [stdout]     |
[INFO] [stdout] 106 | fn find_antinodes_for_given_pair(a: (usize, usize), b: (usize, usize)) -> ((i32, i32), (i32, i32)){
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_distance` is never used
[INFO] [stdout]    --> src/days/day08.rs:117:4
[INFO] [stdout]     |
[INFO] [stdout] 117 | fn get_distance(a: (usize, usize), b: (usize, usize)) -> f32{
[INFO] [stdout]     |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `collect_possible_frequencies` is never used
[INFO] [stdout]    --> src/days/day08.rs:124:4
[INFO] [stdout]     |
[INFO] [stdout] 124 | fn collect_possible_frequencies() -> Vec<String>{
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `solve_p2` is never used
[INFO] [stdout]    --> src/days/day08.rs:136:4
[INFO] [stdout]     |
[INFO] [stdout] 136 | fn solve_p2(input_grid: &Array2D<String>) -> i64{
[INFO] [stdout]     |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `find_all_antinodes_for_given_frequency` is never used
[INFO] [stdout]    --> src/days/day08.rs:154:4
[INFO] [stdout]     |
[INFO] [stdout] 154 | fn find_all_antinodes_for_given_frequency(input_grid: &Array2D<String>, frequency: String) -> Vec<(i32, i32)>{
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `find_all_antinodes_for_given_pair` is never used
[INFO] [stdout]    --> src/days/day08.rs:170:4
[INFO] [stdout]     |
[INFO] [stdout] 170 | fn find_all_antinodes_for_given_pair(a: (usize, usize), b: (usize, usize), rows: usize, cols: usize) -> Vec<(i32, i32)>{
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `solve` is never used
[INFO] [stdout]   --> src/days/day09.rs:14:8
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub fn solve(){
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `solve_p1` is never used
[INFO] [stdout]   --> src/days/day09.rs:31:4
[INFO] [stdout]    |
[INFO] [stdout] 31 | fn solve_p1(input: &Vec<i32>) -> i64{
[INFO] [stdout]    |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_sorted` is never used
[INFO] [stdout]   --> src/days/day09.rs:77:4
[INFO] [stdout]    |
[INFO] [stdout] 77 | fn is_sorted(representation_copy: &Vec<String>) -> bool{
[INFO] [stdout]    |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `create_representation` is never used
[INFO] [stdout]   --> src/days/day09.rs:86:8
[INFO] [stdout]    |
[INFO] [stdout] 86 | pub fn create_representation(input: &Vec<i32>) -> Vec<String>{
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `solve_p2` is never used
[INFO] [stdout]    --> src/days/day09.rs:107:4
[INFO] [stdout]     |
[INFO] [stdout] 107 | fn solve_p2(input: &Vec<i32>) -> i64{
[INFO] [stdout]     |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `File` is never constructed
[INFO] [stdout]    --> src/days/day09.rs:159:8
[INFO] [stdout]     |
[INFO] [stdout] 159 | struct File{
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `create_representation_p2` is never used
[INFO] [stdout]    --> src/days/day09.rs:164:8
[INFO] [stdout]     |
[INFO] [stdout] 164 | pub fn create_representation_p2(input: &Vec<i32>) -> (Vec<File>, Vec<(usize, usize)>){
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `create_representation_from_files_and_spaces` is never used
[INFO] [stdout]    --> src/days/day09.rs:192:4
[INFO] [stdout]     |
[INFO] [stdout] 192 | fn create_representation_from_files_and_spaces(files: &Vec<File>, size: usize) -> Vec<String>{
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `one_step` is never used
[INFO] [stdout]    --> src/days/day09.rs:204:4
[INFO] [stdout]     |
[INFO] [stdout] 204 | fn one_step(file: &File, spaces: &Vec<(usize, usize)>) -> (File, Vec<(usize, usize)>){
[INFO] [stdout]     |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `W_DAY` is never used
[INFO] [stdout]  --> src/utils.rs:6:7
[INFO] [stdout]   |
[INFO] [stdout] 6 | const W_DAY: usize = 10;
[INFO] [stdout]   |       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `W_PART` is never used
[INFO] [stdout]  --> src/utils.rs:7:7
[INFO] [stdout]   |
[INFO] [stdout] 7 | const W_PART: usize = 10;
[INFO] [stdout]   |       ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `mean` is never used
[INFO] [stdout]  --> src/utils.rs:9:4
[INFO] [stdout]   |
[INFO] [stdout] 9 | fn mean(numbers: &[f64]) -> f64 {
[INFO] [stdout]   |    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `measure_run` is never used
[INFO] [stdout]   --> src/utils.rs:13:4
[INFO] [stdout]    |
[INFO] [stdout] 13 | fn measure_run<S: ?Sized, T, F: Fn(&S) -> T>(f: &F, input: &S) -> f64 {
[INFO] [stdout]    |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `benchmark_run` is never used
[INFO] [stdout]   --> src/utils.rs:20:8
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub fn benchmark_run<S: ?Sized, T, F: Fn(&S) -> T>(f: F, input: &S) -> f64 {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `print_header` is never used
[INFO] [stdout]   --> src/utils.rs:33:8
[INFO] [stdout]    |
[INFO] [stdout] 33 | pub fn print_header() {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `print_day` is never used
[INFO] [stdout]   --> src/utils.rs:41:8
[INFO] [stdout]    |
[INFO] [stdout] 41 | pub fn print_day(day: u8, p1: f64, p2: f64) {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/utils.rs:65:12
[INFO] [stdout]     |
[INFO] [stdout]  63 | impl<T: Clone + std::fmt::Debug + std::str::FromStr + std::cmp::PartialEq  + ToString> Array2D<T> {
[INFO] [stdout]     | ------------------------------------------------------------------------------------------------- associated items in this implementation
[INFO] [stdout]  64 |     // Constructor to create a new 2D array with default value
[INFO] [stdout]  65 |     pub fn new(rows: usize, cols: usize, default_value: T) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  70 |     pub fn get_rows(&self) -> usize {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  74 |     pub fn get_row(&self, row: usize) -> Vec<T> {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  78 |     pub fn get_column(&self, col: usize) -> Vec<T> {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  82 |     pub fn get_cols(&self) -> usize {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  95 |     pub fn get_4_neighbours(&self, row: usize, col: usize) -> Vec<T> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 135 |     pub fn get_8_neighbours_coor(&self, row: usize, col: usize) -> Vec<(usize, usize)> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 159 |     pub fn set(&mut self, row: usize, col: usize, value: T) -> Result<(), &'static str> {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 176 |     pub fn is_on_boundary(& self, index: (usize, usize)) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 228 |     pub fn push(&mut self, new_row: Vec<T>) -> Result<(), &'static str> {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `multiple_bfs` is never used
[INFO] [stdout]    --> src/utils.rs:258:8
[INFO] [stdout]     |
[INFO] [stdout] 258 | pub fn multiple_bfs(
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `elementwise_subtraction` is never used
[INFO] [stdout]    --> src/utils.rs:423:4
[INFO] [stdout]     |
[INFO] [stdout] 423 | fn elementwise_subtraction(vec_a: Vec<i32>, vec_b: Vec<i32>) -> Vec<i32> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<Array2D<String>, Infallible>
[INFO] [stdout]  --> src/days/day04.rs:7:33
[INFO] [stdout]   |
[INFO] [stdout] 7 |     let grid: Array2D<String> = Array2D::parse_2d_input(&raw_input).unwrap();
[INFO] [stdout]   |                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: requested on the command line with `-D unmustuse-in-always-ok`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<Array2D<String>, Infallible>
[INFO] [stdout]   --> src/days/day06.rs:11:39
[INFO] [stdout]    |
[INFO] [stdout] 11 |     let grid_input: Array2D<String> = Array2D::parse_2d_input(&raw_input).unwrap();
[INFO] [stdout]    |                                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/days/day06.rs:28:5
[INFO] [stdout]    |
[INFO] [stdout] 28 |     visited_locations.set(start_position.0, start_position.1, "X".to_string());
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 28 |     let _ = visited_locations.set(start_position.0, start_position.1, "X".to_string());
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/days/day06.rs:104:9
[INFO] [stdout]     |
[INFO] [stdout] 104 |         visited_locations.set(new_position.0, new_position.1, "X".to_string());
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 104 |         let _ = visited_locations.set(new_position.0, new_position.1, "X".to_string());
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/days/day06.rs:130:17
[INFO] [stdout]     |
[INFO] [stdout] 130 |                 grid_changed.set(i, j, "#".to_string());
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 130 |                 let _ = grid_changed.set(i, j, "#".to_string());
[INFO] [stdout]     |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<Array2D<String>, Infallible>
[INFO] [stdout]   --> src/days/day08.rs:16:39
[INFO] [stdout]    |
[INFO] [stdout] 16 |     let input_grid: Array2D<String> = Array2D::parse_2d_input(&raw_input).unwrap();
[INFO] [stdout]    |                                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/days/day08.rs:37:9
[INFO] [stdout]    |
[INFO] [stdout] 37 |         helping_grid.set(*x as usize, *y as usize, "X".to_string());
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 37 |         let _ = helping_grid.set(*x as usize, *y as usize, "X".to_string());
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/days/day08.rs:148:9
[INFO] [stdout]     |
[INFO] [stdout] 148 |         helping_grid.set(*x as usize, *y as usize, "X".to_string());
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 148 |         let _ = helping_grid.set(*x as usize, *y as usize, "X".to_string());
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `currect` is never read
[INFO] [stdout]    --> src/utils.rs:273:23
[INFO] [stdout]     |
[INFO] [stdout] 273 |     let mut currect = start.clone();
[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: value assigned to `currect` is never read
[INFO] [stdout]    --> src/utils.rs:310:23
[INFO] [stdout]     |
[INFO] [stdout] 310 |     let mut currect = start.clone();
[INFO] [stdout]     |                       ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `day09::File` is more private than the item `create_representation_p2`
[INFO] [stdout]    --> src/days/day09.rs:164:1
[INFO] [stdout]     |
[INFO] [stdout] 164 | pub fn create_representation_p2(input: &Vec<i32>) -> (Vec<File>, Vec<(usize, usize)>){
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ function `create_representation_p2` is reachable at visibility `pub(crate)`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `day09::File` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> src/days/day09.rs:159:1
[INFO] [stdout]     |
[INFO] [stdout] 159 | struct File{
[INFO] [stdout]     | ^^^^^^^^^^^
[INFO] [stdout]     = note: `#[warn(private_interfaces)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `solve` is never used
[INFO] [stdout]  --> src/days/day01.rs:3:8
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub fn solve() {
[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 `parse_input` is never used
[INFO] [stdout]   --> src/days/day01.rs:16:4
[INFO] [stdout]    |
[INFO] [stdout] 16 | fn parse_input(raw_input: &str) -> (Vec<i32>,Vec<i32>){
[INFO] [stdout]    |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `solve_part_1` is never used
[INFO] [stdout]   --> src/days/day01.rs:29:4
[INFO] [stdout]    |
[INFO] [stdout] 29 | fn solve_part_1(left_values: &Vec<i32>, right_values: &Vec<i32>) -> usize{
[INFO] [stdout]    |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `solve_part_2` is never used
[INFO] [stdout]   --> src/days/day01.rs:45:4
[INFO] [stdout]    |
[INFO] [stdout] 45 | fn solve_part_2(left_values: &Vec<i32>, right_values: &Vec<i32>) -> usize{
[INFO] [stdout]    |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `number_of_occurences` is never used
[INFO] [stdout]   --> src/days/day01.rs:52:4
[INFO] [stdout]    |
[INFO] [stdout] 52 | fn number_of_occurences(value: &i32, right_values: &Vec<i32>) -> i32 {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `solve` is never used
[INFO] [stdout]  --> src/days/day02.rs:3:8
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub fn solve() {
[INFO] [stdout]   |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_input` is never used
[INFO] [stdout]   --> src/days/day02.rs:18:4
[INFO] [stdout]    |
[INFO] [stdout] 18 | fn parse_input(raw_input: &str) -> Vec<Vec<i32>>{
[INFO] [stdout]    |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `solve_part_1` is never used
[INFO] [stdout]   --> src/days/day02.rs:28:4
[INFO] [stdout]    |
[INFO] [stdout] 28 | fn solve_part_1(reports: &Vec<Vec<i32>>) -> usize{
[INFO] [stdout]    |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_safe` is never used
[INFO] [stdout]   --> src/days/day02.rs:32:4
[INFO] [stdout]    |
[INFO] [stdout] 32 | fn is_safe(levels: &Vec<i32>) -> bool{
[INFO] [stdout]    |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `solve_part_2` is never used
[INFO] [stdout]   --> src/days/day02.rs:40:4
[INFO] [stdout]    |
[INFO] [stdout] 40 | fn solve_part_2(reports: &Vec<Vec<i32>>) -> usize{
[INFO] [stdout]    |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_safe_with_tolerance` is never used
[INFO] [stdout]   --> src/days/day02.rs:44:4
[INFO] [stdout]    |
[INFO] [stdout] 44 | fn is_safe_with_tolerance(levels: &Vec<i32>) -> bool {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `solve` is never used
[INFO] [stdout]  --> src/days/day03.rs:5:8
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub fn solve(){
[INFO] [stdout]   |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `solve_p1` is never used
[INFO] [stdout]   --> src/days/day03.rs:16:4
[INFO] [stdout]    |
[INFO] [stdout] 16 | fn solve_p1(input: &str) -> i32{
[INFO] [stdout]    |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_to_int` is never used
[INFO] [stdout]   --> src/days/day03.rs:26:4
[INFO] [stdout]    |
[INFO] [stdout] 26 | fn parse_to_int(s: &str) -> (i32, i32){
[INFO] [stdout]    |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `solve_p2` is never used
[INFO] [stdout]   --> src/days/day03.rs:35:4
[INFO] [stdout]    |
[INFO] [stdout] 35 | fn solve_p2(input: &str) -> i32{
[INFO] [stdout]    |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `solve` is never used
[INFO] [stdout]  --> src/days/day04.rs:4:8
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub fn solve(){
[INFO] [stdout]   |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `solve_p1` is never used
[INFO] [stdout]   --> src/days/day04.rs:18:4
[INFO] [stdout]    |
[INFO] [stdout] 18 | fn solve_p1(grid: &Array2D<String>) -> i32{
[INFO] [stdout]    |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `find_for_given_i_j` is never used
[INFO] [stdout]   --> src/days/day04.rs:34:4
[INFO] [stdout]    |
[INFO] [stdout] 34 | fn find_for_given_i_j(grid: &Array2D<String>, i: usize, j: usize) -> usize {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `find_to_the_down` is never used
[INFO] [stdout]   --> src/days/day04.rs:51:4
[INFO] [stdout]    |
[INFO] [stdout] 51 | fn find_to_the_down(grid: &Array2D<String>, i: usize, j: usize) -> usize {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `find_to_the_up` is never used
[INFO] [stdout]   --> src/days/day04.rs:69:4
[INFO] [stdout]    |
[INFO] [stdout] 69 | fn find_to_the_up(grid: &Array2D<String>, i: usize, j: usize) -> usize {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `find_to_the_left` is never used
[INFO] [stdout]   --> src/days/day04.rs:86:4
[INFO] [stdout]    |
[INFO] [stdout] 86 | fn find_to_the_left(grid: &Array2D<String>, i: usize, j: usize) -> usize {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `find_to_the_right` is never used
[INFO] [stdout]    --> src/days/day04.rs:104:4
[INFO] [stdout]     |
[INFO] [stdout] 104 | fn find_to_the_right(grid: &Array2D<String>, i: usize, j: usize) -> usize {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `find_to_the_right_up` is never used
[INFO] [stdout]    --> src/days/day04.rs:122:4
[INFO] [stdout]     |
[INFO] [stdout] 122 | fn find_to_the_right_up(grid: &Array2D<String>, i: usize, j: usize) -> usize {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `find_to_the_right_down` is never used
[INFO] [stdout]    --> src/days/day04.rs:140:4
[INFO] [stdout]     |
[INFO] [stdout] 140 | fn find_to_the_right_down(grid: &Array2D<String>, i: usize, j: usize) -> usize {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `find_to_the_left_up` is never used
[INFO] [stdout]    --> src/days/day04.rs:158:4
[INFO] [stdout]     |
[INFO] [stdout] 158 | fn find_to_the_left_up(grid: &Array2D<String>, i: usize, j: usize) -> usize {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `find_to_the_left_down` is never used
[INFO] [stdout]    --> src/days/day04.rs:176:4
[INFO] [stdout]     |
[INFO] [stdout] 176 | fn find_to_the_left_down(grid: &Array2D<String>, i: usize, j: usize) -> usize {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_to_int` is never used
[INFO] [stdout]    --> src/days/day04.rs:195:4
[INFO] [stdout]     |
[INFO] [stdout] 195 | fn parse_to_int(s: &str) -> (i32, i32){
[INFO] [stdout]     |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `solve_p2` is never used
[INFO] [stdout]    --> src/days/day04.rs:204:4
[INFO] [stdout]     |
[INFO] [stdout] 204 | fn solve_p2(grid: &Array2D<String>) -> i32{
[INFO] [stdout]     |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `find_p2_for_given_i_j` is never used
[INFO] [stdout]    --> src/days/day04.rs:220:4
[INFO] [stdout]     |
[INFO] [stdout] 220 | fn find_p2_for_given_i_j(grid: &Array2D<String>, i: usize, j: usize) -> i32{
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `solve` is never used
[INFO] [stdout]  --> src/days/day05.rs:5:8
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub fn solve(){
[INFO] [stdout]   |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_input` is never used
[INFO] [stdout]   --> src/days/day05.rs:17:4
[INFO] [stdout]    |
[INFO] [stdout] 17 | fn parse_input(raw_input: &str) -> (Vec<(i32, i32)>, Vec<Vec<i32>>){
[INFO] [stdout]    |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `solve_p1` is never used
[INFO] [stdout]   --> src/days/day05.rs:44:4
[INFO] [stdout]    |
[INFO] [stdout] 44 | fn solve_p1(page_rules: &Vec<(i32, i32)>, pages_to_produce: &Vec<Vec<i32>>) -> i32{
[INFO] [stdout]    |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `page_is_in_correct_order` is never used
[INFO] [stdout]   --> src/days/day05.rs:57:4
[INFO] [stdout]    |
[INFO] [stdout] 57 | fn page_is_in_correct_order(page: &Vec<i32>, page_rules: &Vec<(i32, i32)>) -> bool {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `solve_p2` is never used
[INFO] [stdout]   --> src/days/day05.rs:73:4
[INFO] [stdout]    |
[INFO] [stdout] 73 | fn solve_p2(page_rules: &Vec<(i32, i32)>, pages_to_produce: &Vec<Vec<i32>>) -> i32{
[INFO] [stdout]    |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `compute_correct_page` is never used
[INFO] [stdout]   --> src/days/day05.rs:90:4
[INFO] [stdout]    |
[INFO] [stdout] 90 | fn compute_correct_page(page: &Vec<i32>, page_rules: &Vec<(i32, i32)>) -> Vec<i32> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `single_switch` is never used
[INFO] [stdout]    --> src/days/day05.rs:100:4
[INFO] [stdout]     |
[INFO] [stdout] 100 | fn single_switch(page: &Vec<i32>, page_rules: &Vec<(i32, i32)>) -> Vec<i32> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `solve` is never used
[INFO] [stdout]  --> src/days/day06.rs:8:8
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub fn solve(){
[INFO] [stdout]   |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `solve_p1` is never used
[INFO] [stdout]   --> src/days/day06.rs:24:4
[INFO] [stdout]    |
[INFO] [stdout] 24 | fn solve_p1(grid_input: &Array2D<String>) -> i32{
[INFO] [stdout]    |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Direction` is never used
[INFO] [stdout]   --> src/days/day06.rs:57:6
[INFO] [stdout]    |
[INFO] [stdout] 57 | enum Direction {
[INFO] [stdout]    |      ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `as_str` is never used
[INFO] [stdout]   --> src/days/day06.rs:66:8
[INFO] [stdout]    |
[INFO] [stdout] 64 | impl Direction {
[INFO] [stdout]    | -------------- method in this implementation
[INFO] [stdout] 65 |     // Method to get the associated string value
[INFO] [stdout] 66 |     fn as_str(&self) -> &str {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `direction_from_string` is never used
[INFO] [stdout]   --> src/days/day06.rs:75:4
[INFO] [stdout]    |
[INFO] [stdout] 75 | fn direction_from_string(id: &str) -> Direction {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `turn_right` is never used
[INFO] [stdout]   --> src/days/day06.rs:85:4
[INFO] [stdout]    |
[INFO] [stdout] 85 | fn turn_right(direction: Direction) -> Direction {
[INFO] [stdout]    |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `make_move` is never used
[INFO] [stdout]   --> src/days/day06.rs:94:4
[INFO] [stdout]    |
[INFO] [stdout] 94 | fn make_move(grid_input: &Array2D<String>, current_position: (usize, usize), direction: &Direction, visited_locations: &mut Array2D<Strin...
[INFO] [stdout]    |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `make_one_step` is never used
[INFO] [stdout]    --> src/days/day06.rs:109:4
[INFO] [stdout]     |
[INFO] [stdout] 109 | fn make_one_step(current_position: (usize, usize), direction: &Direction) -> (usize, usize){
[INFO] [stdout]     |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `solve_p2` is never used
[INFO] [stdout]    --> src/days/day06.rs:118:4
[INFO] [stdout]     |
[INFO] [stdout] 118 | fn solve_p2(grid_input: &Array2D<String>) -> i32 {
[INFO] [stdout]     |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `solve` is never used
[INFO] [stdout]   --> src/days/day07.rs:10:8
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub fn solve(){
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `solve_p1` is never used
[INFO] [stdout]   --> src/days/day07.rs:23:4
[INFO] [stdout]    |
[INFO] [stdout] 23 | fn solve_p1(raw_input: &str) -> i64{
[INFO] [stdout]    |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Operation` is never used
[INFO] [stdout]   --> src/days/day07.rs:34:6
[INFO] [stdout]    |
[INFO] [stdout] 34 | enum Operation {
[INFO] [stdout]    |      ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `line_can_be_solved` is never used
[INFO] [stdout]   --> src/days/day07.rs:52:4
[INFO] [stdout]    |
[INFO] [stdout] 52 | fn line_can_be_solved(line: &str, possible_operations: &Vec<Operation>) -> i64{
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `solve_line` is never used
[INFO] [stdout]   --> src/days/day07.rs:69:4
[INFO] [stdout]    |
[INFO] [stdout] 69 | fn solve_line(operands: &Vec<i64>, operations: &Vec<Operation>) -> i64{
[INFO] [stdout]    |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `single_operation` is never used
[INFO] [stdout]   --> src/days/day07.rs:79:4
[INFO] [stdout]    |
[INFO] [stdout] 79 | fn single_operation(left: i64, right: i64, operation: &Operation) -> i64{
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_line` is never used
[INFO] [stdout]   --> src/days/day07.rs:88:4
[INFO] [stdout]    |
[INFO] [stdout] 88 | fn parse_line(line: &str) -> (i64, Vec<i64>){
[INFO] [stdout]    |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `solve_p2` is never used
[INFO] [stdout]    --> src/days/day07.rs:100:4
[INFO] [stdout]     |
[INFO] [stdout] 100 | fn solve_p2(raw_input: &str) -> i64 {
[INFO] [stdout]     |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `solve` is never used
[INFO] [stdout]   --> src/days/day08.rs:13:8
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub fn solve(){
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `solve_p1` is never used
[INFO] [stdout]   --> src/days/day08.rs:25:4
[INFO] [stdout]    |
[INFO] [stdout] 25 | fn solve_p1(input_grid: &Array2D<String>) -> i64{
[INFO] [stdout]    |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `find_antinodes_for_given_frequency` is never used
[INFO] [stdout]   --> src/days/day08.rs:43:4
[INFO] [stdout]    |
[INFO] [stdout] 43 | fn find_antinodes_for_given_frequency(input_grid: &Array2D<String>, frequency: String) -> Vec<(i32, i32)>{
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_valid` is never used
[INFO] [stdout]   --> src/days/day08.rs:63:4
[INFO] [stdout]    |
[INFO] [stdout] 63 | fn is_valid(antinode: (i32, i32), rows: usize, cols: usize) -> bool{
[INFO] [stdout]    |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ParametricLine` is never constructed
[INFO] [stdout]   --> src/days/day08.rs:72:12
[INFO] [stdout]    |
[INFO] [stdout] 72 | pub struct ParametricLine{
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `get`, `direction_vector`, `angle`, and `get_all_points` are never used
[INFO] [stdout]    --> src/days/day08.rs:79:12
[INFO] [stdout]     |
[INFO] [stdout]  78 | impl ParametricLine {
[INFO] [stdout]     | ------------------- associated items in this implementation
[INFO] [stdout]  79 |     pub fn new(a: (i32, i32), b: (i32, i32)) -> ParametricLine {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  83 |     pub fn get(&self, t: i32) -> (i32, i32){
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  88 |     pub fn direction_vector(&self) -> (i32, i32){
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  92 |     pub fn angle(&self) -> f32{
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 101 |     pub fn get_all_points(&self, x_min: i32, x_max: i32, y_min: i32, y_max: i32) -> Vec<(i32, i32)>{
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `find_antinodes_for_given_pair` is never used
[INFO] [stdout]    --> src/days/day08.rs:106:4
[INFO] [stdout]     |
[INFO] [stdout] 106 | fn find_antinodes_for_given_pair(a: (usize, usize), b: (usize, usize)) -> ((i32, i32), (i32, i32)){
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_distance` is never used
[INFO] [stdout]    --> src/days/day08.rs:117:4
[INFO] [stdout]     |
[INFO] [stdout] 117 | fn get_distance(a: (usize, usize), b: (usize, usize)) -> f32{
[INFO] [stdout]     |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `collect_possible_frequencies` is never used
[INFO] [stdout]    --> src/days/day08.rs:124:4
[INFO] [stdout]     |
[INFO] [stdout] 124 | fn collect_possible_frequencies() -> Vec<String>{
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `solve_p2` is never used
[INFO] [stdout]    --> src/days/day08.rs:136:4
[INFO] [stdout]     |
[INFO] [stdout] 136 | fn solve_p2(input_grid: &Array2D<String>) -> i64{
[INFO] [stdout]     |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `find_all_antinodes_for_given_frequency` is never used
[INFO] [stdout]    --> src/days/day08.rs:154:4
[INFO] [stdout]     |
[INFO] [stdout] 154 | fn find_all_antinodes_for_given_frequency(input_grid: &Array2D<String>, frequency: String) -> Vec<(i32, i32)>{
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `find_all_antinodes_for_given_pair` is never used
[INFO] [stdout]    --> src/days/day08.rs:170:4
[INFO] [stdout]     |
[INFO] [stdout] 170 | fn find_all_antinodes_for_given_pair(a: (usize, usize), b: (usize, usize), rows: usize, cols: usize) -> Vec<(i32, i32)>{
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `solve` is never used
[INFO] [stdout]   --> src/days/day09.rs:14:8
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub fn solve(){
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `solve_p1` is never used
[INFO] [stdout]   --> src/days/day09.rs:31:4
[INFO] [stdout]    |
[INFO] [stdout] 31 | fn solve_p1(input: &Vec<i32>) -> i64{
[INFO] [stdout]    |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_sorted` is never used
[INFO] [stdout]   --> src/days/day09.rs:77:4
[INFO] [stdout]    |
[INFO] [stdout] 77 | fn is_sorted(representation_copy: &Vec<String>) -> bool{
[INFO] [stdout]    |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `create_representation` is never used
[INFO] [stdout]   --> src/days/day09.rs:86:8
[INFO] [stdout]    |
[INFO] [stdout] 86 | pub fn create_representation(input: &Vec<i32>) -> Vec<String>{
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `solve_p2` is never used
[INFO] [stdout]    --> src/days/day09.rs:107:4
[INFO] [stdout]     |
[INFO] [stdout] 107 | fn solve_p2(input: &Vec<i32>) -> i64{
[INFO] [stdout]     |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `File` is never constructed
[INFO] [stdout]    --> src/days/day09.rs:159:8
[INFO] [stdout]     |
[INFO] [stdout] 159 | struct File{
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `create_representation_p2` is never used
[INFO] [stdout]    --> src/days/day09.rs:164:8
[INFO] [stdout]     |
[INFO] [stdout] 164 | pub fn create_representation_p2(input: &Vec<i32>) -> (Vec<File>, Vec<(usize, usize)>){
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `create_representation_from_files_and_spaces` is never used
[INFO] [stdout]    --> src/days/day09.rs:192:4
[INFO] [stdout]     |
[INFO] [stdout] 192 | fn create_representation_from_files_and_spaces(files: &Vec<File>, size: usize) -> Vec<String>{
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `one_step` is never used
[INFO] [stdout]    --> src/days/day09.rs:204:4
[INFO] [stdout]     |
[INFO] [stdout] 204 | fn one_step(file: &File, spaces: &Vec<(usize, usize)>) -> (File, Vec<(usize, usize)>){
[INFO] [stdout]     |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `W_DAY` is never used
[INFO] [stdout]  --> src/utils.rs:6:7
[INFO] [stdout]   |
[INFO] [stdout] 6 | const W_DAY: usize = 10;
[INFO] [stdout]   |       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `W_PART` is never used
[INFO] [stdout]  --> src/utils.rs:7:7
[INFO] [stdout]   |
[INFO] [stdout] 7 | const W_PART: usize = 10;
[INFO] [stdout]   |       ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `mean` is never used
[INFO] [stdout]  --> src/utils.rs:9:4
[INFO] [stdout]   |
[INFO] [stdout] 9 | fn mean(numbers: &[f64]) -> f64 {
[INFO] [stdout]   |    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `measure_run` is never used
[INFO] [stdout]   --> src/utils.rs:13:4
[INFO] [stdout]    |
[INFO] [stdout] 13 | fn measure_run<S: ?Sized, T, F: Fn(&S) -> T>(f: &F, input: &S) -> f64 {
[INFO] [stdout]    |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `benchmark_run` is never used
[INFO] [stdout]   --> src/utils.rs:20:8
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub fn benchmark_run<S: ?Sized, T, F: Fn(&S) -> T>(f: F, input: &S) -> f64 {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `print_header` is never used
[INFO] [stdout]   --> src/utils.rs:33:8
[INFO] [stdout]    |
[INFO] [stdout] 33 | pub fn print_header() {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `print_day` is never used
[INFO] [stdout]   --> src/utils.rs:41:8
[INFO] [stdout]    |
[INFO] [stdout] 41 | pub fn print_day(day: u8, p1: f64, p2: f64) {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `aoc_2024` (bin "aoc_2024") due to 3 previous errors; 142 warnings emitted
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/utils.rs:65:12
[INFO] [stdout]     |
[INFO] [stdout]  63 | impl<T: Clone + std::fmt::Debug + std::str::FromStr + std::cmp::PartialEq  + ToString> Array2D<T> {
[INFO] [stdout]     | ------------------------------------------------------------------------------------------------- associated items in this implementation
[INFO] [stdout]  64 |     // Constructor to create a new 2D array with default value
[INFO] [stdout]  65 |     pub fn new(rows: usize, cols: usize, default_value: T) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  70 |     pub fn get_rows(&self) -> usize {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  74 |     pub fn get_row(&self, row: usize) -> Vec<T> {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  78 |     pub fn get_column(&self, col: usize) -> Vec<T> {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  82 |     pub fn get_cols(&self) -> usize {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  95 |     pub fn get_4_neighbours(&self, row: usize, col: usize) -> Vec<T> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 135 |     pub fn get_8_neighbours_coor(&self, row: usize, col: usize) -> Vec<(usize, usize)> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 159 |     pub fn set(&mut self, row: usize, col: usize, value: T) -> Result<(), &'static str> {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 176 |     pub fn is_on_boundary(& self, index: (usize, usize)) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 228 |     pub fn push(&mut self, new_row: Vec<T>) -> Result<(), &'static str> {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] warning: function `multiple_bfs` is never used
[INFO] [stdout]    --> src/utils.rs:258:8
[INFO] [stdout]     |
[INFO] [stdout] 258 | pub fn multiple_bfs(
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `elementwise_subtraction` is never used
[INFO] [stdout]    --> src/utils.rs:423:4
[INFO] [stdout]     |
[INFO] [stdout] 423 | fn elementwise_subtraction(vec_a: Vec<i32>, vec_b: Vec<i32>) -> Vec<i32> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<Array2D<String>, Infallible>
[INFO] [stdout]  --> src/days/day04.rs:7:33
[INFO] [stdout]   |
[INFO] [stdout] 7 |     let grid: Array2D<String> = Array2D::parse_2d_input(&raw_input).unwrap();
[INFO] [stdout]   |                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: requested on the command line with `-D unmustuse-in-always-ok`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<Array2D<String>, Infallible>
[INFO] [stdout]   --> src/days/day06.rs:11:39
[INFO] [stdout]    |
[INFO] [stdout] 11 |     let grid_input: Array2D<String> = Array2D::parse_2d_input(&raw_input).unwrap();
[INFO] [stdout]    |                                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/days/day06.rs:28:5
[INFO] [stdout]    |
[INFO] [stdout] 28 |     visited_locations.set(start_position.0, start_position.1, "X".to_string());
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 28 |     let _ = visited_locations.set(start_position.0, start_position.1, "X".to_string());
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/days/day06.rs:104:9
[INFO] [stdout]     |
[INFO] [stdout] 104 |         visited_locations.set(new_position.0, new_position.1, "X".to_string());
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 104 |         let _ = visited_locations.set(new_position.0, new_position.1, "X".to_string());
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/days/day06.rs:130:17
[INFO] [stdout]     |
[INFO] [stdout] 130 |                 grid_changed.set(i, j, "#".to_string());
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 130 |                 let _ = grid_changed.set(i, j, "#".to_string());
[INFO] [stdout]     |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<Array2D<String>, Infallible>
[INFO] [stdout]   --> src/days/day08.rs:16:39
[INFO] [stdout]    |
[INFO] [stdout] 16 |     let input_grid: Array2D<String> = Array2D::parse_2d_input(&raw_input).unwrap();
[INFO] [stdout]    |                                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/days/day08.rs:37:9
[INFO] [stdout]    |
[INFO] [stdout] 37 |         helping_grid.set(*x as usize, *y as usize, "X".to_string());
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 37 |         let _ = helping_grid.set(*x as usize, *y as usize, "X".to_string());
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/days/day08.rs:148:9
[INFO] [stdout]     |
[INFO] [stdout] 148 |         helping_grid.set(*x as usize, *y as usize, "X".to_string());
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 148 |         let _ = helping_grid.set(*x as usize, *y as usize, "X".to_string());
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `aoc_2024` (bin "aoc_2024" test) due to 3 previous errors; 142 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "c6048f8a1ef2537dd5ae4d2af8ddf14afe380a7bfdc125e4e19b382389311a6f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "c6048f8a1ef2537dd5ae4d2af8ddf14afe380a7bfdc125e4e19b382389311a6f", kill_on_drop: false }`
[INFO] [stdout] c6048f8a1ef2537dd5ae4d2af8ddf14afe380a7bfdc125e4e19b382389311a6f
