[INFO] cloning repository https://github.com/nordberg/adventofcode-2021
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/nordberg/adventofcode-2021" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fnordberg%2Fadventofcode-2021", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fnordberg%2Fadventofcode-2021'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] ad293b0c4954074593b3c9d3da33a4b5da3d223e
[INFO] checking nordberg/adventofcode-2021 against try#b1f2594eac607c1f051534800237eeedb5590a49 for pr-139493-3
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fnordberg%2Fadventofcode-2021" "/workspace/builds/worker-4-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/nordberg/adventofcode-2021
[INFO] finished tweaking git repo https://github.com/nordberg/adventofcode-2021
[INFO] tweaked toml for git repo https://github.com/nordberg/adventofcode-2021 written to /workspace/builds/worker-4-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/nordberg/adventofcode-2021 on toolchain b1f2594eac607c1f051534800237eeedb5590a49
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b1f2594eac607c1f051534800237eeedb5590a49" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/nordberg/adventofcode-2021 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" "+b1f2594eac607c1f051534800237eeedb5590a49" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+b1f2594eac607c1f051534800237eeedb5590a49" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 525077fd0e7f84fa5b5b8786d9fd18f20db776cf2a351cdce9df129ff63e6776
[INFO] running `Command { std: "docker" "start" "-a" "525077fd0e7f84fa5b5b8786d9fd18f20db776cf2a351cdce9df129ff63e6776", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "525077fd0e7f84fa5b5b8786d9fd18f20db776cf2a351cdce9df129ff63e6776", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "525077fd0e7f84fa5b5b8786d9fd18f20db776cf2a351cdce9df129ff63e6776", kill_on_drop: false }`
[INFO] [stdout] 525077fd0e7f84fa5b5b8786d9fd18f20db776cf2a351cdce9df129ff63e6776
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+b1f2594eac607c1f051534800237eeedb5590a49" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] df0b9bdf93967cb4312442c84b1efcfb493495ea3840d9419d957daf6c2a02e7
[INFO] running `Command { std: "docker" "start" "-a" "df0b9bdf93967cb4312442c84b1efcfb493495ea3840d9419d957daf6c2a02e7", kill_on_drop: false }`
[INFO] [stderr]     Checking strum v0.23.0
[INFO] [stderr]    Compiling syn v1.0.82
[INFO] [stderr]    Compiling strum_macros v0.23.1
[INFO] [stderr]    Compiling memoize v0.1.9
[INFO] [stderr]     Checking AdventOfCodeRust v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `crate::utils::get_adjacent`
[INFO] [stdout]  --> src/days/day_12.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::utils::get_adjacent;
[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 imports: `max` and `min`
[INFO] [stdout]  --> src/days/day_12.rs:2:16
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::cmp::{max, min};
[INFO] [stdout]   |                ^^^  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::utils::get_adjacent`
[INFO] [stdout]  --> src/days/day_12.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::utils::get_adjacent;
[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 imports: `max` and `min`
[INFO] [stdout]  --> src/days/day_12.rs:2:16
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::cmp::{max, min};
[INFO] [stdout]   |                ^^^  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BTreeMap`, `HashSet`, and `VecDeque`
[INFO] [stdout]  --> src/days/day_12.rs:3:24
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::collections::{BTreeMap, HashMap, HashSet, VecDeque};
[INFO] [stdout]   |                        ^^^^^^^^           ^^^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BTreeMap`, `HashSet`, and `VecDeque`
[INFO] [stdout]  --> src/days/day_12.rs:3:24
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::collections::{BTreeMap, HashMap, HashSet, VecDeque};
[INFO] [stdout]   |                        ^^^^^^^^           ^^^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Binary`, `Debug`, `Formatter`, and `Write`
[INFO] [stdout]  --> src/days/day_12.rs:4:16
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::fmt::{Binary, Debug, Formatter, Write};
[INFO] [stdout]   |                ^^^^^^  ^^^^^  ^^^^^^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Binary`, `Debug`, `Formatter`, and `Write`
[INFO] [stdout]  --> src/days/day_12.rs:4:16
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::fmt::{Binary, Debug, Formatter, Write};
[INFO] [stdout]   |                ^^^^^^  ^^^^^  ^^^^^^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `read`
[INFO] [stdout]  --> src/days/day_12.rs:5:15
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::fs::{read, File};
[INFO] [stdout]   |               ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ops::Index`
[INFO] [stdout]  --> src/days/day_12.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::ops::Index;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::usize`
[INFO] [stdout]  --> src/days/day_12.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::usize;
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cmp::min`
[INFO] [stdout]  --> src/days/day_14.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::cmp::min;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fmt::Debug`
[INFO] [stdout]  --> src/days/day_14.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::fmt::Debug;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> src/days/day_14.rs:97:12
[INFO] [stdout]    |
[INFO] [stdout] 97 |         if (k.clone() == 'C' || k.clone() == 'K') {
[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] 97 -         if (k.clone() == 'C' || k.clone() == 'K') {
[INFO] [stdout] 97 +         if k.clone() == 'C' || k.clone() == 'K'  {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `max`
[INFO] [stdout]  --> src/days/day_15.rs:2:16
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::cmp::{max, min};
[INFO] [stdout]   |                ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BTreeMap`, `BTreeSet`, and `BinaryHeap`
[INFO] [stdout]  --> src/days/day_15.rs:3:24
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::collections::{BTreeMap, BTreeSet, BinaryHeap, HashMap, HashSet};
[INFO] [stdout]   |                        ^^^^^^^^  ^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Duration`, `SystemTime`, and `UNIX_EPOCH`
[INFO] [stdout]  --> src/days/day_15.rs:4:17
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::time::{Duration, SystemTime, UNIX_EPOCH};
[INFO] [stdout]   |                 ^^^^^^^^  ^^^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `up` should have an upper camel case name
[INFO] [stdout]  --> src/days/day_2.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 |     up,
[INFO] [stdout]   |     ^^ help: convert the identifier to upper camel case (notice the capitalization): `Up`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(non_camel_case_types)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `down` should have an upper camel case name
[INFO] [stdout]  --> src/days/day_2.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 |     down,
[INFO] [stdout]   |     ^^^^ help: convert the identifier to upper camel case: `Down`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `forward` should have an upper camel case name
[INFO] [stdout]   --> src/days/day_2.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 |     forward,
[INFO] [stdout]    |     ^^^^^^^ help: convert the identifier to upper camel case (notice the capitalization): `Forward`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::get_adjacent`
[INFO] [stdout]  --> src/days/day_20.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::get_adjacent;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::num::ParseIntError`
[INFO] [stdout]  --> src/days/day_20.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::num::ParseIntError;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::process::exit`
[INFO] [stdout]  --> src/days/day_25.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::process::exit;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `read`
[INFO] [stdout]  --> src/days/day_12.rs:5:15
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::fs::{read, File};
[INFO] [stdout]   |               ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::get_adjacent`
[INFO] [stdout]  --> src/days/day_9.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::get_adjacent;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ops::Index`
[INFO] [stdout]  --> src/days/day_12.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::ops::Index;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `find_basin_size`
[INFO] [stdout]   --> src/days/day_9.rs:80:30
[INFO] [stdout]    |
[INFO] [stdout] 80 |     use crate::days::day_9::{find_basin_size, find_lowest_points};
[INFO] [stdout]    |                              ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::usize`
[INFO] [stdout]  --> src/days/day_12.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::usize;
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cmp::min`
[INFO] [stdout]  --> src/days/day_14.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::cmp::min;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fmt::Debug`
[INFO] [stdout]  --> src/days/day_14.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::fmt::Debug;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> src/days/day_14.rs:97:12
[INFO] [stdout]    |
[INFO] [stdout] 97 |         if (k.clone() == 'C' || k.clone() == 'K') {
[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] 97 -         if (k.clone() == 'C' || k.clone() == 'K') {
[INFO] [stdout] 97 +         if k.clone() == 'C' || k.clone() == 'K'  {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `max`
[INFO] [stdout]  --> src/days/day_15.rs:2:16
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::cmp::{max, min};
[INFO] [stdout]   |                ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BTreeMap`, `BTreeSet`, and `BinaryHeap`
[INFO] [stdout]  --> src/days/day_15.rs:3:24
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::collections::{BTreeMap, BTreeSet, BinaryHeap, HashMap, HashSet};
[INFO] [stdout]   |                        ^^^^^^^^  ^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Duration`, `SystemTime`, and `UNIX_EPOCH`
[INFO] [stdout]  --> src/days/day_15.rs:4:17
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::time::{Duration, SystemTime, UNIX_EPOCH};
[INFO] [stdout]   |                 ^^^^^^^^  ^^^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `up` should have an upper camel case name
[INFO] [stdout]  --> src/days/day_2.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 |     up,
[INFO] [stdout]   |     ^^ help: convert the identifier to upper camel case (notice the capitalization): `Up`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(non_camel_case_types)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::days::day_13::fold`
[INFO] [stdout]  --> src/main.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::days::day_13::fold;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::days::day_14::solve_day_14`
[INFO] [stdout]  --> src/main.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::days::day_14::solve_day_14;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::days::day_16::solve_day_16`
[INFO] [stdout]   --> src/main.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::days::day_16::solve_day_16;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::days::day_17::solve_day_17`
[INFO] [stdout]   --> src/main.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use crate::days::day_17::solve_day_17;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::days::day_20::solve_day_20`
[INFO] [stdout]   --> src/main.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use crate::days::day_20::solve_day_20;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::days::day_25::solve`
[INFO] [stdout]   --> src/main.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use crate::days::day_25::solve;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::days::day_5::solve_day_5`
[INFO] [stdout]   --> src/main.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use crate::days::day_5::solve_day_5;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::days::day_9::solve_day_9`
[INFO] [stdout]   --> src/main.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use crate::days::day_9::solve_day_9;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `max` and `min`
[INFO] [stdout]   --> src/main.rs:17:16
[INFO] [stdout]    |
[INFO] [stdout] 17 | use std::cmp::{max, min};
[INFO] [stdout]    |                ^^^  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BTreeMap`, `HashMap`, `HashSet`, and `VecDeque`
[INFO] [stdout]   --> src/main.rs:18:24
[INFO] [stdout]    |
[INFO] [stdout] 18 | use std::collections::{BTreeMap, HashMap, HashSet, VecDeque};
[INFO] [stdout]    |                        ^^^^^^^^  ^^^^^^^  ^^^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Binary`, `Debug`, `Formatter`, and `Write`
[INFO] [stdout]   --> src/main.rs:19:16
[INFO] [stdout]    |
[INFO] [stdout] 19 | use std::fmt::{Binary, Debug, Formatter, Write};
[INFO] [stdout]    |                ^^^^^^  ^^^^^  ^^^^^^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `read`
[INFO] [stdout]   --> src/main.rs:20:15
[INFO] [stdout]    |
[INFO] [stdout] 20 | use std::fs::{read, File};
[INFO] [stdout]    |               ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ops::Index`
[INFO] [stdout]   --> src/main.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 22 | use std::ops::Index;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::usize`
[INFO] [stdout]   --> src/main.rs:23:5
[INFO] [stdout]    |
[INFO] [stdout] 23 | use std::usize;
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `down` should have an upper camel case name
[INFO] [stdout]  --> src/days/day_2.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 |     down,
[INFO] [stdout]   |     ^^^^ help: convert the identifier to upper camel case: `Down`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `forward` should have an upper camel case name
[INFO] [stdout]   --> src/days/day_2.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 |     forward,
[INFO] [stdout]    |     ^^^^^^^ help: convert the identifier to upper camel case (notice the capitalization): `Forward`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::get_adjacent`
[INFO] [stdout]  --> src/days/day_20.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::get_adjacent;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::num::ParseIntError`
[INFO] [stdout]  --> src/days/day_20.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::num::ParseIntError;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::process::exit`
[INFO] [stdout]  --> src/days/day_25.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::process::exit;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::get_adjacent`
[INFO] [stdout]  --> src/days/day_9.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::get_adjacent;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::days::day_13::fold`
[INFO] [stdout]  --> src/main.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::days::day_13::fold;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::days::day_14::solve_day_14`
[INFO] [stdout]  --> src/main.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::days::day_14::solve_day_14;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::days::day_16::solve_day_16`
[INFO] [stdout]   --> src/main.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::days::day_16::solve_day_16;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::days::day_17::solve_day_17`
[INFO] [stdout]   --> src/main.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use crate::days::day_17::solve_day_17;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::days::day_20::solve_day_20`
[INFO] [stdout]   --> src/main.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use crate::days::day_20::solve_day_20;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::days::day_25::solve`
[INFO] [stdout]   --> src/main.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use crate::days::day_25::solve;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::days::day_5::solve_day_5`
[INFO] [stdout]   --> src/main.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use crate::days::day_5::solve_day_5;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::days::day_9::solve_day_9`
[INFO] [stdout]   --> src/main.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use crate::days::day_9::solve_day_9;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `max` and `min`
[INFO] [stdout]   --> src/main.rs:17:16
[INFO] [stdout]    |
[INFO] [stdout] 17 | use std::cmp::{max, min};
[INFO] [stdout]    |                ^^^  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BTreeMap`, `HashMap`, `HashSet`, and `VecDeque`
[INFO] [stdout]   --> src/main.rs:18:24
[INFO] [stdout]    |
[INFO] [stdout] 18 | use std::collections::{BTreeMap, HashMap, HashSet, VecDeque};
[INFO] [stdout]    |                        ^^^^^^^^  ^^^^^^^  ^^^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Binary`, `Debug`, `Formatter`, and `Write`
[INFO] [stdout]   --> src/main.rs:19:16
[INFO] [stdout]    |
[INFO] [stdout] 19 | use std::fmt::{Binary, Debug, Formatter, Write};
[INFO] [stdout]    |                ^^^^^^  ^^^^^  ^^^^^^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `read`
[INFO] [stdout]   --> src/main.rs:20:15
[INFO] [stdout]    |
[INFO] [stdout] 20 | use std::fs::{read, File};
[INFO] [stdout]    |               ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ops::Index`
[INFO] [stdout]   --> src/main.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 22 | use std::ops::Index;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::usize`
[INFO] [stdout]   --> src/main.rs:23:5
[INFO] [stdout]    |
[INFO] [stdout] 23 | use std::usize;
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/days/day_11.rs:78:13
[INFO] [stdout]    |
[INFO] [stdout] 78 |         let mut oct = vec![
[INFO] [stdout]    |             ----^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/days/day_11.rs:92:13
[INFO] [stdout]    |
[INFO] [stdout] 92 |         let mut oct = vec![
[INFO] [stdout]    |             ----^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/days/day_13.rs:26:9
[INFO] [stdout]    |
[INFO] [stdout] 26 |     let mut left = _left.to_vec();
[INFO] [stdout]    |         ----^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]  --> src/days/day_14.rs:8:9
[INFO] [stdout]   |
[INFO] [stdout] 8 |     let mut start_chunk = chunks.next().unwrap();
[INFO] [stdout]   |         ----^^^^^^^^^^^
[INFO] [stdout]   |         |
[INFO] [stdout]   |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `result`
[INFO] [stdout]   --> src/days/day_14.rs:26:9
[INFO] [stdout]    |
[INFO] [stdout] 26 |     let result = solve_solve_part_2(String::from(start_chunk), rules, 0);
[INFO] [stdout]    |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_result`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `steps`
[INFO] [stdout]   --> src/days/day_14.rs:40:76
[INFO] [stdout]    |
[INFO] [stdout] 40 | fn solve_solve_part_2(input: String, rules: HashMap<(char, char), String>, steps: i32) -> String {
[INFO] [stdout]    |                                                                            ^^^^^ help: if this is intentional, prefix it with an underscore: `_steps`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/days/day_14.rs:116:5
[INFO] [stdout]     |
[INFO] [stdout] 116 |     mut input: String,
[INFO] [stdout]     |     ----^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/days/day_16.rs:33:9
[INFO] [stdout]    |
[INFO] [stdout] 33 |     let mut result = vec![];
[INFO] [stdout]    |         ----^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]   --> src/days/day_17.rs:82:61
[INFO] [stdout]    |
[INFO] [stdout] 82 |             println!("Max y: {}", steps.iter().max_by_key(|(x, y)| *y).unwrap().1);
[INFO] [stdout]    |                                                             ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/days/day_20.rs:215:13
[INFO] [stdout]     |
[INFO] [stdout] 215 |         let mut indices = get_adjacent(&img, 4, 3, true, true);
[INFO] [stdout]     |             ----^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/days/day_13.rs:26:9
[INFO] [stdout]    |
[INFO] [stdout] 26 |     let mut left = _left.to_vec();
[INFO] [stdout]    |         ----^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]  --> src/days/day_9.rs:8:13
[INFO] [stdout]   |
[INFO] [stdout] 8 |         let mut chars = line.chars();
[INFO] [stdout]   |             ----^^^^^
[INFO] [stdout]   |             |
[INFO] [stdout]   |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]  --> src/days/day_14.rs:8:9
[INFO] [stdout]   |
[INFO] [stdout] 8 |     let mut start_chunk = chunks.next().unwrap();
[INFO] [stdout]   |         ----^^^^^^^^^^^
[INFO] [stdout]   |         |
[INFO] [stdout]   |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `result`
[INFO] [stdout]   --> src/days/day_14.rs:26:9
[INFO] [stdout]    |
[INFO] [stdout] 26 |     let result = solve_solve_part_2(String::from(start_chunk), rules, 0);
[INFO] [stdout]    |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_result`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `include_diagonals`
[INFO] [stdout]   --> src/utils/mod.rs:91:5
[INFO] [stdout]    |
[INFO] [stdout] 91 |     include_diagonals: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_include_diagonals`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `include_mid`
[INFO] [stdout]   --> src/utils/mod.rs:92:5
[INFO] [stdout]    |
[INFO] [stdout] 92 |     include_mid: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_include_mid`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `num_of_window_increases` is never used
[INFO] [stdout]  --> src/days/day_1.rs:1:8
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub fn num_of_window_increases(sonar_measurements: &[i32]) -> i32 {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `main` is never used
[INFO] [stdout]   --> src/days/day_12.rs:10:4
[INFO] [stdout]    |
[INFO] [stdout] 10 | fn main() -> io::Result<()> {
[INFO] [stdout]    |    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `calculate_entry_count` is never used
[INFO] [stdout]   --> src/days/day_12.rs:40:4
[INFO] [stdout]    |
[INFO] [stdout] 40 | fn calculate_entry_count<'a>(
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `fold` is never used
[INFO] [stdout]  --> src/days/day_13.rs:3:8
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub fn fold(points: Vec<(i32, i32)>, mut folds: Vec<(String, i32)>) {
[INFO] [stdout]   |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `transpose_grid` is never used
[INFO] [stdout]   --> src/days/day_13.rs:50:4
[INFO] [stdout]    |
[INFO] [stdout] 50 | fn transpose_grid(grid: &Vec<Vec<i32>>) -> Vec<Vec<i32>> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `points_to_grid` is never used
[INFO] [stdout]   --> src/days/day_13.rs:62:4
[INFO] [stdout]    |
[INFO] [stdout] 62 | fn points_to_grid(points: &[(i32, i32)]) -> Vec<Vec<i32>> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `print_paper` is never used
[INFO] [stdout]   --> src/days/day_13.rs:74:4
[INFO] [stdout]    |
[INFO] [stdout] 74 | fn print_paper(paper: &Vec<Vec<i32>>) {
[INFO] [stdout]    |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `FoldDirection` is never used
[INFO] [stdout]    --> src/days/day_13.rs:152:6
[INFO] [stdout]     |
[INFO] [stdout] 152 | enum FoldDirection {
[INFO] [stdout]     |      ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `fold_paper` is never used
[INFO] [stdout]    --> src/days/day_13.rs:157:4
[INFO] [stdout]     |
[INFO] [stdout] 157 | fn fold_paper(
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_folding_minimal_grid` is never used
[INFO] [stdout]    --> src/days/day_13.rs:101:8
[INFO] [stdout]     |
[INFO] [stdout] 101 |     fn test_folding_minimal_grid() {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_folding_minimal_grid_with_rows` is never used
[INFO] [stdout]    --> src/days/day_13.rs:110:8
[INFO] [stdout]     |
[INFO] [stdout] 110 |     fn test_folding_minimal_grid_with_rows() {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_folding_minimal_grid_with_rows_left_ones` is never used
[INFO] [stdout]    --> src/days/day_13.rs:119:8
[INFO] [stdout]     |
[INFO] [stdout] 119 |     fn test_folding_minimal_grid_with_rows_left_ones() {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_folding_minimal_grid_with_rows_only_ones` is never used
[INFO] [stdout]    --> src/days/day_13.rs:128:8
[INFO] [stdout]     |
[INFO] [stdout] 128 |     fn test_folding_minimal_grid_with_rows_only_ones() {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `solve_day_14` is never used
[INFO] [stdout]  --> src/days/day_14.rs:5:8
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub fn solve_day_14(input: &str) {
[INFO] [stdout]   |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `solve_solve_part_2` is never used
[INFO] [stdout]   --> src/days/day_14.rs:40:4
[INFO] [stdout]    |
[INFO] [stdout] 40 | fn solve_solve_part_2(input: String, rules: HashMap<(char, char), String>, steps: i32) -> String {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `solve_solve_part_1` is never used
[INFO] [stdout]    --> src/days/day_14.rs:115:4
[INFO] [stdout]     |
[INFO] [stdout] 115 | fn solve_solve_part_1(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `print_grid` is never used
[INFO] [stdout]    --> src/days/day_15.rs:110:4
[INFO] [stdout]     |
[INFO] [stdout] 110 | fn print_grid(points: &Vec<u32>, width: usize) {
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `lowest_risk` is never used
[INFO] [stdout]    --> src/days/day_15.rs:119:4
[INFO] [stdout]     |
[INFO] [stdout] 119 | fn lowest_risk(
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `solve_day_16` is never used
[INFO] [stdout]  --> src/days/day_16.rs:3:8
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub fn solve_day_16(input: &str) {
[INFO] [stdout]   |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `extract_sub_packets` is never used
[INFO] [stdout]   --> src/days/day_16.rs:32:4
[INFO] [stdout]    |
[INFO] [stdout] 32 | fn extract_sub_packets(packets: &str) -> Vec<String> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `find_literal_value` is never used
[INFO] [stdout]   --> src/days/day_16.rs:51:4
[INFO] [stdout]    |
[INFO] [stdout] 51 | fn find_literal_value(packet: &str) -> i32 {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Projectile` is never constructed
[INFO] [stdout]  --> src/days/day_17.rs:3:8
[INFO] [stdout]   |
[INFO] [stdout] 3 | struct Projectile {
[INFO] [stdout]   |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `solve_day_17` is never used
[INFO] [stdout]   --> src/days/day_17.rs:12:8
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub fn solve_day_17() {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `step` and `get_steps_until_out_of_bounds` are never used
[INFO] [stdout]   --> src/days/day_17.rs:43:8
[INFO] [stdout]    |
[INFO] [stdout] 42 | impl Projectile {
[INFO] [stdout]    | --------------- methods in this implementation
[INFO] [stdout] 43 |     fn step(&mut self) {
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 59 |     fn get_steps_until_out_of_bounds(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `print_trajectory` is never used
[INFO] [stdout]   --> src/days/day_17.rs:91:4
[INFO] [stdout]    |
[INFO] [stdout] 91 | fn print_trajectory(lo_x: i32, lo_y: i32, hi_x: i32, hi_y: i32, steps: &[(i32, i32)]) {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Direction` is never used
[INFO] [stdout]  --> src/days/day_2.rs:7:6
[INFO] [stdout]   |
[INFO] [stdout] 7 | enum Direction {
[INFO] [stdout]   |      ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Movement` is never constructed
[INFO] [stdout]   --> src/days/day_2.rs:13:8
[INFO] [stdout]    |
[INFO] [stdout] 13 | struct Movement {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Point` is never constructed
[INFO] [stdout]   --> src/days/day_2.rs:19:8
[INFO] [stdout]    |
[INFO] [stdout] 19 | struct Point {
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `calculate_movements` is never used
[INFO] [stdout]   --> src/days/day_2.rs:25:8
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub fn calculate_movements() {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `apply` is never used
[INFO] [stdout]   --> src/days/day_2.rs:62:12
[INFO] [stdout]    |
[INFO] [stdout] 61 | impl Point {
[INFO] [stdout]    | ---------- method in this implementation
[INFO] [stdout] 62 |     pub fn apply(&self, m: &Movement) -> Point {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `solve_day_20` is never used
[INFO] [stdout]  --> src/days/day_20.rs:6:8
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub fn solve_day_20(input: &str) {
[INFO] [stdout]   |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `print_map` is never used
[INFO] [stdout]   --> src/days/day_20.rs:90:4
[INFO] [stdout]    |
[INFO] [stdout] 90 | fn print_map(lights: &HashMap<(i32, i32), i32>) {
[INFO] [stdout]    |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_coords_surrounding` is never used
[INFO] [stdout]    --> src/days/day_20.rs:113:4
[INFO] [stdout]     |
[INFO] [stdout] 113 | fn get_coords_surrounding(point: (i32, i32)) -> Vec<(i32, i32)> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `solve_day_20_1` is never used
[INFO] [stdout]    --> src/days/day_20.rs:126:8
[INFO] [stdout]     |
[INFO] [stdout] 126 | pub fn solve_day_20_1(input: &str) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `transform_image` is never used
[INFO] [stdout]    --> src/days/day_20.rs:175:4
[INFO] [stdout]     |
[INFO] [stdout] 175 | fn transform_image(algo: &[i32], img: &[i32], width: usize, num_transformations: i32) -> Vec<i32> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `print_grid` is never used
[INFO] [stdout]    --> src/days/day_20.rs:273:4
[INFO] [stdout]     |
[INFO] [stdout] 273 | fn print_grid(grid: &[i32], width: usize, i: usize) {
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Direction` is never used
[INFO] [stdout]  --> src/days/day_25.rs:5:6
[INFO] [stdout]   |
[INFO] [stdout] 5 | enum Direction {
[INFO] [stdout]   |      ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `solve` is never used
[INFO] [stdout]   --> src/days/day_25.rs:10:8
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub fn solve(input: &str) {
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Bits` is never constructed
[INFO] [stdout]  --> src/days/day_3.rs:6:8
[INFO] [stdout]   |
[INFO] [stdout] 6 | struct Bits {
[INFO] [stdout]   |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `power_consumption` is never used
[INFO] [stdout]   --> src/days/day_3.rs:11:8
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub fn power_consumption() -> io::Result<()> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `calculate_generator_rating` is never used
[INFO] [stdout]   --> src/days/day_3.rs:61:4
[INFO] [stdout]    |
[INFO] [stdout] 61 | fn calculate_generator_rating(bit_strs: Vec<&str>, idx: usize) -> isize {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `solve_day_5` is never used
[INFO] [stdout]  --> src/days/day_5.rs:4:8
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub fn solve_day_5(input: &str) {
[INFO] [stdout]   |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `fish_population` is never used
[INFO] [stdout]  --> src/days/day_6.rs:5:8
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub fn fish_population(reader: BufReader<File>) -> i64 {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_steps` is never used
[INFO] [stdout]  --> src/days/day_7.rs:5:4
[INFO] [stdout]   |
[INFO] [stdout] 5 | fn get_steps() -> io::Result<()> {
[INFO] [stdout]   |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BingoCard` is never constructed
[INFO] [stdout]   --> src/days/day_7.rs:44:8
[INFO] [stdout]    |
[INFO] [stdout] 44 | struct BingoCard {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `has_bingo`, `has_vertical_bingo`, `has_horizontal_bingo`, `has_diagonal_bingo`, `numbers_not_in_bingo`, and `win` are never used
[INFO] [stdout]    --> src/days/day_7.rs:50:12
[INFO] [stdout]     |
[INFO] [stdout]  49 | impl BingoCard {
[INFO] [stdout]     | -------------- methods in this implementation
[INFO] [stdout]  50 |     pub fn has_bingo(&self, bingo_numbers: HashSet<i32>) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  56 |     fn has_vertical_bingo(&self, bingo_numbers: HashSet<i32>) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  72 |     fn has_horizontal_bingo(&self, bingo_numbers: HashSet<i32>) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  78 |     fn has_diagonal_bingo(&self, bingo_numbers: HashSet<i32>) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  91 |     fn numbers_not_in_bingo(&self, bingo_numbers: HashSet<i32>) -> Vec<i32> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 100 |     fn win(&mut self) {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `bingo` is never used
[INFO] [stdout]    --> src/days/day_7.rs:105:4
[INFO] [stdout]     |
[INFO] [stdout] 105 | fn bingo() -> io::Result<()> {
[INFO] [stdout]     |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `solve_day_9` is never used
[INFO] [stdout]  --> src/days/day_9.rs:4:8
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub fn solve_day_9(input: &str) {
[INFO] [stdout]   |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_adjacent_optionals` is never used
[INFO] [stdout]   --> src/utils/mod.rs:87:8
[INFO] [stdout]    |
[INFO] [stdout] 87 | pub fn get_adjacent_optionals<T>(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `steps`
[INFO] [stdout]   --> src/days/day_14.rs:40:76
[INFO] [stdout]    |
[INFO] [stdout] 40 | fn solve_solve_part_2(input: String, rules: HashMap<(char, char), String>, steps: i32) -> String {
[INFO] [stdout]    |                                                                            ^^^^^ help: if this is intentional, prefix it with an underscore: `_steps`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/days/day_14.rs:116:5
[INFO] [stdout]     |
[INFO] [stdout] 116 |     mut input: String,
[INFO] [stdout]     |     ----^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/days/day_16.rs:33:9
[INFO] [stdout]    |
[INFO] [stdout] 33 |     let mut result = vec![];
[INFO] [stdout]    |         ----^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]   --> src/days/day_17.rs:82:61
[INFO] [stdout]    |
[INFO] [stdout] 82 |             println!("Max y: {}", steps.iter().max_by_key(|(x, y)| *y).unwrap().1);
[INFO] [stdout]    |                                                             ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]  --> src/days/day_9.rs:8:13
[INFO] [stdout]   |
[INFO] [stdout] 8 |         let mut chars = line.chars();
[INFO] [stdout]   |             ----^^^^^
[INFO] [stdout]   |             |
[INFO] [stdout]   |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `include_diagonals`
[INFO] [stdout]   --> src/utils/mod.rs:91:5
[INFO] [stdout]    |
[INFO] [stdout] 91 |     include_diagonals: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_include_diagonals`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `include_mid`
[INFO] [stdout]   --> src/utils/mod.rs:92:5
[INFO] [stdout]    |
[INFO] [stdout] 92 |     include_mid: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_include_mid`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `num_of_window_increases` is never used
[INFO] [stdout]  --> src/days/day_1.rs:1:8
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub fn num_of_window_increases(sonar_measurements: &[i32]) -> i32 {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PART_TWO` is never used
[INFO] [stdout]  --> src/days/day_11.rs:4:7
[INFO] [stdout]   |
[INFO] [stdout] 4 | const PART_TWO: bool = false;
[INFO] [stdout]   |       ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `count_flashes` is never used
[INFO] [stdout]  --> src/days/day_11.rs:6:4
[INFO] [stdout]   |
[INFO] [stdout] 6 | fn count_flashes(mut oct: Vec<u32>, width: usize, steps: usize) -> Vec<u32> {
[INFO] [stdout]   |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `print_oct` is never used
[INFO] [stdout]   --> src/days/day_11.rs:19:4
[INFO] [stdout]    |
[INFO] [stdout] 19 | fn print_oct(oct: &[u32], width: usize) {
[INFO] [stdout]    |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `flash_octo` is never used
[INFO] [stdout]   --> src/days/day_11.rs:34:4
[INFO] [stdout]    |
[INFO] [stdout] 34 | fn flash_octo(
[INFO] [stdout]    |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `main` is never used
[INFO] [stdout]   --> src/days/day_12.rs:10:4
[INFO] [stdout]    |
[INFO] [stdout] 10 | fn main() -> io::Result<()> {
[INFO] [stdout]    |    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `calculate_entry_count` is never used
[INFO] [stdout]   --> src/days/day_12.rs:40:4
[INFO] [stdout]    |
[INFO] [stdout] 40 | fn calculate_entry_count<'a>(
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `fold` is never used
[INFO] [stdout]  --> src/days/day_13.rs:3:8
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub fn fold(points: Vec<(i32, i32)>, mut folds: Vec<(String, i32)>) {
[INFO] [stdout]   |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `split_vec_and_reverse_right` is never used
[INFO] [stdout]   --> src/days/day_13.rs:24:4
[INFO] [stdout]    |
[INFO] [stdout] 24 | fn split_vec_and_reverse_right<T: Clone>(v: &Vec<T>, at: usize) -> (Vec<T>, Vec<T>) {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `fold_rows` is never used
[INFO] [stdout]   --> src/days/day_13.rs:32:4
[INFO] [stdout]    |
[INFO] [stdout] 32 | fn fold_rows(fold_at: i32, grid: &Vec<Vec<i32>>, is_transposed: bool) -> Vec<(i32, i32)> {
[INFO] [stdout]    |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `transpose_grid` is never used
[INFO] [stdout]   --> src/days/day_13.rs:50:4
[INFO] [stdout]    |
[INFO] [stdout] 50 | fn transpose_grid(grid: &Vec<Vec<i32>>) -> Vec<Vec<i32>> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `points_to_grid` is never used
[INFO] [stdout]   --> src/days/day_13.rs:62:4
[INFO] [stdout]    |
[INFO] [stdout] 62 | fn points_to_grid(points: &[(i32, i32)]) -> Vec<Vec<i32>> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `print_paper` is never used
[INFO] [stdout]   --> src/days/day_13.rs:74:4
[INFO] [stdout]    |
[INFO] [stdout] 74 | fn print_paper(paper: &Vec<Vec<i32>>) {
[INFO] [stdout]    |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `FoldDirection` is never used
[INFO] [stdout]    --> src/days/day_13.rs:152:6
[INFO] [stdout]     |
[INFO] [stdout] 152 | enum FoldDirection {
[INFO] [stdout]     |      ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `fold_paper` is never used
[INFO] [stdout]    --> src/days/day_13.rs:157:4
[INFO] [stdout]     |
[INFO] [stdout] 157 | fn fold_paper(
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `solve_day_14` is never used
[INFO] [stdout]  --> src/days/day_14.rs:5:8
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub fn solve_day_14(input: &str) {
[INFO] [stdout]   |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `solve_solve_part_2` is never used
[INFO] [stdout]   --> src/days/day_14.rs:40:4
[INFO] [stdout]    |
[INFO] [stdout] 40 | fn solve_solve_part_2(input: String, rules: HashMap<(char, char), String>, steps: i32) -> String {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `solve_solve_part_1` is never used
[INFO] [stdout]    --> src/days/day_14.rs:115:4
[INFO] [stdout]     |
[INFO] [stdout] 115 | fn solve_solve_part_1(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `print_grid` is never used
[INFO] [stdout]    --> src/days/day_15.rs:110:4
[INFO] [stdout]     |
[INFO] [stdout] 110 | fn print_grid(points: &Vec<u32>, width: usize) {
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `lowest_risk` is never used
[INFO] [stdout]    --> src/days/day_15.rs:119:4
[INFO] [stdout]     |
[INFO] [stdout] 119 | fn lowest_risk(
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `solve_day_16` is never used
[INFO] [stdout]  --> src/days/day_16.rs:3:8
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub fn solve_day_16(input: &str) {
[INFO] [stdout]   |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `extract_sub_packets` is never used
[INFO] [stdout]   --> src/days/day_16.rs:32:4
[INFO] [stdout]    |
[INFO] [stdout] 32 | fn extract_sub_packets(packets: &str) -> Vec<String> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `find_literal_value` is never used
[INFO] [stdout]   --> src/days/day_16.rs:51:4
[INFO] [stdout]    |
[INFO] [stdout] 51 | fn find_literal_value(packet: &str) -> i32 {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Projectile` is never constructed
[INFO] [stdout]  --> src/days/day_17.rs:3:8
[INFO] [stdout]   |
[INFO] [stdout] 3 | struct Projectile {
[INFO] [stdout]   |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `solve_day_17` is never used
[INFO] [stdout]   --> src/days/day_17.rs:12:8
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub fn solve_day_17() {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `step` and `get_steps_until_out_of_bounds` are never used
[INFO] [stdout]   --> src/days/day_17.rs:43:8
[INFO] [stdout]    |
[INFO] [stdout] 42 | impl Projectile {
[INFO] [stdout]    | --------------- methods in this implementation
[INFO] [stdout] 43 |     fn step(&mut self) {
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 59 |     fn get_steps_until_out_of_bounds(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `print_trajectory` is never used
[INFO] [stdout]   --> src/days/day_17.rs:91:4
[INFO] [stdout]    |
[INFO] [stdout] 91 | fn print_trajectory(lo_x: i32, lo_y: i32, hi_x: i32, hi_y: i32, steps: &[(i32, i32)]) {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Direction` is never used
[INFO] [stdout]  --> src/days/day_2.rs:7:6
[INFO] [stdout]   |
[INFO] [stdout] 7 | enum Direction {
[INFO] [stdout]   |      ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Movement` is never constructed
[INFO] [stdout]   --> src/days/day_2.rs:13:8
[INFO] [stdout]    |
[INFO] [stdout] 13 | struct Movement {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Point` is never constructed
[INFO] [stdout]   --> src/days/day_2.rs:19:8
[INFO] [stdout]    |
[INFO] [stdout] 19 | struct Point {
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `calculate_movements` is never used
[INFO] [stdout]   --> src/days/day_2.rs:25:8
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub fn calculate_movements() {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 7.24s
[INFO] [stdout] warning: method `apply` is never used
[INFO] [stdout]   --> src/days/day_2.rs:62:12
[INFO] [stdout]    |
[INFO] [stdout] 61 | impl Point {
[INFO] [stdout]    | ---------- method in this implementation
[INFO] [stdout] 62 |     pub fn apply(&self, m: &Movement) -> Point {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `solve_day_20` is never used
[INFO] [stdout]  --> src/days/day_20.rs:6:8
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub fn solve_day_20(input: &str) {
[INFO] [stdout]   |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `print_map` is never used
[INFO] [stdout]   --> src/days/day_20.rs:90:4
[INFO] [stdout]    |
[INFO] [stdout] 90 | fn print_map(lights: &HashMap<(i32, i32), i32>) {
[INFO] [stdout]    |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_coords_surrounding` is never used
[INFO] [stdout]    --> src/days/day_20.rs:113:4
[INFO] [stdout]     |
[INFO] [stdout] 113 | fn get_coords_surrounding(point: (i32, i32)) -> Vec<(i32, i32)> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `solve_day_20_1` is never used
[INFO] [stdout]    --> src/days/day_20.rs:126:8
[INFO] [stdout]     |
[INFO] [stdout] 126 | pub fn solve_day_20_1(input: &str) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `transform_image` is never used
[INFO] [stdout]    --> src/days/day_20.rs:175:4
[INFO] [stdout]     |
[INFO] [stdout] 175 | fn transform_image(algo: &[i32], img: &[i32], width: usize, num_transformations: i32) -> Vec<i32> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `vec_into_dec` is never used
[INFO] [stdout]    --> src/days/day_20.rs:195:4
[INFO] [stdout]     |
[INFO] [stdout] 195 | fn vec_into_dec(indices: &[usize], img: &[i32]) -> i32 {
[INFO] [stdout]     |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `pad_image` is never used
[INFO] [stdout]    --> src/days/day_20.rs:223:4
[INFO] [stdout]     |
[INFO] [stdout] 223 | fn pad_image(img: &[i32], width: usize, pad_size: usize) -> (Vec<i32>, usize) {
[INFO] [stdout]     |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `print_grid` is never used
[INFO] [stdout]    --> src/days/day_20.rs:273:4
[INFO] [stdout]     |
[INFO] [stdout] 273 | fn print_grid(grid: &[i32], width: usize, i: usize) {
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Direction` is never used
[INFO] [stdout]  --> src/days/day_25.rs:5:6
[INFO] [stdout]   |
[INFO] [stdout] 5 | enum Direction {
[INFO] [stdout]   |      ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `solve` is never used
[INFO] [stdout]   --> src/days/day_25.rs:10:8
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub fn solve(input: &str) {
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Bits` is never constructed
[INFO] [stdout]  --> src/days/day_3.rs:6:8
[INFO] [stdout]   |
[INFO] [stdout] 6 | struct Bits {
[INFO] [stdout]   |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `power_consumption` is never used
[INFO] [stdout]   --> src/days/day_3.rs:11:8
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub fn power_consumption() -> io::Result<()> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `calculate_generator_rating` is never used
[INFO] [stdout]   --> src/days/day_3.rs:61:4
[INFO] [stdout]    |
[INFO] [stdout] 61 | fn calculate_generator_rating(bit_strs: Vec<&str>, idx: usize) -> isize {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `solve_day_5` is never used
[INFO] [stdout]  --> src/days/day_5.rs:4:8
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub fn solve_day_5(input: &str) {
[INFO] [stdout]   |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `fish_population` is never used
[INFO] [stdout]  --> src/days/day_6.rs:5:8
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub fn fish_population(reader: BufReader<File>) -> i64 {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_steps` is never used
[INFO] [stdout]  --> src/days/day_7.rs:5:4
[INFO] [stdout]   |
[INFO] [stdout] 5 | fn get_steps() -> io::Result<()> {
[INFO] [stdout]   |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BingoCard` is never constructed
[INFO] [stdout]   --> src/days/day_7.rs:44:8
[INFO] [stdout]    |
[INFO] [stdout] 44 | struct BingoCard {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `has_bingo`, `has_vertical_bingo`, `has_horizontal_bingo`, `has_diagonal_bingo`, `numbers_not_in_bingo`, and `win` are never used
[INFO] [stdout]    --> src/days/day_7.rs:50:12
[INFO] [stdout]     |
[INFO] [stdout]  49 | impl BingoCard {
[INFO] [stdout]     | -------------- methods in this implementation
[INFO] [stdout]  50 |     pub fn has_bingo(&self, bingo_numbers: HashSet<i32>) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  56 |     fn has_vertical_bingo(&self, bingo_numbers: HashSet<i32>) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  72 |     fn has_horizontal_bingo(&self, bingo_numbers: HashSet<i32>) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  78 |     fn has_diagonal_bingo(&self, bingo_numbers: HashSet<i32>) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  91 |     fn numbers_not_in_bingo(&self, bingo_numbers: HashSet<i32>) -> Vec<i32> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 100 |     fn win(&mut self) {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `bingo` is never used
[INFO] [stdout]    --> src/days/day_7.rs:105:4
[INFO] [stdout]     |
[INFO] [stdout] 105 | fn bingo() -> io::Result<()> {
[INFO] [stdout]     |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `solve_day_9` is never used
[INFO] [stdout]  --> src/days/day_9.rs:4:8
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub fn solve_day_9(input: &str) {
[INFO] [stdout]   |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `find_lowest_points` is never used
[INFO] [stdout]   --> src/days/day_9.rs:18:4
[INFO] [stdout]    |
[INFO] [stdout] 18 | fn find_lowest_points(points: Vec<u32>, width: usize) -> Vec<u32> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `find_basin_size` is never used
[INFO] [stdout]   --> src/days/day_9.rs:51:4
[INFO] [stdout]    |
[INFO] [stdout] 51 | fn find_basin_size(
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_adjacent_optionals` is never used
[INFO] [stdout]   --> src/utils/mod.rs:87:8
[INFO] [stdout]    |
[INFO] [stdout] 87 | pub fn get_adjacent_optionals<T>(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "df0b9bdf93967cb4312442c84b1efcfb493495ea3840d9419d957daf6c2a02e7", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "df0b9bdf93967cb4312442c84b1efcfb493495ea3840d9419d957daf6c2a02e7", kill_on_drop: false }`
[INFO] [stdout] df0b9bdf93967cb4312442c84b1efcfb493495ea3840d9419d957daf6c2a02e7
