[INFO] cloning repository https://github.com/marcosfpr/advent_of_code_2021
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/marcosfpr/advent_of_code_2021" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmarcosfpr%2Fadvent_of_code_2021", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmarcosfpr%2Fadvent_of_code_2021'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 9f9470b21fc3dd5ec7aa4ae9aba799890f02231b
[INFO] checking marcosfpr/advent_of_code_2021 against try#e117153a45c546e883c1f91d82611775fcaeffe0 for pr-146470
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmarcosfpr%2Fadvent_of_code_2021" "/workspace/builds/worker-6-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/marcosfpr/advent_of_code_2021
[INFO] finished tweaking git repo https://github.com/marcosfpr/advent_of_code_2021
[INFO] tweaked toml for git repo https://github.com/marcosfpr/advent_of_code_2021 written to /workspace/builds/worker-6-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/marcosfpr/advent_of_code_2021 on toolchain e117153a45c546e883c1f91d82611775fcaeffe0
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+e117153a45c546e883c1f91d82611775fcaeffe0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/marcosfpr/advent_of_code_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" "+e117153a45c546e883c1f91d82611775fcaeffe0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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" "+e117153a45c546e883c1f91d82611775fcaeffe0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 503e08d5feddd7335c63356caec57e219e4e394e5b033f20b80a706282e5988c
[INFO] running `Command { std: "docker" "start" "-a" "503e08d5feddd7335c63356caec57e219e4e394e5b033f20b80a706282e5988c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "503e08d5feddd7335c63356caec57e219e4e394e5b033f20b80a706282e5988c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "503e08d5feddd7335c63356caec57e219e4e394e5b033f20b80a706282e5988c", kill_on_drop: false }`
[INFO] [stdout] 503e08d5feddd7335c63356caec57e219e4e394e5b033f20b80a706282e5988c
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+e117153a45c546e883c1f91d82611775fcaeffe0" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] bdd892c9f2248062aa781d8e4e958448c7ac6813635beccfe391f4fd6fd4d04b
[INFO] running `Command { std: "docker" "start" "-a" "bdd892c9f2248062aa781d8e4e958448c7ac6813635beccfe391f4fd6fd4d04b", kill_on_drop: false }`
[INFO] [stderr]     Checking aoc2021 v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused imports: `HashSet` and `char::ToLowercase`
[INFO] [stdout]  --> src/aoc_ex_10.rs:1:44
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{collections::{HashMap, VecDeque, HashSet}, char::ToLowercase};
[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: `collections::HashMap` and `collections::VecDeque`
[INFO] [stdout]  --> src/aoc_ex_13.rs:1:11
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{collections::HashMap, collections::HashSet, collections::VecDeque};
[INFO] [stdout]   |           ^^^^^^^^^^^^^^^^^^^^                        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Read` and `self`
[INFO] [stdout]  --> src/aoc_ex_18.rs:1:15
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::io::{self, Read};
[INFO] [stdout]   |               ^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `HashSet` and `char::ToLowercase`
[INFO] [stdout]  --> src/aoc_ex_10.rs:1:44
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{collections::{HashMap, VecDeque, HashSet}, char::ToLowercase};
[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: `collections::HashMap` and `collections::VecDeque`
[INFO] [stdout]  --> src/aoc_ex_13.rs:1:11
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{collections::HashMap, collections::HashSet, collections::VecDeque};
[INFO] [stdout]   |           ^^^^^^^^^^^^^^^^^^^^                        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Read` and `self`
[INFO] [stdout]  --> src/aoc_ex_18.rs:1:15
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::io::{self, Read};
[INFO] [stdout]   |               ^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/aoc_ex_12.rs:107:7
[INFO] [stdout]     |
[INFO] [stdout] 107 |   let mut i = 1;
[INFO] [stdout]     |       ----^
[INFO] [stdout]     |       |
[INFO] [stdout]     |       help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/aoc_ex_12.rs:107:7
[INFO] [stdout]     |
[INFO] [stdout] 107 |   let mut i = 1;
[INFO] [stdout]     |       ^^^^^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x_range`
[INFO] [stdout]   --> src/aoc_ex_17.rs:15:9
[INFO] [stdout]    |
[INFO] [stdout] 15 |     let x_range = get_coordinate(start_end[0]);
[INFO] [stdout]    |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_x_range`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `resolve_part_1` is never used
[INFO] [stdout]  --> src/aoc_ex_1.rs:7:8
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub fn resolve_part_1(filename: &'static str) -> u32 {
[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 `resolve_part_2` is never used
[INFO] [stdout]   --> src/aoc_ex_1.rs:24:8
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub fn resolve_part_2(filename: &'static str) -> u32 {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read_file_to_vec` is never used
[INFO] [stdout]  --> src/aoc_utils.rs:7:8
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub fn read_file_to_vec<T: str::FromStr>(file_name: &str) -> Result<Vec<T>, <T as str::FromStr>::Err>
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `resolve_part_1` is never used
[INFO] [stdout]  --> src/aoc_ex_2.rs:6:8
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub fn resolve_part_1(filename: &'static str) -> u32 {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `resolve_part_2` is never used
[INFO] [stdout]   --> src/aoc_ex_2.rs:30:8
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub fn resolve_part_2(filename: &'static str) -> u64 {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `resolve_part_1` is never used
[INFO] [stdout]  --> src/aoc_ex_3.rs:6:8
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub fn resolve_part_1(filename: &'static str) -> u32 {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `resolve_part_2` is never used
[INFO] [stdout]   --> src/aoc_ex_3.rs:37:8
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub fn resolve_part_2(filename: &'static str) -> u32 {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_rating` is never used
[INFO] [stdout]   --> src/aoc_ex_3.rs:51:4
[INFO] [stdout]    |
[INFO] [stdout] 51 | fn get_rating<'a>(binaries: &'a Vec<String>, tiebreak: &'a str, f: &dyn Fn(Vec<String>, usize, &'a str) -> &'a str ) -> String {
[INFO] [stdout]    |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `count_bits` is never used
[INFO] [stdout]   --> src/aoc_ex_3.rs:74:4
[INFO] [stdout]    |
[INFO] [stdout] 74 | fn count_bits(binaries: &Vec<String>, position: usize) -> (u32, u32) { 
[INFO] [stdout]    |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `most_common_bit` is never used
[INFO] [stdout]   --> src/aoc_ex_3.rs:90:4
[INFO] [stdout]    |
[INFO] [stdout] 90 | fn most_common_bit<'a>(binaries: Vec<String>, position: usize, tiebreak: &'a str) -> &'a str {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `least_common_bit` is never used
[INFO] [stdout]    --> src/aoc_ex_3.rs:100:4
[INFO] [stdout]     |
[INFO] [stdout] 100 | fn least_common_bit<'a>(binaries: Vec<String>, position: usize, tiebreak: &'a str) -> &'a str {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `binary_to_u32` is never used
[INFO] [stdout]    --> src/aoc_ex_3.rs:111:4
[INFO] [stdout]     |
[INFO] [stdout] 111 | fn binary_to_u32(s: String) -> u32 {
[INFO] [stdout]     |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `Bingo` is never used
[INFO] [stdout]  --> src/aoc_ex_4.rs:7:10
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub type Bingo = HashSet<u32>;
[INFO] [stdout]   |          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `Row` is never used
[INFO] [stdout]  --> src/aoc_ex_4.rs:8:10
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub type Row = Vec<u32>;
[INFO] [stdout]   |          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `Matrix` is never used
[INFO] [stdout]  --> src/aoc_ex_4.rs:9:10
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub type Matrix = Vec<Row>;
[INFO] [stdout]   |          ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Board` is never constructed
[INFO] [stdout]   --> src/aoc_ex_4.rs:12:8
[INFO] [stdout]    |
[INFO] [stdout] 12 | struct Board {
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `has_won`, `mark_item`, and `unmark_sum` are never used
[INFO] [stdout]   --> src/aoc_ex_4.rs:17:6
[INFO] [stdout]    |
[INFO] [stdout] 16 | impl Board {
[INFO] [stdout]    | ---------- associated items in this implementation
[INFO] [stdout] 17 |   fn new(matrix: &Matrix) -> Board {
[INFO] [stdout]    |      ^^^
[INFO] [stdout] ...
[INFO] [stdout] 43 |   fn has_won(&self) -> bool {
[INFO] [stdout]    |      ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 52 |   fn mark_item(&mut self, item: u32) {
[INFO] [stdout]    |      ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 58 |   fn unmark_sum(&self) -> u32 {
[INFO] [stdout]    |      ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `resolve_part_1` is never used
[INFO] [stdout]   --> src/aoc_ex_4.rs:71:8
[INFO] [stdout]    |
[INFO] [stdout] 71 | pub fn resolve_part_1(filename: &'static str) -> u32 {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `resolve_part_2` is never used
[INFO] [stdout]    --> src/aoc_ex_4.rs:100:8
[INFO] [stdout]     |
[INFO] [stdout] 100 | pub fn resolve_part_2(filename: &'static str) -> u32 {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_bingo_boards` is never used
[INFO] [stdout]    --> src/aoc_ex_4.rs:136:4
[INFO] [stdout]     |
[INFO] [stdout] 136 | fn get_bingo_boards(mut board_iterator: core::slice::Iter<String>, size: usize) -> Vec<Board> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Shift` is never used
[INFO] [stdout]  --> src/aoc_ex_5.rs:6:6
[INFO] [stdout]   |
[INFO] [stdout] 6 | enum Shift {
[INFO] [stdout]   |      ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Line` is never constructed
[INFO] [stdout]   --> src/aoc_ex_5.rs:15:8
[INFO] [stdout]    |
[INFO] [stdout] 15 | struct Line {
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `resolve_part_1` is never used
[INFO] [stdout]   --> src/aoc_ex_5.rs:20:8
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub fn resolve_part_1(filename: &'static str) -> u32 {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `resolve_part_2` is never used
[INFO] [stdout]   --> src/aoc_ex_5.rs:49:8
[INFO] [stdout]    |
[INFO] [stdout] 49 | pub fn resolve_part_2(filename: &'static str) -> u32 {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_shift` is never used
[INFO] [stdout]   --> src/aoc_ex_5.rs:83:4
[INFO] [stdout]    |
[INFO] [stdout] 83 | fn get_shift(line: &Line) -> Shift {
[INFO] [stdout]    |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read_coordinates` is never used
[INFO] [stdout]    --> src/aoc_ex_5.rs:102:4
[INFO] [stdout]     |
[INFO] [stdout] 102 | fn read_coordinates(raw_str: Vec<String>) -> Vec<Line> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `insert_line` is never used
[INFO] [stdout]    --> src/aoc_ex_5.rs:121:4
[INFO] [stdout]     |
[INFO] [stdout] 121 | fn insert_line(x1: i32, y1: i32, x2: i32, y2: i32, coordinates: &mut Vec<Line>) {
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `resolve_part_1` is never used
[INFO] [stdout]  --> src/aoc_ex_6.rs:7:8
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub fn resolve_part_1(filename: &'static str, days: u32) -> u64 {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `resolve_part_2` is never used
[INFO] [stdout]   --> src/aoc_ex_6.rs:36:8
[INFO] [stdout]    |
[INFO] [stdout] 36 | pub fn resolve_part_2(filename: &'static str, days: u32) -> u64 {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `resolve_part_1` is never used
[INFO] [stdout]  --> src/aoc_ex_7.rs:4:8
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub fn resolve_part_1(filename: &'static str) -> i32 {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `resolve_part_2` is never used
[INFO] [stdout]   --> src/aoc_ex_7.rs:29:8
[INFO] [stdout]    |
[INFO] [stdout] 29 | pub fn resolve_part_2(filename: &'static str) -> i32 {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `fuel_spent` is never used
[INFO] [stdout]   --> src/aoc_ex_7.rs:54:4
[INFO] [stdout]    |
[INFO] [stdout] 54 | fn fuel_spent(horizontal_position: i32, crabs: &Vec<i32>, bound: i32) -> Option<i32> {
[INFO] [stdout]    |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `fuel_spent_2` is never used
[INFO] [stdout]   --> src/aoc_ex_7.rs:67:4
[INFO] [stdout]    |
[INFO] [stdout] 67 | fn fuel_spent_2(horizontal_position: i32, crabs: &Vec<i32>, bound: i32) -> Option<i32> {
[INFO] [stdout]    |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `FrozenSet` is never used
[INFO] [stdout]  --> src/aoc_ex_8.rs:3:6
[INFO] [stdout]   |
[INFO] [stdout] 3 | type FrozenSet<T> = BTreeSet<T>;
[INFO] [stdout]   |      ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `resolve_part_1` is never used
[INFO] [stdout]  --> src/aoc_ex_8.rs:8:8
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub fn resolve_part_1(filename: &'static str) -> i32 {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `resolve_part_2` is never used
[INFO] [stdout]   --> src/aoc_ex_8.rs:29:8
[INFO] [stdout]    |
[INFO] [stdout] 29 | pub fn resolve_part_2(filename: &'static str) -> i32 {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read_entries` is never used
[INFO] [stdout]   --> src/aoc_ex_8.rs:50:4
[INFO] [stdout]    |
[INFO] [stdout] 50 | fn read_entries(codes: &Vec<String>) -> Vec<(Vec<String>, Vec<String>)> {
[INFO] [stdout]    |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `decode_easy` is never used
[INFO] [stdout]   --> src/aoc_ex_8.rs:75:4
[INFO] [stdout]    |
[INFO] [stdout] 75 | fn decode_easy(entry_in: &Vec<String>, entry_out: &Vec<String>) -> String {
[INFO] [stdout]    |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `decode` is never used
[INFO] [stdout]    --> src/aoc_ex_8.rs:105:4
[INFO] [stdout]     |
[INFO] [stdout] 105 | fn decode(entry_in: &Vec<String>, entry_out: &Vec<String>) -> String {
[INFO] [stdout]     |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `identify_encoding` is never used
[INFO] [stdout]    --> src/aoc_ex_8.rs:200:4
[INFO] [stdout]     |
[INFO] [stdout] 200 | fn identify_encoding(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `FrozenSet` is never used
[INFO] [stdout]  --> src/aoc_ex_9.rs:3:6
[INFO] [stdout]   |
[INFO] [stdout] 3 | type FrozenSet<T> = BTreeSet<T>;
[INFO] [stdout]   |      ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `Graph` is never used
[INFO] [stdout]  --> src/aoc_ex_9.rs:8:10
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub type Graph = Vec<Vec<i32>>;
[INFO] [stdout]   |          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Basin` is never constructed
[INFO] [stdout]   --> src/aoc_ex_9.rs:10:8
[INFO] [stdout]    |
[INFO] [stdout] 10 | struct Basin<'a> {
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `get_neighbors`, and `insert_nodes_by_low_point` are never used
[INFO] [stdout]   --> src/aoc_ex_9.rs:16:6
[INFO] [stdout]    |
[INFO] [stdout] 15 | impl<'a> Basin<'a>  {
[INFO] [stdout]    | ------------------ associated items in this implementation
[INFO] [stdout] 16 |   fn new(graph: &Graph) -> Basin {
[INFO] [stdout]    |      ^^^
[INFO] [stdout] ...
[INFO] [stdout] 23 |   fn get_neighbors(&self, node: (i32, i32)) -> Vec<(usize, usize)> {
[INFO] [stdout]    |      ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 39 |   fn insert_nodes_by_low_point(&mut self, low_point: (i32, i32)) {
[INFO] [stdout]    |      ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `resolve_part_1` is never used
[INFO] [stdout]   --> src/aoc_ex_9.rs:56:8
[INFO] [stdout]    |
[INFO] [stdout] 56 | pub fn resolve_part_1(filename: &'static str) -> i32 {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `resolve_part_2` is never used
[INFO] [stdout]   --> src/aoc_ex_9.rs:86:8
[INFO] [stdout]    |
[INFO] [stdout] 86 | pub fn resolve_part_2(filename: &'static str) -> i32 {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_low_points` is never used
[INFO] [stdout]    --> src/aoc_ex_9.rs:113:4
[INFO] [stdout]     |
[INFO] [stdout] 113 | fn get_low_points(graph: &Graph,  rows: usize, cols: usize) -> HashSet<(i32, i32)> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `build_graph` is never used
[INFO] [stdout]    --> src/aoc_ex_9.rs:135:4
[INFO] [stdout]     |
[INFO] [stdout] 135 | fn build_graph(heighmap: Vec<String>, rows: usize, cols: usize) -> Graph {
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `resolve_part_1` is never used
[INFO] [stdout]  --> src/aoc_ex_10.rs:6:8
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub fn resolve_part_1(filename: &'static str) -> i32 {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `resolve_part_2` is never used
[INFO] [stdout]   --> src/aoc_ex_10.rs:26:8
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub fn resolve_part_2(filename: &'static str) -> i64 {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_illegal_points` is never used
[INFO] [stdout]   --> src/aoc_ex_10.rs:51:5
[INFO] [stdout]    |
[INFO] [stdout] 51 | fn  get_illegal_points(line: &String, chunk_pair: &HashMap<char, char>) -> i32 {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_autocomplete_points` is never used
[INFO] [stdout]   --> src/aoc_ex_10.rs:70:5
[INFO] [stdout]    |
[INFO] [stdout] 70 | fn  get_autocomplete_points(line: &String, chunk_pair: &HashMap<char, char>) -> i64 {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `resolve_part_1` is never used
[INFO] [stdout]  --> src/aoc_ex_11.rs:8:8
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub fn resolve_part_1(filename: &'static str) -> i32 {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `resolve_part_2` is never used
[INFO] [stdout]   --> src/aoc_ex_11.rs:27:8
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub fn resolve_part_2(filename: &'static str) -> i32 {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `flash_octopuses` is never used
[INFO] [stdout]   --> src/aoc_ex_11.rs:46:4
[INFO] [stdout]    |
[INFO] [stdout] 46 | fn flash_octopuses(grid: &mut Vec<Vec<i32>>, steps: u32) -> i32 {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `flash_octopuses_broadcast` is never used
[INFO] [stdout]   --> src/aoc_ex_11.rs:94:4
[INFO] [stdout]    |
[INFO] [stdout] 94 | fn flash_octopuses_broadcast(grid: &mut Vec<Vec<i32>>) -> i32 {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_neighbors` is never used
[INFO] [stdout]    --> src/aoc_ex_11.rs:151:4
[INFO] [stdout]     |
[INFO] [stdout] 151 | fn get_neighbors(i: i32, j: i32, grid: &Vec<Vec<i32>>) -> Vec<(usize, usize)> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `Path` is never used
[INFO] [stdout]  --> src/aoc_ex_12.rs:6:6
[INFO] [stdout]   |
[INFO] [stdout] 6 | type Path = VecDeque<String>;
[INFO] [stdout]   |      ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `resolve_part_1` is never used
[INFO] [stdout]  --> src/aoc_ex_12.rs:8:8
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub fn resolve_part_1(filename: &'static str) -> i32 {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `resolve_part_2` is never used
[INFO] [stdout]   --> src/aoc_ex_12.rs:32:8
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub fn resolve_part_2(filename: &'static str) -> i32 {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `paths_small_once` is never used
[INFO] [stdout]   --> src/aoc_ex_12.rs:56:4
[INFO] [stdout]    |
[INFO] [stdout] 56 | fn paths_small_once(graph: &HashMap<String, HashSet<String>>) -> i32 {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `paths_small_twice` is never used
[INFO] [stdout]   --> src/aoc_ex_12.rs:95:4
[INFO] [stdout]    |
[INFO] [stdout] 95 | fn paths_small_twice(graph: &HashMap<String, HashSet<String>>) -> i32 {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Instruction` is never used
[INFO] [stdout]  --> src/aoc_ex_13.rs:7:6
[INFO] [stdout]   |
[INFO] [stdout] 7 | enum Instruction {
[INFO] [stdout]   |      ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `resolve_part_1` is never used
[INFO] [stdout]   --> src/aoc_ex_13.rs:12:8
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub fn resolve_part_1(filename: &'static str) -> i32 {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `resolve_part_2` is never used
[INFO] [stdout]   --> src/aoc_ex_13.rs:44:8
[INFO] [stdout]    |
[INFO] [stdout] 44 | pub fn resolve_part_2(filename: &'static str) -> String {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read_coordinates` is never used
[INFO] [stdout]    --> src/aoc_ex_13.rs:103:4
[INFO] [stdout]     |
[INFO] [stdout] 103 | fn read_coordinates(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Rule` is never constructed
[INFO] [stdout]  --> src/aoc_ex_14.rs:6:8
[INFO] [stdout]   |
[INFO] [stdout] 6 | struct Rule {
[INFO] [stdout]   |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `resolve_part_1` is never used
[INFO] [stdout]   --> src/aoc_ex_14.rs:11:8
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub fn resolve_part_1(filename: &'static str, steps: i32) -> u64 {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `execute_automata` is never used
[INFO] [stdout]   --> src/aoc_ex_14.rs:47:4
[INFO] [stdout]    |
[INFO] [stdout] 47 | fn execute_automata(template: String, rules: &Vec<Rule>, steps: i32) -> String {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `resolve_part_2` is never used
[INFO] [stdout]   --> src/aoc_ex_14.rs:72:8
[INFO] [stdout]    |
[INFO] [stdout] 72 | pub fn resolve_part_2(filename: &'static str, steps: usize) -> usize {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `count` is never used
[INFO] [stdout]    --> src/aoc_ex_14.rs:121:4
[INFO] [stdout]     |
[INFO] [stdout] 121 | fn count(
[INFO] [stdout]     |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `Pos` is never used
[INFO] [stdout]  --> src/aoc_ex_15.rs:6:6
[INFO] [stdout]   |
[INFO] [stdout] 6 | type Pos = (usize, usize);
[INFO] [stdout]   |      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `resolve_part_1` is never used
[INFO] [stdout]  --> src/aoc_ex_15.rs:8:8
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub fn resolve_part_1(filename: &'static str) -> usize {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `resolve_part_2` is never used
[INFO] [stdout]   --> src/aoc_ex_15.rs:29:8
[INFO] [stdout]    |
[INFO] [stdout] 29 | pub fn resolve_part_2(filename: &'static str) -> usize {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `dijkstra` is never used
[INFO] [stdout]   --> src/aoc_ex_15.rs:73:4
[INFO] [stdout]    |
[INFO] [stdout] 73 | fn dijkstra(matrix: &Vec<Vec<usize>>, start: Pos, end: Pos, cave_size: i32) -> Option<usize> {
[INFO] [stdout]    |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `resolve_part_1` is never used
[INFO] [stdout]  --> src/aoc_ex_16.rs:4:8
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub fn resolve_part_1(filename: &'static str) -> usize {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `resolve_part_2` is never used
[INFO] [stdout]   --> src/aoc_ex_16.rs:22:8
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub fn resolve_part_2(filename: &'static str) -> usize {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `process` is never used
[INFO] [stdout]   --> src/aoc_ex_16.rs:39:4
[INFO] [stdout]    |
[INFO] [stdout] 39 | fn process(binary_msg: &str, version_ids: &mut Vec<usize>) -> Option<(usize, String)> {
[INFO] [stdout]    |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `process_operator` is never used
[INFO] [stdout]   --> src/aoc_ex_16.rs:53:4
[INFO] [stdout]    |
[INFO] [stdout] 53 | fn process_operator(operator: usize, binary_msg: &str, version_ids: &mut Vec<usize>) -> Option<(usize, String)> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `process_literal` is never used
[INFO] [stdout]    --> src/aoc_ex_16.rs:119:4
[INFO] [stdout]     |
[INFO] [stdout] 119 | fn process_literal(binary_msg: &str) -> Option<(usize, String)> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `hex_to_binary` is never used
[INFO] [stdout]    --> src/aoc_ex_16.rs:145:4
[INFO] [stdout]     |
[INFO] [stdout] 145 | fn hex_to_binary(hex: &String) -> String {
[INFO] [stdout]     |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `eval_operator` is never used
[INFO] [stdout]    --> src/aoc_ex_16.rs:172:4
[INFO] [stdout]     |
[INFO] [stdout] 172 | fn eval_operator(current_eval: Option<usize>, lit: usize, operator: usize) -> usize {
[INFO] [stdout]     |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `resolve_part_1` is never used
[INFO] [stdout]  --> src/aoc_ex_17.rs:6:8
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub fn resolve_part_1(filename: &'static str) -> i32 {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `resolve_part_2` is never used
[INFO] [stdout]   --> src/aoc_ex_17.rs:27:8
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub fn resolve_part_2(filename: &'static str) -> i32 {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_coordinate` is never used
[INFO] [stdout]   --> src/aoc_ex_17.rs:43:4
[INFO] [stdout]    |
[INFO] [stdout] 43 | fn get_coordinate(coord: &str) -> (i32, i32) {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_launch_probe` is never used
[INFO] [stdout]   --> src/aoc_ex_17.rs:48:4
[INFO] [stdout]    |
[INFO] [stdout] 48 | fn test_launch_probe(k: i32, x_range: (i32, i32), y_range: (i32, i32)) -> HashSet<(i32, i32)> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `launch_probe` is never used
[INFO] [stdout]   --> src/aoc_ex_17.rs:61:4
[INFO] [stdout]    |
[INFO] [stdout] 61 | fn launch_probe(velocity: (i32, i32), x_range: (i32, i32), y_range: (i32, i32)) -> Option<(i32, i32)> {
[INFO] [stdout]    |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `VecTree` is never constructed
[INFO] [stdout]  --> src/aoc_ex_18.rs:9:8
[INFO] [stdout]   |
[INFO] [stdout] 9 | struct VecTree {
[INFO] [stdout]   |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `parse`, `reduce`, `split`, `explode`, `add`, and `score` are never used
[INFO] [stdout]    --> src/aoc_ex_18.rs:15:8
[INFO] [stdout]     |
[INFO] [stdout]  14 | impl VecTree {
[INFO] [stdout]     | ------------ associated items in this implementation
[INFO] [stdout]  15 |     fn parse(s: &str) -> VecTree {
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  42 |     fn reduce(&mut self) {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  50 |     fn split(&mut self) -> bool {
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  73 |     fn explode(&mut self) -> bool  {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 101 |     fn add(&mut self, other: &VecTree ) {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 109 |     fn score(&self) -> u32 {
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `resolve_part_1` is never used
[INFO] [stdout]    --> src/aoc_ex_18.rs:133:8
[INFO] [stdout]     |
[INFO] [stdout] 133 | pub fn resolve_part_1(filename: &'static str) -> u32 {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `resolve_part_2` is never used
[INFO] [stdout]    --> src/aoc_ex_18.rs:150:8
[INFO] [stdout]     |
[INFO] [stdout] 150 | pub fn resolve_part_2(filename: &'static str) -> u32 {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Vec3` is never constructed
[INFO] [stdout]  --> src/aoc_ex_19.rs:9:8
[INFO] [stdout]   |
[INFO] [stdout] 9 | struct Vec3 {
[INFO] [stdout]   |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `zero` and `rotate` are never used
[INFO] [stdout]   --> src/aoc_ex_19.rs:51:7
[INFO] [stdout]    |
[INFO] [stdout] 50 | impl Vec3 {
[INFO] [stdout]    | --------- associated items in this implementation
[INFO] [stdout] 51 |   fn  zero() -> Self {
[INFO] [stdout]    |       ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 59 |   fn rotate(self, axis_rotations: Self) -> Self {
[INFO] [stdout]    |      ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `translate_points` is never used
[INFO] [stdout]   --> src/aoc_ex_19.rs:88:4
[INFO] [stdout]    |
[INFO] [stdout] 88 | fn translate_points(src: &HashSet<Vec3>, translate: Vec3) -> HashSet<Vec3> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `find_offset` is never used
[INFO] [stdout]   --> src/aoc_ex_19.rs:92:4
[INFO] [stdout]    |
[INFO] [stdout] 92 | fn find_offset(a: &HashSet<Vec3>, b: &HashSet<Vec3>, min_similar: usize) -> Option<Vec3> {
[INFO] [stdout]    |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `resolve_part_1` is never used
[INFO] [stdout]    --> src/aoc_ex_19.rs:107:8
[INFO] [stdout]     |
[INFO] [stdout] 107 | pub fn resolve_part_1(filename: &'static str) -> i32 {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `resolve_part_2` is never used
[INFO] [stdout]    --> src/aoc_ex_19.rs:117:8
[INFO] [stdout]     |
[INFO] [stdout] 117 | pub fn resolve_part_2(filename: &'static str) -> i32 {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_beacons_and_distance` is never used
[INFO] [stdout]    --> src/aoc_ex_19.rs:129:4
[INFO] [stdout]     |
[INFO] [stdout] 129 | fn get_beacons_and_distance(scanners: Vec<HashMap<Vec3, HashSet<Vec3>>>) -> (HashSet<Vec3>, i32){
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `all_rotations` is never used
[INFO] [stdout]    --> src/aoc_ex_19.rs:188:4
[INFO] [stdout]     |
[INFO] [stdout] 188 | fn all_rotations() -> Vec<Vec3> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read_coordinates` is never used
[INFO] [stdout]    --> src/aoc_ex_19.rs:217:4
[INFO] [stdout]     |
[INFO] [stdout] 217 | fn read_coordinates(scanners_coordinates: Vec<String> ) -> Vec<HashMap<Vec3, HashSet<Vec3>>>{
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `resolve_part_1` is never used
[INFO] [stdout]  --> src/aoc_ex_20.rs:6:8
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub fn resolve_part_1(filename: &'static str) -> usize {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/aoc_ex_9.rs:16:17
[INFO] [stdout]    |
[INFO] [stdout] 16 |   fn new(graph: &Graph) -> Basin {
[INFO] [stdout]    |                 ^^^^^^     ^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 16 |   fn new(graph: &Graph) -> Basin<'_> {
[INFO] [stdout]    |                                 ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/aoc_ex_12.rs:107:7
[INFO] [stdout]     |
[INFO] [stdout] 107 |   let mut i = 1;
[INFO] [stdout]     |       ----^
[INFO] [stdout]     |       |
[INFO] [stdout]     |       help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/aoc_ex_12.rs:107:7
[INFO] [stdout]     |
[INFO] [stdout] 107 |   let mut i = 1;
[INFO] [stdout]     |       ^^^^^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x_range`
[INFO] [stdout]   --> src/aoc_ex_17.rs:15:9
[INFO] [stdout]    |
[INFO] [stdout] 15 |     let x_range = get_coordinate(start_end[0]);
[INFO] [stdout]    |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_x_range`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `resolve_part_1` is never used
[INFO] [stdout]  --> src/aoc_ex_1.rs:7:8
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub fn resolve_part_1(filename: &'static str) -> u32 {
[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 `resolve_part_2` is never used
[INFO] [stdout]   --> src/aoc_ex_1.rs:24:8
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub fn resolve_part_2(filename: &'static str) -> u32 {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read_file_to_vec` is never used
[INFO] [stdout]  --> src/aoc_utils.rs:7:8
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub fn read_file_to_vec<T: str::FromStr>(file_name: &str) -> Result<Vec<T>, <T as str::FromStr>::Err>
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `resolve_part_1` is never used
[INFO] [stdout]  --> src/aoc_ex_2.rs:6:8
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub fn resolve_part_1(filename: &'static str) -> u32 {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `resolve_part_2` is never used
[INFO] [stdout]   --> src/aoc_ex_2.rs:30:8
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub fn resolve_part_2(filename: &'static str) -> u64 {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `resolve_part_1` is never used
[INFO] [stdout]  --> src/aoc_ex_3.rs:6:8
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub fn resolve_part_1(filename: &'static str) -> u32 {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `resolve_part_2` is never used
[INFO] [stdout]   --> src/aoc_ex_3.rs:37:8
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub fn resolve_part_2(filename: &'static str) -> u32 {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_rating` is never used
[INFO] [stdout]   --> src/aoc_ex_3.rs:51:4
[INFO] [stdout]    |
[INFO] [stdout] 51 | fn get_rating<'a>(binaries: &'a Vec<String>, tiebreak: &'a str, f: &dyn Fn(Vec<String>, usize, &'a str) -> &'a str ) -> String {
[INFO] [stdout]    |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `count_bits` is never used
[INFO] [stdout]   --> src/aoc_ex_3.rs:74:4
[INFO] [stdout]    |
[INFO] [stdout] 74 | fn count_bits(binaries: &Vec<String>, position: usize) -> (u32, u32) { 
[INFO] [stdout]    |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `most_common_bit` is never used
[INFO] [stdout]   --> src/aoc_ex_3.rs:90:4
[INFO] [stdout]    |
[INFO] [stdout] 90 | fn most_common_bit<'a>(binaries: Vec<String>, position: usize, tiebreak: &'a str) -> &'a str {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `least_common_bit` is never used
[INFO] [stdout]    --> src/aoc_ex_3.rs:100:4
[INFO] [stdout]     |
[INFO] [stdout] 100 | fn least_common_bit<'a>(binaries: Vec<String>, position: usize, tiebreak: &'a str) -> &'a str {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `binary_to_u32` is never used
[INFO] [stdout]    --> src/aoc_ex_3.rs:111:4
[INFO] [stdout]     |
[INFO] [stdout] 111 | fn binary_to_u32(s: String) -> u32 {
[INFO] [stdout]     |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `Bingo` is never used
[INFO] [stdout]  --> src/aoc_ex_4.rs:7:10
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub type Bingo = HashSet<u32>;
[INFO] [stdout]   |          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `Row` is never used
[INFO] [stdout]  --> src/aoc_ex_4.rs:8:10
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub type Row = Vec<u32>;
[INFO] [stdout]   |          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `Matrix` is never used
[INFO] [stdout]  --> src/aoc_ex_4.rs:9:10
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub type Matrix = Vec<Row>;
[INFO] [stdout]   |          ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Board` is never constructed
[INFO] [stdout]   --> src/aoc_ex_4.rs:12:8
[INFO] [stdout]    |
[INFO] [stdout] 12 | struct Board {
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `has_won`, `mark_item`, and `unmark_sum` are never used
[INFO] [stdout]   --> src/aoc_ex_4.rs:17:6
[INFO] [stdout]    |
[INFO] [stdout] 16 | impl Board {
[INFO] [stdout]    | ---------- associated items in this implementation
[INFO] [stdout] 17 |   fn new(matrix: &Matrix) -> Board {
[INFO] [stdout]    |      ^^^
[INFO] [stdout] ...
[INFO] [stdout] 43 |   fn has_won(&self) -> bool {
[INFO] [stdout]    |      ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 52 |   fn mark_item(&mut self, item: u32) {
[INFO] [stdout]    |      ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 58 |   fn unmark_sum(&self) -> u32 {
[INFO] [stdout]    |      ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `resolve_part_1` is never used
[INFO] [stdout]   --> src/aoc_ex_4.rs:71:8
[INFO] [stdout]    |
[INFO] [stdout] 71 | pub fn resolve_part_1(filename: &'static str) -> u32 {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `resolve_part_2` is never used
[INFO] [stdout]    --> src/aoc_ex_4.rs:100:8
[INFO] [stdout]     |
[INFO] [stdout] 100 | pub fn resolve_part_2(filename: &'static str) -> u32 {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_bingo_boards` is never used
[INFO] [stdout]    --> src/aoc_ex_4.rs:136:4
[INFO] [stdout]     |
[INFO] [stdout] 136 | fn get_bingo_boards(mut board_iterator: core::slice::Iter<String>, size: usize) -> Vec<Board> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Shift` is never used
[INFO] [stdout]  --> src/aoc_ex_5.rs:6:6
[INFO] [stdout]   |
[INFO] [stdout] 6 | enum Shift {
[INFO] [stdout]   |      ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Line` is never constructed
[INFO] [stdout]   --> src/aoc_ex_5.rs:15:8
[INFO] [stdout]    |
[INFO] [stdout] 15 | struct Line {
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `resolve_part_1` is never used
[INFO] [stdout]   --> src/aoc_ex_5.rs:20:8
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub fn resolve_part_1(filename: &'static str) -> u32 {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `resolve_part_2` is never used
[INFO] [stdout]   --> src/aoc_ex_5.rs:49:8
[INFO] [stdout]    |
[INFO] [stdout] 49 | pub fn resolve_part_2(filename: &'static str) -> u32 {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_shift` is never used
[INFO] [stdout]   --> src/aoc_ex_5.rs:83:4
[INFO] [stdout]    |
[INFO] [stdout] 83 | fn get_shift(line: &Line) -> Shift {
[INFO] [stdout]    |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read_coordinates` is never used
[INFO] [stdout]    --> src/aoc_ex_5.rs:102:4
[INFO] [stdout]     |
[INFO] [stdout] 102 | fn read_coordinates(raw_str: Vec<String>) -> Vec<Line> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `insert_line` is never used
[INFO] [stdout]    --> src/aoc_ex_5.rs:121:4
[INFO] [stdout]     |
[INFO] [stdout] 121 | fn insert_line(x1: i32, y1: i32, x2: i32, y2: i32, coordinates: &mut Vec<Line>) {
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `resolve_part_1` is never used
[INFO] [stdout]  --> src/aoc_ex_6.rs:7:8
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub fn resolve_part_1(filename: &'static str, days: u32) -> u64 {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `resolve_part_2` is never used
[INFO] [stdout]   --> src/aoc_ex_6.rs:36:8
[INFO] [stdout]    |
[INFO] [stdout] 36 | pub fn resolve_part_2(filename: &'static str, days: u32) -> u64 {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `resolve_part_1` is never used
[INFO] [stdout]  --> src/aoc_ex_7.rs:4:8
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub fn resolve_part_1(filename: &'static str) -> i32 {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `resolve_part_2` is never used
[INFO] [stdout]   --> src/aoc_ex_7.rs:29:8
[INFO] [stdout]    |
[INFO] [stdout] 29 | pub fn resolve_part_2(filename: &'static str) -> i32 {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `fuel_spent` is never used
[INFO] [stdout]   --> src/aoc_ex_7.rs:54:4
[INFO] [stdout]    |
[INFO] [stdout] 54 | fn fuel_spent(horizontal_position: i32, crabs: &Vec<i32>, bound: i32) -> Option<i32> {
[INFO] [stdout]    |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `fuel_spent_2` is never used
[INFO] [stdout]   --> src/aoc_ex_7.rs:67:4
[INFO] [stdout]    |
[INFO] [stdout] 67 | fn fuel_spent_2(horizontal_position: i32, crabs: &Vec<i32>, bound: i32) -> Option<i32> {
[INFO] [stdout]    |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `FrozenSet` is never used
[INFO] [stdout]  --> src/aoc_ex_8.rs:3:6
[INFO] [stdout]   |
[INFO] [stdout] 3 | type FrozenSet<T> = BTreeSet<T>;
[INFO] [stdout]   |      ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `resolve_part_1` is never used
[INFO] [stdout]  --> src/aoc_ex_8.rs:8:8
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub fn resolve_part_1(filename: &'static str) -> i32 {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `resolve_part_2` is never used
[INFO] [stdout]   --> src/aoc_ex_8.rs:29:8
[INFO] [stdout]    |
[INFO] [stdout] 29 | pub fn resolve_part_2(filename: &'static str) -> i32 {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read_entries` is never used
[INFO] [stdout]   --> src/aoc_ex_8.rs:50:4
[INFO] [stdout]    |
[INFO] [stdout] 50 | fn read_entries(codes: &Vec<String>) -> Vec<(Vec<String>, Vec<String>)> {
[INFO] [stdout]    |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `decode_easy` is never used
[INFO] [stdout]   --> src/aoc_ex_8.rs:75:4
[INFO] [stdout]    |
[INFO] [stdout] 75 | fn decode_easy(entry_in: &Vec<String>, entry_out: &Vec<String>) -> String {
[INFO] [stdout]    |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `decode` is never used
[INFO] [stdout]    --> src/aoc_ex_8.rs:105:4
[INFO] [stdout]     |
[INFO] [stdout] 105 | fn decode(entry_in: &Vec<String>, entry_out: &Vec<String>) -> String {
[INFO] [stdout]     |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `identify_encoding` is never used
[INFO] [stdout]    --> src/aoc_ex_8.rs:200:4
[INFO] [stdout]     |
[INFO] [stdout] 200 | fn identify_encoding(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `FrozenSet` is never used
[INFO] [stdout]  --> src/aoc_ex_9.rs:3:6
[INFO] [stdout]   |
[INFO] [stdout] 3 | type FrozenSet<T> = BTreeSet<T>;
[INFO] [stdout]   |      ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `Graph` is never used
[INFO] [stdout]  --> src/aoc_ex_9.rs:8:10
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub type Graph = Vec<Vec<i32>>;
[INFO] [stdout]   |          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Basin` is never constructed
[INFO] [stdout]   --> src/aoc_ex_9.rs:10:8
[INFO] [stdout]    |
[INFO] [stdout] 10 | struct Basin<'a> {
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `get_neighbors`, and `insert_nodes_by_low_point` are never used
[INFO] [stdout]   --> src/aoc_ex_9.rs:16:6
[INFO] [stdout]    |
[INFO] [stdout] 15 | impl<'a> Basin<'a>  {
[INFO] [stdout]    | ------------------ associated items in this implementation
[INFO] [stdout] 16 |   fn new(graph: &Graph) -> Basin {
[INFO] [stdout]    |      ^^^
[INFO] [stdout] ...
[INFO] [stdout] 23 |   fn get_neighbors(&self, node: (i32, i32)) -> Vec<(usize, usize)> {
[INFO] [stdout]    |      ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 39 |   fn insert_nodes_by_low_point(&mut self, low_point: (i32, i32)) {
[INFO] [stdout]    |      ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `resolve_part_1` is never used
[INFO] [stdout]   --> src/aoc_ex_9.rs:56:8
[INFO] [stdout]    |
[INFO] [stdout] 56 | pub fn resolve_part_1(filename: &'static str) -> i32 {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `resolve_part_2` is never used
[INFO] [stdout]   --> src/aoc_ex_9.rs:86:8
[INFO] [stdout]    |
[INFO] [stdout] 86 | pub fn resolve_part_2(filename: &'static str) -> i32 {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_low_points` is never used
[INFO] [stdout]    --> src/aoc_ex_9.rs:113:4
[INFO] [stdout]     |
[INFO] [stdout] 113 | fn get_low_points(graph: &Graph,  rows: usize, cols: usize) -> HashSet<(i32, i32)> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `build_graph` is never used
[INFO] [stdout]    --> src/aoc_ex_9.rs:135:4
[INFO] [stdout]     |
[INFO] [stdout] 135 | fn build_graph(heighmap: Vec<String>, rows: usize, cols: usize) -> Graph {
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `resolve_part_1` is never used
[INFO] [stdout]  --> src/aoc_ex_10.rs:6:8
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub fn resolve_part_1(filename: &'static str) -> i32 {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `resolve_part_2` is never used
[INFO] [stdout]   --> src/aoc_ex_10.rs:26:8
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub fn resolve_part_2(filename: &'static str) -> i64 {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_illegal_points` is never used
[INFO] [stdout]   --> src/aoc_ex_10.rs:51:5
[INFO] [stdout]    |
[INFO] [stdout] 51 | fn  get_illegal_points(line: &String, chunk_pair: &HashMap<char, char>) -> i32 {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_autocomplete_points` is never used
[INFO] [stdout]   --> src/aoc_ex_10.rs:70:5
[INFO] [stdout]    |
[INFO] [stdout] 70 | fn  get_autocomplete_points(line: &String, chunk_pair: &HashMap<char, char>) -> i64 {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `resolve_part_1` is never used
[INFO] [stdout]  --> src/aoc_ex_11.rs:8:8
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub fn resolve_part_1(filename: &'static str) -> i32 {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `resolve_part_2` is never used
[INFO] [stdout]   --> src/aoc_ex_11.rs:27:8
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub fn resolve_part_2(filename: &'static str) -> i32 {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `flash_octopuses` is never used
[INFO] [stdout]   --> src/aoc_ex_11.rs:46:4
[INFO] [stdout]    |
[INFO] [stdout] 46 | fn flash_octopuses(grid: &mut Vec<Vec<i32>>, steps: u32) -> i32 {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `flash_octopuses_broadcast` is never used
[INFO] [stdout]   --> src/aoc_ex_11.rs:94:4
[INFO] [stdout]    |
[INFO] [stdout] 94 | fn flash_octopuses_broadcast(grid: &mut Vec<Vec<i32>>) -> i32 {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_neighbors` is never used
[INFO] [stdout]    --> src/aoc_ex_11.rs:151:4
[INFO] [stdout]     |
[INFO] [stdout] 151 | fn get_neighbors(i: i32, j: i32, grid: &Vec<Vec<i32>>) -> Vec<(usize, usize)> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `Path` is never used
[INFO] [stdout]  --> src/aoc_ex_12.rs:6:6
[INFO] [stdout]   |
[INFO] [stdout] 6 | type Path = VecDeque<String>;
[INFO] [stdout]   |      ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `resolve_part_1` is never used
[INFO] [stdout]  --> src/aoc_ex_12.rs:8:8
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub fn resolve_part_1(filename: &'static str) -> i32 {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `resolve_part_2` is never used
[INFO] [stdout]   --> src/aoc_ex_12.rs:32:8
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub fn resolve_part_2(filename: &'static str) -> i32 {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `paths_small_once` is never used
[INFO] [stdout]   --> src/aoc_ex_12.rs:56:4
[INFO] [stdout]    |
[INFO] [stdout] 56 | fn paths_small_once(graph: &HashMap<String, HashSet<String>>) -> i32 {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `paths_small_twice` is never used
[INFO] [stdout]   --> src/aoc_ex_12.rs:95:4
[INFO] [stdout]    |
[INFO] [stdout] 95 | fn paths_small_twice(graph: &HashMap<String, HashSet<String>>) -> i32 {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Instruction` is never used
[INFO] [stdout]  --> src/aoc_ex_13.rs:7:6
[INFO] [stdout]   |
[INFO] [stdout] 7 | enum Instruction {
[INFO] [stdout]   |      ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `resolve_part_1` is never used
[INFO] [stdout]   --> src/aoc_ex_13.rs:12:8
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub fn resolve_part_1(filename: &'static str) -> i32 {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `resolve_part_2` is never used
[INFO] [stdout]   --> src/aoc_ex_13.rs:44:8
[INFO] [stdout]    |
[INFO] [stdout] 44 | pub fn resolve_part_2(filename: &'static str) -> String {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read_coordinates` is never used
[INFO] [stdout]    --> src/aoc_ex_13.rs:103:4
[INFO] [stdout]     |
[INFO] [stdout] 103 | fn read_coordinates(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Rule` is never constructed
[INFO] [stdout]  --> src/aoc_ex_14.rs:6:8
[INFO] [stdout]   |
[INFO] [stdout] 6 | struct Rule {
[INFO] [stdout]   |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `resolve_part_1` is never used
[INFO] [stdout]   --> src/aoc_ex_14.rs:11:8
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub fn resolve_part_1(filename: &'static str, steps: i32) -> u64 {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `execute_automata` is never used
[INFO] [stdout]   --> src/aoc_ex_14.rs:47:4
[INFO] [stdout]    |
[INFO] [stdout] 47 | fn execute_automata(template: String, rules: &Vec<Rule>, steps: i32) -> String {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `resolve_part_2` is never used
[INFO] [stdout]   --> src/aoc_ex_14.rs:72:8
[INFO] [stdout]    |
[INFO] [stdout] 72 | pub fn resolve_part_2(filename: &'static str, steps: usize) -> usize {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `count` is never used
[INFO] [stdout]    --> src/aoc_ex_14.rs:121:4
[INFO] [stdout]     |
[INFO] [stdout] 121 | fn count(
[INFO] [stdout]     |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `Pos` is never used
[INFO] [stdout]  --> src/aoc_ex_15.rs:6:6
[INFO] [stdout]   |
[INFO] [stdout] 6 | type Pos = (usize, usize);
[INFO] [stdout]   |      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `resolve_part_1` is never used
[INFO] [stdout]  --> src/aoc_ex_15.rs:8:8
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub fn resolve_part_1(filename: &'static str) -> usize {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `resolve_part_2` is never used
[INFO] [stdout]   --> src/aoc_ex_15.rs:29:8
[INFO] [stdout]    |
[INFO] [stdout] 29 | pub fn resolve_part_2(filename: &'static str) -> usize {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `dijkstra` is never used
[INFO] [stdout]   --> src/aoc_ex_15.rs:73:4
[INFO] [stdout]    |
[INFO] [stdout] 73 | fn dijkstra(matrix: &Vec<Vec<usize>>, start: Pos, end: Pos, cave_size: i32) -> Option<usize> {
[INFO] [stdout]    |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `resolve_part_1` is never used
[INFO] [stdout]  --> src/aoc_ex_16.rs:4:8
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub fn resolve_part_1(filename: &'static str) -> usize {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `resolve_part_2` is never used
[INFO] [stdout]   --> src/aoc_ex_16.rs:22:8
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub fn resolve_part_2(filename: &'static str) -> usize {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `process` is never used
[INFO] [stdout]   --> src/aoc_ex_16.rs:39:4
[INFO] [stdout]    |
[INFO] [stdout] 39 | fn process(binary_msg: &str, version_ids: &mut Vec<usize>) -> Option<(usize, String)> {
[INFO] [stdout]    |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `process_operator` is never used
[INFO] [stdout]   --> src/aoc_ex_16.rs:53:4
[INFO] [stdout]    |
[INFO] [stdout] 53 | fn process_operator(operator: usize, binary_msg: &str, version_ids: &mut Vec<usize>) -> Option<(usize, String)> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `process_literal` is never used
[INFO] [stdout]    --> src/aoc_ex_16.rs:119:4
[INFO] [stdout]     |
[INFO] [stdout] 119 | fn process_literal(binary_msg: &str) -> Option<(usize, String)> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `hex_to_binary` is never used
[INFO] [stdout]    --> src/aoc_ex_16.rs:145:4
[INFO] [stdout]     |
[INFO] [stdout] 145 | fn hex_to_binary(hex: &String) -> String {
[INFO] [stdout]     |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `eval_operator` is never used
[INFO] [stdout]    --> src/aoc_ex_16.rs:172:4
[INFO] [stdout]     |
[INFO] [stdout] 172 | fn eval_operator(current_eval: Option<usize>, lit: usize, operator: usize) -> usize {
[INFO] [stdout]     |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `resolve_part_1` is never used
[INFO] [stdout]  --> src/aoc_ex_17.rs:6:8
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub fn resolve_part_1(filename: &'static str) -> i32 {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `resolve_part_2` is never used
[INFO] [stdout]   --> src/aoc_ex_17.rs:27:8
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub fn resolve_part_2(filename: &'static str) -> i32 {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_coordinate` is never used
[INFO] [stdout]   --> src/aoc_ex_17.rs:43:4
[INFO] [stdout]    |
[INFO] [stdout] 43 | fn get_coordinate(coord: &str) -> (i32, i32) {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_launch_probe` is never used
[INFO] [stdout]   --> src/aoc_ex_17.rs:48:4
[INFO] [stdout]    |
[INFO] [stdout] 48 | fn test_launch_probe(k: i32, x_range: (i32, i32), y_range: (i32, i32)) -> HashSet<(i32, i32)> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `launch_probe` is never used
[INFO] [stdout]   --> src/aoc_ex_17.rs:61:4
[INFO] [stdout]    |
[INFO] [stdout] 61 | fn launch_probe(velocity: (i32, i32), x_range: (i32, i32), y_range: (i32, i32)) -> Option<(i32, i32)> {
[INFO] [stdout]    |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `VecTree` is never constructed
[INFO] [stdout]  --> src/aoc_ex_18.rs:9:8
[INFO] [stdout]   |
[INFO] [stdout] 9 | struct VecTree {
[INFO] [stdout]   |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `parse`, `reduce`, `split`, `explode`, `add`, and `score` are never used
[INFO] [stdout]    --> src/aoc_ex_18.rs:15:8
[INFO] [stdout]     |
[INFO] [stdout]  14 | impl VecTree {
[INFO] [stdout]     | ------------ associated items in this implementation
[INFO] [stdout]  15 |     fn parse(s: &str) -> VecTree {
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  42 |     fn reduce(&mut self) {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  50 |     fn split(&mut self) -> bool {
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  73 |     fn explode(&mut self) -> bool  {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 101 |     fn add(&mut self, other: &VecTree ) {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 109 |     fn score(&self) -> u32 {
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `resolve_part_1` is never used
[INFO] [stdout]    --> src/aoc_ex_18.rs:133:8
[INFO] [stdout]     |
[INFO] [stdout] 133 | pub fn resolve_part_1(filename: &'static str) -> u32 {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `resolve_part_2` is never used
[INFO] [stdout]    --> src/aoc_ex_18.rs:150:8
[INFO] [stdout]     |
[INFO] [stdout] 150 | pub fn resolve_part_2(filename: &'static str) -> u32 {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Vec3` is never constructed
[INFO] [stdout]  --> src/aoc_ex_19.rs:9:8
[INFO] [stdout]   |
[INFO] [stdout] 9 | struct Vec3 {
[INFO] [stdout]   |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `zero` and `rotate` are never used
[INFO] [stdout]   --> src/aoc_ex_19.rs:51:7
[INFO] [stdout]    |
[INFO] [stdout] 50 | impl Vec3 {
[INFO] [stdout]    | --------- associated items in this implementation
[INFO] [stdout] 51 |   fn  zero() -> Self {
[INFO] [stdout]    |       ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 59 |   fn rotate(self, axis_rotations: Self) -> Self {
[INFO] [stdout]    |      ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `translate_points` is never used
[INFO] [stdout]   --> src/aoc_ex_19.rs:88:4
[INFO] [stdout]    |
[INFO] [stdout] 88 | fn translate_points(src: &HashSet<Vec3>, translate: Vec3) -> HashSet<Vec3> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `find_offset` is never used
[INFO] [stdout]   --> src/aoc_ex_19.rs:92:4
[INFO] [stdout]    |
[INFO] [stdout] 92 | fn find_offset(a: &HashSet<Vec3>, b: &HashSet<Vec3>, min_similar: usize) -> Option<Vec3> {
[INFO] [stdout]    |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `resolve_part_1` is never used
[INFO] [stdout]    --> src/aoc_ex_19.rs:107:8
[INFO] [stdout]     |
[INFO] [stdout] 107 | pub fn resolve_part_1(filename: &'static str) -> i32 {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `resolve_part_2` is never used
[INFO] [stdout]    --> src/aoc_ex_19.rs:117:8
[INFO] [stdout]     |
[INFO] [stdout] 117 | pub fn resolve_part_2(filename: &'static str) -> i32 {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_beacons_and_distance` is never used
[INFO] [stdout]    --> src/aoc_ex_19.rs:129:4
[INFO] [stdout]     |
[INFO] [stdout] 129 | fn get_beacons_and_distance(scanners: Vec<HashMap<Vec3, HashSet<Vec3>>>) -> (HashSet<Vec3>, i32){
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `all_rotations` is never used
[INFO] [stdout]    --> src/aoc_ex_19.rs:188:4
[INFO] [stdout]     |
[INFO] [stdout] 188 | fn all_rotations() -> Vec<Vec3> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read_coordinates` is never used
[INFO] [stdout]    --> src/aoc_ex_19.rs:217:4
[INFO] [stdout]     |
[INFO] [stdout] 217 | fn read_coordinates(scanners_coordinates: Vec<String> ) -> Vec<HashMap<Vec3, HashSet<Vec3>>>{
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `resolve_part_1` is never used
[INFO] [stdout]  --> src/aoc_ex_20.rs:6:8
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub fn resolve_part_1(filename: &'static str) -> usize {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/aoc_ex_9.rs:16:17
[INFO] [stdout]    |
[INFO] [stdout] 16 |   fn new(graph: &Graph) -> Basin {
[INFO] [stdout]    |                 ^^^^^^     ^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 16 |   fn new(graph: &Graph) -> Basin<'_> {
[INFO] [stdout]    |                                 ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.76s
[INFO] running `Command { std: "docker" "inspect" "bdd892c9f2248062aa781d8e4e958448c7ac6813635beccfe391f4fd6fd4d04b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "bdd892c9f2248062aa781d8e4e958448c7ac6813635beccfe391f4fd6fd4d04b", kill_on_drop: false }`
[INFO] [stdout] bdd892c9f2248062aa781d8e4e958448c7ac6813635beccfe391f4fd6fd4d04b
